nvim-lua/wishlist

Git/VCS library

Open

#6 geöffnet am 17. Aug. 2020

Auf GitHub ansehen
 (22 Kommentare) (39 Reaktionen) (0 zugewiesene Personen) (0 Forks)github user discovery
help wantedidea

Repository-Metriken

Stars
 (249 Stars)
PR-Merge-Metriken
 (PR-Metriken ausstehend)

Beschreibung

What? A Lua library for working with git/other VCS information in Neovim. Kind of an equivalent to https://github.com/tpope/vim-fugitive or https://github.com/mhinz/vim-signify

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 fugitive and signify can be used as references for some of the tricker bits of working with git.

Potential pitfalls: fugitive and the like are complex plugins to replicate.

Contributor Guide