diff options
| author | Max Bossing <info@maxbossing.de> | 2025-07-22 17:06:33 +0200 | 
|---|---|---|
| committer | Max Bossing <info@maxbossing.de> | 2025-07-22 17:06:33 +0200 | 
| commit | b426f25aef1f2be2b482bf0b256733eba0b1c5aa (patch) | |
| tree | cd67b7920531c45a7a48ea4a54e32ec6cc002b5e /nvim/lua/lsp.lua | |
| parent | abbbb47917049d4236ac7758cf56d8315620661b (diff) | |
smh so cool shit
Diffstat (limited to 'nvim/lua/lsp.lua')
| -rw-r--r-- | nvim/lua/lsp.lua | 55 | 
1 files changed, 55 insertions, 0 deletions
| diff --git a/nvim/lua/lsp.lua b/nvim/lua/lsp.lua new file mode 100644 index 0000000..b7fad3e --- /dev/null +++ b/nvim/lua/lsp.lua @@ -0,0 +1,55 @@ +require('mason').setup() + +vim.lsp.enable('lua-language-server') + +local bufnr = vim.api.nvim_get_current_buf() +vim.keymap.set('n', '<leader>a',  +  function() +    vim.cmd.RustLsp('codeAction') +  end, +  { silent = true, buffer = bufnr } +) + +vim.keymap.set('n', 'K', +  function() +    vim.cmd.RustLsp({'hover', 'actions'}) +  end, +  { silent = true, buffer = bufnr } +) + + +local cmp = require('cmp') +cmp.setup({ +    mapping = cmp.mapping.preset.insert({ +      ['<C-p>'] = cmp.mapping.select_prev_item({behavior = cmp.SelectBehavior.Select}), +      ['<C-n>'] = cmp.mapping.select_next_item({behavior = cmp.SelectBehavior.Select}), +      ['<C-b>'] = cmp.mapping.scroll_docs(-4), +      ['<C-f>'] = cmp.mapping.scroll_docs(4), +      ['<C-Space>'] = cmp.mapping.complete(), +      ['<CR>'] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items. +    }), +    sources = cmp.config.sources({ +      { name = 'nvim_lsp' }, +    }, { +    { name = 'buffer' }, +  }) +}) + +cmp.setup.cmdline({ '/', '?' }, { +  mapping = cmp.mapping.preset.cmdline(), +  sources = { +    { name = 'buffer' } +  } +}) + +cmp.setup.cmdline(':', { +  mapping = cmp.mapping.preset.cmdline(), +  sources = cmp.config.sources({ +    { name = 'path' } +  }, { +    { name = 'cmdline' } +  }), +  matching = { disallow_symbol_nonprefix_matching = false } +}) + +require('lsp_signature').setup() | 
