diff --git a/nvim/lua/autocommands.lua b/nvim/lua/autocommands.lua index 9c5c9fa..6358786 100644 --- a/nvim/lua/autocommands.lua +++ b/nvim/lua/autocommands.lua @@ -4,3 +4,15 @@ vim.api.nvim_create_autocmd('BufWritePre', { vim.lsp.buf.code_action({ context = { only = { 'source.organizeImports' } }, apply = true }) end }) + +vim.api.nvim_create_autocmd('BufWritePost', { + callback = function() + local ok, lint = pcall(require, "lint") + + if not ok then + return + end + + lint.try_lint() + end +}) diff --git a/nvim/lua/plugins/config/lint.lua b/nvim/lua/plugins/config/lint.lua new file mode 100644 index 0000000..0aa19e9 --- /dev/null +++ b/nvim/lua/plugins/config/lint.lua @@ -0,0 +1,11 @@ +local ok, lint = pcall(require, "lint") + +if not ok then + return +end + +lint.linters_by_ft = { + go = {'golangcilint'}, + sh = {'shellcheck'}, + python = {'pylint'}, +} diff --git a/nvim/lua/plugins/config/lsp.lua b/nvim/lua/plugins/config/lsp.lua index 0341b86..5242a46 100644 --- a/nvim/lua/plugins/config/lsp.lua +++ b/nvim/lua/plugins/config/lsp.lua @@ -63,12 +63,6 @@ lspconfig.gopls.setup{ flags = lsp_flags, } --- Golangci-lint language server --- requires golangci-lint and golangci-lint-langserver -lspconfig.golangci_lint_ls.setup{ - flags = lsp_flags, -} - -- Jsonnet lspconfig.jsonnet_ls.setup{ on_attach = custom_attach, diff --git a/nvim/lua/plugins/init.lua b/nvim/lua/plugins/init.lua index c346706..511344f 100644 --- a/nvim/lua/plugins/init.lua +++ b/nvim/lua/plugins/init.lua @@ -54,6 +54,13 @@ local plugins = { require("plugins.config.tui_nvim") end, }, + { + "mfussenegger/nvim-lint", + commit = "67f74e630a84ecfa73a82783c487bdedd8cecdc3", -- 2023.09.21 + config = function() + require("plugins.config.lint") + end, + }, } require("lazy").setup(plugins, {