Neovim plugin template; includes automatic documentation generation from README, integration tests with Busted, and linting with Stylua
- Click
use this templatebutton generate a repo on your github. - Clone your plugin repo. Open terminal then cd plugin directory.
- Run
python3 rename.py your-plugin-name. This will replace allnvim-plugin-templateto yourplugin-name. Then it will prompt you inputyornto remove example codes ininit.luaandtest/plugin_spec.lua. If you are familiar this repo just inputy. If you are looking at this template for the first time I suggest you inspect the contents. After this steprename.pywill also auto-remove.
Now you have a clean plugin environment. Enjoy!
The CI uses stylua to format the code; customize the formatting by editing .stylua.toml.
Uses busted for testing. Installs by using luarocks --lua-version=5.1 install vusted then runs vusted ./test
for your test cases. vusted is a wrapper of Busted especially for testing Neovim plugins.
Create test cases in the test folder. Busted expects files in this directory to be named foo_spec.lua, with _spec as a suffix before the .lua file extension. For more usage details please check
busted usage
- Auto generates doc from README.
- Runs the Busted/vusted integration tests
- Lints with
stylua.
To see this template in action, take a look at my other plugins.