diff options
| author | cryxtalix <fgx8p9t@protonmail.com> | 2026-05-08 03:43:16 +0800 |
|---|---|---|
| committer | cryxtalix <fgx8p9t@protonmail.com> | 2026-05-08 03:43:16 +0800 |
| commit | 1302056eddd9a69ea2d0ffdf8bedd8582fb5a907 (patch) | |
| tree | 6842a96b396ada7003ec7ff7f3262a516be150b9 /.config/nvim_pack/lua/configs/lsp.lua | |
| parent | 3a6553f64773aab5c81ee70ae0e1d57b5e448f64 (diff) | |
Update
Diffstat (limited to '.config/nvim_pack/lua/configs/lsp.lua')
| -rw-r--r-- | .config/nvim_pack/lua/configs/lsp.lua | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/.config/nvim_pack/lua/configs/lsp.lua b/.config/nvim_pack/lua/configs/lsp.lua new file mode 100644 index 0000000..7acbeba --- /dev/null +++ b/.config/nvim_pack/lua/configs/lsp.lua @@ -0,0 +1,48 @@ +-- Language server for specified languages +-- Hover with 'K' +-- Goto definition with :Goto +-- Open code action with :Codeact + +local servers = { + "lua_ls", "bashls", "clangd", "marksman", "pyright", "lemminx", +} + +vim.pack.add({ + { + src = "https://github.com/mason-org/mason.nvim.git", + version = 'main', + }, + { + src = "https://github.com/mason-org/mason-lspconfig.nvim.git", + version = 'main', + }, +}) + +require("mason").setup({}) +require("mason-lspconfig").setup({ + ensure_installed = servers, + automatic_installation = true, + automatic_enable = true, +}) + +-- Key mapping +-- Hover for definition +vim.keymap.set('n', 'K', vim.lsp.buf.hover, {}) + +-- Move to definition +vim.api.nvim_create_user_command( + "Goto", + function() + vim.lsp.buf.definition() + end, + {} +) + +-- Code action +vim.api.nvim_create_user_command( + "Codeact", + function() + vim.lsp.buf.code_action() + end, + {} +) |
