Hello,
I oftentimes find myself needing to parse org files with some external
tools (to generate reports for customers or sum up clock times for given
month, etc). Looking through the list
https://orgmode.org/worg/org-tools/
and having tested some of these, I must say they are lacking. The
Hi,
I'm currently toying with the idea of trying a tree-sitter parser for Org. The
very static nature of a shared object parser (knowing TODO keywords are pretty
dynamic for example) is a challenge I'm not sure to overcome ; to be honest
even without that I can't say I'll manage to do it.
Havi
Przemysław Kamiński writes:
> Hello,
>
> I oftentimes find myself needing to parse org files with some external
> tools (to generate reports for customers or sum up clock times for given
> month, etc). Looking through the list
>
> https://orgmode.org/worg/org-tools/
>
> and having tested some
On 9/15/20 11:03 AM, Tim Cross wrote:
Przemysław Kamiński writes:
Hello,
I oftentimes find myself needing to parse org files with some external
tools (to generate reports for customers or sum up clock times for given
month, etc). Looking through the list
https://orgmode.org/worg/org-tools/
On Tue, Sep 15, 2020 at 11:17:57AM +0200, Przemysław Kamiński wrote:
> > Org mode IS an elsip application. This is the main goal. The reason it
> > works so well is because elisp is largely a DSL that focuses on text
> > manipulation and is therefore ideally suited for a text based organiser.
>
> S
On 9/15/20 11:55 AM, Russell Adams wrote:
On Tue, Sep 15, 2020 at 11:17:57AM +0200, Przemysław Kamiński wrote:
Org mode IS an elsip application. This is the main goal. The reason it
works so well is because elisp is largely a DSL that focuses on text
manipulation and is therefore ideally suited
On Tue, Sep 15, 2020 at 01:15:56PM +0200, Przemysław Kamiński wrote:
[...]
> There's the org-json (or ox-json) package but for some reason I
> wasn't able to run it successfully. I guess export to S-exps would
> be best here. But yes I'll check that out.
If that's your route, perhaps the "Org el
There's also org-ql (https://github.com/alphapapa/org-ql), which also
provides a query-based API against Org structures.
--Diego
On Tue, Sep 15, 2020 at 2:59 PM wrote:
> On Tue, Sep 15, 2020 at 01:15:56PM +0200, Przemysław Kamiński wrote:
>
> [...]
>
> > There's the org-json (or ox-json) packa
Przemysław Kamiński writes:
>
> So, I keep clock times for work in org mode, this is very handy.
> However, my customers require that I use their service to provide the
> times. They do offer API. So basically I'm using elisp to parse org,
> make API calls, and at the same time generate CSV
On 2020-09-15, at 11:17, Przemysław Kamiński wrote:
> So, I keep clock times for work in org mode, this is very
> handy. However, my customers require that I use their service to
> provide the times. They do offer API. So basically I'm using elisp to
> parse org, make API calls, and at the same
> Wow, another awesomewm user here; could you share your code?
Are you interested in something particular about awesome WM integration?
I am using simple textbox widgets to show currently clocked in task and
weighted summary of clocked time. See the attachments.
Best,
Ihor
Marcin Borkowski w
On 9/16/20 9:56 AM, Ihor Radchenko wrote:
Wow, another awesomewm user here; could you share your code?
Are you interested in something particular about awesome WM integration?
I am using simple textbox widgets to show currently clocked in task and
weighted summary of clocked time. See the atta
> However what Ihor presented is interesting. Do you use similar approach
> with shellout and 'emacs -batch' to show currently running task or you
> 'push' data from emacs to show it in the taskbar?
I prefer to avoid querying emacs too often for performance reasons.
Instead, I only update the cl
On 9/15/20 2:37 PM, to...@tuxteam.de wrote:
On Tue, Sep 15, 2020 at 01:15:56PM +0200, Przemysław Kamiński wrote:
[...]
There's the org-json (or ox-json) package but for some reason I
wasn't able to run it successfully. I guess export to S-exps would
be best here. But yes I'll check that out.
On Wed, Sep 16, 2020 at 02:09:42PM +0200, Przemysław Kamiński wrote:
[...]
> So I looked at (pp (org-element-parse-buffer)) however it does print
> out recursive stuff which other schemes have trouble parsing.
>
> My code looks more or less like this:
>
> (defun org-parse (f)
> (with-temp-buf
On 9/16/20 2:02 PM, Ihor Radchenko wrote:
However what Ihor presented is interesting. Do you use similar approach
with shellout and 'emacs -batch' to show currently running task or you
'push' data from emacs to show it in the taskbar?
I prefer to avoid querying emacs too often for performance r
FYI: You may find https://github.com/ndwarshuis/org-ml helpful.
Przemysław Kamiński writes:
> On 9/15/20 2:37 PM, to...@tuxteam.de wrote:
>> On Tue, Sep 15, 2020 at 01:15:56PM +0200, Przemysław Kamiński wrote:
>>
>> [...]
>>
>>> There's the org-json (or ox-json) package but for some reason I
"Gerry Agbobada" writes:
> I'm currently toying with the idea of trying a tree-sitter parser for Org.
> The very static nature of a shared object parser (knowing TODO keywords are
> pretty dynamic for example) is a challenge I'm not sure to overcome ; to be
> honest even without that I can't s
> So basically this is what this thread is about. One needs a working
> Emacs instance and work in "push" mode to export any Org data. This
> requires dealing with temporary files, as described above, and some
> ad-hoc formats to keep whatever data I need to pull from org.
> "Pull" mode would b
On 9/17/20 3:18 AM, Ihor Radchenko wrote:
So basically this is what this thread is about. One needs a working
Emacs instance and work in "push" mode to export any Org data. This
requires dealing with temporary files, as described above, and some
ad-hoc formats to keep whatever data I need to pull
Hi Przemysław,
Przemysław Kamiński writes:
> I oftentimes find myself needing to parse org files with some external
> tools (to generate reports for customers or sum up clock times for
> given month, etc). Looking through the list
>
> https://orgmode.org/worg/org-tools/
Can you help on making t
Hi Gerry,
"Gerry Agbobada" writes:
> Having a tree-sitter parser would be really great in my opinion
1+
Thanks for working on this, let us know how it goes!
--
Bastien
On 9/23/20 10:09 AM, Bastien wrote:
Hi Przemysław,
Przemysław Kamiński writes:
I oftentimes find myself needing to parse org files with some external
tools (to generate reports for customers or sum up clock times for
given month, etc). Looking through the list
https://orgmode.org/worg/org-to
Hi Przemysław,
Some partial org Parsers (AST or regex...) i found on the web for a recent
state of the art :
* org-js
https://github.com/mooz/org-js
* orgajs
Orga is a flexible org-mode syntax parser. It parses org content into AST
(Abstract Syntax Tree)
https://github.com/orgapp/orgajs
* org
On 23/09/2020 10:09, Bastien wrote:
> I disagree that a parser is too difficult to maintain because Org is
> a moving target. Org core syntax is not moving anymore, a parser can
> reasonably target it. That's what is done with the Ruby parser, in
> use in this small project called github.com :)
> which Ruby org-mode parser does Github use?
I'm pretty sure that github uses https://github.com/wallyqs/org-ruby.
It is ... not compliant, shall we say. I have making some fixes to the
footnote parsing section on my todo list, but I don't expect to get to
it any time in the near future.
Tom
Hello,
On 2020-09-23 at 01:09 -07, Bastien wrote...
> I disagree that a parser is too difficult to maintain because Org is a
> moving target. Org core syntax is not moving anymore, a parser can
> reasonably target it. That's what is done with the Ruby parser, in use
> in this small project called
Hello,
Ken Mankoff writes:
> I question if this is possible because EBNF is for context-free
> grammars, but I *think* Org syntax is context-free.
It's not as explained in a footnote in the Org syntax document.
Regards,
--
Nicolas Goaziou
On 2020-10-26 at 07:21 -07, Nicolas Goaziou wrote...
> Ken Mankoff writes:
>
>> I question if this is possible because EBNF is for context-free
>> grammars, but I *think* Org syntax is context-free.
>
> It's not as explained in a footnote in the Org syntax document.
Yes, I meant to write that I
Ken Mankoff writes:
> Yes, I meant to write that I think Org syntax is maybe *not*
> context-free, and therefore EBNF can't capture all of it. But it could
> still be very helpful and capture most of it.
I'm not arguing about the usefulness of a partial EBNF description. I'm
merely pointing out
On 2020-10-26 at 09:24 -07, Nicolas Goaziou wrote...
> # This is a comment (1)
>
> #+begin_example
> # This is not a comment (2)
> #+end_example
>
> AFAICT, you cannot distinguish between lines (1) and (2) with EBNF.
I agree. I think this is a better (correct?) example than the
I started writing down Org's grammar as an EBNF (with Racket's #lang
brag) on Saturday. There is indeed a layer of Org grammar that can be
implemented via EBNF, but it is fairly minimal. You can identify
headlines, but you can't identify nesting level; the arbitrary nesting
depth means that you hav
On 2020-10-26 at 10:59 -07, Tom Gillespie wrote...
> You can identify headlines, but you can't identify nesting level;
Do you need to? This is valid as an entire Org file, I think:
*** foo
* bar
* baz
And that can be represented in EBNF. I'm not aware of places where behavior is
indent-l
Here is an attempt to clarify my own confusion around the nested
structures in org. In short: each node in the headline tree and the
plain list tree can be parse using the EBNF, the nesting level cannot,
which means that certain useful operations such as folding, require
additional rules beyond the
On 2020-10-26 at 14:00 -07, Tom Gillespie wrote...
>> list ::= ('+' string newline)+ sublist?
>> sublist ::= (indent list)+
>>
>> I think this captures lists?
>
> Ah yes, I see my mistake here. In order for this to work the parser
> has to implement significant whitespace, so whitespace cannot b
Even if this did work for plain lists it won't work for headlines
because headlines have an arbitrary number of stars and thus it is not
possible for the grammar to know what is a sub-headline vs "the next
headline". For a similar reason I'm fairly sure that the sublist
approach will not work due t
I'm no expert in parsing but I would expect org's parser to be quite
similar to the multitude of markdown or CommonMark [1] parsers. There
isn't that much difference in syntax, except maybe org is more versatile
and has more syntax elements, like drawers.
Searching for "EBNF Markdown" I stumbl
Hi Sébastien,
rey-coyrehourcq writes:
> Some partial org Parsers (AST or regex...) i found on the web for a
> recent state of the art :
Thanks -- I've updated https://orgmode.org/worg/org-tools/ with this
information.
Best,
--
Bastien
Hi Ken,
Ken Mankoff writes:
> On 2020-10-26 at 09:24 -07, Nicolas Goaziou wrote...
>> # This is a comment (1)
>>
>> #+begin_example
>> # This is not a comment (2)
>> #+end_example
>>
>> AFAICT, you cannot distinguish between lines (1) and (2) with EBNF.
>
> I agree. I think this
Hi Ken,
Ken Mankoff writes:
> Yes, I meant to write that I think Org syntax is maybe *not*
> context-free, and therefore EBNF can't capture all of it. But it could
> still be very helpful and capture most of it.
Perhaps. Or you willing to give it a try and report here?
--
Bastien
Hi Tom,
Tom Gillespie writes:
>> which Ruby org-mode parser does Github use?
>
> I'm pretty sure that github uses https://github.com/wallyqs/org-ruby.
> It is ... not compliant, shall we say. I have making some fixes to the
> footnote parsing section on my todo list, but I don't expect to get to
Hi Daniele,
Daniele Nicolodi writes:
> Would it make sense to have one "official" (or a set of) org-mode test
> files and the corresponding syntax tree as parsed by org-elements (maybe
> in a format easier to read from other programming languages than
> s-expressions, json maybe?) to make testin
On 11/11/2020 10:15, Bastien wrote:
> Hi Daniele,
>
> Daniele Nicolodi writes:
>
>> Would it make sense to have one "official" (or a set of) org-mode test
>> files and the corresponding syntax tree as parsed by org-elements (maybe
>> in a format easier to read from other programming languages th
Hi Bastien,
I agree it would be great to ask them to contribute to whichever
ruby library they are using. I will see if I can get in touch, but I
have no idea of where to start if we really want to get to the folks
who could make a decision. It looks like gitlab uses the same org-ruby
library
Hello,
On Wed, Nov 11, 2020, at 10:15, Bastien wrote:
>
> The example file would be also good to help users track for small
> syntactic changes, when they happen.
>
>
When I thought mistakenly I could use an EBNF parser to parse Org-mode, I wrote
a little examples to get going (never went pas
45 matches
Mail list logo