build: replace luacheck with selene

Problem: luacheck is unmaintained (last release 2018) and required
suppressing four warning classes to avoid false positives. It also
lacks first-class vim/neovim awareness.

Solution: switch to selene with std='vim' for vim-aware linting.
Replace the luacheck CI job with selene, update the Makefile lint
target, and delete .luacheckrc.
This commit is contained in:
Barrett Ruth 2026-02-21 23:25:42 -05:00
parent 0f8b084e4a
commit 364b787578
No known key found for this signature in database
GPG key ID: A6C96C9349D2FC81
4 changed files with 7 additions and 32 deletions

View file

@ -10,21 +10,14 @@ on:
- main
jobs:
luacheck:
name: Luacheck
selene:
name: Selene
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Prepare
run: |
sudo apt-get update
sudo add-apt-repository universe
sudo apt install luarocks -y
sudo luarocks install luacheck
- name: Run Luacheck
run: luacheck lua tests
- uses: NTBBloodbath/selene-action@v1.0.0
with:
args: --display-style quiet .
stylua:
name: StyLua

View file

@ -1,19 +0,0 @@
max_comment_line_length = false
codes = true
exclude_files = {
"tests/treesitter",
}
ignore = {
"212", -- Unused argument
"631", -- Line is too long
"122", -- Setting a readonly global
"542", -- Empty if branch
}
read_globals = {
"vim",
"a",
"assert",
}

View file

@ -17,7 +17,7 @@ test:
.PHONY: lint
lint: scripts/nvim-typecheck-action
./scripts/nvim-typecheck-action/typecheck.sh --workdir scripts/nvim-typecheck-action lua
luacheck lua tests --formatter plain
selene --display-style quiet .
stylua --check lua tests
## profile: use LuaJIT profiler to profile the plugin

1
selene.toml Normal file
View file

@ -0,0 +1 @@
std = 'vim'