diff options
| -rw-r--r-- | .editorconfig | 3 | ||||
| -rw-r--r-- | store/config/nvim/lua/setup/plugins/lint.lua | 32 | ||||
| -rw-r--r-- | www/.markdownlint.json | 3 | 
3 files changed, 32 insertions, 6 deletions
diff --git a/.editorconfig b/.editorconfig index ea11c46..69ce65e 100644 --- a/.editorconfig +++ b/.editorconfig @@ -29,3 +29,6 @@ indent_size = 2  [*.py]  profile = black + +[*.lua] +indent_size = 4 diff --git a/store/config/nvim/lua/setup/plugins/lint.lua b/store/config/nvim/lua/setup/plugins/lint.lua index 23ede70..b33db22 100644 --- a/store/config/nvim/lua/setup/plugins/lint.lua +++ b/store/config/nvim/lua/setup/plugins/lint.lua @@ -1,3 +1,7 @@ +--- spellchecker: words markdownlintrc + +---@alias CruLinter { name: string, config_patterns: string[], filetypes: string[] | nil, fast: boolean } +  local cspell = {      name = "cspell",      config_patterns = { @@ -29,8 +33,29 @@ local markdownlint = {      fast = true,  } -local linters = { cspell, markdownlint } +local linters = { cspell = cspell, markdownlint = markdownlint } + +---@param linter CruLinter +---@param buf integer +---@return string | nil +local function find_config(linter, buf) +    local files = vim.fs.find(linter.config_patterns, { +        path = vim.api.nvim_buf_get_name(buf), upward = true }) +    if #files ~= 0 then +        return files[1]; +    end +    return nil +end + +vim.list_extend(require("lint.linters.markdownlint").args, { +    "--config", +    function() +        return find_config(markdownlint, 0); +    end +}) +---@param linter CruLinter +---@param buf integer  function vim.crupest.lint(linter, buf)      if linter.filetypes then          local filetype = vim.api.nvim_get_option_value("filetype", { buf = buf }) @@ -39,14 +64,13 @@ function vim.crupest.lint(linter, buf)          end      end -    if 0 ~= #vim.fs.find(linter.config_patterns, { -            path = vim.api.nvim_buf_get_name(buf), upward = true }) then +    if find_config(linter, buf) then          require("lint").try_lint(linter.name)      end  end  function vim.crupest.lint_all(buf, fast) -    for _, linter in ipairs(linters) do +    for _, linter in pairs(linters) do          if not fast or linter.fast then              vim.crupest.lint(linter, buf)          end diff --git a/www/.markdownlint.json b/www/.markdownlint.json index 2811a59..12bc65e 100644 --- a/www/.markdownlint.json +++ b/www/.markdownlint.json @@ -1,6 +1,5 @@  {    "$schema": "https://raw.githubusercontent.com/DavidAnson/markdownlint/main/schema/markdownlint-config-schema.json",    "default": true, -  "MD013": false, -  "MD014": false +  "MD013": false  }  | 
