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

2012-11-25 Thread Nicolas Goaziou
Hello,

Eric Abrahamsen e...@ericabrahamsen.net 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
syntax.

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:

  http://orgmode.org/worg/dev/org-export-reference.html#attributes

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
fragile).

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.


Regards,

-- 
Nicolas Goaziou



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

2012-11-25 Thread Eric Abrahamsen
Nicolas Goaziou n.goaz...@gmail.com writes:

 Hello,

 Eric Abrahamsen e...@ericabrahamsen.net 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'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
 fragile).

 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.

Great, thanks for the pointers. I'll see if I can't provide a few
patches in the next couple of weeks.

E




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

2012-11-24 Thread Peter Münster
On Mon, Nov 12 2012, Nicolas Goaziou wrote:

 * TODO test
   bla bla bla
   DEADLINE: 2012-11-08 Thu 12:17

 In Org, planning info (scheduled, deadline, and closed) must be put just
 after the headline. Your example isn't valid.

Then, org-agenda should ignore that too, shouldn't it?

-- 
   Peter




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

2012-11-24 Thread Nicolas Goaziou
Peter Münster pmli...@free.fr writes:

 On Mon, Nov 12 2012, Nicolas Goaziou wrote:

 In Org, planning info (scheduled, deadline, and closed) must be put just
 after the headline. Your example isn't valid.

 Then, org-agenda should ignore that too, shouldn't it?

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?


Regards,

-- 
Nicolas Goaziou



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

2012-11-24 Thread Peter Münster
On Sat, Nov 24 2012, Nicolas Goaziou wrote:

 Do you want to help basing Agenda on Elements?

No, sorry. I don't use the agenda, I prefer push to poll. That's why I
wrote org-notify.el.

Anyway, the syntax highlighting is a bit permissive too...

-- 
   Peter




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

2012-11-24 Thread Eric Abrahamsen
Nicolas Goaziou n.goaz...@gmail.com writes:

 Peter Münster pmli...@free.fr writes:

 On Mon, Nov 12 2012, Nicolas Goaziou wrote:

 In Org, planning info (scheduled, deadline, and closed) must be put just
 after the headline. Your example isn't valid.

 Then, org-agenda should ignore that too, shouldn't it?

 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? 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.

E




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

2012-11-12 Thread Peter Münster
Hi,

When using

 (print (org-element-parse-buffer 'headline))

on this test file:

* TODO test
  bla bla bla
  DEADLINE: 2012-11-08 Thu 12:17

the output has no information about the deadline with latest
git-version.

How could I solve this problem please?

TIA for any hints,
-- 
   Peter




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

2012-11-12 Thread Nicolas Goaziou
Hello,

Peter Münster pmli...@free.fr writes:

 * TODO test
   bla bla bla
   DEADLINE: 2012-11-08 Thu 12:17

In Org, planning info (scheduled, deadline, and closed) must be put just
after the headline. Your example isn't valid.


Regards,

-- 
Nicolas Goaziou