Ability to see if LSP server is used #1559

Closed
opened 2026-02-16 17:31:32 -05:00 by yindo · 14 comments
Owner

Originally created by @NaikSoftware on GitHub (Sep 1, 2025).

Originally assigned to: @rekram1-node on GitHub.

I can use Serena MCP for work with LSP and see each request if it is really used.
But in Opencode I cannot find any information about this.
Tried to run

Image

And it returns nothing (the file has warnings).
My config section in the opencode.json:

  "lsp": {
    "dart": {
      "command": ["dart", "language-server", "--client-id", "opencode", "--client-version", "1.0", "--protocol", "lsp"],
      "extensions": [".dart"]
    }
  },

Is it really used or not?
Output of opencode run "check a dart class MyClass for errors" --print-logs indicates that my server for Dart files is not used?

Image
Originally created by @NaikSoftware on GitHub (Sep 1, 2025). Originally assigned to: @rekram1-node on GitHub. I can use Serena MCP for work with LSP and see each request if it is really used. But in Opencode I cannot find any information about this. Tried to run <img width="426" height="59" alt="Image" src="https://github.com/user-attachments/assets/f904c53f-5755-495b-bad8-e38899eba287" /> And it returns nothing (the file has warnings). My config section in the `opencode.json`: ```json "lsp": { "dart": { "command": ["dart", "language-server", "--client-id", "opencode", "--client-version", "1.0", "--protocol", "lsp"], "extensions": [".dart"] } }, ``` Is it really used or not? Output of `opencode run "check a dart class MyClass for errors" --print-logs` indicates that my server for Dart files is not used? <img width="1432" height="324" alt="Image" src="https://github.com/user-attachments/assets/6f31f315-3016-4767-bbcd-8b7efac1bf03" />
yindo closed this issue 2026-02-16 17:31:32 -05:00
Author
Owner

@github-actions[bot] commented on GitHub (Sep 1, 2025):

This issue might be a duplicate of existing issues. Please check:

  • #2121: Very similar request for LSP status indicator, asking "Is there a way I can verify if it is running?" with Kotlin LSP configuration
  • #742: Similar debugging challenges with opencode debug lsp diagnostics returning empty results in large projects
  • #1808: Same pattern of empty diagnostics output when trying to verify C# LSP functionality

Feel free to ignore if none of these address your specific case.

@github-actions[bot] commented on GitHub (Sep 1, 2025): This issue might be a duplicate of existing issues. Please check: - #2121: Very similar request for LSP status indicator, asking "Is there a way I can verify if it is running?" with Kotlin LSP configuration - #742: Similar debugging challenges with `opencode debug lsp diagnostics` returning empty results in large projects - #1808: Same pattern of empty diagnostics output when trying to verify C# LSP functionality Feel free to ignore if none of these address your specific case.
Author
Owner

@rekram1-node commented on GitHub (Sep 1, 2025):

dart is definitely enabled there I have to fix the log to actually show correctly but it is logging just there it is as whitespace due to a tiny logger bug

@rekram1-node commented on GitHub (Sep 1, 2025): dart is definitely enabled there I have to fix the log to actually show correctly but it is logging just there it is as whitespace due to a tiny logger bug
Author
Owner

@rekram1-node commented on GitHub (Sep 1, 2025):

ahh that bug may have also prevented the custom lsps from working properly

@rekram1-node commented on GitHub (Sep 1, 2025): ahh that bug may have also prevented the custom lsps from working properly
Author
Owner

@rekram1-node commented on GitHub (Sep 1, 2025):

We also need to add visual indicators in tui for which lsps are enabled / failed

@rekram1-node commented on GitHub (Sep 1, 2025): We also need to add visual indicators in tui for which lsps are enabled / failed
Author
Owner

@NaikSoftware commented on GitHub (Sep 1, 2025):

ahh that bug may have also prevented the custom lsps from working properly

I see that when working, Opencode only uses regexp for Dart code analysis. If LSP were used, it would probably look like a tool call or something like that

@NaikSoftware commented on GitHub (Sep 1, 2025): > ahh that bug may have also prevented the custom lsps from working properly I see that when working, Opencode only uses regexp for Dart code analysis. If LSP were used, it would probably look like a tool call or something like that
Author
Owner

@rekram1-node commented on GitHub (Sep 1, 2025):

Image

Just for reference this is what lsp feedback looks like, it is injected into view when edits are done

Also in next release my fix should at least help you have a bit more visibility into dart lsp

