pi-lsp-adapter 0.1.0 → 0.1.2
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 +18 -14
- package/package.json +1 -1
- 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,16 +442,20 @@ Run `/reload` in Pi after editing the extension.
|
|
|
442
442
|
|
|
443
443
|
## Release
|
|
444
444
|
|
|
445
|
-
Publishing is
|
|
445
|
+
Publishing is CI-driven. Do not create release tags by hand. To cut a release, make a normal commit that bumps `package.json` and `package-lock.json`; after that commit lands on `main` and CI passes, `.github/workflows/publish.yml` creates the matching semver tag and publishes to npm.
|
|
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 version 0.1.
|
|
451
|
-
git
|
|
450
|
+
npm version 0.1.2 --no-git-tag-version
|
|
451
|
+
git add package.json package-lock.json
|
|
452
|
+
git commit -m "chore: release v0.1.2"
|
|
453
|
+
git push origin main
|
|
452
454
|
```
|
|
453
455
|
|
|
454
|
-
|
|
456
|
+
Non-release pushes to `main` also trigger the publish workflow, but it exits without publishing when the current `package.json` version already exists on npm.
|
|
457
|
+
|
|
458
|
+
Stable versions such as `0.1.2` publish with the npm `latest` dist-tag. Prerelease versions such as `0.2.0-beta.1` publish with the npm `next` dist-tag.
|
|
455
459
|
|
|
456
460
|
## Troubleshooting
|
|
457
461
|
|
|
@@ -481,7 +485,7 @@ This is the quickest way to see the final command, root markers, install state,
|
|
|
481
485
|
|
|
482
486
|
### Reuse Mason.nvim servers
|
|
483
487
|
|
|
484
|
-
Configure the server as `type: "system"` in `~/.pi/
|
|
488
|
+
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
489
|
|
|
486
490
|
### Start fresh for one server
|
|
487
491
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pi-lsp-adapter",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
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",
|
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 {
|