Update neovim keybindings & setup ruff lsp
This commit is contained in:
parent
f817379950
commit
a458963ff0
3 changed files with 45 additions and 17 deletions
|
|
@ -5,3 +5,7 @@ vim.api.nvim_set_keymap('n', 'ff', '<cmd>lua require("telescope.builtin").find_f
|
||||||
vim.api.nvim_set_keymap('n', 'fg', '<cmd>lua require("telescope.builtin").live_grep()<CR>', opts)
|
vim.api.nvim_set_keymap('n', 'fg', '<cmd>lua require("telescope.builtin").live_grep()<CR>', opts)
|
||||||
vim.api.nvim_set_keymap('n', 'fb', '<cmd>lua require("telescope.builtin").buffers()<CR>', opts)
|
vim.api.nvim_set_keymap('n', 'fb', '<cmd>lua require("telescope.builtin").buffers()<CR>', opts)
|
||||||
vim.api.nvim_set_keymap('n', 'fh', '<cmd>lua require("telescope.builtin").help_tags()<CR>', opts)
|
vim.api.nvim_set_keymap('n', 'fh', '<cmd>lua require("telescope.builtin").help_tags()<CR>', opts)
|
||||||
|
vim.api.nvim_set_keymap('n', 'fj', '<cmd>lua require("telescope.builtin").jumplist()<CR>', opts)
|
||||||
|
vim.api.nvim_set_keymap('n', 'fl', '<cmd>lua require("telescope.builtin").loclist()<CR>', opts)
|
||||||
|
vim.api.nvim_set_keymap('n', 'fq', '<cmd>lua require("telescope.builtin").quickfix()<CR>', opts)
|
||||||
|
vim.api.nvim_set_keymap('n', 'fm', '<cmd>lua require("telescope.builtin").marks()<CR>', opts)
|
||||||
|
|
|
||||||
|
|
@ -10,14 +10,26 @@ local on_attach = function(client, bufnr)
|
||||||
buf_set_option('omnifunc', 'v:lua.vim.lsp.omnifunc')
|
buf_set_option('omnifunc', 'v:lua.vim.lsp.omnifunc')
|
||||||
|
|
||||||
-- mappings
|
-- mappings
|
||||||
local opts = { noremap=true, silent=true }
|
local opts = { buffer = bufnr, noremap = true, silent = true }
|
||||||
|
vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, opts)
|
||||||
|
vim.keymap.set('n', 'gd', vim.lsp.buf.definition, opts)
|
||||||
|
vim.keymap.set('n', 'K', vim.lsp.buf.hover, opts)
|
||||||
|
vim.keymap.set('n', 'gi', vim.lsp.buf.implementation, opts)
|
||||||
|
vim.keymap.set('n', '<C-k>', vim.lsp.buf.signature_help, opts)
|
||||||
|
vim.keymap.set('n', '<space>wa', vim.lsp.buf.add_workspace_folder, opts)
|
||||||
|
vim.keymap.set('n', '<space>wr', vim.lsp.buf.remove_workspace_folder, opts)
|
||||||
|
vim.keymap.set('n', '<space>wl', function()
|
||||||
|
print(vim.inspect(vim.lsp.buf.list_workspace_folders()))
|
||||||
|
end, opts)
|
||||||
|
vim.keymap.set('n', '<space>D', vim.lsp.buf.type_definition, opts)
|
||||||
|
vim.keymap.set('n', '<space>rn', vim.lsp.buf.rename, opts)
|
||||||
|
vim.keymap.set('n', 'gr', vim.lsp.buf.references, opts)
|
||||||
|
vim.keymap.set('n', '<space>e', vim.diagnostic.open_float, opts)
|
||||||
|
vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, opts)
|
||||||
|
vim.keymap.set('n', ']d', vim.diagnostic.goto_next, opts)
|
||||||
|
vim.keymap.set('n', '<space>q', vim.diagnostic.setloclist, opts)
|
||||||
|
vim.keymap.set('n', '<space>la', vim.lsp.buf.code_action, opts)
|
||||||
|
|
||||||
--see `:help vim.lsp.*` for documentation on any of the below functions
|
|
||||||
buf_set_keymap('n', 'gD', '<cmd>lua vim.lsp.buf.declaration()<CR>', opts)
|
|
||||||
buf_set_keymap('n', 'gd', '<cmd>lua vim.lsp.buf.definition()<CR>', opts)
|
|
||||||
buf_set_keymap('n', 'K', '<cmd>lua vim.lsp.buf.hover()<CR>', opts)
|
|
||||||
buf_set_keymap('n', 'gi', '<cmd>lua vim.lsp.buf.implementation()<CR>', opts)
|
|
||||||
buf_set_keymap('n', '<C-k>', '<cmd>lua vim.lsp.buf.signature_help()<CR>', opts)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -55,6 +67,13 @@ local python_root_dir = function(fname)
|
||||||
util.path.dirname(fname)
|
util.path.dirname(fname)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
nvim_lsp.ruff_lsp.setup({
|
||||||
|
on_attach = on_attach,
|
||||||
|
capabilities = capabilities,
|
||||||
|
root_dir = python_root_dir
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
nvim_lsp.pylsp.setup({
|
nvim_lsp.pylsp.setup({
|
||||||
on_attach = on_attach,
|
on_attach = on_attach,
|
||||||
capabilities = capabilities,
|
capabilities = capabilities,
|
||||||
|
|
@ -63,24 +82,24 @@ nvim_lsp.pylsp.setup({
|
||||||
pylsp = {
|
pylsp = {
|
||||||
plugins = {
|
plugins = {
|
||||||
ruff = {
|
ruff = {
|
||||||
enabled = true
|
enabled = false
|
||||||
}
|
},
|
||||||
|
jedi_completion = { fuzzy = true }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
root_dir = python_root_dir
|
root_dir = python_root_dir
|
||||||
})
|
})
|
||||||
|
|
||||||
local pyright_capabilities = vim.lsp.protocol.make_client_capabilities()
|
|
||||||
pyright_capabilities.textDocument.publishDiagnostics.tagSupport.valueSet = { 2 }
|
|
||||||
|
|
||||||
nvim_lsp.pyright.setup({
|
nvim_lsp.pyright.setup({
|
||||||
on_attach = on_attach,
|
settings = {
|
||||||
capabilities = pyright_capabilities,
|
pyright = {
|
||||||
root_dir = python_root_dir
|
-- Using Ruff's import organizer
|
||||||
|
disableOrganizeImports = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
nvim_lsp.html.setup({
|
nvim_lsp.html.setup({
|
||||||
on_attach = on_attach,
|
on_attach = on_attach,
|
||||||
capabilities = capabilities,
|
capabilities = capabilities,
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,7 @@ aur_build_dir: '/usr/local/src'
|
||||||
python_build_dir: '/usr/local/src'
|
python_build_dir: '/usr/local/src'
|
||||||
python_install_dir: '/opt'
|
python_install_dir: '/opt'
|
||||||
|
|
||||||
# Note that the "python-lsp-server", "python-lsp-ruff" and "neovim" python
|
# Note that the "python-lsp-server" and "neovim" python
|
||||||
# packages should be installed to the corresponding virtualenv as well.
|
# packages should be installed to the corresponding virtualenv as well.
|
||||||
language_servers:
|
language_servers:
|
||||||
- {
|
- {
|
||||||
|
|
@ -79,6 +79,11 @@ language_servers:
|
||||||
server_name: 'lua_ls',
|
server_name: 'lua_ls',
|
||||||
auto_setup: true
|
auto_setup: true
|
||||||
}
|
}
|
||||||
|
- {
|
||||||
|
package: ruff-lsp,
|
||||||
|
server_name: 'ruff_lsp',
|
||||||
|
auto_setup: false
|
||||||
|
}
|
||||||
|
|
||||||
python_download_url: 'https://www.python.org/ftp/python'
|
python_download_url: 'https://www.python.org/ftp/python'
|
||||||
python_versions:
|
python_versions:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue