Synced from monorepo
Synced from monorepo Changes: - Temporarily disable session share link creation in the TUI - Do not approve plan on empty Enter from the revise prompt - Expose chat product Skills via ACP available_commands_update - Return immediately from a blocking wait on an already-completed ACP task - Split headless pager module for clearer structure - Stop git worktree prune from removing user registrations on resume - Use compaction sampler tokenizer for item token counts - Opt-in extra root CAs via GROK_EXTRA_CA_BUNDLE - Cancel all session subagents when the user stops - Let the session persistence actor exit when its session ends - Make fullscreen terminal resize much cheaper on long sessions - Report honestly from kill_task when an ACP task does not exist - Hide /usage for external-auth deployments - Forward the history-load trailer’s computer_reason to the client - Remove ineffective no-op tool reminder - Declare slash-command screen-mode support in one place - Keep settings enum picker on the committed value until Enter - Reap a PTY’s full process tree - Stream tool calls from headless mode over ACP - Bridge gateway task lifecycle to ACP for chat session background tasks - Don’t warn about truncated history on a suppressed replay - Fit full-replace summarizer input and recover on context-length errors - Stop dropping agents over an unrecognized frontmatter color - Add /undo as a slash alias for /rewind - Harden sleep/wake token-refresh paths against forced re-login - Add session/list ACP method - Give each sampling backend its own conversion module - Treat an unenrolled child process as a lint error - Suppress the cancelled marker on send-now wake turns - Stop tearing down Roslyn on every edit, and read C# diagnostics Source-Revision: 2a28b4a86cfc4a4c133c35b7fc2a6a9964387c39
This commit is contained in:
parent
500129c714
commit
dd04f397b1
367 changed files with 29489 additions and 10051 deletions
|
|
@ -1448,11 +1448,46 @@ If LSP tools are enabled but no usable server config is found, Grok emits a non-
|
|||
| `initializationOptions` | JSON passed during LSP initialize. |
|
||||
| `settings` | Configuration sent via workspace settings updates. |
|
||||
| `workspaceFolder` | Override workspace folder path sent to the server. |
|
||||
| `workspaceOpen` | Solution or projects to load, for servers that need to be told explicitly (see below). |
|
||||
| `startupTimeout` | Max startup wait in milliseconds before startup is considered failed. |
|
||||
| `shutdownTimeout` | Max graceful shutdown wait in milliseconds. |
|
||||
| `restartOnCrash` | Whether to restart the server after a crash. |
|
||||
| `maxRestarts` | Maximum restart attempts before giving up. |
|
||||
|
||||
#### Telling a server which solution to load (`workspaceOpen`)
|
||||
|
||||
Most servers work out what to analyze from the workspace folder. A few do not,
|
||||
and instead load their workspace through a protocol extension. The C# server
|
||||
(`Microsoft.CodeAnalysis.LanguageServer`, "Roslyn") is the notable one: on its
|
||||
own it treats every file as a loose "miscellaneous file" and reports no
|
||||
project-level diagnostics at all, until it is told to open a solution or a set
|
||||
of projects.
|
||||
|
||||
```json
|
||||
{
|
||||
"csharp": {
|
||||
"command": "dotnet",
|
||||
"args": [
|
||||
"/path/to/Microsoft.CodeAnalysis.LanguageServer.dll",
|
||||
"--stdio",
|
||||
"--logLevel", "Warning",
|
||||
"--extensionLogDirectory", "/tmp/roslyn-logs"
|
||||
],
|
||||
"extensionToLanguage": { ".cs": "csharp" },
|
||||
"workspaceOpen": { "solution": "MyApp.sln" },
|
||||
"startupTimeout": 60000
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Use `"projects": ["src/App/App.csproj", "src/Lib/Lib.csproj"]` instead of
|
||||
`"solution"` when there is no solution file. Paths may be absolute or relative
|
||||
to the workspace root. Wrappers such as `roslyn-language-server` already send
|
||||
these notifications themselves, in which case `workspaceOpen` can be omitted.
|
||||
|
||||
Note that `--logLevel` is required by that server, and that anything more
|
||||
verbose than `Warning` makes it stream every internal log line to the client.
|
||||
|
||||
#### Installing language servers
|
||||
|
||||
Grok does not bundle language server binaries. You must install the server yourself and make sure the configured `command` is runnable on your machine.
|
||||
|
|
|
|||
Loading…
Reference in a new issue