diff --git a/.config/zsh/zshrc.d/40-functions.zsh b/.config/zsh/zshrc.d/40-functions.zsh index 8f55489..9083ccd 100644 --- a/.config/zsh/zshrc.d/40-functions.zsh +++ b/.config/zsh/zshrc.d/40-functions.zsh @@ -646,6 +646,12 @@ diffcmds() { return 1 fi + # Append arguments at the back if no `%%` was passed + if [[ ! "${@:1:$((i-1))}" =~ '%%' ]]; then + set -- "${@:1:$((i-1))}" "%%" "${@:$i}" + let i++ + fi + local cmdline="vimdiff" for arg in "${@:$((i+1))}"; do cmdline+=" =(${${@:1:$((i-1))}//\%\%/$arg})"