vim

Log | Files | Refs

lint.lua (1153B)


      1 return {
      2   -- Async linting
      3   {
      4     "mfussenegger/nvim-lint",
      5     event = { "BufWritePost", "BufReadPost", "InsertLeave" },
      6     config = function()
      7       local lint = require("lint")
      8 
      9       lint.linters_by_ft = {
     10         python      = { "ruff" },
     11         sh          = { "shellcheck" },
     12         bash        = { "shellcheck" },
     13         yaml        = { "yamllint" },
     14         ["yaml.ansible"] = { "ansible_lint" },
     15         terraform   = { "tflint" },
     16       }
     17 
     18       vim.api.nvim_create_autocmd({ "BufWritePost", "InsertLeave", "BufReadPost" }, {
     19         callback = function()
     20           lint.try_lint()
     21         end,
     22       })
     23     end,
     24   },
     25 
     26   -- Formatting
     27   {
     28     "stevearc/conform.nvim",
     29     event = "BufWritePre",
     30     cmd   = "ConformInfo",
     31     opts  = {
     32       formatters_by_ft = {
     33         python    = { "ruff_format" },
     34         sh        = { "shfmt" },
     35         bash      = { "shfmt" },
     36         yaml      = { "prettier" },
     37         lua       = { "stylua" },
     38         terraform = { "terraform_fmt" },
     39         ["yaml.ansible"] = { "prettier" },
     40       },
     41       format_on_save = {
     42         timeout_ms   = 500,
     43         lsp_fallback = true,
     44       },
     45     },
     46   },
     47 }