Thanks for your interest in contributing!
- Fork the repo and clone your fork
- Create a feature branch:
git checkout -b my-feature - Make your changes
make testOr manually:
nvim --headless --noplugin -u tests/minimal_init.lua \
-c "PlenaryBustedDirectory tests/executioner/ { minimal_init = 'tests/minimal_init.lua' }"Tests use plenary.nvim's busted runner. Dependencies are cloned automatically to /tmp/executioner-deps/ on first run.
make lintThis runs StyLua against lua/ and tests/. The project uses the config in .stylua.toml.
- Ensure all tests pass (
make test) - Ensure stylua passes (
make lint) - Add tests for new functionality
- Update
doc/executioner.txtif adding user-facing features - Open a PR against
main
- Follow existing patterns in the codebase
- One module = one responsibility
- Keep modules small and focused
- Use
vim.notifyviautils.notify/warn/errfor user-facing messages
Open an issue with:
- Neovim version (
:version) - Plugin version or commit hash
- Minimal config to reproduce
- Steps to reproduce
- Expected vs actual behavior