# Gitクライアント
# Gina logの機能だけgin.vimに移行できてないのでまだ入れてる
[[plugins]]
repo = 'lambdalisue/gina.vim'
on_cmd = 'Gina'
hook_add = '''
  nmap <space>ah <Cmd>Gina log --graph --all --max-count=100<CR>
  nmap <expr> <space>aH $'<Cmd>Gina log --graph --max-count=100 {nvim_buf_get_name(nvim_get_current_buf())}<CR>'
'''

# denops製のGitクライアント
# 良いところを上手く説明できない Chaperonは競合解決するときに便利
[[plugins]]
repo = 'lambdalisue/gin.vim'
depends = 'denops.vim'
on_cmd = [
  'GinStatus',
  'GinBranch',
  'GinPreview',
  'Gin',
]
hook_add = '''
  nmap <space>aa <Cmd>GinStatus<CR>
  nmap <space>ac <Cmd>Gin commit -v<CR>
  nmap <space>aC <Cmd>Gin commit -v --amend<CR>
  nmap <space>ab <Cmd>GinBranch<CR>
  call extend(g:AlterCommands, [
        \   #{ char: 'gs', input: 'GinStatus' },
        \   #{ char: 'gp', input: 'Gin<space>push' },
        \   #{ char: 'gc', input: 'Gin<space>commit' },
        \ ])
'''
hooks_file = '$DEIN_CONFIG_DIR/gin.vim'
[plugins.ftplugin]
gin-branch = '''
  nmap <buffer> N <Plug>(gin-action-new)
'''
gin-diff = '''
  setl nobuflisted
'''

# 現在編集しているバッファーについて、git関連の操作や表示を提供する。
# 動作が軽快で、Visualで選択した範囲をstageしたりできるのでかなり便利
[[plugins]]
repo = 'lewis6991/gitsigns.nvim'
on_event = ['BufReadPost', 'BufNewFile']
hook_add = '''
  set signcolumn=yes
'''
hooks_file = '$DEIN_CONFIG_DIR/gitsigns.nvim.lua'