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

What about using LSP4IJ? #127

Open
angelozerr opened this issue Jan 26, 2025 · 5 comments
Open

What about using LSP4IJ? #127

angelozerr opened this issue Jan 26, 2025 · 5 comments
Labels
enhancement New feature or request help wanted Extra attention is needed

Comments

@angelozerr
Copy link

angelozerr commented Jan 26, 2025

I wonder if you could be interested to base your plugin to LSP4IJ which is a free LSP support for Intellij and in 0.10.0 (not-released) it will provide DAP support:

If you could be interested I suggest that you install (nightly-builds)(https://github.com/redhat-developer/lsp4ij/?tab=readme-ov-file#testing-nightly-builds) (which provides the DAP support) and to test quickly the [OLS language server] (https://github.com/DanielGavin/ols) without developping something I suggest that you read https://github.com/redhat-developer/lsp4ij/blob/main/docs/UserDefinedLanguageServer.md

If you think LSP4IJ could be a good idea, please read https://github.com/redhat-developer/lsp4ij/blob/main/docs/DeveloperGuide.md to integrate the language server with extension point.

@obiwan87
Copy link
Owner

obiwan87 commented Jan 26, 2025

Hi @angelozerr ,

yes, I know LSP4J. At the time when I started this project, LSPs were supported only in paid versions of JetBrains IDEs. For that reason, but also just for the fun of it, I decided to implement everything from scratch.

As far as I understand it, this plugin now has better support for code completion and type inference than ols. That said, I will personally not integrate LSP4IJ+ols in my plugin, as I personally don't have any motivation to do so. But I will gladly look through and - if appropriate - accept merge requests about this.

As for DAP support: That's great news! I will look into that! Thank you for letting me know!

@angelozerr
Copy link
Author

Hi @angelozerr ,

yes, I know LSP4J. At the time when I started this project, LSPs were supported only in paid versions of JetBrains IDEs. For that reason, but also just for the fun of it, I decided to implement everything from scratch.

As far as I understand it, this plugin now has better support for code completion and type inference than ols. That said, I will personally not integrate LSP4IJ+ols in my plugin, as I personally don't have any motivation to do so. But I will gladly look through and - if appropriate - accept merge requests about this.

I am sorry I will not have time to do that but a simple thing that you could do is to study how to install and start ols. Once you know that you can easily use it i. Lsp4ij without developping something.

As for DAP support: That's great news! I will look into that! Thank you for letting me know!

It is the first pass of dap support. If you find bugs please report them.

@obiwan87
Copy link
Owner

obiwan87 commented Jan 26, 2025

FYI: The Zig plugin (https://github.com/FalsePattern/ZigBrains) uses LSP4IJ. It would be easy to port it to my Odin plugin.

It is the first pass of dap support. If you find bugs please report them.

Sure thing.

@obiwan87 obiwan87 reopened this Jan 27, 2025
@obiwan87 obiwan87 added help wanted Extra attention is needed enhancement New feature or request labels Jan 27, 2025
@angelozerr
Copy link
Author

FYI: The Zig plugin (https://github.com/FalsePattern/ZigBrains) uses LSP4IJ. It would be easy to port it to my Odin plugin.

Indeed and @FalsePattern also contributes to LSP4IJ.

You can find another project which are based on LSP4IJ at https://github.com/redhat-developer/lsp4ij?tab=readme-ov-file#who-is-using-lsp4ij

It is the first pass of dap support. If you find bugs please report them.

Sure thing.

@angelozerr
Copy link
Author

angelozerr commented Feb 22, 2025

Hi @angelozerr ,

yes, I know LSP4J. At the time when I started this project, LSPs were supported only in paid versions of JetBrains IDEs. For that reason, but also just for the fun of it, I decided to implement everything from scratch.

As far as I understand it, this plugin now has better support for code completion and type inference than ols. That said, I will personally not integrate LSP4IJ+ols in my plugin, as I personally don't have any motivation to do so. But I will gladly look through and - if appropriate - accept merge requests about this.

As for DAP support: That's great news! I will look into that! Thank you for letting me know!

Have you tried the dap support from LSP4IJ ?

I am working on dap extension point to register a debug adapter server with IJ plugin.

My goal is to provide the capability to customize anything like use your own breakpoint type, use a custom editor. Use a custom configuration type, etc

For the moment you can register a dap server with the extension point, see https://github.com/redhat-developer/lsp4ij/blob/main/docs/dap/DeveloperGuide.md

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

2 participants