nvim-lua/wishlist

Git/VCS library

Open

#6 opened on 2020年8月17日

GitHub で見る
 (22 comments) (39 reactions) (0 assignees) (0 forks)github user discovery
help wantedidea

Repository metrics

Stars
 (249 stars)
PR merge metrics
 (PR metrics pending)

説明

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.

コントリビューターガイド