diff --git a/skills/lsp-setup/SKILL.md b/skills/lsp-setup/SKILL.md index a2fd8929..41331d6a 100644 --- a/skills/lsp-setup/SKILL.md +++ b/skills/lsp-setup/SKILL.md @@ -14,17 +14,17 @@ DO NOT USE FOR: general coding tasks, IDE/editor LSP configuration, non-Copilot- 1. **Ask the language** — use `ask_user` to ask which programming language(s) the user wants LSP support for 2. **Detect the OS** — run `uname -s` (or check for Windows via `$env:OS` / `%OS%`) to determine macOS, Linux, or Windows 3. **Look up the LSP server** — read `references/lsp-servers.md` for known servers, install commands, and config snippets -4. **Ask scope** — use `ask_user` to ask whether the config should be user-level (`~/.copilot/lsp-config.json`) or repo-level (`.github/lsp.json`) +4. **Ask scope** — use `ask_user` to ask whether the config should be user-level (`~/.copilot/lsp-config.json`) or repo-level (`lsp.json` at the repo root or `.github/lsp.json`) 5. **Install the server** — run the appropriate install command for the detected OS -6. **Write the config** — merge the new server entry into the chosen config file (`~/.copilot/lsp-config.json` for user-level, `.github/lsp.json` for repo-level); create it if missing, preserve existing entries +6. **Write the config** — merge the new server entry into the chosen config file (`~/.copilot/lsp-config.json` for user-level; `lsp.json` or `.github/lsp.json` for repo-level). If a repo-level config already exists, keep using that location; otherwise ask the user which repo-level location they prefer. Create the file if missing and preserve existing entries. 7. **Verify** — confirm the LSP binary is on `$PATH` and the config file is valid JSON ## Configuration Format -Copilot CLI reads LSP configuration from two locations (repo-level takes precedence): +Copilot CLI reads LSP configuration from user-level or repo-level locations, and repo-level config takes precedence over user-level config: - **User-level**: `~/.copilot/lsp-config.json` -- **Repo-level**: `.github/lsp.json` +- **Repo-level**: `lsp.json` (repo root) or `.github/lsp.json` The JSON structure: