From 3fce1b5d9350c116270111e92f2d993e1b518d4d Mon Sep 17 00:00:00 2001 From: Jasper Ras Date: Sat, 9 Nov 2024 14:26:34 +0100 Subject: Inline home-manager --- home-manager/neovim/lsp-zero-nvim.lua | 66 +++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 home-manager/neovim/lsp-zero-nvim.lua (limited to 'home-manager/neovim/lsp-zero-nvim.lua') diff --git a/home-manager/neovim/lsp-zero-nvim.lua b/home-manager/neovim/lsp-zero-nvim.lua new file mode 100644 index 0000000..2abd191 --- /dev/null +++ b/home-manager/neovim/lsp-zero-nvim.lua @@ -0,0 +1,66 @@ +local lsp = require('lsp-zero').preset({ + manage_nvim_cmp = { + set_sources = 'recommended', + } +}) + +lsp.on_attach(function(client, bufnr) + local opts = {buffer = bufnr} + + lsp.default_keymaps(opts) + + vim.keymap.set('n', 'gd', 'Telescope lsp_definitions', opts) + vim.keymap.set('n', 'gi', 'Telescope lsp_implementations', opts) + vim.keymap.set('n', 'gr', 'Telescope lsp_references', opts) + vim.keymap.set('n', '', 'LspRestart', opts) +end) + +-- When you don't have mason.nvim installed +-- You'll need to list the servers installed in your system +lsp.setup_servers({'nixd', 'pyright', 'phpactor', 'gopls', 'lua_ls', 'ansiblels'}) + +-- (Optional) Configure lua language server for neovim +local lspconfig = require('lspconfig') +lspconfig.lua_ls.setup { + settings = { + Lua = { + runtime = { + -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) + version = 'LuaJIT', + }, + diagnostics = { + -- Get the language server to recognize the `vim` global + globals = {'vim'}, + }, + workspace = { + -- Make the server aware of Neovim runtime files + library = vim.api.nvim_get_runtime_file("", true), + checkThirdParty = false, + }, + -- Do not send telemetry data containing a randomized but unique identifier + telemetry = { + enable = false, + }, + }, + }, +} + +lsp.setup() + +local cmp = require('cmp') +local cmp_action = require('lsp-zero').cmp_action() + +cmp.setup({ + sources = { + {name = 'nvim_lsp'}, + {name = 'nvim_lua'}, + }, + mapping = { + [''] = cmp.mapping.confirm({select = false}), + [''] = cmp_action.luasnip_jump_forward(), + [''] = cmp_action.luasnip_jump_backward(), + [''] = cmp_action.luasnip_supertab(), + [''] = cmp_action.luasnip_shift_supertab(), + }, +}) + -- cgit v1.2.3