diff options
Diffstat (limited to '.claude')
| -rw-r--r-- | .claude/lsp-marketplace/.claude-plugin/marketplace.json | 13 | ||||
| -rw-r--r-- | .claude/lsp-marketplace/README.md | 38 | ||||
| -rw-r--r-- | .claude/lsp-marketplace/plugins/lua-lsp-local/.claude-plugin/plugin.json | 8 | ||||
| -rw-r--r-- | .claude/lsp-marketplace/plugins/lua-lsp-local/.lsp.json | 25 | ||||
| -rw-r--r-- | .claude/settings.json | 13 |
5 files changed, 95 insertions, 2 deletions
diff --git a/.claude/lsp-marketplace/.claude-plugin/marketplace.json b/.claude/lsp-marketplace/.claude-plugin/marketplace.json new file mode 100644 index 0000000..4821b64 --- /dev/null +++ b/.claude/lsp-marketplace/.claude-plugin/marketplace.json @@ -0,0 +1,13 @@ +{ + "name": "local-lsp", + "owner": { + "name": "tvanbesi" + }, + "plugins": [ + { + "name": "lua-lsp-local", + "source": "./plugins/lua-lsp-local", + "description": "lua-language-server rooted at the Neovim config, with the Neovim runtime as library" + } + ] +} diff --git a/.claude/lsp-marketplace/README.md b/.claude/lsp-marketplace/README.md new file mode 100644 index 0000000..135b0f9 --- /dev/null +++ b/.claude/lsp-marketplace/README.md @@ -0,0 +1,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`. diff --git a/.claude/lsp-marketplace/plugins/lua-lsp-local/.claude-plugin/plugin.json b/.claude/lsp-marketplace/plugins/lua-lsp-local/.claude-plugin/plugin.json new file mode 100644 index 0000000..8819760 --- /dev/null +++ b/.claude/lsp-marketplace/plugins/lua-lsp-local/.claude-plugin/plugin.json @@ -0,0 +1,8 @@ +{ + "name": "lua-lsp-local", + "description": "lua-language-server configured for the Neovim dotfiles: rooted at ~/.config/nvim with the Neovim runtime as a library so `vim` resolves and the $HOME-root diagnostic flood is avoided.", + "version": "1.0.0", + "author": { + "name": "tvanbesi" + } +} diff --git a/.claude/lsp-marketplace/plugins/lua-lsp-local/.lsp.json b/.claude/lsp-marketplace/plugins/lua-lsp-local/.lsp.json new file mode 100644 index 0000000..6d8e3dd --- /dev/null +++ b/.claude/lsp-marketplace/plugins/lua-lsp-local/.lsp.json @@ -0,0 +1,25 @@ +{ + "lua": { + "command": "lua-language-server", + "extensionToLanguage": { + ".lua": "lua" + }, + "workspaceFolder": "/home/tvanbesi/.config/nvim", + "settings": { + "Lua": { + "runtime": { + "version": "LuaJIT" + }, + "workspace": { + "checkThirdParty": false, + "library": [ + "/home/tvanbesi/.local/share/nvim/share/nvim/runtime" + ] + }, + "diagnostics": { + "libraryFiles": "Disable" + } + } + } + } +} diff --git a/.claude/settings.json b/.claude/settings.json index e60abaf..9e93121 100644 --- a/.claude/settings.json +++ b/.claude/settings.json @@ -52,8 +52,17 @@ }, "enabledPlugins": { "clangd-lsp@claude-plugins-official": true, - "lua-lsp@claude-plugins-official": true, - "pyright-lsp@claude-plugins-official": true + "lua-lsp@claude-plugins-official": false, + "pyright-lsp@claude-plugins-official": true, + "lua-lsp-local@local-lsp": true + }, + "extraKnownMarketplaces": { + "local-lsp": { + "source": { + "source": "directory", + "path": "/home/tvanbesi/.claude/lsp-marketplace" + } + } }, "theme": "auto", "editorMode": "vim", |
