added configuration for nvim lint & nvim conform

This commit is contained in:
aminnairi
2023-11-27 23:29:36 +01:00
parent 6c7d8fd388
commit e670309162
+91 -77
View File
@@ -178,7 +178,7 @@ require("lazy").setup({
}, },
{ {
"williamboman/mason.nvim", "williamboman/mason.nvim",
opts = {}, opts = {}
}, },
{ {
"williamboman/mason-lspconfig.nvim", "williamboman/mason-lspconfig.nvim",
@@ -192,7 +192,9 @@ require("lazy").setup({
"volar", "volar",
"cssls", "cssls",
"cssmodules_ls", "cssmodules_ls",
"prismals" "prismals",
"yamlls",
"marksman"
}, },
}, },
}, },
@@ -353,11 +355,7 @@ require("lazy").setup({
lspconfig.volar.setup({ lspconfig.volar.setup({
capabilities = capabilities, capabilities = capabilities,
filetypes = { filetypes = {
"typescript", "vue"
"javascript",
"javascriptreact",
"typescriptreact",
"vue",
}, },
}) })
@@ -382,97 +380,113 @@ require("lazy").setup({
}) })
lspconfig.prismals.setup({ lspconfig.prismals.setup({
filetypes = {
"prisma"
},
capabilities = capabilities capabilities = capabilities
}) })
lspconfig.yamlls.setup({
capabilities = capabilities,
filetypes = {
"yaml"
},
})
lspconfig.marksman.setup({
capabilities = capabilities,
filetypes = {
"markdown"
}
})
end, end,
}, },
{ {
"jay-babu/mason-null-ls.nvim", "WhoIsSethDaniel/mason-tool-installer.nvim",
dependencies = { dependencies = {
"williamboman/mason.nvim", "williamboman/mason.nvim",
}, },
opts = { opts = {
ensure_installed = { ensure_installed = {
"stylua", "stylua",
"eslint", "luacheck",
"stylelint", "stylelint",
"prisma" "shellcheck",
}, "rustfmt",
"phpcbf",
"phpstan",
"jq",
"jsonlint",
"htmlbeautifier",
"eslint_d",
"blade-formatter",
"markdownlint",
"yamllint",
"ansible-lint"
}, },
auto_update = true,
run_on_start = true,
}
}, },
{ {
"jose-elias-alvarez/null-ls.nvim", "stevearc/conform.nvim",
event = "VeryLazy",
dependencies = { dependencies = {
"jay-babu/mason-null-ls.nvim", "WhoIsSethDaniel/mason-tool-installer.nvim",
}, },
config = function() events = { "BufReadPre", "BufNewFile" },
local null_ls = require("null-ls") opts = {
formatters_by_ft = {
null_ls.setup({ lua = { "stylua" },
sources = { css = { "stylelint" },
null_ls.builtins.formatting.stylua.with({ sh = { "shellcheck" },
filetypes = { rust = { "rustfmt" },
"lua", php = { "php_cs_fixer", "phpcbf" },
}, json = { "jq" },
}), html = { "htmlbeautifier" },
-- ESLint javascript = { "eslint" },
null_ls.builtins.formatting.eslint.with({ typescript = { "eslint" },
filetypes = { javascriptreact = { "eslint" },
"javascript", typescriptreact = { "eslint" },
"typescript", vue = { "eslint" },
"javascriptreact", blade = { "blade-formatter" },
"typescriptreact", yaml = { "ansible_lint" }
"tsx", }
"vue",
},
}),
null_ls.builtins.diagnostics.eslint.with({
filetypes = {
"javascript",
"typescript",
"javascriptreact",
"typescriptreact",
"tsx",
"vue",
},
}),
null_ls.builtins.code_actions.eslint.with({
filetypes = {
"javascript",
"typescript",
"javascriptreact",
"typescriptreact",
"tsx",
"vue",
},
}),
-- StyleLint
null_ls.builtins.diagnostics.stylelint.with({
filetypes = {
"scss",
"less",
"css",
"sass",
},
}),
null_ls.builtins.formatting.stylelint.with({
filetypes = {
"scss",
"less",
"css",
"sass",
},
}),
-- prisma
null_ls.builtins.formatting.prismaFmt.with({
filetypes = {
"prisma"
} }
})
}, },
{
"mfussenegger/nvim-lint",
dependencies = {
"WhoIsSethDaniel/mason-tool-installer.nvim",
},
events = { "BufReadPre", "BufWritePost" },
init = function()
local lint = require("lint")
vim.api.nvim_create_autocmd({ "TextChanged", "TextChangedI", "BufEnter", "BufReadPre", "BufWritePost", "CursorHold", "CursorHoldI" }, {
callback = function()
lint.try_lint()
end,
}) })
end, end,
config = function()
local lint = require("lint")
lint.linter_by_ft = {
lua = { "luacheck" },
javascript = { "eslint" },
typescript = { "eslint" },
javascriptreact = { "eslint" },
typescriptreact = { "eslint" },
vue = { "eslint" },
sh = { "shellcheck" },
fish = { "fish" },
json = { "jsonlint", },
markdown = { "markdownlint" },
php = { "php", "phpcs", "phpstan" },
css = { "stylelint" },
yaml = { "yamllint" }
}
end
}, },
{ {
"nvim-treesitter/nvim-treesitter", "nvim-treesitter/nvim-treesitter",