From 74bb404a6de047ca4730a951d1578265737c3d4d Mon Sep 17 00:00:00 2001 From: Daniel Fichtinger Date: Sat, 24 May 2025 17:45:39 -0400 Subject: [PATCH] AutoYADM commit: 2025-05-24 17:45:39 --- .config/kak/autoload/git-mode.kak | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/.config/kak/autoload/git-mode.kak b/.config/kak/autoload/git-mode.kak index 887031e6..96abf5ff 100644 --- a/.config/kak/autoload/git-mode.kak +++ b/.config/kak/autoload/git-mode.kak @@ -16,3 +16,33 @@ define-command git-blame %{ } } map -docstring "blame" global git b ": git-blame" +map -docstring "show diff" global git d ": git show-diff" +map -docstring "hide diff" global git D ": git hide-diff" + +provide-module git-diff %~ + +define-command -hidden git-show-diff %{ + evaluate-commands %sh{ + if [ $kak_buffile != $kak_bufname ] && git ls-files --error-unmatch "$kak_buffile" > /dev/null 2>&1; then + echo "git show-diff" + fi + } +} +hook global WinCreate .* %{ + evaluate-commands %sh{ + if [ $kak_buffile != $kak_bufname ] && git ls-files --error-unmatch "$kak_buffile" > /dev/null 2>&1; then + echo "hook window BufWritePost .* git-show-diff" + echo "hook window BufReload .* git-show-diff" + fi + } +} + +hook global WinCreate .* %{ + evaluate-commands %sh{ + if [ $kak_buffile != $kak_bufname ] && git ls-files --error-unmatch "$kak_buffile" > /dev/null 2>&1; then + echo "git show-diff" + fi + } +} + +~