@@ -0,0 +1,107 @@
--[[
⠀ ⠀ ⠀ ⠀ ⠀ ⠀ ⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣴⣾⣷⣦⣄⡀
⠀ ⠀ ⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣴⣾⣿⣿⣿⣿⣿⣿⣿⣿⣷⣦⣄⡀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣴⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣦⣄⡀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠚⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠗⢀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣄⡉⠓⠦⣌⡙⠻⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠟⢋⣡⠴⠚⢉⣠⣤⣀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣤⣶⣿⣿⣿⣿⣿⣷⣦⣄⡉⠓⠦⣌⡙⠻⢿⣿⣿⣿⣿⣿⣿⡿⠟⢋⣡⠴⠚⢉⣠⣴⣾⣿⣿⣿⣿⣿⣶⣤
⠀⠀⠀⠀⠀⠀⠀⠀⠐⣦⣄⡉⠛⠿⣿⣿⣿⣿⣿⣿⣿⣷⣦⣄⡉⠓⠦⣌⡙⠻⠟⢋⣡⠴⠚⢉⣠⣴⣾⣿⣿⣿⣿⣿⣿⣿⠿⠛⢉⣠⣴⠂
⠀⠀⠀⠀⢀⣠⣴⣆⡈⠻⢿⣿⣷⣦⣄⡉⠛⠿⣿⣿⣿⣿⣿⣿⣿⣷⣦⣄⡉⠃⠘⢉⣠⣴⣾⣿⣿⣿⣿⣿⣿⣿⠿⠛⢉⣠⣴⣾⣿⡿⠟⢁⣰⣦⣄⡀
⠀⠀⠐⠾⣿⣿⣿⣿⣿⣷⣦⣌⡙⠻⢿⣿⣷⣦⣄⡉⠛⠿⣿⣿⣿⣿⣿⣿⣿⣷⣾⣿⣿⣿⣿⣿⣿⣿⠿⠛⢉⣠⣴⣾⣿⡿⠟⢋⣡⣴⣾⣿⣿⣿⣿⣿⠷⠂
⠀⢸⣷⣦⣄⡉⠛⠿⣿⣿⣿⣿⣿⣷⣦⣌⡙⠻⢿⣿⣷⣦⣄⡉⠛⠿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠛⢉⣠⣴⣾⣿⡿⠟⢋⣡⣴⣾⣿⣿⣿⣿⣿⠿⠛⢉⣠⣴⣾⡇
⠀⢸⣿⣿⣿⣿⣷⣦⣄⡉⠛⠿⣿⣿⣿⣿⣿⣷⣦⣌⡙⠻⢿⣿⣷⣦⣄⡉⠛⠿⠿⠛⢉⣠⣴⣾⣿⡿⠟⢋⣡⣴⣾⣿⣿⣿⣿⣿⠿⠛⢉⣠⣴⣾⣿⣿⣿⣿⡇
⠀⠀⠉⠛⠿⣿⣿⣿⣿⣿⣷⣦⣄⡉⠛⠿⣿⣿⣿⣿⣿⣷⣦⣌⡙⠻⢿⣿⣷⡆⢰⣾⣿⡿⠟⢋⣡⣴⣾⣿⣿⣿⣿⣿⠿⠛⢉⣠⣴⣾⣿⣿⣿⣿⣿⠿⠛⠉
⠀⠀⠀⠀⠀⠀⠉⠛⠿⣿⣿⣿⣿⣿⣷⣦⣄⡉⠛⠿⣿⣿⣿⣿⣿⣷⣦⣌⡙⠃⠘⢋⣡⣴⣾⣿⣿⣿⣿⣿⠿⠛⢉⣠⣴⣾⣿⣿⣿⣿⣿⠿⠛⠉
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠿⣿⣿⣿⣿⣿⣷⣦⣄⡉⠛⠿⣿⣿⣿⣿⣿⣷⣾⣿⣿⣿⣿⣿⠿⠛⢉⣠⣴⣾⣿⣿⣿⣿⣿⠿⠛⠉
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠿⣿⣿⣿⣿⣿⣷⣦⣄⡉⠛⠿⣿⣿⣿⣿⠿⠛⢉⣠⣴⣾⣿⣿⣿⣿⣿⠿⠛⠉
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠿⣿⣿⣿⣿⣿⣷⣦⣄⡉⢉⣠⣴⣾⣿⣿⣿⣿⣿⠿⠛⠉
⠀ ⠀ ⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠿⣿⣿⣿⣿⡇⢸⣿⣿⣿⣿⠿⠛⠉
⠀ ⠀ ⠀ ⠀ ⠀ ⠀ ⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠿⡇⢸⠿⠛⠉
__ _ _
/ _|___ ___| |_ __ _ ___| | __
| ||_ /____/ __| __/ _` |/ __| |/ /
| _/ /_____\__ \ || (_| | (__| <
|_|/___| |___/\__\__,_|\___|_|\_\
Neovim 0.12 configuration
(c) Frank Zechert 2026
]]
return {
{
" lewis6991/gitsigns.nvim " ,
opts = {
signs = vim.g . ui.symbols . git.signs ,
signs_staged = vim.g . ui.symbols . git.signs_staged ,
signs_staged_enable = true ,
signcolumn = true ,
numhl = false ,
linehl = false ,
word_diff = false ,
attach_to_untracked = true ,
current_line_blame = false ,
current_line_blame_opts = {
virt_text = true ,
virt_text_pos = ' eol ' ,
delay = 1000 ,
ignore_whitespace = false ,
virt_text_priority = 100 ,
use_focus = true ,
} ,
current_line_blame_formatter = ' <author>, <author_time:%R> - <summary> ' ,
blame_formatter = nil ,
sign_priority = 6 ,
on_attach = function ( bufnr )
local gitsigns = require ( " gitsigns " )
vim.keymap . set ( " n " , " ]c " , function ( )
if vim.wo . diff then
vim.cmd . normal ( { " ]c " , bang = true } )
else
gitsigns.nav_hunk ( " next " )
end
end , { buffer = bufnr , desc = " Jump to Next Hunk " } )
vim.keymap . set ( " n " , " [c " , function ( )
if vim.wo . diff then
vim.cmd . normal ( { " [c " , bang = true } )
else
gitsigns.nav_hunk ( " prev " )
end
end , { buffer = bufnr , desc = " Jump to Previous Hunk " } )
vim.keymap . set ( " n " , " <leader>hs " , gitsigns.stage_hunk , { buffer = bufnr , desc = " Stage Hunk " } )
vim.keymap . set ( " n " , " <leader>hr " , gitsigns.reset_hunk , { buffer = bufnr , desc = " Reset Hunk " } )
vim.keymap . set ( " v " , " <leader>hs " , function ( )
gitsigns.stage_hunk ( { vim . fn.line ( " . " ) , vim.fn . line ( " v " ) } )
end , { buffer = bufnr , desc = " Stage Hunk " } )
vim.keymap . set ( " v " , " <leader>hr " , function ( )
gitsigns.stage_reset ( { vim . fn.line ( " . " ) , vim.fn . line ( " v " ) } )
end , { buffer = bufnr , desc = " Reset Hunk " } )
vim.keymap . set ( " n " , " <leader>hS " , gitsigns.stage_buffer , { buffer = bufnr , desc = " Stage Buffer " } )
vim.keymap . set ( " n " , " <leader>hR " , gitsigns.stage_buffer , { buffer = bufnr , desc = " Reset Buffer " } )
vim.keymap . set ( " n " , " <leader>hp " , gitsigns.preview_hunk , { buffer = bufnr , desc = " Preview Hunk " } )
vim.keymap . set ( " n " , " <leader>hi " , gitsigns.preview_hunk_inline , { buffer = bufnr , desc = " Preview Hunk Inline " } )
vim.keymap . set ( " n " , " <leader>hb " , function ( )
gitsigns.blame_line ( { full = true } )
end , { buffer = bufnr , desc = " Blame Line " } )
vim.keymap . set ( " n " , " <leader>htb " , gitsigns.toggle_current_line_blame , { buffer = bufnr , desc = " Toggle Blame Line " } )
vim.keymap . set ( " n " , " <leader>hB " , function ( )
require ( " gitsigns " ) . blame ( )
end , { buffer = bufnr , desc = " Blame Split Window " } )
vim.keymap . set ( " n " , " <leader>hd " , gitsigns.diffthis , { buffer = bufnr , desc = " Diff This Against INDEX " } )
vim.keymap . set ( " n " , " <leader>hD " , function ( )
gitsigns.diffthis ( " ~ " )
end , { buffer = bufnr , desc = " Diff This Against HEAD " } )
vim.keymap . set ( " n " , " <leader>hq " , gitsigns.setqflist , { buffer = bufnr , desc = " Buffer Git Hunks QFList " } )
vim.keymap . set ( " n " , " <leader>hQ " , function ( )
gitsigns.setqflist ( " all " )
end , { buffer = bufnr , desc = " Project Git Hunks QFList " } )
vim.keymap . set ( " n " , " <leader>htw " , gitsigns.toggle_word_diff , { buffer = bufnr , desc = " Toggle Word Diff " } )
vim.keymap . set ( { " o " , " x " } , " ih " , gitsigns.select_hunk , { desc = " Select Hunk " } )
end
}
}
}