summaryrefslogtreecommitdiffstats
path: root/mergetools/vimdiff
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-27 09:49:36 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-27 09:49:36 +0000
commit5ec6074f0633939fd17d94111d10c6c6b062978c (patch)
treebfaa17b5a64abc66c918e9c70969e519d9e1df8e /mergetools/vimdiff
parentInitial commit. (diff)
downloadgit-upstream/1%2.30.2.tar.xz
git-upstream/1%2.30.2.zip
Adding upstream version 1:2.30.2.upstream/1%2.30.2upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'mergetools/vimdiff')
-rw-r--r--mergetools/vimdiff59
1 files changed, 59 insertions, 0 deletions
diff --git a/mergetools/vimdiff b/mergetools/vimdiff
new file mode 100644
index 0000000..abc8ce4
--- /dev/null
+++ b/mergetools/vimdiff
@@ -0,0 +1,59 @@
+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
+}