/plugin-template.nvim

A template to create Neovim plugins written in Lua

Primary LanguageLua

plugin-template.nvim

Integration

A template to create Neovim plugins written in Lua.

Using

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.

Testing

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

Github actions

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.