Dotfiles with the latest changes
This commit is contained in:
@@ -1,15 +1,27 @@
|
||||
return {
|
||||
"neovim/nvim-lspconfig",
|
||||
event = { "BufReadPre", "BufNewFile" },
|
||||
dependencies = {
|
||||
"hrsh7th/cmp-nvim-lsp",
|
||||
"onsails/lspkind.nvim",
|
||||
{ "folke/neodev.nvim", opts = {} },
|
||||
},
|
||||
config = function()
|
||||
local lspconfig = require("lspconfig")
|
||||
local mason_lspconfig = require("mason-lspconfig")
|
||||
local cmp_nvim_lsp = require("cmp_nvim_lsp")
|
||||
local wk = require("which-key")
|
||||
|
||||
local capabilities = cmp_nvim_lsp.default_capabilities()
|
||||
|
||||
mason_lspconfig.setup_handlers({
|
||||
function(server_name)
|
||||
lspconfig[server_name].setup({
|
||||
capabilities = capabilities,
|
||||
})
|
||||
end,
|
||||
})
|
||||
|
||||
lspconfig["lua_ls"].setup({
|
||||
capabilities = capabilities,
|
||||
settings = { -- custom settings for lua
|
||||
@@ -32,29 +44,24 @@ return {
|
||||
capabilities = capabilities,
|
||||
filetypes = { "python" },
|
||||
})
|
||||
lspconfig["clangd"].setup({
|
||||
capabilities = capabilities,
|
||||
})
|
||||
lspconfig["marksman"].setup({
|
||||
capabilities = capabilities,
|
||||
})
|
||||
lspconfig["texlab"].setup({
|
||||
capabilities = capabilities,
|
||||
})
|
||||
wk.register({
|
||||
l = {
|
||||
name = "lsp",
|
||||
r = { "<cmd>Telescope lsp_references<CR>", "Show references" },
|
||||
D = { "<cmd>lua vim.lsp.buf.defenition()<CR>", "Show defenition" },
|
||||
c = { "<cmd>lua vim.lsp.buf.code_action()<CR>", "Code actions" },
|
||||
R = { "<cmd>lua vim.lsp.buf.rename()<CR>", "Smart rename" },
|
||||
d = { "<cmd>Telescope diagnostics bufnr=0<CR>", "Diagnostics" },
|
||||
l = { "<cmd>lua vim.lsp.buf.open_float()<CR>", "Line Diagnostics" },
|
||||
n = { "<cmd>lua vim.diagnostics.goto_next()<CR>", "Go to next Diagnostic" },
|
||||
p = { "<cmd>lua vim.diagnostics.goto_prev()<CR>", "Go to previous Diagnostic" },
|
||||
i = { "<cmd>lua vim.lsp.buf.hover()<CR>", "Show documentation" },
|
||||
L = { "<cmd>LspRestart<CR>", "Restart LSP" },
|
||||
|
||||
wk.add({
|
||||
{ "<leader>l", group = "lsp", icon = "" },
|
||||
{ "<leader>lr", "<cmd>Telescope lsp_references<CR>", desc = "Show references", icon = "" },
|
||||
{ "<leader>lD", "<cmd>lua vim.lsp.buf.defenition()<CR>", desc = "Show defenition", icon = "" },
|
||||
{ "<leader>lc", "<cmd>lua vim.lsp.buf.code_action()<CR>", desc = "Code actions", icon = "" },
|
||||
{ "<leader>lR", "<cmd>lua vim.lsp.buf.rename()<CR>", desc = "Smart rename", icon = "" },
|
||||
{ "<leader>ld", "<cmd>Telescope diagnostics bufnr=0<CR>", desc = "Diagnostics", icon = "" },
|
||||
{ "<leader>ll", "<cmd>lua vim.lsp.buf.open_float()<CR>", desc = "Line Diagnostics", icon = "" },
|
||||
{ "<leader>ln", "<cmd>lua vim.diagnostics.goto_next()<CR>", desc = "Go to next Diagnostic", icon = "" },
|
||||
{
|
||||
"<leader>lp",
|
||||
"<cmd>lua vim.diagnostics.goto_prev()<CR>",
|
||||
desc = "Go to previous Diagnostic",
|
||||
icon = "",
|
||||
},
|
||||
}, { prefix = "<leader>" })
|
||||
{ "<leader>li", "<cmd>lua vim.lsp.buf.hover()<CR>", desc = "Show documentation", icon = "" },
|
||||
{ "<leader>lL", "<cmd>LspRestart<CR>", desc = "Restart LSP", icon = "" },
|
||||
})
|
||||
end,
|
||||
}
|
||||
|
||||
@@ -30,6 +30,8 @@ return {
|
||||
"stylua",
|
||||
"prettier",
|
||||
"vale",
|
||||
"pylint",
|
||||
"latexindent",
|
||||
},
|
||||
})
|
||||
end,
|
||||
|
||||
@@ -1,52 +0,0 @@
|
||||
return {
|
||||
"nvimtools/none-ls.nvim",
|
||||
dependencies = {
|
||||
"jay-babu/mason-null-ls.nvim",
|
||||
"nvimtools/none-ls-extras.nvim",
|
||||
},
|
||||
config = function()
|
||||
local mason_null_ls = require("mason-null-ls")
|
||||
local null_ls = require("null-ls")
|
||||
local augroup = vim.api.nvim_create_augroup("LspFormatting", {})
|
||||
local formatting = null_ls.builtins.formatting
|
||||
local diagnostics = null_ls.builtins.diagnostics
|
||||
|
||||
mason_null_ls.setup()
|
||||
|
||||
null_ls.setup({
|
||||
debug = true,
|
||||
sources = {
|
||||
formatting.stylua,
|
||||
formatting.black,
|
||||
formatting.clang_format,
|
||||
formatting.prettier,
|
||||
diagnostics.mypy.with({
|
||||
extra_args = function()
|
||||
local virtual = os.getenv("VIRTUAL_ENV") or os.getenv("CONDA_PREFIX") or "/usr"
|
||||
return { "--python-executable", virtual .. "/bin/python3" }
|
||||
end,
|
||||
}),
|
||||
-- diagnostics.ruff_lsp,
|
||||
diagnostics.vale,
|
||||
},
|
||||
on_attach = function(current_client, bufnr)
|
||||
if current_client.supports_method("textDocument/formatting") then
|
||||
vim.api.nvim_clear_autocmds({ group = augroup, buffer = bufnr })
|
||||
vim.api.nvim_create_autocmd("BufWritePre", {
|
||||
group = augroup,
|
||||
buffer = bufnr,
|
||||
callback = function()
|
||||
vim.lsp.buf.format({
|
||||
filter = function(client)
|
||||
-- only use null-ls for formatting instead of lsp server
|
||||
return client.name == "null-ls"
|
||||
end,
|
||||
bufnr = bufnr,
|
||||
})
|
||||
end,
|
||||
})
|
||||
end
|
||||
end,
|
||||
})
|
||||
end,
|
||||
}
|
||||
Reference in New Issue
Block a user