Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[quick question] what's the status on file level and project level support? #298

Open
4rtemis-4rrow opened this issue Oct 9, 2024 · 1 comment

Comments

@4rtemis-4rrow
Copy link

first of all, great project btw, been using it for ages now

second of all, idk rust, otherwise I'd have contributed towards those 2 features

so, what's the status of them? did work on them begin? is it planned for the near future? and what languages would get support first

thanks in advance for taking the time to read this

@michaelb
Copy link
Owner

michaelb commented Oct 9, 2024

Hi!

Unfortunately, file and project support require (by design) very intelligent handling of the dependency of symbols (what requires what in order to be 'run'). Such a thing would have to be engineered around treesitter or LSP (in order to support multiple languages) and LSP is ... somewhat a mess

(I tried my hand at treesitter some time ago and unfortunately it was already quite 'hard' and neovim devs' advice was that treesitter wouldn't be powerful enough.)

So especially for the first few languages, there's a huge cost of implementing the LSP plumbing... and unlike when I was in college, with a full-time job I have less free time, and more importantly, less motivation to jump on my projects on the evening when I spend all day coding. I currently maintain sniprun at the rate the issues are coming in, about once every two weekends...but that's it. And I have other projects too. Unless something major in my life changes, file/project support level is years ahead

However, all hope is not lost! Sniprun comes from a time where treesitter and LSP didn't even exist 🦕; their usability has likely improved since I last gave them a chance.

If you want to give it a try, knowing Rust in not that necessary, actually. LSP (/treesitter) is so tightly embeded in neovim that I would rather implement the logic in Lua. I would have to implement some hooks from the Rust part of the code, sure, but that I can reasonably do.
But we'd probably have to work together for a few hours to agree on how and what to do

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants