summaryrefslogtreecommitdiffhomepage
path: root/packages/api/src/agent-manager.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/api/src/agent-manager.ts')
-rw-r--r--packages/api/src/agent-manager.ts13
1 files changed, 8 insertions, 5 deletions
diff --git a/packages/api/src/agent-manager.ts b/packages/api/src/agent-manager.ts
index 7cfa03c..913fb15 100644
--- a/packages/api/src/agent-manager.ts
+++ b/packages/api/src/agent-manager.ts
@@ -390,11 +390,14 @@ export class AgentManager {
/**
* Resolve (and cache) the LSP servers configured for a working directory.
*
- * LSP config is project-scoped: it lives in the `dispatch.toml` of the
- * tab's effective working directory, NOT the global config. We read that
- * directory's config once and cache the resolved servers; the cache is
- * cleared on config hot-reload. Returns `[]` when the directory has no
- * `[lsp]` block (the common case).
+ * LSP config is resolved by `loadConfig`, which merges the HOME-directory
+ * global `dispatch.toml` (`~/.config/dispatch/dispatch.toml`) underneath the
+ * tab's effective working-directory `dispatch.toml` — local `[lsp.<id>]`
+ * entries override global ones sharing the same id, while global-only
+ * servers stay active in every repository. We read+merge that config once
+ * per directory and cache the resolved servers; the cache is cleared on
+ * config hot-reload. Returns `[]` when neither config declares an `[lsp]`
+ * block (the common case).
*/
private getLspServersForDir(dir: string): ResolvedLspServer[] {
const cached = this.lspServersByDir.get(dir);