return { "mfussenegger/nvim-lint", config = function () local mypy = require("lint").linters.mypy mypy.args = { '--show-column-numbers', '--show-error-end', '--hide-error-context', '--no-color-output', '--no-error-summary', '--no-pretty', '--cache-dir', vim.fn.stdpath("cache") .. '/mypy', '--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 = {"mypy"}, } vim.api.nvim_create_autocmd({ "BufWritePost" }, { callback = function() -- try_lint without arguments runs the linters defined in `linters_by_ft` -- for the current tile type require("lint").try_lint() end, }) end }