nvim-lua/wishlist

Git/VCS library

Open

#6 aperta il 17 ago 2020

Vedi su GitHub
 (22 commenti) (39 reazioni) (0 assegnatari) (0 fork)github user discovery
help wantedidea

Metriche repository

Star
 (249 star)
Metriche merge PR
 (Metriche PR in attesa)

Descrizione

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.

Guida contributor