BBx-Kitchen / bbj-language-server

BBj Language Server
MIT License
7 stars 6 forks source link

Assess IntelliJ LSP integration #192

Open StephanWald opened 3 weeks ago

StephanWald commented 3 weeks ago

Enhancement request to examine the effort and ramification of adding support for IntelliJ

https://blog.jetbrains.com/platform/2023/07/lsp-for-plugin-developers https://plugins.jetbrains.com/docs/intellij/language-server-protocol.html

@msujew @dhuebner can either of you give us a quick guesstimate what it would take to use IntelliJ? Do you have it working with any other Langium-based project, or did you ever test it?

StephanWald commented 3 weeks ago

how does this relate to https://github.com/aabounegm/langium-intellij-template ? Are there instructions how to "generate" an IntelliJ Plug-In - I didn't find any documentation but https://github.com/eclipse-langium/langium-website/issues/243 which seems to indicate that it's already possible but not documented yet?

angelozerr commented 2 weeks ago

@StephanWald please note that LSP support from Jetbrains is not free.

If you want to have a free support for LSP, please try https://github.com/redhat-developer/lsp4ij

langium is aware about LSP4IJ https://github.com/eclipse-langium/langium/issues/999#issuecomment-2186337456

You can evluate your LS with LSP4IJ without developping an IJ plugin, see https://github.com/redhat-developer/lsp4ij/blob/main/docs/UserDefinedLanguageServer.md and if you think LSP4IJ is good, you can create a plugin by declaring your LS, see https://github.com/redhat-developer/lsp4ij/blob/main/docs/DeveloperGuide.md

If you could be interested with LSP4IJ, I suggest that you read https://idetools.dev/blog/lsp4ij-announcement/ to have an overview of LSP4IJ.

More and more plugins are based on LSP4IJ, see https://github.com/redhat-developer/lsp4ij/tree/main?tab=readme-ov-file#who-is-using-lsp4ij

Hope you could be interested with LSP4IJ.

angelozerr commented 2 weeks ago

@StephanWald just for your info today I have not seen project which uses langium with lsp4ij but I suggest that you see project which uses lsp4ij.

You need just to declare the command which starts your ls.

StephanWald commented 2 weeks ago

@msujew, in our VSCode Extension, what is the command that "starts the ls"? Can you point me to it?