diff options
| author | yuzu-eva <stevenhu@web.de> | 2024-03-09 01:59:27 +0100 |
|---|---|---|
| committer | yuzu-eva <stevenhu@web.de> | 2024-03-09 01:59:27 +0100 |
| commit | 1c68684558c3062ff8fca66ee3dd870088fd56ee (patch) | |
| tree | 380cce5fb22e27f74d5381382fdd39f4ea764e6b /.config/nvim/lua/user/plugins/lspconfig.lua | |
| parent | c5dcc86843b8f27628f901115eeda192d6260aca (diff) | |
| parent | f65e69f1f4b41785426bb830e73541aeb0d957e0 (diff) | |
Merge branch 'desktop'
merge into master, since the distinction is no longer neccessary
Diffstat (limited to '.config/nvim/lua/user/plugins/lspconfig.lua')
| -rw-r--r-- | .config/nvim/lua/user/plugins/lspconfig.lua | 139 |
1 files changed, 0 insertions, 139 deletions
diff --git a/.config/nvim/lua/user/plugins/lspconfig.lua b/.config/nvim/lua/user/plugins/lspconfig.lua deleted file mode 100644 index 1351959..0000000 --- a/.config/nvim/lua/user/plugins/lspconfig.lua +++ /dev/null @@ -1,139 +0,0 @@ -local buf_option = vim.api.nvim_buf_set_option -local buf_keymap = require 'lib.utils'.buf_keymap - -vim.diagnostic.config { - virtual_text = false, - severity_sort = true, - float = { - source = true, - focus = false, - format = function(diagnostic) - if diagnostic.user_data ~= nil and diagnostic.user_data.lsp.code ~= nil then - return string.format("%s: %s", diagnostic.user_data.lsp.code, diagnostic.message) - end - return diagnostic.message - end, - } -} - -local on_attach = function(_, bufnr) - buf_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc') - - buf_keymap(bufnr, 'n', 'gD', '<cmd>lua vim.lsp.buf.declaration()<CR>') - buf_keymap(bufnr, 'n', 'gd', '<cmd>lua vim.lsp.buf.definition()<CR>') - buf_keymap(bufnr, 'n', 'K', '<cmd>lua vim.lsp.buf.hover()<CR>') - buf_keymap(bufnr, 'n', 'gi', '<cmd>lua vim.lsp.buf.implementation()<CR>') - buf_keymap(bufnr, 'n', '<C-k>', '<cmd>lua vim.lsp.buf.signature_help()<CR>') - buf_keymap(bufnr, 'n', '<leader>D', '<cmd>lua vim.lsp.buf.type_definition()<CR>') - buf_keymap(bufnr, 'n', '<leader>rn', '<cmd>lua vim.lsp.buf.rename()<CR>') - buf_keymap(bufnr, 'n', 'gr', ':Telescope lsp_references<CR>') - - buf_keymap(bufnr, 'n', '<leader>ca', ':CodeActionMenu<CR>') - buf_keymap(bufnr, 'v', '<leader>ca', ':CodeActionMenu<CR>') - - buf_keymap(bufnr, 'n', '<leader>d', '<cmd>lua vim.diagnostic.open_float()<CR>') - buf_keymap(bufnr, 'n', '[d', '<cmd>lua vim.diagnostic.goto_prev()<CR>') - buf_keymap(bufnr, 'n', ']d', '<cmd>lua vim.diagnostic.goto_next()<CR>') - buf_keymap(bufnr, 'n', '<leader>F', '<cmd>lua vim.lsp.buf.format { async = true }<CR>') - - -- Autoformat on save doesn't work with server_capabilities, even - -- though it's the replacement for the deprecated resolved_capabilities. - - -- if _.server_capabilities.document_formatting then - -- vim.api.nvim_command [[augroup Format]] - -- vim.api.nvim_command [[autocmd! * <buffer>]] - -- vim.api.nvim_command [[autocmd BufWritePre <buffer> lua vim.lsp.buf.formatting_seq_sync()]] - -- vim.api.nvim_command [[augroup END]] - -- end -end - --- provide additional completion capabilities -local capabilities = require('cmp_nvim_lsp').default_capabilities(vim.lsp.protocol.make_client_capabilities()) - -require 'lspconfig'.emmet_ls.setup { - on_attach = on_attach, - capabilities = capabilities, - flags = { - debounce_text_changes = 150, - }, - filetypes = { 'html', 'javascript', 'typescript', 'javascriptreact', 'typescriptreact', 'eruby' } -} - -local runtime_path = vim.split(package.path, ';') -table.insert(runtime_path, "lua/?.lua") -table.insert(runtime_path, "lua/?/init.lua") -require 'lspconfig'.lua_ls.setup { - on_attach = on_attach, - capabilities = capabilities, - flags = { - debounce_text_changes = 150, - }, - cmd = { "/home/cafebabe/.local/src/lua-language-server/bin/lua-language-server", "-E", "/home/cafebabe/.local/src/lua-language-server/bin/main.lua" }; - settings = { - Lua = { - runtime = { - -- Tell language server which version of lua is used. - version = 'LuaJIT', - -- Setup lua path - path = runtime_path, - }, - diagnostics = { - -- Recognize globals - globals = { 'vim', 'use', 'parse' }, - }, - workspace = { - -- Make server aware of Neovim runtime files - library = vim.api.nvim_get_runtime_file("", true), - }, - -- Do not send telemetry data - telemetry = { - enable = false, - }, - }, - }, -} - -require 'lspconfig'.bashls.setup { - on_attach = on_attach, - capabilities = capabilities, - flags = { - debounce_text_changes = 150, - }, -} - -require 'lspconfig'.pylsp.setup { - on_attach = on_attach, - capabilities = capabilities, - flags = { - debounce_text_changes = 150, - }, -} - -require 'lspconfig'.clangd.setup { - on_attach = on_attach, - capabilities = capabilities, - flags = { - debounce_text_changes = 150, - }, - cmd = { "/usr/bin/clangd-13" }; -} - -require 'lspconfig'.solargraph.setup { - on_attach = on_attach, - capabilities = capabilities, - flags = { - debounce_text_changes = 150, - } -} - --- suppress error messages from lang servers -vim.notify = function(msg, log_level, _) - if msg:match 'exit code' then - return - end - if log_level == vim.log.levels.ERROR then - vim.api.nvim_err_writeln(msg) - else - vim.api.nvim_echo({ { msg } }, true, {}) - end -end |
