diff options
Diffstat (limited to '')
-rw-r--r-- | .config/nvim/after/plugin/lsp.lua | 229 |
1 files changed, 0 insertions, 229 deletions
diff --git a/.config/nvim/after/plugin/lsp.lua b/.config/nvim/after/plugin/lsp.lua deleted file mode 100644 index a0e2316..0000000 --- a/.config/nvim/after/plugin/lsp.lua +++ /dev/null @@ -1,229 +0,0 @@ -local lsp = require('lsp-zero') - -lsp.preset('recommended') - -lsp.on_attach(function(client, bufnr) - local opts = { buffer = bufnr, remap = false } - - vim.keymap.set('n', 'gd', function() vim.lsp.buf.definition() end, opts) - vim.keymap.set('n', 'K', function() vim.lsp.buf.hover() end, opts) - vim.keymap.set('n', '<leader>vws', function() vim.lsp.buf.workspace_symbol() end, opts) - vim.keymap.set('n', '<leader>vd', function() vim.diagnostic.open_float() end, opts) - vim.keymap.set('n', '[d', function() vim.diagnostic.goto_prev() end, opts) - vim.keymap.set('n', ']d', function() vim.diagnostic.goto_next() end, opts) - vim.keymap.set('n', '<leader>vca', function() vim.lsp.buf.code_actions() end, opts) - vim.keymap.set('n', '<leader>vrr', function() vim.lsp.buf.references() end, opts) - vim.keymap.set('n', '<leader>vrn', function() vim.lsp.buf.rename() end, opts) - vim.keymap.set('i', '<C-h>', function() vim.lsp.buf.signature_help() end, opts) -end) - -require('mason').setup({ - servers = { - 'clangd', - }, -}) - - -require('mason-lspconfig').setup({ - ensure_installed = { - 'eslint', - 'rust_analyzer', - 'lua_ls', - 'gopls', - 'arduino_language_server', - 'bashls', - 'perlnavigator', - 'clangd', - 'yamlls', - }, - handlers = { - lsp.default_setup, - }, -}) - --- langs - -require('lspconfig').gopls.setup({ - settings = { - gopls = { - analyses = { - unreachable = true, - unusedparams = true, - }, - codelenses = { - generate = true, - gc_details = true, - }, - annotations = { - bounds = true, - escape = true, - inline = true, - }, - gofumpt = true, - }, - }, -}) - -require('lspconfig').clangd.setup({ - settings = { - clangd = { - mason = false, - }, - }, -}) - -require'lspconfig'.perlnavigator.setup{ - cmd = { "perlnavigator" }, - settings = { - perlnavigator = { - perlPath = 'perl', - enableWarnings = true, - perltidyProfile = '', - perlcriticProfile = '', - perlcriticEnabled = true, - } - } -} - -require('lspconfig').arduino_language_server.setup({ - cmd = { - "arduino-language-server", - "-cli-config", "/home/jozan/.arduino15/arduino-cli.yaml", - "-cli", "arduino-cli", - "-clangd", "clangd", - "-fqbn", "esp32:esp32:esp32", - } -}) - -require'lspconfig'.terraformls.setup{} -vim.api.nvim_create_autocmd({"BufWritePre"}, { - pattern = {"*.tf", "*.tfvars"}, - callback = function() - vim.lsp.buf.format() - end, -}) - --- cmp - -local cmp = require('cmp') -local cmp_select = { behavior = cmp.SelectBehavior.Select } -cmp.setup({ - window = { - -- completion = cmp.config.window.bordered(), - -- documentation = cmp.config.window.bordered(), - }, - mapping = cmp.mapping.preset.insert({ - ['<C-j>'] = cmp.mapping.select_next_item(cmp_select), - ['<C-k>'] = cmp.mapping.select_prev_item(cmp_select), - ['<C-b>'] = cmp.mapping.scroll_docs(-4), - ['<C-f>'] = cmp.mapping.scroll_docs(4), - ['<C-Space>'] = cmp.mapping.complete(), - ['<C-e>'] = cmp.mapping.abort(), - ['<CR>'] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items. - ['<C-i>'] = 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 = 'vsnip' }, -- For vsnip users. - -- { name = 'luasnip' }, -- For luasnip users. - -- { name = 'ultisnips' }, -- For ultisnips users. - -- { name = 'snippy' }, -- For snippy users. - }, { - { name = 'buffer' }, - }) -}) - - -- Set configuration for specific filetype. - cmp.setup.filetype('gitcommit', { - sources = cmp.config.sources({ - { name = 'git' }, -- You can specify the `git` source if [you were installed it](https://github.com/petertriho/cmp-git). - }, { - { name = 'buffer' }, - }) - }) - - -- Use buffer source for `/` and `?` (if you enabled `native_menu`, this won't work anymore). - cmp.setup.cmdline({ '/', '?' }, { - mapping = cmp.mapping.preset.cmdline(), - sources = { - { name = 'buffer' } - } - }) - - -- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore). - cmp.setup.cmdline(':', { - mapping = cmp.mapping.preset.cmdline(), - sources = cmp.config.sources({ - { name = 'path' } - }, { - { name = 'cmdline' } - }) - }) - -local cmp_mappings = lsp.defaults.cmp_mappings({ -}) - - -lsp.set_preferences({ --- sign_icons = { } - sign_icons = { - Text = "", - Method = "", - Function = "", - Constructor = "", - Field = "", - Variable = "", - Class = "", - Interface = "", - Module = "", - Property = "", - Unit = "", - Value = "", - Enum = "", - Keyword = "", - Snippet = "", - Color = "", - File = "", - Reference = "", - Folder = "", - EnumMember = "", - Constant = "", - Struct = "", - Event = "", - Operator = "", - TypeParameter = "", - }, -}) - -local lspkind = require('lspkind') -cmp.setup { - - formatting = { - format = lspkind.cmp_format({ - mode = 'symbol', -- show only symbol annotations - maxwidth = 50, -- prevent the popup from showing more than provided characters (e.g 50 will not show more than 50 characters) - ellipsis_char = '...', -- when popup menu exceed maxwidth, the truncated part would show ellipsis_char instead (must define maxwidth first) - - -- The function below will be called before any actual modifications from lspkind - -- so that you can provide more controls on popup customization. (See [#30](https://github.com/onsails/lspkind-nvim/pull/30)) - before = function (entry, vim_item) - return vim_item - end - }) - } -} - --- local lspconfig = require'lspconfig' --- lspconfig.ccls.setup { --- init_options = { --- compilationDatabaseDirectory = "build"; --- index = { --- threads = 0; --- }; --- clang = { --- excludeArgs = { "-frounding-math" }; --- }; --- } --- } - -lsp.setup() |