Skip to content

Latest commit

 

History

History
67 lines (51 loc) · 2.48 KB

README.md

File metadata and controls

67 lines (51 loc) · 2.48 KB

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

  • name: owner/repo (GitHub)
  • shorthand: The name of the plugin (will be the lua rock name)
  • dependencies: Plugin dependencies, a list of luarocks plugins
  • summary: Short description of the plugin
  • license: The license SPDX
  • extra_directories: (optional) Extra directories to copy, separated by \n, in addition to the standard Neovim runtime directories, which are auto-detected.

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.