better code actions
This commit is contained in:
@@ -44,10 +44,13 @@ return {
|
||||
require("mason-lspconfig").setup({
|
||||
ensure_installed = {
|
||||
"pyright", -- Python
|
||||
"ruff", -- Python linting and fixes
|
||||
"eslint", -- JavaScript/TypeScript linting and fixes
|
||||
"ts_ls", -- TypeScript/JavaScript
|
||||
"vue_ls", -- Vue (Volar)
|
||||
"jsonls", -- JSON
|
||||
"yamlls", -- YAML
|
||||
"marksman", -- Markdown
|
||||
"html", -- HTML
|
||||
"cssls", -- CSS
|
||||
"bashls", -- Bash
|
||||
@@ -97,6 +100,25 @@ return {
|
||||
},
|
||||
})
|
||||
|
||||
-- Ruff provides Python lint diagnostics and quick fixes.
|
||||
vim.lsp.config("ruff", {
|
||||
filetypes = { "python" },
|
||||
})
|
||||
|
||||
-- ESLint provides lint diagnostics and source-level fixes.
|
||||
vim.lsp.config("eslint", {
|
||||
filetypes = {
|
||||
"javascript",
|
||||
"javascriptreact",
|
||||
"typescript",
|
||||
"typescriptreact",
|
||||
"vue",
|
||||
},
|
||||
settings = {
|
||||
workingDirectory = { mode = "auto" },
|
||||
},
|
||||
})
|
||||
|
||||
-- Type- and JavaScript
|
||||
vim.lsp.config("ts_ls", {
|
||||
filetypes = {
|
||||
@@ -160,6 +182,7 @@ return {
|
||||
-- Other languages
|
||||
vim.lsp.config("jsonls", {})
|
||||
vim.lsp.config("yamlls", {})
|
||||
vim.lsp.config("marksman", {})
|
||||
vim.lsp.config("html", {})
|
||||
vim.lsp.config("cssls", {})
|
||||
vim.lsp.config("bashls", {})
|
||||
@@ -167,10 +190,13 @@ return {
|
||||
-- Enable servers
|
||||
vim.lsp.enable("lua_ls")
|
||||
vim.lsp.enable("pyright")
|
||||
vim.lsp.enable("ruff")
|
||||
vim.lsp.enable("eslint")
|
||||
vim.lsp.enable("ts_ls")
|
||||
vim.lsp.enable("vue_ls")
|
||||
vim.lsp.enable("jsonls")
|
||||
vim.lsp.enable("yamlls")
|
||||
vim.lsp.enable("marksman")
|
||||
vim.lsp.enable("html")
|
||||
vim.lsp.enable("cssls")
|
||||
vim.lsp.enable("bashls")
|
||||
|
||||
@@ -2,12 +2,6 @@ return {
|
||||
"mfussenegger/nvim-lint",
|
||||
config = function()
|
||||
require("lint").linters_by_ft = {
|
||||
javascript = { "eslint_d" },
|
||||
javascriptreact = { "eslint_d" },
|
||||
typescript = { "eslint_d" },
|
||||
typescriptreact = { "eslint_d" },
|
||||
vue = { "eslint_d" },
|
||||
python = { "ruff" },
|
||||
-- lua = { "selene" }, -- Disabled: lua_ls provides diagnostics
|
||||
sh = { "shellcheck" },
|
||||
bash = { "shellcheck" },
|
||||
@@ -17,7 +11,7 @@ return {
|
||||
rust = { "clippy" },
|
||||
}
|
||||
|
||||
vim.api.nvim_create_autocmd({ "BufWritePost" }, {
|
||||
vim.api.nvim_create_autocmd({ "BufWritePost", "BufEnter", "InsertLeave" }, {
|
||||
callback = function()
|
||||
require("lint").try_lint()
|
||||
end,
|
||||
|
||||
Reference in New Issue
Block a user