diff --git a/nvim/init.lua b/nvim/init.lua index fddf848..8bbe302 100644 --- a/nvim/init.lua +++ b/nvim/init.lua @@ -137,11 +137,6 @@ vim.keymap.set('v', '', function() end end, { silent = true, expr = true }) --- Disable focus on infos -vim.lsp.handlers["textDocument/hover"] = vim.lsp.with( - vim.lsp.handlers.hover, { focusable = false } -) - vim.api.nvim_create_autocmd("LspAttach", { callback = function(args) local client = vim.lsp.get_client_by_id(args.data.client_id) @@ -178,21 +173,27 @@ vim.api.nvim_create_autocmd("LspAttach", { -- Some nice shortcuts map('n','gD','lua vim.lsp.buf.declaration()') map('n','gd','lua vim.lsp.buf.definition()') - map('n','K','lua vim.lsp.buf.hover()') + map('n','K','lua vim.lsp.buf.hover({ focusable = false })') map('n','gr','lua vim.lsp.buf.references()') map('n','gs','lua vim.lsp.buf.signature_help()') map('n','gi','lua vim.lsp.buf.implementation()') map('n','gt','lua vim.lsp.buf.type_definition()') map('n','gw','lua vim.lsp.buf.document_symbol()') map('n','gW','lua vim.lsp.buf.workspace_symbol()') - map('n','ah','lua vim.lsp.buf.hover()') + map('n','ah','lua vim.lsp.buf.hover({ focusable = false })') map('n','af','lua vim.lsp.buf.code_action()') map('n','ee','lua vim.lsp.util.show_line_diagnostics()') map('n','rn','lua vim.lsp.buf.rename()') - map('n','=', 'lua vim.lsp.buf.formatting()') + map('n','=', 'lua vim.lsp.buf.format()') map('n','ai','lua vim.lsp.buf.incoming_calls()') map('n','ao','lua vim.lsp.buf.outgoing_calls()') - end, + vim.keymap.set("n", "jc", function() + vim.lsp.buf.code_action({ context = { only = { "source.organizeImports", } }, apply = true, }) + vim.lsp.buf.code_action({ context = { only = { "source.generate.finalModifiers", } }, apply = true, }) + end, { buffer = args.buf }) + + print("LSP server ready") + end }); -- Rust @@ -201,7 +202,6 @@ vim.lsp.config['rust'] = { filetypes = { 'rust' }, root_markers = { 'Cargo.toml' }, } - vim.lsp.enable('rust') -- Elm @@ -210,16 +210,21 @@ vim.lsp.config['elm'] = { filetypes = { 'elm' }, root_markers = { 'elm.json' }, } - vim.lsp.enable('elm') --- Python -vim.lsp.config['python'] = { - cmd = { 'pylsp' }, +-- Ruff +vim.lsp.config['ruff'] = { + cmd = { 'ruff', 'server' }, filetypes = { 'python' }, } +vim.lsp.enable('ruff') -vim.lsp.enable('python') +-- Pyright +vim.lsp.config['pyright'] = { + cmd = { 'pyright-langserver', '--stdio' }, + filetypes = { 'python' }, +} +vim.lsp.enable('pyright') -- Java vim.lsp.config['java'] = { @@ -227,7 +232,6 @@ vim.lsp.config['java'] = { filetypes = { 'java' }, root_markers = { 'Makefile' }, } - vim.lsp.enable('java') -- Import custom config