Skip to content

Commit

Permalink
vim: gitsigns on_attach
Browse files Browse the repository at this point in the history
  • Loading branch information
alex-courtis committed Dec 3, 2022
1 parent 8fe1dd5 commit 30e30bb
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 18 deletions.
21 changes: 3 additions & 18 deletions config/nvim/keys.vim
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,6 @@ nn yfw yw
nm <silent> <Esc> <Esc>:nohlsearch<CR>
im <silent> <Esc> <Esc>:nohlsearch<CR>
om <silent> gh :<C-U>Gitsigns select_hunk<CR>
xm <silent> gh :<C-U>Gitsigns select_hunk<CR>
for s:leader in [ "\<Space>", "\<BS>", ]
let mapleader=s:leader

Expand All @@ -38,11 +35,11 @@ nm <silent> <Leader>q :q<CR>:call amc#win#goHome()<CR>
nm <silent> <Leader>. :lua vim.diagnostic.goto_next({wrap = false})<CR>
nm <silent> <Leader>e :if amc#qf#setGrepPattern() <Bar> set hlsearch <Bar> endif <Bar> cnext<CR>
nm <silent> <Leader>j :Gitsigns next_hunk<CR>
" j gitsigns.next_hunk

nm <silent> <Leader>p :lua vim.diagnostic.goto_prev({wrap = false})<CR>
nm <silent> <Leader>u :if amc#qf#setGrepPattern() <Bar> set hlsearch <Bar> endif <Bar> cprev<CR>
nm <silent> <Leader>k :Gitsigns prev_hunk<CR>
" k gitsigns.prev_hunk

nm <silent> <Leader>y :call amc#win#goHome() <Bar> TagbarOpen fj<CR>
nm <silent> <Leader>Y :TagbarClose<CR>
Expand All @@ -67,20 +64,8 @@ nm <silent> <Leader>B <Plug>BufKillBangBw
nm <Leader>g :ag "<C-r>=expand('<cword>')<CR>"
nm <Leader>G :ag "<C-r>=expand('<cWORD>')<CR>"
vm <Leader>g "*y<Esc>:<C-u>ag "<C-r>=getreg("*")<CR>"
nm <silent> <Leader>hs :Gitsigns stage_hunk<CR>
vm <silent> <Leader>hs :Gitsigns stage_hunk<CR>
nm <silent> <Leader>hx :Gitsigns reset_hunk<CR>
vm <silent> <Leader>hx :Gitsigns reset_hunk<CR>
nm <silent> <Leader>hS :Gitsigns stage_buffer<CR>
nm <silent> <Leader>hu :Gitsigns undo_stage_hunk<CR>
nm <silent> <Leader>hX :Gitsigns reset_buffer<CR>
nm <silent> <Leader>hp :Gitsigns preview_hunk<CR>
nm <silent> <Leader>hb :G blame<CR>
nm <silent> <Leader>hB :lua require"gitsigns".blame_line{full=true}<CR>
nm <silent> <Leader>hl :Gitsigns toggle_current_line_blame<CR>
nm <silent> <Leader>hd :Gitsigns diffthis<CR>
nm <silent> <Leader>hD :lua require"gitsigns".diffthis("~")<CR>
nm <silent> <Leader>ht :Gitsigns toggle_deleted<CR>
" h* gitsigns
nm <silent> <Leader>ma :make all <Bar> call amc#qf#openJump()<CR>
nm <silent> <Leader>mc :make clean <Bar> call amc#qf#openJump()<CR>
nm <silent> <Leader>mm :make <Bar> call amc#qf#openJump()<CR>
Expand Down
30 changes: 30 additions & 0 deletions config/nvim/lua/amc/gitsigns.lua
Original file line number Diff line number Diff line change
@@ -1,10 +1,40 @@
local M = {}

local gitsigns = require("gitsigns")

local on_attach = function(bufnr)
local opts = { buffer = bufnr, noremap = true, silent = true, nowait = true }

local function desc(d)
return vim.tbl_extend("keep", opts, { desc = d })
end

for _, leader in ipairs({ "<space>", "<bs>" }) do
vim.keymap.set("n", leader .. "j", gitsigns.next_hunk, desc("Next Hunk"))
vim.keymap.set("n", leader .. "k", gitsigns.prev_hunk, desc("Prev Hunk"))
vim.keymap.set("n", leader .. "hs", gitsigns.stage_hunk, desc("Stage Hunk"))
vim.keymap.set("v", leader .. "hs", gitsigns.stage_hunk, desc("Stage Hunk"))
vim.keymap.set("n", leader .. "hx", gitsigns.reset_hunk, desc("Reset Hunk"))
vim.keymap.set("v", leader .. "hx", gitsigns.reset_hunk, desc("Reset Hunk"))
vim.keymap.set("n", leader .. "hS", gitsigns.stage_buffer, desc("Stage Buffer"))
vim.keymap.set("n", leader .. "hX", gitsigns.undo_stage_hunk, desc("Undo Stage Hunk"))
vim.keymap.set("n", leader .. "hX", gitsigns.reset_buffer, desc("Reset Buffer"))
vim.keymap.set("n", leader .. "hp", gitsigns.preview_hunk, desc("Preview Hunk"))
vim.keymap.set("n", leader .. "hB", gitsigns.blame_line, desc("Blame Line"))
vim.keymap.set("n", leader .. "hl", gitsigns.toggle_current_line_blame, desc("Toggle Blame Line"))
vim.keymap.set("n", leader .. "hd", gitsigns.diffthis, desc("Diff This"))
vim.keymap.set("n", leader .. "ht", gitsigns.toggle_deleted, desc("Toggle Deleted"))
vim.keymap.set("n", leader .. "he", gitsigns.select_hunk, desc("Select Hunk"))
vim.keymap.set("v", leader .. "he", gitsigns.select_hunk, desc("Select Hunk"))
end
end

function M.setup()
require("gitsigns").setup({
current_line_blame_opts = {
delay = 100,
},
on_attach = on_attach,
})
end

Expand Down

0 comments on commit 30e30bb

Please sign in to comment.