1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- --
- -- lsp plugin setup
- --
- local lsp_zero = require('lsp-zero')
- lsp_zero.preset('recommended')
- lsp_zero.on_attach(function(client, bufnr)
- -- see :help lsp-zero-keybindings
- -- to learn the available actions
- lsp_zero.default_keymaps({buffer = bufnr})
- vim.keymap.set("i", "<C-h>", function() vim.lsp.buf.signature_help() end, opts)
- end)
- require('mason').setup({})
- require('mason-lspconfig').setup({
- -- Replace the language servers listed here
- -- with the ones you want to install
- ensure_installed = {'tsserver', 'rust_analyzer'},
- handlers = {
- lsp_zero.default_setup,
- lua_ls = function()
- local lua_opts = lsp_zero.nvim_lua_ls()
- require('lspconfig').lua_ls.setup(lua_opts)
- end,
- },
- })
- local cmp = require('cmp')
- local cmp_action = require('lsp-zero').cmp_action()
- cmp.setup({
- sources = {
- {name = 'nvim_lsp'},
- {name = 'buffer'},
- {name = 'path'},
- },
- window = {
- completion = cmp.config.window.bordered(),
- documentation = cmp.config.window.bordered(),
- },
- mapping = cmp.mapping.preset.insert({
- ['<C-p>'] = cmp.mapping.complete(),
- ['<C-f>'] = cmp_action.luasnip_jump_forward(),
- ['<C-b>'] = cmp_action.luasnip_jump_backward(),
- ['<C-u>'] = cmp.mapping.scroll_docs(-4),
- ["<CR>"] = cmp.mapping.confirm({
- behavior = cmp.ConfirmBehavior.Replace,
- select = true,
- }),
- ["<Tab>"] = cmp.mapping(cmp.mapping.select_next_item(), { "i", "s" }),
- ["<S-Tab>"] = cmp.mapping(cmp.mapping.select_prev_item(), { "i", "s" }),
- })
- })
|