emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* Set heading text from elisp?
@ 2019-11-11 14:19 Tim Visher
  2019-11-13 11:25 ` Mikhail Skorzhinskii
  0 siblings, 1 reply; 3+ messages in thread
From: Tim Visher @ 2019-11-11 14:19 UTC (permalink / raw)
  To: emacs-orgmode

[-- Attachment #1: Type: text/plain, Size: 579 bytes --]

I'm wondering if there's builtin support for editing components of the
heading? I'm trying to set the text component (i.e. `(nth 4
(org-heading-components))`) without altering anything else and while I can
obviously achieve this with generic elisp I wanted to be sure I had to.

The cleanest elisp I came up with was:

```
(save-excursion
  (org-back-to-heading t)
  (let (case-fold-search)
    (looking-at org-complex-heading-regexp)
    (replace-match text t t nil 4)
    (org-align-tags)))

```

--

In Christ,

Timmy V.

https://blog.twonegatives.com
https://five.sentenc.es

[-- Attachment #2: Type: text/html, Size: 828 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Set heading text from elisp?
  2019-11-11 14:19 Set heading text from elisp? Tim Visher
@ 2019-11-13 11:25 ` Mikhail Skorzhinskii
  2019-11-13 13:25   ` Tim Visher
  0 siblings, 1 reply; 3+ messages in thread
From: Mikhail Skorzhinskii @ 2019-11-13 11:25 UTC (permalink / raw)
  To: emacs-orgmode

[-- Attachment #1: Type: text/html, Size: 2369 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Set heading text from elisp?
  2019-11-13 11:25 ` Mikhail Skorzhinskii
@ 2019-11-13 13:25   ` Tim Visher
  0 siblings, 0 replies; 3+ messages in thread
From: Tim Visher @ 2019-11-13 13:25 UTC (permalink / raw)
  To: Mikhail Skorzhinskii; +Cc: emacs-orgmode

[-- Attachment #1: Type: text/plain, Size: 1521 bytes --]

Nice! That looks like exactly what I wanted. Not sure how I missed that in
my apropos search. I think I may have only searched for `headline` or
something.

On Wed, Nov 13, 2019 at 7:08 AM Mikhail Skorzhinskii <mskorzhinskiy@eml.cc>
wrote:

> I am not sure if this is exactly what you're asking, but for programatic
> heading edits I am using this snippet:
>
> (let ((headline-only-text (org-get-heading t t t t)))
>   (org-edit-headline (concat "Web-page: " headline-only-text)))
>
> Probably the better way is to use org element API, but for small, rarely
> executed personal helpers I think this is OK.
>
> *I'm Wondering If There's Builtin Support For Editing Components Of The
> Heading? I'm Trying To Set The Text Component (I.E. `(Nth 4
> (Org-Heading-Components))`) Without Altering Anything Else And While I Can
> Obviously Achieve This With Generic Elisp I Wanted To Be Sure I Had To.*I'm
> wondering if there's builtin support for editing components of the heading?
> I'm trying to set the text component (i.e. `(nth 4
> (org-heading-components))`) without altering anything else and while I can
> obviously achieve this with generic elisp I wanted to be sure I had to.
>
> The cleanest elisp I came up with was:
>
> ```
> (save-excursion
>   (org-back-to-heading t)
>   (let (case-fold-search)
>     (looking-at org-complex-heading-regexp)
>     (replace-match text t t nil 4)
>     (org-align-tags)))
>
> ```
>
> --
>
> In Christ,
>
> Timmy V.
>
> https://blog.twonegatives.com
> https://five.sentenc.es
>
>

[-- Attachment #2: Type: text/html, Size: 2820 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2019-11-13 13:25 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-11-11 14:19 Set heading text from elisp? Tim Visher
2019-11-13 11:25 ` Mikhail Skorzhinskii
2019-11-13 13:25   ` Tim Visher

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).