Replies: 8 comments 8 replies
-
Thanks!
The main reason that we did that is because LSP4IJ contribute to the UI with LSP console which is required feature when you work with language server.
We have several tests at https://github.com/redhat-developer/lsp4ij/tree/main/src/test/java/com/redhat/devtools/lsp4ij/features which uses a mock language server. We could improve this code to support a custom language server and we could move thoses classes from test to a testFramework to allow using this class to test any language servers.
I dont know if it is possible. @fbricon what do you think about that?
Yes it is my fear that it is not a trivial issue but if you want to try it, we are opened with any contribution.
As I said we are opened to do that but it is not our priority. We did this project to consume in our IJ Quarkus plugin and it is oir first priority. We have the luck to have a lot of projects which are based on LSP4IJ and we benefit from contribution like documentSymbols.
It would fantastic to have this lsp support contribution. I think this support should looks like to documentSymbol support.
Hope we could work together. |
Beta Was this translation helpful? Give feedback.
-
Just one question why you dont use the jetbrains lsp support since your plugin is a paid product? |
Beta Was this translation helpful? Give feedback.
-
@jansorg another question, have you tried LSP4IJ with the Swift language server 'without developping an IJ plugin)with https://github.com/redhat-developer/lsp4ij/blob/main/docs/UserDefinedLanguageServer.md If no I suggest that you read https://idetools.dev/blog/lsp4ij-announcement/ If yes, what do you think about the LSP support compare to your LSP support? |
Beta Was this translation helpful? Give feedback.
-
@jansorg I have implemented call+type hierarchy which will be available in 08.0 (it should be released on monday). Please read LSP callHierachy and typeHierarchy support to activate with your language. I wonder how you have implemented method hierachy? Is it a custom feature with Swift language server, since I don't see LSP specification about method hierarchy? |
Beta Was this translation helpful? Give feedback.
-
@jansorg I have created a SourceToolkit-LSP template (see https://github.com/redhat-developer/lsp4ij/blob/main/docs/user-defined-ls/sourcekit-lsp.md) . You will need to install https://github.com/redhat-developer/lsp4ij?tab=readme-ov-file#testing-nightly-builds (or wait for Monday when release will be done). You can test now very quickly SourceToolkit-LSP by using this template. It seems it is working but unfortunately as soon as I open completion, the language server seems broken and after that no LSP features like hover, code action, highlight etc doesn't give some LSP response. Do you know what is the problem? Perhaps the command start |
Beta Was this translation helpful? Give feedback.
-
@jansorg please note @SCWells72 works also for a commercial product and wants to use LSP4IJ. He has started several contributions like #637 |
Beta Was this translation helpful? Give feedback.
-
It seems @jansorg has had the same problem than me with sourcekit lsp https://youtrack.jetbrains.com/issue/IJPL-15762/LSP-API-apple-sourcekit-lsp-code-completion-doesnt-work-false-error-No-response-from-the-server-in-10-seconds |
Beta Was this translation helpful? Give feedback.
-
@FalsePattern I noticed that you have published LSP4IJ in maven central at https://mvnrepository.com/artifact/com.redhat.devtools.intellij/lsp4ij Why are you doing that? Is it the same reason than @jansorg to control the LSP4IJ version and not be linked to the LSP4IJ published in marketplace? |
Beta Was this translation helpful? Give feedback.
-
First of all, thank you for providing an open-source LSP client for JetBrains IDEs!
It's a welcome replacement for the various older attempts...
For my Swift Support plugin, I've written my own LSP client implementation (using Kotlin). I don't want to maintain my own solution unless I have to...
Even though your implementation seems suitable for me, your solution currently has a few shortcomings which prevents me from dropping my own implementation:
My preferred solution would be a Java library, which can be linked as a dependency into my own plugin, based on your lsp4ij solution.
But that would require a restructuring of your code into a multi-project Gradle build to build a library and your lsp4ij plugin as before. Plugins using only the library would link to it and enhance their own plugin.xml with the needed changes.
So my question is:
Would you support the extraction of your core LSP client code into a library?
With your support, I would do most of the work.
My implementation also support call hierarchy, method hierarchy, etc. and I'd be willing to contribute to your code base.
I'd appreciate a response and your consideration. Thank you!
Beta Was this translation helpful? Give feedback.
All reactions