code-yeongyu / code-yeongyu/pi-lsp-client

`/lsp warmup` rejects custom servers from `.pi/lsp-client.json`

Open Beginner friendly
#4 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
16
Forks
5
PR merge metrics
No merged PRs in 30d

Description

**Describe the bug:** `/lsp warmup ` only accepts ids from `BUILTIN_SERVERS` in `server-definitions.ts`. Servers configured via `.pi/lsp-client.json` (the documented way to add custom servers) are resolved fine by the LSP tools, but warmup responds with `Unknown server id ''.`

**To reproduce:**
1. Add a custom server to `~/.pi/lsp-client.json` (or project `.pi/lsp-client.json`), e.g. `{"lsp": {"raku": {"command": ["/path/to/raku-language-server"], "extensions": [".raku"]}}}`
2. Run `/lsp warmup raku`
3. Observe: `Error: Unknown server id 'raku'.`

**Expected:** custom config servers can be warmed up like builtins (`/lsp status` already lists them via `getAllServers()`).

**Suggested fix:** in `runWarmup()` (`src/index.ts`), fall back to `getMergedServers()` when the id is not in `BUILTIN_SERVERS` — I have a working patch implementing exactly this.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start in src/index.ts at runWarmup(), then trace how BUILTIN_SERVERS and getMergedServers() resolve server IDs. Reproduce with a custom entry in .pi/lsp-client.json and verify that /lsp warmup accepts it while preserving builtin behavior and the existing /lsp status listing.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
cli, tooling
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
76/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.