d5dc9f71534e95547d73feff366a4437f6d7ef31

Author
Amir Masoud Abdol <amirmasoudabdol@icloud.com>
Committer
GitHub <noreply@github.com>
Date

Message

Add sublime-merge plugin (#7228)

Diff

 1diff --git a/plugins/sublime-merge/README.md b/plugins/sublime-merge/README.md
 2new file mode 100644
 3index 0000000000000000000000000000000000000000..534479179c433d94193a12e60524378095365a67
 4--- /dev/null
 5+++ b/plugins/sublime-merge/README.md
 6@@ -0,0 +1,17 @@
 7+## sublime-merge
 8+
 9+Plugin for Sublime Merge, a cross platform text and code editor, available for Linux, Mac OS X, and Windows.
10+
11+### Requirements
12+
13+ * [Sublime Merge](https://www.sublimemerge.com)
14+
15+### Usage
16+
17+ * If `sm` command is called without an argument, launch Sublime Merge
18+
19+ * If `sm` is passed a directory, `cd` to it and open the existing git repository in Sublime Merge
20+
21+ * If `smt` command is called, it is equivalent to `sm .`, opening the existing git repository in the current folder in Sublime Merge
22+
23+ * If `ssm` command is called, it is like `sudo sm`, opening the git repository in Sublime Merge. Useful for editing system protected repositories.
24diff --git a/plugins/sublime-merge/sublime-merge.plugin.zsh b/plugins/sublime-merge/sublime-merge.plugin.zsh
25new file mode 100644
26index 0000000000000000000000000000000000000000..15452e61a2286b764abf8b76ee64c03c4a79075c
27--- /dev/null
28+++ b/plugins/sublime-merge/sublime-merge.plugin.zsh
29@@ -0,0 +1,55 @@
30+# Sublime Merge Aliases
31+
32+() {
33+
34+	if [[ "$OSTYPE" == linux* ]]; then
35+		local _sublime_linux_paths
36+		_sublime_linux_paths=(
37+			"$HOME/bin/sublime_merge"
38+			"/opt/sublime_merge/sublime_merge"
39+			"/usr/bin/sublime_merge"
40+			"/usr/local/bin/sublime_merge"
41+			"/usr/bin/sublime_merge"
42+			"/usr/local/bin/smerge"
43+			"/usr/bin/smerge"
44+			)
45+		for _sublime_merge_path in $_sublime_linux_paths; do
46+			if [[ -a $_sublime_merge_path ]]; then
47+				sm_run() { $_sublime_merge_path "$@" >/dev/null 2>&1 &| }
48+				ssm_run_sudo() {sudo $_sublime_merge_path "$@" >/dev/null 2>&1}
49+				alias ssm=ssm_run_sudo
50+				alias sm=sm_run
51+				break
52+			fi
53+		done
54+	elif  [[ "$OSTYPE" = darwin* ]]; then
55+		local _sublime_darwin_paths
56+		_sublime_darwin_paths=(
57+			"/usr/local/bin/smerge"
58+			"/Applications/Sublime Merge.app/Contents/SharedSupport/bin/smerge"
59+			"$HOME/Applications/Sublime Merge.app/Contents/SharedSupport/bin/smerge"
60+			)
61+		for _sublime_merge_path in $_sublime_darwin_paths; do
62+			if [[ -a $_sublime_merge_path ]]; then
63+				subm () { "$_sublime_merge_path" "$@" }
64+				alias sm=subm
65+				break
66+			fi
67+		done
68+	elif [[ "$OSTYPE" = 'cygwin' ]]; then
69+		local sublime_merge_cygwin_paths
70+		sublime_merge_cygwin_paths=(
71+			"$(cygpath $ProgramW6432/Sublime\ Merge)/sublime_merge.exe"
72+			)
73+		for _sublime_merge_path in $_sublime_merge_cygwin_paths; do
74+			if [[ -a $_sublime_merge_path ]]; then
75+				subm () { "$_sublime_merge_path" "$@" }
76+				alias sm=subm
77+				break
78+			fi
79+		done
80+	fi
81+
82+}
83+
84+alias smt='sm .'