nvim-neorocks / nurr

A repository for hosting auto-generated Neovim plugins and tree-sitter parsers for Luarocks.
MIT License
28 stars 3 forks source link
luarocks neovim plugin-repo

Neovim User Rock Repository (NURR)

The NURR hosts and automatically packages Neovim Luarocks releases for many plugins and tree-sitter parsers whose developers do not want to maintain a Luarocks CI workflow.

This repository contains a CI which runs periodically, enumerating a set of curated Neovim plugins and publishing them to luarocks.org.

How it works

Plugins are published using the luarocks-tag-release action.

Plugins

The plugin metadata are stored in a plugins.json file, which is currently updated manually. A chunk workflow reads the plugins.json file and chunks the plugins into sets of 256 (the max number of outputs per job). Each chunk is dispatched to an update workflow, which uses the chunk it receives as the input for a matrix build.

[!NOTE]

Neovim plugins are published every 4 hours.

[!IMPORTANT]

When adding a plugin that claims it depends on nvim-treesitter, check if it actually does. Many plugins only depend on the parsers. If it does, we recommend:

  • Adding nvim-treesitter-legacy-api to the dependencies (this does not clash with the luarocks tree-sitter parsers' queries).
  • Opening a PR or an issue to use Neovim's core API instead.

Schema

Tree-sitter parsers [WIP]

[!NOTE]

Tree-sitter parsers are published every 7 hours.

[!IMPORTANT]

Any tree-sitter parser rockspecs that cannot be built and installed by the workflow

are not uploaded to luarocks.org.