From d5dc9f71534e95547d73feff366a4437f6d7ef31 Mon Sep 17 00:00:00 2001
From: Amir Masoud Abdol <amirmasoudabdol@icloud.com>
Date: Sat, 3 Oct 2020 11:47:18 +0200
Subject: [PATCH] Add sublime-merge plugin (#7228)

---
 plugins/sublime-merge/README.md               | 17 ++++++
 .../sublime-merge/sublime-merge.plugin.zsh    | 55 +++++++++++++++++++
 2 files changed, 72 insertions(+)
 create mode 100644 plugins/sublime-merge/README.md
 create mode 100644 plugins/sublime-merge/sublime-merge.plugin.zsh

diff --git a/plugins/sublime-merge/README.md b/plugins/sublime-merge/README.md
new file mode 100644
index 000000000..534479179
--- /dev/null
+++ b/plugins/sublime-merge/README.md
@@ -0,0 +1,17 @@
+## sublime-merge
+
+Plugin for Sublime Merge, a cross platform text and code editor, available for Linux, Mac OS X, and Windows.
+
+### Requirements
+
+ * [Sublime Merge](https://www.sublimemerge.com)
+
+### Usage
+
+ * If `sm` command is called without an argument, launch Sublime Merge
+
+ * If `sm` is passed a directory, `cd` to it and open the existing git repository in Sublime Merge
+
+ * If `smt` command is called, it is equivalent to `sm .`, opening the existing git repository in the current folder in Sublime Merge
+
+ * If `ssm` command is called, it is like `sudo sm`, opening the git repository in Sublime Merge. Useful for editing system protected repositories.
\ No newline at end of file
diff --git a/plugins/sublime-merge/sublime-merge.plugin.zsh b/plugins/sublime-merge/sublime-merge.plugin.zsh
new file mode 100644
index 000000000..15452e61a
--- /dev/null
+++ b/plugins/sublime-merge/sublime-merge.plugin.zsh
@@ -0,0 +1,55 @@
+# Sublime Merge Aliases
+
+() {
+
+	if [[ "$OSTYPE" == linux* ]]; then
+		local _sublime_linux_paths
+		_sublime_linux_paths=(
+			"$HOME/bin/sublime_merge"
+			"/opt/sublime_merge/sublime_merge"
+			"/usr/bin/sublime_merge"
+			"/usr/local/bin/sublime_merge"
+			"/usr/bin/sublime_merge"
+			"/usr/local/bin/smerge"
+			"/usr/bin/smerge"
+			)
+		for _sublime_merge_path in $_sublime_linux_paths; do
+			if [[ -a $_sublime_merge_path ]]; then
+				sm_run() { $_sublime_merge_path "$@" >/dev/null 2>&1 &| }
+				ssm_run_sudo() {sudo $_sublime_merge_path "$@" >/dev/null 2>&1}
+				alias ssm=ssm_run_sudo
+				alias sm=sm_run
+				break
+			fi
+		done
+	elif  [[ "$OSTYPE" = darwin* ]]; then
+		local _sublime_darwin_paths
+		_sublime_darwin_paths=(
+			"/usr/local/bin/smerge"
+			"/Applications/Sublime Merge.app/Contents/SharedSupport/bin/smerge"
+			"$HOME/Applications/Sublime Merge.app/Contents/SharedSupport/bin/smerge"
+			)
+		for _sublime_merge_path in $_sublime_darwin_paths; do
+			if [[ -a $_sublime_merge_path ]]; then
+				subm () { "$_sublime_merge_path" "$@" }
+				alias sm=subm
+				break
+			fi
+		done
+	elif [[ "$OSTYPE" = 'cygwin' ]]; then
+		local sublime_merge_cygwin_paths
+		sublime_merge_cygwin_paths=(
+			"$(cygpath $ProgramW6432/Sublime\ Merge)/sublime_merge.exe"
+			)
+		for _sublime_merge_path in $_sublime_merge_cygwin_paths; do
+			if [[ -a $_sublime_merge_path ]]; then
+				subm () { "$_sublime_merge_path" "$@" }
+				alias sm=subm
+				break
+			fi
+		done
+	fi
+
+}
+
+alias smt='sm .'
-- 
2.21.0