Neovim plugin template; includes automatic documentation generation from README, integration tests with Busted, and linting with Stylua
- Click
use this template
button 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-template
to yourplugin-name
. Then it will prompt you inputy
orn
to remove example codes ininit.lua
andtest/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.py
will 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.