diff --git a/.busted b/.busted index adb4daa0..61d98b0a 100644 --- a/.busted +++ b/.busted @@ -1,5 +1,13 @@ return { _all = { - lpath = 'lua/?.lua' + coverage = false, + lpath = "lua/?.lua;lua/?/init.lua", + lua = "~/.luarocks/bin/nlua", + }, + default = { + verbose = true + }, + tests = { + verbose = true }, } diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index b6961a7a..11958b30 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -12,14 +12,10 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - neovim_version: ['nightly', 'v0.6.1'] + neovim_version: ['nightly', 'v0.9.5'] steps: - - uses: actions/checkout@v2 - - name: Prepare plenary - run: | - git clone --depth 1 https://github.com/nvim-lua/plenary.nvim ~/.local/share/nvim/site/pack/vendor/start/plenary.nvim - ln -s "$(pwd)" ~/.local/share/nvim/site/pack/vendor/start + - uses: actions/checkout@v4 - name: Setup neovim uses: rhysd/action-setup-vim@v1 @@ -27,6 +23,16 @@ jobs: neovim: true version: ${{ matrix.neovim_version }} + - name: Install Lua + uses: leso-kn/gh-actions-lua@master + with: + luaVersion: "5.1" + + - name: Install Luarocks + uses: hishamhm/gh-actions-luarocks@master + with: + luarocksVersion: "3.11.0" + - name: Run tests run: | - nvim --headless --noplugin -u tests/minimal.vim -c "PlenaryBustedDirectory tests/ {minimal_init = 'tests/minimal.vim'}" + luarocks test --local diff --git a/README.md b/README.md index d73c6471..73a4a239 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # nvim-lint -An asynchronous linter plugin for Neovim (>= 0.6.0) complementary to the +An asynchronous linter plugin for Neovim (>= 0.9.5) complementary to the built-in Language Server Protocol support. ## Motivation & Goals @@ -18,7 +18,7 @@ results. ## Installation -- Requires Neovim >= 0.6.0 +- Requires Neovim >= 0.9.5 - `nvim-lint` is a regular plugin and can be installed via the `:h packages` mechanism or via a plugin manager. @@ -50,7 +50,7 @@ Then setup a autocmd to trigger linting. For example: au BufWritePost * lua require('lint').try_lint() ``` -or with Lua autocmds (requires 0.7): +or with Lua autocmds: ```lua vim.api.nvim_create_autocmd({ "BufWritePost" }, { @@ -579,4 +579,4 @@ busted tests/ [awk]: https://www.gnu.org/software/gawk/ [yq]: https://mikefarah.gitbook.io/yq [svlint]: https://github.com/dalance/svlint -[slang]: https://github.com/MikePopoloski/slang \ No newline at end of file +[slang]: https://github.com/MikePopoloski/slang diff --git a/nvim-lint-scm-1.rockspec b/nvim-lint-scm-1.rockspec new file mode 100644 index 00000000..391e45a2 --- /dev/null +++ b/nvim-lint-scm-1.rockspec @@ -0,0 +1,33 @@ +local _MODREV, _SPECREV = 'scm', '-1' +rockspec_format = "3.0" +package = 'nvim-lint' +version = _MODREV .. _SPECREV +description = { + summary = 'An asynchronous linter plugin for Neovim ', + detailed = [[ + nvim-lint runs linters, parses their output, and reports the results via the + vim.diagnostic module. + ]], + labels = { + 'neovim', + 'plugin', + 'linter', + }, + homepage = 'https://github.com/mfussenegger/nvim-lint', + license = 'GPL-3.0', +} +dependencies = { + 'lua >= 5.1, <= 5.4', +} +test_dependencies = { + "nlua", +} +source = { + url = 'git://github.com/mfussenegger/nvim-lint', +} +build = { + type = 'builtin', + copy_directories = { + 'doc', + }, +} diff --git a/tests/ameba_spec.lua b/spec/ameba_spec.lua similarity index 100% rename from tests/ameba_spec.lua rename to spec/ameba_spec.lua diff --git a/tests/ansible_lint_spec.lua b/spec/ansible_lint_spec.lua similarity index 100% rename from tests/ansible_lint_spec.lua rename to spec/ansible_lint_spec.lua diff --git a/spec/both.py b/spec/both.py new file mode 100755 index 00000000..0a43fd25 --- /dev/null +++ b/spec/both.py @@ -0,0 +1,6 @@ +#!/usr/bin/env python + +import sys + +sys.stdout.write('spec/both.py:10: foo\n') +sys.stderr.write('spec/both.py:20: bar\n') diff --git a/tests/checkpatch_spec.lua b/spec/checkpatch_spec.lua similarity index 100% rename from tests/checkpatch_spec.lua rename to spec/checkpatch_spec.lua diff --git a/tests/checkstyle_spec.lua b/spec/checkstyle_spec.lua similarity index 100% rename from tests/checkstyle_spec.lua rename to spec/checkstyle_spec.lua diff --git a/tests/codespell_spec.lua b/spec/codespell_spec.lua similarity index 100% rename from tests/codespell_spec.lua rename to spec/codespell_spec.lua diff --git a/tests/commitlint_spec.lua b/spec/commitlint_spec.lua similarity index 100% rename from tests/commitlint_spec.lua rename to spec/commitlint_spec.lua diff --git a/tests/compiler_spec.lua b/spec/compiler_spec.lua similarity index 91% rename from tests/compiler_spec.lua rename to spec/compiler_spec.lua index 8ad4c874..1261d91f 100644 --- a/tests/compiler_spec.lua +++ b/spec/compiler_spec.lua @@ -9,10 +9,10 @@ describe('compiler', function() it('reads errors from both stdout and stderr', function() local a = vim.api local bufnr = a.nvim_create_buf(true, true) - a.nvim_buf_set_name(bufnr, "tests/both.py") + a.nvim_buf_set_name(bufnr, "spec/both.py") a.nvim_set_current_buf(bufnr) a.nvim_buf_set_option(bufnr, 'errorformat', '%f:%l: %m') - a.nvim_buf_set_option(bufnr, 'makeprg', 'python tests/both.py') + a.nvim_buf_set_option(bufnr, 'makeprg', 'python spec/both.py') local handles = get_num_handles() require('lint').try_lint('compiler') diff --git a/tests/cppcheck_spec.lua b/spec/cppcheck_spec.lua similarity index 100% rename from tests/cppcheck_spec.lua rename to spec/cppcheck_spec.lua diff --git a/tests/credo_spec.lua b/spec/credo_spec.lua similarity index 100% rename from tests/credo_spec.lua rename to spec/credo_spec.lua diff --git a/tests/cspell_spec.lua b/spec/cspell_spec.lua similarity index 100% rename from tests/cspell_spec.lua rename to spec/cspell_spec.lua diff --git a/tests/deadnix_spec.lua b/spec/deadnix_spec.lua similarity index 100% rename from tests/deadnix_spec.lua rename to spec/deadnix_spec.lua diff --git a/tests/eslint_d_spec.lua b/spec/eslint_d_spec.lua similarity index 100% rename from tests/eslint_d_spec.lua rename to spec/eslint_d_spec.lua diff --git a/tests/hledger_spec.lua b/spec/hledger_spec.lua similarity index 100% rename from tests/hledger_spec.lua rename to spec/hledger_spec.lua diff --git a/tests/hlint_spec.lua b/spec/hlint_spec.lua similarity index 100% rename from tests/hlint_spec.lua rename to spec/hlint_spec.lua diff --git a/tests/jsonlint_spec.lua b/spec/jsonlint_spec.lua similarity index 100% rename from tests/jsonlint_spec.lua rename to spec/jsonlint_spec.lua diff --git a/tests/lint_spec.lua b/spec/lint_spec.lua similarity index 100% rename from tests/lint_spec.lua rename to spec/lint_spec.lua diff --git a/tests/loop.py b/spec/loop.py similarity index 100% rename from tests/loop.py rename to spec/loop.py diff --git a/tests/markdownlint_spec.lua b/spec/markdownlint_spec.lua similarity index 100% rename from tests/markdownlint_spec.lua rename to spec/markdownlint_spec.lua diff --git a/tests/markuplint_spec.lua b/spec/markuplint_spec.lua similarity index 100% rename from tests/markuplint_spec.lua rename to spec/markuplint_spec.lua diff --git a/tests/minimal.vim b/spec/minimal.vim similarity index 100% rename from tests/minimal.vim rename to spec/minimal.vim diff --git a/tests/mlint_spec.lua b/spec/mlint_spec.lua similarity index 100% rename from tests/mlint_spec.lua rename to spec/mlint_spec.lua diff --git a/tests/mypy_spec.lua b/spec/mypy_spec.lua similarity index 100% rename from tests/mypy_spec.lua rename to spec/mypy_spec.lua diff --git a/tests/oelint-adv_spec.lua b/spec/oelint-adv_spec.lua similarity index 100% rename from tests/oelint-adv_spec.lua rename to spec/oelint-adv_spec.lua diff --git a/tests/parser_spec.lua b/spec/parser_spec.lua similarity index 100% rename from tests/parser_spec.lua rename to spec/parser_spec.lua diff --git a/tests/php_spec.lua b/spec/php_spec.lua similarity index 100% rename from tests/php_spec.lua rename to spec/php_spec.lua diff --git a/tests/phpcs_spec.lua b/spec/phpcs_spec.lua similarity index 100% rename from tests/phpcs_spec.lua rename to spec/phpcs_spec.lua diff --git a/tests/phpmd_spec.lua b/spec/phpmd_spec.lua similarity index 100% rename from tests/phpmd_spec.lua rename to spec/phpmd_spec.lua diff --git a/tests/phpstan_spec.lua b/spec/phpstan_spec.lua similarity index 100% rename from tests/phpstan_spec.lua rename to spec/phpstan_spec.lua diff --git a/tests/prisma-lint_spec.lua b/spec/prisma-lint_spec.lua similarity index 100% rename from tests/prisma-lint_spec.lua rename to spec/prisma-lint_spec.lua diff --git a/tests/pycodestyle_lint_spec.lua b/spec/pycodestyle_lint_spec.lua similarity index 100% rename from tests/pycodestyle_lint_spec.lua rename to spec/pycodestyle_lint_spec.lua diff --git a/tests/pydocstyle_spec.lua b/spec/pydocstyle_spec.lua similarity index 100% rename from tests/pydocstyle_spec.lua rename to spec/pydocstyle_spec.lua diff --git a/tests/pylint_spec.lua b/spec/pylint_spec.lua similarity index 100% rename from tests/pylint_spec.lua rename to spec/pylint_spec.lua diff --git a/tests/rpmspec_spec.lua b/spec/rpmspec_spec.lua similarity index 100% rename from tests/rpmspec_spec.lua rename to spec/rpmspec_spec.lua diff --git a/tests/rubocop_spec.lua b/spec/rubocop_spec.lua similarity index 100% rename from tests/rubocop_spec.lua rename to spec/rubocop_spec.lua diff --git a/tests/ruby_spec.lua b/spec/ruby_spec.lua similarity index 100% rename from tests/ruby_spec.lua rename to spec/ruby_spec.lua diff --git a/tests/saltlint_spec.lua b/spec/saltlint_spec.lua similarity index 100% rename from tests/saltlint_spec.lua rename to spec/saltlint_spec.lua diff --git a/tests/snakemake_spec.lua b/spec/snakemake_spec.lua similarity index 100% rename from tests/snakemake_spec.lua rename to spec/snakemake_spec.lua diff --git a/tests/snyk_iac_spec.lua b/spec/snyk_iac_spec.lua similarity index 100% rename from tests/snyk_iac_spec.lua rename to spec/snyk_iac_spec.lua diff --git a/tests/sqlfluff_spec.lua b/spec/sqlfluff_spec.lua similarity index 100% rename from tests/sqlfluff_spec.lua rename to spec/sqlfluff_spec.lua diff --git a/tests/staticcheck_spec.lua b/spec/staticcheck_spec.lua similarity index 100% rename from tests/staticcheck_spec.lua rename to spec/staticcheck_spec.lua diff --git a/tests/swiftlint_spec.lua b/spec/swiftlint_spec.lua similarity index 100% rename from tests/swiftlint_spec.lua rename to spec/swiftlint_spec.lua diff --git a/tests/systemdlint_spec.lua b/spec/systemdlint_spec.lua similarity index 100% rename from tests/systemdlint_spec.lua rename to spec/systemdlint_spec.lua diff --git a/tests/tflint_spec.lua b/spec/tflint_spec.lua similarity index 100% rename from tests/tflint_spec.lua rename to spec/tflint_spec.lua diff --git a/tests/tfsec_spec.lua b/spec/tfsec_spec.lua similarity index 100% rename from tests/tfsec_spec.lua rename to spec/tfsec_spec.lua diff --git a/tests/trivy_spec.lua b/spec/trivy_spec.lua similarity index 100% rename from tests/trivy_spec.lua rename to spec/trivy_spec.lua diff --git a/tests/twigcs_spec.lua b/spec/twigcs_spec.lua similarity index 100% rename from tests/twigcs_spec.lua rename to spec/twigcs_spec.lua diff --git a/tests/util_spec.lua b/spec/util_spec.lua similarity index 100% rename from tests/util_spec.lua rename to spec/util_spec.lua diff --git a/tests/vale_spec.lua b/spec/vale_spec.lua similarity index 100% rename from tests/vale_spec.lua rename to spec/vale_spec.lua diff --git a/tests/verilator_spec.lua b/spec/verilator_spec.lua similarity index 100% rename from tests/verilator_spec.lua rename to spec/verilator_spec.lua diff --git a/tests/both.py b/tests/both.py deleted file mode 100755 index 5272f8af..00000000 --- a/tests/both.py +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env python - -import sys - -sys.stdout.write('tests/both.py:10: foo\n') -sys.stderr.write('tests/both.py:20: bar\n')