ci: generate nvim-lint linter list

This commit is contained in:
Austin Horstman 2026-04-21 22:30:46 -05:00
parent 948b6c0125
commit f63fae1335
4 changed files with 204 additions and 0 deletions

View file

@ -19,5 +19,6 @@ lib.fix (self: {
none-ls-builtins = pkgs.callPackage ./none-ls.nix { };
lspconfig-servers = pkgs.callPackage ./nvim-lspconfig { };
conform-formatters = pkgs.callPackage ./conform-nvim.nix { };
lint-linters = pkgs.callPackage ./nvim-lint.nix { };
version-info = pkgs.callPackage ./version-info { };
})

View file

@ -4,6 +4,7 @@
none-ls-builtins,
lspconfig-servers,
conform-formatters,
lint-linters,
nixfmt,
prettier,
}:
@ -44,6 +45,7 @@ writeShellApplication {
generate_json "${efmls-configs-sources}"
generate_json "${none-ls-builtins}"
generate_json "${conform-formatters}"
generate_json "${lint-linters}"
generate_json "${lspconfig-servers}"
generate_json "${lspconfig-servers.unsupported}"

20
ci/nvim-lint.nix Normal file
View file

@ -0,0 +1,20 @@
{
vimPlugins,
runCommand,
jq,
}:
runCommand "lint-linters.json"
{
src = vimPlugins.nvim-lint;
nativeBuildInputs = [ jq ];
}
''
for file in "$src"/lua/lint/linters/*.lua
do
name=''${file##*/}
printf '%s\n' "''${name%.lua}"
done \
| LC_ALL=C sort \
| jq -R . \
| jq -s . > "$out"
''

181
generated/lint-linters.json Normal file
View file

@ -0,0 +1,181 @@
[
"actionlint",
"alex",
"ameba",
"ansible_lint",
"bandit",
"bash",
"bean_check",
"biomejs",
"blocklint",
"buf_lint",
"buildifier",
"cfn_lint",
"cfn_nag",
"checkmake",
"checkpatch",
"checkstyle",
"chktex",
"clangtidy",
"clazy",
"clippy",
"clj-kondo",
"cmake_lint",
"cmakelint",
"codespell",
"commitlint",
"compiler",
"cppcheck",
"cpplint",
"credo",
"cspell",
"cue",
"curlylint",
"dash",
"dclint",
"deadnix",
"deno",
"detect-secrets",
"djlint",
"dmypy",
"dotenv_linter",
"dxc",
"editorconfig-checker",
"erb_lint",
"eslint",
"eslint_d",
"eugene",
"fennel",
"fieldalignment",
"fish",
"flake8",
"flawfinder",
"fortitude",
"fsharplint",
"gawk",
"gdlint",
"ghdl",
"gitleaks",
"gitlint",
"glslc",
"golangcilint",
"hadolint",
"hledger",
"hlint",
"htmlhint",
"inko",
"janet",
"joker",
"jq",
"jshint",
"json5",
"json_tool",
"jsonlint",
"ksh",
"ktlint",
"lacheck",
"languagetool",
"lint-openapi",
"ls_lint",
"lslint",
"luac",
"luacheck",
"mado",
"mago_analyze",
"mago_lint",
"markdownlint",
"markdownlint-cli2",
"markuplint",
"mbake",
"mh_lint",
"mlint",
"mypy",
"nagelfar",
"nix",
"npm-groovy-lint",
"oelint-adv",
"opa_check",
"oxlint",
"perlcritic",
"perlimports",
"pflake8",
"php",
"phpcs",
"phpinsights",
"phpmd",
"phpstan",
"pmd",
"pony",
"prisma-lint",
"proselint",
"protolint",
"psalm",
"puppet-lint",
"pycodestyle",
"pydocstyle",
"pylint",
"pyrefly",
"quick-lint-js",
"redocly",
"regal",
"revive",
"rflint",
"robocop",
"rpmlint",
"rpmspec",
"rstcheck",
"rstlint",
"rubocop",
"ruby",
"ruff",
"rumdl",
"saltlint",
"selene",
"shellcheck",
"slang",
"snakemake",
"snyk_iac",
"solhint",
"spectral",
"sphinx-lint",
"sqlfluff",
"sqruff",
"squawk",
"standardjs",
"standardrb",
"staticcheck",
"statix",
"stylelint",
"svlint",
"swiftlint",
"systemd-analyze",
"systemdlint",
"tclint",
"terraform_validate",
"tflint",
"tfsec",
"tidy",
"tlint",
"tofu",
"tombi",
"trivy",
"ts-standard",
"twig-cs-fixer",
"twigcs",
"typos",
"vacuum",
"vala_lint",
"vale",
"verilator",
"vint",
"vsg",
"vulture",
"woke",
"write_good",
"yamllint",
"yq",
"zig",
"zizmor",
"zlint",
"zsh"
]