pi-lsp-adapter 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -13
- package/package.json +3 -2
- package/src/config/paths.ts +1 -1
package/README.md
CHANGED
|
@@ -130,7 +130,7 @@ You can override these definitions or add new server definitions in config.
|
|
|
130
130
|
Most users only need one file:
|
|
131
131
|
|
|
132
132
|
```text
|
|
133
|
-
~/.pi/
|
|
133
|
+
~/.pi/agent/lsp.json
|
|
134
134
|
```
|
|
135
135
|
|
|
136
136
|
If that file does not exist, the extension behaves as if this config were present:
|
|
@@ -147,13 +147,13 @@ If that file does not exist, the extension behaves as if this config were presen
|
|
|
147
147
|
|
|
148
148
|
### Config files and merge order
|
|
149
149
|
|
|
150
|
-
| Priority | Path
|
|
151
|
-
| -------- |
|
|
152
|
-
| 1 | built-in catalog
|
|
153
|
-
| 2 | `~/.pi/
|
|
154
|
-
| 3 | `.pi/lsp.json`
|
|
150
|
+
| Priority | Path | Purpose |
|
|
151
|
+
| -------- | ---------------------- | ---------------------------------------------------------------------------------------------------------------- |
|
|
152
|
+
| 1 | built-in catalog | Default server definitions for `vtsls`, `pyright`, `gopls`, `rust-analyzer`, `yamlls`, etc. |
|
|
153
|
+
| 2 | `~/.pi/agent/lsp.json` | User-global config. Best place for executable, install, PATH, `installMode`, and `warmup`. |
|
|
154
|
+
| 3 | `.pi/lsp.json` | Project-local config. Safe server fields are honored before trust; process-starting fields require `/lsp trust`. |
|
|
155
155
|
|
|
156
|
-
> Path gotcha: config
|
|
156
|
+
> Path gotcha: config is the file `~/.pi/agent/lsp.json`. Runtime state lives under the directory `~/.pi/agent/lsp/`.
|
|
157
157
|
|
|
158
158
|
### Runtime paths
|
|
159
159
|
|
|
@@ -253,7 +253,7 @@ You do not need Pi to manage every language server. If you already have servers
|
|
|
253
253
|
Prefer global config for executable overrides:
|
|
254
254
|
|
|
255
255
|
```text
|
|
256
|
-
~/.pi/
|
|
256
|
+
~/.pi/agent/lsp.json
|
|
257
257
|
```
|
|
258
258
|
|
|
259
259
|
Example: use Mason.nvim's Pyright:
|
|
@@ -442,15 +442,16 @@ Run `/reload` in Pi after editing the extension.
|
|
|
442
442
|
|
|
443
443
|
## Release
|
|
444
444
|
|
|
445
|
-
Publishing is tag-driven. Use
|
|
445
|
+
Publishing is tag-driven, but do not create release tags by hand. Use the release helper so `package.json` and `package-lock.json` are bumped before the matching semver tag is created. The GitHub Actions publish workflow is intentionally read-only: it verifies the tag against both version files and fails instead of patching tagged source during publish.
|
|
446
446
|
|
|
447
|
-
|
|
447
|
+
npm publishing uses Trusted Publishing for `.github/workflows/publish.yml`, so no npm token secret is required. The npm package must have a Trusted Publisher configured for `nikmmd/pi-lsp-adapter` and workflow filename `publish.yml`.
|
|
448
448
|
|
|
449
449
|
```bash
|
|
450
|
-
npm
|
|
451
|
-
git push origin main --follow-tags
|
|
450
|
+
npm run release -- 0.1.2 --push
|
|
452
451
|
```
|
|
453
452
|
|
|
453
|
+
Omit `--push` to create the release commit and tag locally, then push with the command printed by the helper.
|
|
454
|
+
|
|
454
455
|
Stable tags such as `v0.1.0` publish with the npm `latest` dist-tag. Prerelease tags such as `v0.2.0-beta.1` publish with the npm `next` dist-tag.
|
|
455
456
|
|
|
456
457
|
## Troubleshooting
|
|
@@ -481,7 +482,7 @@ This is the quickest way to see the final command, root markers, install state,
|
|
|
481
482
|
|
|
482
483
|
### Reuse Mason.nvim servers
|
|
483
484
|
|
|
484
|
-
Configure the server as `type: "system"` in `~/.pi/
|
|
485
|
+
Configure the server as `type: "system"` in `~/.pi/agent/lsp.json` and point `command` at the Mason binary. Pi will use it but will not manage or uninstall it.
|
|
485
486
|
|
|
486
487
|
### Start fresh for one server
|
|
487
488
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pi-lsp-adapter",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "Pi extension that gives coding agents Language Server Protocol tools for diagnostics, hover, definitions, references, and symbol search",
|
|
5
5
|
"author": "Nikmmd",
|
|
6
6
|
"license": "MIT",
|
|
@@ -38,7 +38,8 @@
|
|
|
38
38
|
"test:watch": "vitest",
|
|
39
39
|
"typecheck": "tsc --noEmit",
|
|
40
40
|
"format": "prettier --write .",
|
|
41
|
-
"format:check": "prettier --check ."
|
|
41
|
+
"format:check": "prettier --check .",
|
|
42
|
+
"release": "bash scripts/release.sh"
|
|
42
43
|
},
|
|
43
44
|
"pi": {
|
|
44
45
|
"extensions": [
|
package/src/config/paths.ts
CHANGED
|
@@ -50,7 +50,7 @@ export function getTrustStorePath(): string {
|
|
|
50
50
|
}
|
|
51
51
|
|
|
52
52
|
export function getUserConfigPath(): string {
|
|
53
|
-
return join(homedir(), ".pi", "
|
|
53
|
+
return join(homedir(), ".pi", "agent", "lsp.json");
|
|
54
54
|
}
|
|
55
55
|
|
|
56
56
|
export function getProjectConfigPath(projectRoot: string): string {
|