adelarsq / neovcs.vim

VCS support for Neovim 🌱

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

neovcs.vim 🌱

VCS support for Neovim

Basic support for:

Installation πŸ§™

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

require('lazy').setup({
  {
    'https://github.com/adelarsq/neovcs.vim',
    keys = {
        '<leader>v',
    },
    config = function ()
        require('neovcs').setup()
    end
  },
}, {})

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

Plug 'https://github.com/adelarsq/neovcs.vim'

lua require('neovcs').setup()

Then open the editor and install with PlugInstall.

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

call dein#add('adelarsq/neovcs.vim')

lua require('neovcs').setup()

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

use 'adelarsq/neovcs.vim'

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

About

VCS support for Neovim 🌱

License:MIT License


Languages

Language:Fennel 55.3%Language:Lua 44.4%Language:Batchfile 0.2%