Contributions are more than welcome!
Please ensure your pull request title conforms to Conventional Commits.
CI checks are run using nix
.
We use the following tools:
.editorconfig
(witheditorconfig-checker
)stylua
[Lua]alejandra
[Nix]
luacheck
[Lua]markdownlint
[Markdown]
- Requires flakes to be enabled.
This project provides a flake.nix
that can
bootstrap all of the above development tools.
To enter a development shell:
nix develop
To apply formatting, while in a devShell, run
pre-commit run --all
If you use direnv
,
just run direnv allow
and you will be dropped in this devShell.
I use busted
for testing,
but with Neovim as the Lua interpreter.
The easiest way to run tests is with Nix (see below).
If you do not use Nix, you can also run the test suite using luarocks test
.
For more information on how to set up Neovim as a Lua interpreter, see
- The neorocks tutorial.
Or
nlua
.
Note
The Nix devShell sets up luarocks test
and busted
to use Neovim as the interpreter.
If you just want to run all checks that are available, run:
nix flake check -L --option sandbox false
To run tests locally, using Nix:
nix build .#checks.<your-system>.integration-nightly -L --option sandbox false
For example:
nix build .#checks.x86_64-linux.integration-nightly -L --option sandbox false
For formatting and linting:
nix build .#checks.<your-system>.pre-commit-check -L
For static type checking:
nix build .#checks.<your-system>.type-check-nightly -L