TypeFox / yang-vscode

A VS Code Extension for YANG
Apache License 2.0
26 stars 10 forks source link

Allow usage selection of yang-language-server from $PATH or unpacked directory #91

Open esmasth opened 5 months ago

esmasth commented 5 months ago

It would be beneficial for users to be able to select later revisions of yang-lsp yang-language-server, in case there is a gap in release of yang-vscode or users wish to stay on an older version of yang-language-server.

dhuebner commented 5 months ago

@esmasth I think the vs-code option "install another version" would do the same. Or do you have something else in mind?

Bildschirmfoto 2024-04-17 um 09 28 02
esmasth commented 5 months ago

@dhuebner it was rather for even the latest and greatest Yangster/yang-vscode extension to use an unreleased (new/development) yang-lsp/yang-language-server as one use case, and to use an older yang-language-server with latest yang-vscode for some reason (bug/test) as we should not lose any improvements in the VS code extension side.

dhuebner commented 4 months ago

@esmasth I can understand that it is easier to test new yang-lsp for advance users, but it is really too complicated and error prone for the other users. E.g. the user needs to know which yang-lsp is compatible with which yang-vscode version (it should then also be documented). Then the user need to know where to get other version of yang-lsp and so on.
For testing, and maybe redistributing, of a custom yang-lsp/yang-vs-code you can still build a version you like from the source code here and share a *.vsix file.

esmasth commented 4 months ago

@dhuebner to ease the approach for what you suggest, may the *.vsix file be generated as part of build and release tasks?

Anyhow, given that the LSP language servers are supposed to be independent of the LSP client implementations based on the protocol handling, wouldn't it be reasonable to presume that interoperability is not at risk since the legwork of protocol handling is rather borne by the LSP client libraries and not the code here?