30 lines
		
	
	
	
		
			804 B
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
	
		
			804 B
		
	
	
	
		
			Lua
		
	
	
	
	
	
local gitsigns = require "gitsigns"
 | 
						|
 | 
						|
gitsigns.setup {
 | 
						|
  linehl = false,
 | 
						|
  numhl = true,
 | 
						|
}
 | 
						|
 | 
						|
local set = vim.keymap.set
 | 
						|
 | 
						|
set("n", "[h", "<cmd>Gitsigns prev_hunk<CR>")
 | 
						|
set("n", "]h", "<cmd>Gitsigns next_hunk<CR>")
 | 
						|
 | 
						|
set("n", "<leader>hR", gitsigns.reset_buffer)
 | 
						|
set("n", "<leader>hS", gitsigns.stage_buffer)
 | 
						|
set("n", "<leader>hb", gitsigns.blame_line)
 | 
						|
set("n", "<leader>hp", gitsigns.preview_hunk)
 | 
						|
set("n", "<leader>hr", gitsigns.reset_hunk)
 | 
						|
set("n", "<leader>hs", gitsigns.stage_hunk)
 | 
						|
set("n", "<leader>hu", gitsigns.undo_stage_hunk)
 | 
						|
 | 
						|
set("v", "<leader>hr", function()
 | 
						|
  gitsigns.reset_hunk { vim.fn.line ".", vim.fn.line "v" }
 | 
						|
end)
 | 
						|
 | 
						|
set("v", "<leader>hs", function()
 | 
						|
  gitsigns.stage_hunk { vim.fn.line ".", vim.fn.line "v" }
 | 
						|
end)
 | 
						|
 | 
						|
-- Text object.
 | 
						|
set({ "o", "x" }, "ih", ":<C-U>Gitsigns select_hunk<CR>")
 |