[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] problem with org-element-parse-buffer

From: Nicolas Goaziou
Subject: Re: [O] problem with org-element-parse-buffer
Date: Sun, 25 Nov 2012 10:11:49 +0100


Eric Abrahamsen <address@hidden> writes:

>> Strictly speaking, yes. But Org Agenda is a bit permissive (and not only
>> for that thing). Do you want to help basing Agenda on Elements?
> This is something I was wondering about -- so that is the plan
> eventually? 

Since we have a complete parser, it would be good to use it as much as
possible. It will alleviate the need to use regexps and normalize Org

One downside, though, is that it isn't fast enough yet for speed
critical operations (i.e. fontification). A caching mechanism would be
required to go further (any taker?).

Org Elements is quite simple to use: API basically boils down to five
functions. For a global action, the main function to use is
`org-element-parse-buffer'. At the element level (paragraphs,
tables...), it is `org-element-at-point'. At the object level (links,
emphasis...), it is `org-element-context'. Then you extract properties
(resp. type) with `org-element-property' (resp. `org-element-type').

You can get a list of all properties available for each element/object
by looking at:


or by looking at org-element.el source code, obviously.

In order to get started, you can study navigation/manipulation functions
in org.el (from `org-forward-element' to `org-unindent-buffer').

> This is something I've wanted for a while, as it would make
> some of my little personal projects a lot easier. I'd be happy to help
> if there's a roadmap, and if I can be fed bite-sized problems to deal
> with.

There's no roadmap for now. If you're looking for small tasks to handle,
I think interactive functions are a good start (although some can be
a bit challenging, i.e. `org-open-link'). Particularly good candidates
are those calling either `org-at-regexp-p', `org-in-regexp' or
`org-between-regexps-p': using those is almost always wrong (or at least

If you give a shot at some of them, please include ert tests: writings
tests for Org is really a must from now on. There are now plenty of
examples in testing directory.

Thank you for your interest in this.


Nicolas Goaziou

reply via email to

[Prev in Thread] Current Thread [Next in Thread]