bennypowers / nvim-regexplainer

Describe the regexp under the cursor
627 stars 7 forks source link

refactor!: remove nvim-treesitter dependency #41

Closed amaanq closed 1 year ago

amaanq commented 1 year ago

The 1.0 rewrite of nvim-treesitter removes its plugin functionality in favor of using vim.treesitter, so I moved stripped-down versions of the used functions here, and removed usage of nvim-treesitter, seems to be okay for me so far but do thoroughly review my PR, thanks :)

bennypowers commented 1 year ago

I'm concerned that upstream changes / fixes to ts-utils won't be reflected here. In other words I'm concerned that this adds maintenance burden. What do you think?

One way to deal with that would be to explicitly change the private apis of these local plugins so that it's clear they aren't copies of ts-utils functions. That's not an amazing solution, though

amaanq commented 1 year ago

please revert whitespace, formatting changes (e.g. parens around require calls)

Done, sorry about that

I'm concerned that upstream changes / fixes to ts-utils won't be reflected here. In other words I'm concerned that this adds maintenance burden. What do you think?

One way to deal with that would be to explicitly change the private apis of these local plugins so that it's clear they aren't copies of ts-utils functions. That's not an amazing solution, though

The thing is that really won't be updated at all except for important performance/security fixes (which, if any, would stem from upstream and be in :h news), since after 1.0 becomes the default (with 0.10's release I believe), the master branch shouldn't even be considered usable and will be kept around for legacy support only. The main branch completely removes all of the util code and any plugin-related code, and keeps nvim-treesitter as a parser-installation plugin only. The current util code is not great as well, I refactored some bits using new vim.treesitter/TSNode apis that might be slightly better in performance - and stripped out unneeded code as well for the purposes that nvim-regexplainer uses at least

So imo this doesn't add maintenance burden, it is good as is and has been working fine for years in nvim-treesitter, unless vim.treesitter's api changes, which, again, will be in the news :)

bennypowers commented 1 year ago

nightly is failing

amaanq commented 1 year ago

not sure why, nightly fails for me locally w/o my changes as well

bennypowers commented 1 year ago

ok then. if you're able to run this occasionally on nightly and figure it out, I'd be grateful