项目作者: adelarsq

项目描述 :
VCS support for Neovim 🌱
高级语言: Vim script
项目地址: git://github.com/adelarsq/neovcs.vim.git
创建时间: 2020-06-19T15:21:20Z
项目社区:https://github.com/adelarsq/neovcs.vim

开源协议:

下载


neovcs.vim 🌱

VCS support for Neovim

Basic support for:

Installation 🧙

Lazy

Add the following lines on the NeoVim config file (Lua):

  1. require('lazy').setup({
  2. {
  3. 'https://github.com/adelarsq/neovcs.vim',
  4. keys = {
  5. '<leader>v',
  6. },
  7. config = function ()
  8. require('neovcs').setup()
  9. end
  10. },
  11. }, {})

Plug

Add the following lines on the Vim/NeoVim config file:

  1. Plug 'https://github.com/adelarsq/neovcs.vim'
  2. lua require('neovcs').setup()

Then open the editor and install with PlugInstall.

Dein

Add the following lines on the Vim/NeoVim config file:

  1. call dein#add('adelarsq/neovcs.vim')
  2. lua require('neovcs').setup()

Then open the editor and install with call dein#install().

Packer

  1. use 'adelarsq/neovcs.vim'
  2. require('neovcs').setup()

Configurations 🧩

Emojis on commit messages are disabled by default. Enabled with vim.g.neovcs_enable_emojis == true.

Mappings 🗺

  • <leader>v - help
  • <leader>va - add file. Parameters:
    • 1 Changelist name (just for SVN at moment)
  • <leader>vA - add all files
  • <leader>vb - blame line
  • <leader>vB - blame file
  • <leader>vc - commit. Parameters:
    • 1 Message
    • 2 Changelist name (just for SVN at moment)
  • <leader>vC - commit with amend. Parameters:
    • 1 Message
  • <leader>vd - hunk diff
  • <leader>vD - file diff. Parameters:
    • 1 Revision (just for SVN at moment)
  • <leader>vo - open URL for current line
  • <leader>vO - open URL for repository
  • <leader>vm - mark conflict as resolved for current file
  • <leader>vn - go to next hunk
  • <leader>vN - go to previous hunk
  • <leader>vl - log for current file
  • <leader>vL - log for the project
  • <leader>vr - reload changes (get/send changes from/to remote)
  • <leader>vp - get changes from remote
  • <leader>vP - send changes to remote
  • <leader>vs - status
  • <leader>vt - show branchs
  • <leader>vu - hunk undo
  • <leader>vU - undo last commit
  • <leader>vx - remove file
  • <leader>vX - revert last commit

Commands 🕹

  • VcsName() - get the VCS name. Can be used on status line plugins to show
    the VCS name for the current repository
  • VcsStatusLine() - get the repository status to use on status lines
  • VcsBranchName() - get the name for the current branch

Supported Plugins 🧩

  • rcarriga/nvim-notify
  • nvim-tree.lua. Mappings:
    • <leader>va - add file or directory under cursor
    • <leader>vx - remove file or directory under cursor
  • stevearc/oil.nvim. Mappings:
    • <leader>va - add file or directory under cursor
    • <leader>vx - remove file or directory under cursor

Features

Emoji Support for Commits

Just add a prefix based on the table:

Commit Type Title Description Emoji Release Include in changelog
feat Features A new feature minor wip
fix Bug Fixes A bug Fix 🐛 patch wip
docs Documentation Documentation only changes 📚 patch if scope is readme wip
style Styles Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc) 💎 - wip
refactor Code Refactoring A code change that neither fixes a bug nor adds a feature 📦 - wip
perf Performance Improvements A code change that improves performance 🚀 patch wip
test Tests Adding missing tests or correcting existing tests 🚨 - wip
build Builds Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm) 🛠 patch wip
ci Continuous Integrations Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs) ⚙️ - wip
chore Chores Other changes that don’t modify src or test files ♻️ - wip
revert Reverts Reverts a previous commit 🗑 - wip

Todo 🚧

  • Remove Gitsigns dependency [wip]
  • Root folder based on the current file [wip]
  • Convert all source code to Fennel/Lua
  • Telescope integration
  • Show commit for current line. Based on 1.
  • Hightlight itens on quickfix with diferent colors
  • Support all commands on:
  • On repository for modified files show the lines status, like +3-2~1M

Acknowledgments 💡

Thanks goes to these people/projects for inspiration:

Self-plug 🔌

If you liked this plugin, also check out:

  • vim-emoji-icon-theme - Emoji/Unicode Icons Theme for Vim and Neovim with support for 40+ plugins and 300+ filetypes
  • neoline.vim - Status Line for Neovim focused on beauty and performance