crispgm / cmp-beancount

nvim-cmp source for beancount accounts
MIT License
35 stars 4 forks source link

Is it feasible to use tree-sitter as source of the information? #10

Closed yacoob closed 3 months ago

yacoob commented 3 months ago

Would it be possible to extract the account names, tags, etc from the tree-sitter information? It'd make the overall setup simpler, as there would be no need for either beancount or the neovim python client.

crispgm commented 3 months ago

It's possible but would you mind showing why we have to abandon beancount? I think this plugin is designed for beancount user, I don't think it's an extra software in this case.

yacoob commented 3 months ago

This is purely from my own point of view of convenience :) My beancount file is synced to a bunch of hosts, and the whole beancount environment clocks easily half a gigabyte (with smart_importer pulling in numpy and scikit). Plus making sure nvim is using the right virtualenv. I just felt like the same information that's fetched via the beancount api is already in the editor, in a form of ts tree.

So no compelling arguments there, purely my own convenience :)

crispgm commented 3 months ago

This is purely from my own point of view of convenience :) My beancount file is synced to a bunch of hosts, and the whole beancount environment clocks easily half a gigabyte (with smart_importer pulling in numpy and scikit). Plus making sure nvim is using the right virtualenv. I just felt like the same information that's fetched via the beancount api is already in the editor, in a form of ts tree.

So no compelling arguments there, purely my own convenience :)

Thanks for your advice. I think the tree-sitter approach sounds difficult to implement properly. I think it will be problem to actually get all the accounts, because tree-sitter within neovim requires an open account.bean. Completing accounts only within the same file or open file sounds okay.

A Language Server approach may be the best, if it is not implemented by Python :)