A template to create Neovim plugins written in Lua.
Clone/download it locally and change the references to my_awesome_plugin
,
my_cool_module
accordingly to your new plugin name. Don't forget to edit the
help file accordingly.
You'll need to install Lua and LuaRocks to run the linter.
This uses busted, luassert (both through
plenary.nvim) and matcher_combinators to
define tests in test/spec/
directory. These dependencies are required only to
run tests, that's why they are installed as git submodules.
Make sure your shell is in the ./test
directory or, if it is in the root directory,
replace make
by make -C ./test
in the commands below.
To init the dependencies run
$ make prepare
To run all tests just execute
$ make test
If you have entr(1) installed you may use it to run all tests whenever a file is changed using:
$ make watch
In both commands you myght specify a single spec to test/watch using:
$ make test SPEC=spec/my_awesome_plugin/my_cool_module_spec.lua
$ make watch SPEC=spec/my_awesome_plugin/my_cool_module_spec.lua
An Action will run all the tests and the linter on every commit on the main branch and also on Pull Request. Tests will be run using stable and nightly versions of Neovim.