Editor LSP elicitation #72
strangemonad
started this conversation in
Protocol Suggestions
Replies: 1 comment
-
We're also strongly interested in the agent having access to the LSP. Elicitation seems like a good call. However, the LSP is not pull-only, right? For example, diagnostics are mostly pushed from the server to the client. Hence, should those notifications would need to be forwarded directly to the agent instead of being pulled by the agent "on-demand", right? |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Problem
The editor workspace (usually) already knows about the contents of the workspace, project files and has an LSP correctly configured. It's becoming common practice for agentic engineering cli tools to also be configured to directly interact with an LSP (without an LLM tool call request). At the very least this means duplicated lsp configuration and system resources because there are 2 copies of the LSP running. In some cases (eg python projects) getting the LSP configuration correct is not always easy to do and you want to just do it once. When working via remote code (eg an ssh workspace session), it gets even more complex.
Proposal
Allow the agent to elicit LSP interactions with the editor's (client) LSP. I'm calling this "LSP elicitation" similar to LLM elicitation in MCP. I'm not particularly attached to the name.
I'm suggesting LSP here but I could imagine allowing delegation / elicitation for several different types of tools that a coding agent would want to leverage (code reformat, git status checking, symbol lookup, tree-sitter queries etc).
Prior Art
Potential Issues
This isn't an issue with this proposal necessarily so much as a potential broader issue with getting traction ACP more broadly. Agentic engineering tools will likely want to have support for interacting with tools like LSPs, code formatting, git, symbol index and search wether they're connected to an ACP client, run in the cli, or headless. For example, opencode.ai would still need the ability to run an LSP and code formatter when run via the cli or as a server (e.g. GH actions). This means they would either still need the implementation for these features (and duplicated config) or possibly need a way to import these as a common ACP client (e.g. run zed headless + the complexity that entails)
Beta Was this translation helpful? Give feedback.
All reactions