A public catalogue of Lua plugins Neovim users would like to see exist
If you have an idea for a Lua plugin, or know of an existing plugin implementing one of the ideas listed here, please make a PR (adding to this README) or an issue!
If you also want one of the plugins listed here to exist, please consider starting an implementation! You can add a link to your work-in-progress to the relevant idea's section.
Table of Contents
Why? The existing VCS solutions for Vim/Neovim are written in Vimscript and are fairly complicated and expensive to load. Additionally, interfacing with VCS is a common problem for some classes of plugin - plugin managers, statuslines, etc. A Lua library, using
vim.loop to asynchronously run VCS software and handling things like branch detection, change counting while editing, cloning, displaying changes, making commits, and pushing/pulling (among other functionality) would reduce effort duplication and increase performance.
Potential existing implementations: Some rudimentary branch detection/change tracking functionality is implemented in https://github.com/wbthomason/dotfiles/blob/linux/neovim/.config/nvim/lua/git.lua. Vimscript plugins like
signify can be used as references for some of the tricker bits of working with
fugitive and the like are complex plugins to replicate.
Enhanced standard library
What? A Lua library collecting useful utilities and functions for writing Lua in/for Neovim.
vim module already provides a decent standard library for this purpose, but there's still a lot of functionality that gets commonly reimplemented by plugin authors - things like functional programming combinators (
fold, etc.), utilities for working with paths, wrappers around
vim.loop.spawn for working with jobs, etc. To encourage code reuse, it would be useful to have a "standard library++" including these tools.
Potential existing implementations: https://github.com/nvim-lua/plenary.nvim is already working toward this!
Potential pitfalls: What should be included/excluded to keep the library useful without bloat?