diff_cmd () { "$merge_tool_path" -R -f -d \ -c 'wincmd l' -c 'cd $GIT_PREFIX' "$LOCAL" "$REMOTE" } merge_cmd () { case "$1" in *vimdiff) if $base_present then "$merge_tool_path" -f -d -c '4wincmd w | wincmd J' \ "$LOCAL" "$BASE" "$REMOTE" "$MERGED" else "$merge_tool_path" -f -d -c 'wincmd l' \ "$LOCAL" "$MERGED" "$REMOTE" fi ;; *vimdiff2) "$merge_tool_path" -f -d -c 'wincmd l' \ "$LOCAL" "$MERGED" "$REMOTE" ;; *vimdiff3) if $base_present then "$merge_tool_path" -f -d -c 'hid | hid | hid' \ "$LOCAL" "$REMOTE" "$BASE" "$MERGED" else "$merge_tool_path" -f -d -c 'hid | hid' \ "$LOCAL" "$REMOTE" "$MERGED" fi ;; esac } translate_merge_tool_path() { case "$1" in nvimdiff*) echo nvim ;; gvimdiff*) echo gvim ;; vimdiff*) echo vim ;; esac } exit_code_trustable () { true } list_tool_variants () { for prefix in '' g n; do for suffix in '' 2 3; do echo "${prefix}vimdiff${suffix}" done done }