Thank you for your interest in improving boundary.nvim! This document explains how to set up a local development environment and run the test suite.
- Neovim 0.9 or later with Lua support.
- A POSIX-compatible shell (
bash,zsh, etc.). - Git.
- Stylua for formatting Lua files.
- Clone the repository:
git clone https://github.com/Kenzo-Wada/boundary.nvim.git cd boundary.nvim - Ensure
nvimis on yourPATHand matches the minimum version. - (Optional) Add this plugin directory to your Neovim
runtimepathfor manual testing::set rtp^=/path/to/boundary.nvim
The project includes a lightweight Lua-based test harness that executes via Neovim. Use make to trigger it:
make testOverride the Neovim binary if you have multiple versions installed:
NVIM=/path/to/nvim-nightly make testIf any tests fail, the command will exit with a non-zero status and print the failing assertions.
Run Stylua to keep the Lua sources consistent:
make fmtThe Makefile target ensures stylua is available and formats files under lua/ and tests/ according to stylua.toml.
Every pull request runs two GitHub Actions workflows:
- Format Check installs Stylua and executes
make fmt, failing if formatting changes are required. - Test Suite installs Neovim and executes
make test, failing if any assertions break.
Use these commands locally before pushing so your branch matches the automated checks.
- Create a new branch for your change.
- Add or update tests to describe the behaviour you want to modify.
- Implement the change, use
make fmtto format your patches, call:BoundaryRefreshinside a sample project to confirm the markers look correct, and ensure the headless tests pass. - Submit a pull request describing the change and test coverage.
We value TDD and appreciate contributions that include thorough tests. Happy hacking!