diff --git a/nvim/.config/nvim/lua/plugins/ide.lua b/nvim/.config/nvim/lua/plugins/ide.lua index 2034612..043030b 100644 --- a/nvim/.config/nvim/lua/plugins/ide.lua +++ b/nvim/.config/nvim/lua/plugins/ide.lua @@ -1,3 +1,38 @@ +local linters = { + astro = { "eslint_d" }, + bash = { "shellcheck" }, + javascript = { "eslint_d" }, + javascriptreact = { "eslint_d" }, + markdown = { "markdownlint", "vale" }, + quarto = { "markdownlint", "vale" }, + sh = { "shellcheck" }, + svelte = { "eslint_d" }, + text = { "vale" }, + typescript = { "eslint_d" }, + typescriptreact = { "eslint_d" }, +} +local formatters = { + angular = { { "prettierd", "prettier" } }, + astro = { { "prettierd", "prettier" } }, + bash = { "shfmt" }, + bib = { "bibtex-tidy" }, + css = { { "prettierd", "prettier" } }, + graphql = { { "prettierd", "prettier" } }, + html = { { "prettierd", "prettier" } }, + javascript = { { "prettierd", "prettier" } }, + javascriptreact = { { "prettierd", "prettier" } }, + json = { "jq" }, + lua = { "stylua" }, + python = { "ruff_fix", "ruff_format" }, + sh = { "shfmt" }, + svelte = { { "prettierd", "prettier" } }, + typescript = { { "prettierd", "prettier" } }, + typescriptreact = { { "prettierd", "prettier" } }, + vue = { { "prettierd", "prettier" } }, + yaml = { { "prettierd", "prettier" } }, + zsh = { "shfmt" }, +} + return { -- vista-like outline view for code { @@ -79,29 +114,16 @@ return { { "mfussenegger/nvim-lint", config = function() - local linters = { - astro = { "eslint_d" }, - bash = { "shellcheck" }, - javascript = { "eslint_d" }, - javascriptreact = { "eslint_d" }, - markdown = { "markdownlint", "vale" }, - quarto = { "markdownlint", "vale" }, - sh = { "shellcheck" }, - svelte = { "eslint_d" }, - text = { "vale" }, - typescript = { "eslint_d" }, - typescriptreact = { "eslint_d" }, - } require("lint").linters_by_ft = linters vim.api.nvim_create_autocmd({ "BufWritePost", "InsertLeave" }, { callback = function() - if not vim.g.disable_autoformat then + if not vim.g.disable_autolint then require("lint").try_lint() end end, }) end, - event = { "BufReadPost", "BufNewFile" }, + event = { "BufWritePost", "InsertLeave" }, }, -- formatting setup @@ -116,27 +138,7 @@ return { end return { lsp_fallback = true } end, - formatters_by_ft = { - angular = { { "prettierd", "prettier" } }, - astro = { { "prettierd", "prettier" } }, - bash = { "shfmt" }, - bib = { "bibtex-tidy" }, - css = { { "prettierd", "prettier" } }, - graphql = { { "prettierd", "prettier" } }, - html = { { "prettierd", "prettier" } }, - javascript = { { "prettierd", "prettier" } }, - javascriptreact = { { "prettierd", "prettier" } }, - json = { "jq" }, - lua = { "stylua" }, - python = { "ruff_fix", "ruff_format" }, - sh = { "shfmt" }, - svelte = { { "prettierd", "prettier" } }, - typescript = { { "prettierd", "prettier" } }, - typescriptreact = { { "prettierd", "prettier" } }, - vue = { { "prettierd", "prettier" } }, - yaml = { { "prettierd", "prettier" } }, - zsh = { "shfmt" }, - }, + formatters_by_ft = formatters, formatters = { -- enable python isort functionality ruff_fix = {