summaryrefslogtreecommitdiffstats
path: root/.claude/lsp-marketplace/README.md
blob: 135b0f9d1765c141d796be9031425f7257dd4a07 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# local-lsp marketplace

Local Claude Code marketplace holding `lua-lsp-local` — a `lua-language-server` config that roots at `~/.config/nvim`
(via `.lsp.json` `workspaceFolder`) with the Neovim runtime as `workspace.library`, so `vim` resolves and the
`$HOME`-root diagnostic flood is gone.

Why this exists: the official `lua-lsp@claude-plugins-official` roots `lua_ls` at `$HOME`, which ignored
`~/.config/nvim/.luarc.json` and flooded `Undefined global vim` (no IntelliSense). See memory
`reference_claude_lua_lsp.md`.

## Install / reproduce (fresh machine)

`settings.json` (`enabledPlugins`, `extraKnownMarketplaces`) carries the result, but on a clean setup run, in order:

```sh
claude plugin validate /home/tvanbesi/.claude/lsp-marketplace/plugins/lua-lsp-local
claude plugin marketplace add /home/tvanbesi/.claude/lsp-marketplace
claude plugin install lua-lsp-local@local-lsp        # user scope
claude plugin disable lua-lsp@claude-plugins-official # one server owns .lua
```

Then restart the session (LSP servers only start fresh on launch).

## After editing this plugin

Claude copies the plugin to its cache on install; source edits don't apply until:

```sh
claude plugin marketplace update local-lsp
claude plugin install lua-lsp-local@local-lsp   # reinstall
```

(or bump `version` in `plugins/lua-lsp-local/.claude-plugin/plugin.json`), then restart.

## Verify

Throwaway-edit a `.lua` file under `~/.config/nvim`; the Claude `lua_ls` (`ps`-child of `claude`) log should show
`rootUri = file:///home/tvanbesi/.config/nvim` and no `Undefined global vim`.