@rekram1-node commented on GitHub (Sep 1, 2025): <img width="1535" height="211" alt="Image" src="https://github.com/user-attachments/assets/07f33c41-6f67-4032-b7e4-9163ecf66684" /> Just for reference this is what lsp feedback looks like, it is injected into view when edits are done Also in next release [my fix](https://github.com/sst/opencode/pull/2364/files) should at least help you have a bit more visibility into dart lsp
Author
Owner

@NaikSoftware commented on GitHub (Sep 1, 2025):

Image Just for reference this is what lsp feedback looks like, it is injected into view when edits are done

Also in next release my fix should at least help you have a bit more visibility into dart lsp

Oh, yes, I've seen such messages. I thought it was my instruction to run dart analyze after changes. But it seems that this is the feedback from lsp. Cool!

@NaikSoftware commented on GitHub (Sep 1, 2025): > <img alt="Image" width="1535" height="211" src="https://private-user-images.githubusercontent.com/63023139/484343325-07f33c41-6f67-4032-b7e4-9163ecf66684.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NTY3NjgyNTgsIm5iZiI6MTc1Njc2Nzk1OCwicGF0aCI6Ii82MzAyMzEzOS80ODQzNDMzMjUtMDdmMzNjNDEtNmY2Ny00MDMyLWI3ZTQtOTE2M2VjZjY2Njg0LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTA5MDElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwOTAxVDIzMDU1OFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTE0MzIyODg4ZTMzNWY0ODUzYmU5ZTFkMmM0YjQwOWZiZGFjYzBkYmI3NmNlNzk4MTAyMjI2MmZlYTc5ZmI1MWImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.CFC6OWgxB6lzQc71cqauDenFkyc0M9c1TOPEFmDlQJE"> > Just for reference this is what lsp feedback looks like, it is injected into view when edits are done > > Also in next release [my fix](https://github.com/sst/opencode/pull/2364/files) should at least help you have a bit more visibility into dart lsp Oh, yes, I've seen such messages. I thought it was my instruction to run `dart analyze` after changes. But it seems that this is the feedback from lsp. Cool!
Author
Owner

@rekram1-node commented on GitHub (Sep 1, 2025):

Can you try again on latest? @NaikSoftware my fix went through

at the very least you should see it in logs now

@rekram1-node commented on GitHub (Sep 1, 2025): Can you try again on latest? @NaikSoftware my fix went through at the very least you should see it in logs now
Author
Owner

@NaikSoftware commented on GitHub (Sep 2, 2025):

@rekram1-node thanks, it works in 0.6.3: service=lsp serverIds=typescript, vue, eslint, gopls, ruby-lsp, pyright, elixir-ls, zls, csharp, rust, clangd, dart enabled LSP servers. I think this issue is generally resolved. But one more question: сan LSP be used not only for error checking, but also for finding elements — classes, variables, etc.

@NaikSoftware commented on GitHub (Sep 2, 2025): @rekram1-node thanks, it works in 0.6.3: `service=lsp serverIds=typescript, vue, eslint, gopls, ruby-lsp, pyright, elixir-ls, zls, csharp, rust, clangd, dart enabled LSP servers`. I think this issue is generally resolved. But one more question: сan LSP be used not only for error checking, but also for finding elements — classes, variables, etc.
Author
Owner

@rekram1-node commented on GitHub (Sep 2, 2025):

сan LSP be used not only for error checking, but also for finding elements — classes, variables, etc.

LLM isn't given an lsp tool atm

@rekram1-node commented on GitHub (Sep 2, 2025): > сan LSP be used not only for error checking, but also for finding elements — classes, variables, etc. LLM isn't given an lsp tool atm
Author
Owner

@NaikSoftware commented on GitHub (Sep 2, 2025):

сan LSP be used not only for error checking, but also for finding elements — classes, variables, etc.

LLM isn't given an lsp tool atm

Hmm, it could make sense for refactoring: find references, rename safely, etc

@NaikSoftware commented on GitHub (Sep 2, 2025): > > сan LSP be used not only for error checking, but also for finding elements — classes, variables, etc. > > LLM isn't given an lsp tool atm Hmm, it could make sense for refactoring: find references, rename safely, etc
Author
Owner

@rekram1-node commented on GitHub (Sep 2, 2025):

Yeah we actually had it enabled at one point but dax removed it, I am not 100% sure why. However, the lsp tools are still in codebase (just not enabled) so I assume this functionality will be added back at some point

@rekram1-node commented on GitHub (Sep 2, 2025): Yeah we actually had it enabled at one point but dax removed it, I am not 100% sure why. However, the lsp tools are still in codebase (just not enabled) so I assume this functionality will be added back at some point
Author
Owner

@AngDrew commented on GitHub (Oct 14, 2025):

is there update on this LSP matter?

@AngDrew commented on GitHub (Oct 14, 2025): is there update on this LSP matter?
Author
Owner

@rekram1-node commented on GitHub (Oct 14, 2025):

@AngDrew are u looking to see which lsps are actively running? Team is currently rewriting the tui but it will have a /status command so you can view the active: mcp servers, lsps etc

@rekram1-node commented on GitHub (Oct 14, 2025): @AngDrew are u looking to see which lsps are actively running? Team is currently rewriting the tui but it will have a /status command so you can view the active: mcp servers, lsps etc
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: anomalyco/opencode#1559