return { "mfussenegger/nvim-lint", config = function () local dmypy = require("lint").linters.dmypy dmypy.args = { 'run', "--timeout", "50000", "--export-types", "--", '--show-column-numbers', '--show-error-end', '--hide-error-context', '--no-color-output', '--no-error-summary', '--no-pretty', '--cache-dir', vim.fn.stdpath("cache") .. '/dmypy', '--cache-fine-grained', '--sqlite-cache', '--skip-cache-mtime-checks', '--python-executable', function() return vim.fn.exepath 'python3' or vim.fn.exepath 'python' end } require("lint").linters_by_ft = { python = {"dmypy"}, } vim.api.nvim_create_autocmd({ "BufWritePost" }, { callback = function() -- try_lint without arguments runs the linters defined in `linters_by_ft` -- for the current filetype require("lint").try_lint() end, }) end }