-
Notifications
You must be signed in to change notification settings - Fork 11
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
I will/want to reuse your LSP code #26
Comments
@Marwes of course :) |
@Phaiax That's fine for me. I have wanted to such an extraction myself sometime, just never had the time to dig into it. I'd be interested in what you come up with, it did seem a bit tricky to know where to make the cut between generic and language specific code in the server. |
@Phaiax I only did some syntax highlighting stuff, the rest is all Marwes' work anyway, so go ahead! :) |
@Phaiax @Marwes In case you are both still interested in a standalone generic LSP server library, there is I think the current version in |
I will take a look (when I have time, got so many PRs and branches in flight in various repos atm...). Something that would be quite useful from a generic LSP library like that is if it could generate the correct capability object based on which methods are implemented. Might be hard to make an API for that which works though. |
No worries! I know you've got plenty on your plate, and honestly, I wouldn't want to distract you from working on I honestly would love that feature too! I didn't implement that in |
Honestly, I wonder if maybe a proc macro on the |
A "worse is better" approach might be good enough here. This way there isn't any illusion about being perfect, it can be good enough and extended as cases crop up (and it might even serve as a simple test suite for downstream implementation if it checked proper shutdown etc, it would only need to be ran in tests on downstream crates). |
I was considering that in the linked issue too, yeah. I wondered about the potential startup costs of that, plus the fact that a manual mapping between trait methods and |
For the time being, anyway, I left it out as a possible addition for future versions, even if it results in a breaking API change later on. |
The work of maintaining a mapping would be there regardless of the approach, but yes that may be reason enough not to do it. |
That's a good point! The work would exist either way. Still, I was hoping for something a bit more strongly typed so that mismatches in this mapping would be caught by the compiler and wouldn't require as much manual checking. That would require some design beforehand, of course, but I'm pretty sure such a mapping is possible. |
Hello @Laegluin , Hello @marves
I want to make a language server for config files and I want to use your work from this repository, especially the stuff that glues together rcp, tokio and decoding. I'll refactor that out into a standalone lib as far as possible.
I don't know yet if I publish that on crates.io, because I am usually not able to provide long term maintenance, but in the case I do publish, I want to ask you if and how you would like to be credited for your work.
Thanks for your work,
Daniel
The text was updated successfully, but these errors were encountered: