It generates an AST (abstract syntax tree) that you can query over and use 
to manipulate the source file,  the developer writes a grammar that 
specifies the nodes names and structure, so I could change my structure to 
more align with the internal structure of beancount

I am using it to use with Neovim to try to add as many features to better 
help use beancount with that editor.  Right now I have coded a plugin to 
launch a  fuzzy finder window to search over transactions in the current 
file and then be able to copy that transaction to the current cursor 
position.  
I am planning on integrating it with my LSP to provide support of the LSP 
functions.

I am very interested in integrating the c++ libraries once they are in a 
good state.
On Sunday, December 6, 2020 at 12:15:08 PM UTC-5 [email protected] wrote:

> Nice. Thank you for sharing.
> Are you able to customize what data structures it fills?
> In v3 there's a schema for protos, that can be compiled to many languages.
>
> https://github.com/beancount/beancount/tree/master/beancount/ccore/data.proto
>
> Also, with protos you can use gRPC to build a server that accepts the same 
> schema.
> Just some ideas,
>
>
>
>
> On Sat, Dec 5, 2020 at 11:59 PM polarmutex <[email protected]> wrote:
>
>> I have been working on a tree-sitter parser for beancount, the node tree 
>> produced has the starting / ending line/column of the parsed file. 
>>
>> https://tree-sitter.github.io/
>> https://github.com/bryall/tree-sitter-beancount
>>
>> with that info you should be able to sort the ledger file
>>
>> I still think my parser has some edge cases that may not work, bu t I see 
>> no errors in my files so far
>>
>> I am writing a beancount language server currently, I may be able to add 
>> a code action to do this sorting  in the LSP in the future
>>
>> On Saturday, December 5, 2020 at 6:14:27 AM UTC-5 Casey Link wrote:
>>
>>> Many thanks for this script!
>>>
>>> Some years ago when I started with beancount I decided to use one 
>>> beancount file, but separate the accounts by Org headings. This worked for 
>>> awhile, but now with thousands and thousands of lines it can be confusing 
>>> to work with. It's much nicer to have everything sorted chronologically. 
>>> Your script worked perfectly help me reorganize my beancount file.
>>>
>>> Thanks again!
>>>
>>> Best,
>>> Casey
>>>
>>> On Friday, December 20, 2019 at 4:29:33 PM UTC+1 [email protected] 
>>> wrote:
>>>
>>>> I wrote a (albeit-hacky) python script to do this for my ledger and 
>>>> made it public here: 
>>>> https://github.com/robmargo/beancount_tools/blob/master/sort_transactions.py
>>>>
>>>> It ignores all lines before a line that has the text "TRANSACTIONS" 
>>>> (everything above that line is account openings/metadata that I dont want 
>>>> to sort). If you need help tweaking this for your needs, let me know.
>>>>
>>>>
>>>> On Friday, December 20, 2019 at 9:30:37 AM UTC-5, nug get wrote:
>>>>>
>>>>> thanks, a python script would probably do it in the end.
>>>>> is there a beancount function that would return all objects in my 
>>>>> ledger file as list or something? Writing that myself would be beyond my 
>>>>> current capabilities, or of irresponsible effort timewise :)
>>>>>
>>>>>
>>>>>
>>>>> On Friday, 20 December 2019 13:57:54 UTC+1, Martin Blais wrote:
>>>>>>
>>>>>> You will want to write a little python script.
>>>>>> I would operate on source code, not on the data structures, so you 
>>>>>> keep the original formatting and metadata and comments
>>>>>>
>>>>>> On Fri, Dec 20, 2019, 06:59 nug get <[email protected]> wrote:
>>>>>>
>>>>>>> Is there a feature that would allow me to sort the transactions in 
>>>>>>> my files, for example by date, or specific accounts?
>>>>>>> Thanks!
>>>>>>>
>>>>>>> Background:
>>>>>>> I migrated my 3 years of Gnucash records to beancount. It's all one 
>>>>>>> long list of transactions sorted by date. I'd like to separate my cash 
>>>>>>> and 
>>>>>>> bank account transactions into two different files.
>>>>>>>
>>>>>>> -- 
>>>>>>> You received this message because you are subscribed to the Google 
>>>>>>> Groups "Beancount" group.
>>>>>>> To unsubscribe from this group and stop receiving emails from it, 
>>>>>>> send an email to [email protected].
>>>>>>> To view this discussion on the web visit 
>>>>>>> https://groups.google.com/d/msgid/beancount/4b6c37cd-dab7-4683-80fc-e6affac7e1ca%40googlegroups.com
>>>>>>>  
>>>>>>> <https://groups.google.com/d/msgid/beancount/4b6c37cd-dab7-4683-80fc-e6affac7e1ca%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>>> .
>>>>>>>
>>>>>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "Beancount" group.
>>
> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected].
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/beancount/4396ceeb-4d8c-49d1-9ccb-1acc4927c896n%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/beancount/4396ceeb-4d8c-49d1-9ccb-1acc4927c896n%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Beancount" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/bd1f0a87-db9c-4cb8-a146-e97f1e26c783n%40googlegroups.com.

Reply via email to