원클릭으로
add-lsp
Add a new LSP server configuration following this repo's patterns. Use when adding support for a new language server.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Add a new LSP server configuration following this repo's patterns. Use when adding support for a new language server.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | add-lsp |
| description | Add a new LSP server configuration following this repo's patterns. Use when adding support for a new language server. |
Follow these steps to add a new LSP server to this Neovim config.
Create lua/lsp/<server_name>.lua that returns a vim.lsp.Config table:
local util = require("util")
--- @class vim.lsp.Config : vim.lsp.ClientConfig
return {
cmd = { util.homebrew_binary("<formula>", "<binary>") }, -- or util.prefix(), util.go_path(), etc.
filetypes = { "<filetype>" },
settings = {
-- server-specific settings
},
}
Key conventions:
util.homebrew_binary(), util.prefix(), util.bun_prefix(), util.go_path(), or util.pnpm_prefix() — never use bare command names.lspconfig.setup().--- @class vim.lsp.Config : vim.lsp.ClientConfig annotation.on_attach only if the server needs buffer-specific overrides.If the server exists in lspconfig, add it to the servers table:
["<server_name>"] = require("lsp.<server_name>"),
If the server is NOT in lspconfig, register it first with register_lsp() before the servers table:
register_lsp(
"<server_name>",
{
cmd = { "<binary>" },
filetypes = { "<filetype>" },
root_markers = { ".git" },
single_file_support = true,
capabilities = default_capabilities_config(),
}
)
If the filetype isn't already detected by Neovim, add an entry in filetype.lua via vim.filetype.add().
For filetype-specific buffer settings, create after/ftplugin/<filetype>.lua.