Add a workflow that generates a rockspec for Neovim plugins and publishes tags to luarocks.org when a tag or release is pushed.
I've added nvim-web-devicons and gitsigns.nvim as dependencies.
If they aren't installed explicitly by the user (e.g. with :Rocks install gitsigns.nvim), rocks.nvim won't add them to the runtimepath (so they won't impact startup time), but their lua API will be available on the package.path for this plugin to use.
For the luarocks workflow to work, someone with a luarocks.org account will have to add their API key to this repo's GitHub actions secrets.
As you use GitHub releases to create tags (with the release-please action), you may need to add a PA token for the workflow to be triggered automatically.
Tagged releases are installed locally and then published to luarocks.org.
Hey :wave:
Summary
This PR is part of a push to get neovim plugins on luarocks.org.
See also:
With luarocks/rocks.nvim, it is the plugin authors' responsibility to declare dependencies - not the user's. Installing this plugin, including its dependencies, becomes as simple as
:Rocks install feline.nvim
.Things done:
:Rocks install gitsigns.nvim
), rocks.nvim won't add them to the runtimepath (so they won't impact startup time), but their lua API will be available on thepackage.path
for this plugin to use.gitsigns.nvim has the same workflow, but hasn't been published to luarocks yet (https://github.com/lewis6991/gitsigns.nvim/pull/964#issuecomment-2061185572). So I would wait with merging this PR until that has been done.
Notes:
neovim
and/orvim
labels have to be added to the luarocks package manually (after the first upload), for this plugin to show up in https://luarocks.org/labels/neovim or https://luarocks.org/labels/vim, respectively.