[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Orgmode] Function to get the title of a heading
From: |
Daniel Clemente |
Subject: |
[Orgmode] Function to get the title of a heading |
Date: |
Tue, 06 Jan 2009 19:53:20 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux) |
Hi,
I want to get the title of some entry in Elisp. That is, from this heading:
*** TODO Do something!
I want the "Do something!".
I know no function to do this; although there is probably one. What I found
is:
- (org-entry-properties) returns the TODO keyword, the tags, and the category,
but not the title.
- (org-get-entry) has no useful documentation but it seems to return the
content, not the heading.
- (org-get-header HEADER) does something else related to mail; it seems to be
unused and not much documented.
- (org-get-heading t) seems to return the full line (even with keyword), but
with properties:
#("TODO Do something!" 0 4
(org-category "test1" fontified t face org-todo)
4 18
(org-category "test1" fontified t face org-level-3))
Based on this, I did a function to remove the TODO keyword and the properties.
(defun org-get-heading-title ()
"Returns the heading of the current entry as a string, without the leading
stars, the TODO keyword or the tags."
(let (
(title-with-props (org-get-heading t))
(keyword (org-get-todo-state))
)
(substring-no-properties title-with-props (if keyword (1+ (length keyword))))
)
)
Suggestions:
- This could also be implemented as a parameter to (org-get-heading).
- Or the title returned in (org-entry-properties)
- And (org-get-header HEADER) could be removed.
- In any case, such a function can be included in Org-mode so that it is easy
to find.
Thanks,
Daniel
- [Orgmode] Function to get the title of a heading,
Daniel Clemente <=