aboutsummaryrefslogtreecommitdiff
path: root/store/home/config/nvim/lua/setup/plugins/lint.lua
diff options
context:
space:
mode:
authorYuqian Yang <crupest@crupest.life>2025-06-04 18:42:09 +0800
committerYuqian Yang <crupest@crupest.life>2025-06-04 18:43:00 +0800
commit494c9f27f2483440d022a11c4a81ddd7bea33cb5 (patch)
tree5c6cf80ae2ee849344be14832fb561bae1fc07be /store/home/config/nvim/lua/setup/plugins/lint.lua
parentc3cdc6e002eec05be3bcaa4fb14e5dff06e975da (diff)
downloadcrupest-494c9f27f2483440d022a11c4a81ddd7bea33cb5.tar.gz
crupest-494c9f27f2483440d022a11c4a81ddd7bea33cb5.tar.bz2
crupest-494c9f27f2483440d022a11c4a81ddd7bea33cb5.zip
chore(config): move dir.
Diffstat (limited to 'store/home/config/nvim/lua/setup/plugins/lint.lua')
-rw-r--r--store/home/config/nvim/lua/setup/plugins/lint.lua98
1 files changed, 0 insertions, 98 deletions
diff --git a/store/home/config/nvim/lua/setup/plugins/lint.lua b/store/home/config/nvim/lua/setup/plugins/lint.lua
deleted file mode 100644
index 928841d..0000000
--- a/store/home/config/nvim/lua/setup/plugins/lint.lua
+++ /dev/null
@@ -1,98 +0,0 @@
-local lint = require("lint")
-
-local cspell = {
- name = "cspell",
- config_patterns = {
- ".cspell.json",
- "cspell.json",
- ".cSpell.json",
- "cSpell.json",
- "cspell.config.js",
- "cspell.config.cjs",
- "cspell.config.json",
- "cspell.config.yaml",
- "cspell.config.yml",
- "cspell.yaml",
- "cspell.yml",
- },
- fast = true,
-}
-
-local markdownlint = {
- name = "markdownlint",
- config_patterns = {
- ".markdownlint.jsonc",
- ".markdownlint.json",
- ".markdownlint.yaml",
- ".markdownlint.yml",
- ".markdownlintrc",
- },
- filetypes = { "markdown" },
- fast = true,
-}
-
-local linters = { cspell, markdownlint }
-
-local linter_names = vim.tbl_map(function(l) return l.name end, linters)
-
-local function cru_lint(linter, opt)
- opt = opt or {}
-
- local buf = opt.buf or 0
-
- if linter.filetypes then
- local filetype = vim.api.nvim_get_option_value("filetype", { buf = buf })
- if not vim.list_contains(linter.filetypes, filetype) then
- return
- end
- end
-
- if 0 ~= #vim.fs.find(linter.config_patterns, {
- path = vim.api.nvim_buf_get_name(opt.buf), upward = true }) then
- lint.try_lint(linter.name)
- end
-end
-
-local function cru_lint_one(name, opt)
- for _, linter in ipairs(linters) do
- if linter.name == name then
- cru_lint(linter, opt)
- return
- end
- end
- vim.notify("No linter named " .. name .. " is configured.", vim.log.levels.ERROR, {})
-end
-
-local function cru_lint_all(opt, fast)
- for _, linter in ipairs(linters) do
- if not fast or linter.fast then
- cru_lint(linter, opt)
- end
- end
-end
-
-local function cru_lint_all_fast(opt)
- local buf = opt.buf
- if vim.api.nvim_get_option_value("buftype", { buf = buf }) == "" then
- cru_lint_all(opt, true)
- end
-end
-
-local function setup()
- vim.api.nvim_create_autocmd({ "BufReadPost", "InsertLeave", "TextChanged" }, { callback = cru_lint_all_fast })
-
- local function cru_lint_cmd(opt)
- if #opt.args == 0 then
- cru_lint_all(opt, false)
- else
- cru_lint_one(opt.args, opt)
- end
- end
-
- vim.api.nvim_create_user_command("CruLint", cru_lint_cmd,
- { nargs = '?', complete = function() return linter_names end })
-end
-
-return {
- setup = setup,
-}