diff --git a/lua/configs/lspconfig.lua b/lua/configs/lspconfig.lua index 12fb517..9dfb81c 100644 --- a/lua/configs/lspconfig.lua +++ b/lua/configs/lspconfig.lua @@ -1,4 +1,56 @@ -require("nvchad.configs.lspconfig").defaults() +local nvlsp = require "nvchad.configs.lspconfig" +local lspconfig = require "lspconfig" + +nvlsp.defaults() -- loads nvchad's defaults + +local servers = { "html", "cssls", "clangd" } + +-- lsps with default config +for _, lsp in ipairs(servers) do + lspconfig[lsp].setup { + on_attach = nvlsp.on_attach, + on_init = nvlsp.on_init, + capabilities = nvlsp.capabilities, + } +end + +lspconfig.basedpyright.setup { + on_attach = nvlsp.on_attach, + -- on_init = nvlsp.on_init, + capabilities = nvlsp.capabilities, + settings = { + pyright = { + disableOrganizeImports = true, + }, + python = { + analysis = { + ignore = { '*' } + }, + }, + }, +} + +lspconfig.ruff.setup { + on_attach = nvlsp.on_attach, + -- on_init = nvlsp.on_init, + capabilities = nvlsp.capabilities, + settings = { + } +} + +lspconfig.rust_analyzer.setup { + on_attach = nvlsp.on_attach, + -- on_init = nvlsp.on_init, + capabilities = nvlsp.capabilities, + settings = { + } +} + +lspconfig.bashls.setup { + on_attach = nvlsp.on_attach, + -- on_init = nvlsp.on_init, + capabilities = nvlsp.capabilities, + settings = { + } +} -local servers = { "html", "cssls" } -vim.lsp.enable(servers) diff --git a/lua/mappings.lua b/lua/mappings.lua index 783b78f..cb70068 100644 --- a/lua/mappings.lua +++ b/lua/mappings.lua @@ -8,3 +8,9 @@ map("n", ";", ":", { desc = "CMD enter command mode" }) map("i", "jk", "") -- map({ "n", "i", "v" }, "", " w ") + +-- custom +map("n", "ss", ":lua vim.diagnostic.open_float(nil,{focus=false}) ") +map("n", "sd", ":lua vim.diagnostic.setqflist() ") + +-- vim.cmd [[autocmd CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focus=false})]] diff --git a/lua/options.lua b/lua/options.lua index 738f20b..3a82c3a 100644 --- a/lua/options.lua +++ b/lua/options.lua @@ -2,5 +2,9 @@ require "nvchad.options" -- add yours here! +-- Show line diagnostics automatically in hover window +-- vim.o.updatetime = 250 +-- vim.cmd [[autocmd CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focus=false})]] + -- local o = vim.o -- o.cursorlineopt ='both' -- to enable cursorline! diff --git a/lua/plugins/init.lua b/lua/plugins/init.lua index 33a366b..06844ed 100644 --- a/lua/plugins/init.lua +++ b/lua/plugins/init.lua @@ -21,7 +21,8 @@ return { opts = { ensure_installed = { "vim", "lua", "vimdoc", - "html", "css" + "html", "css", "python", + "rust", }, }, },