summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobby Russell <robby@planetargon.com>2015-09-19 09:39:13 -0700
committerRobby Russell <robby@planetargon.com>2015-09-19 09:39:13 -0700
commitcbc1a0806e910f7b4eed07b992d3d88ff7cb1162 (patch)
treee6e02f0c607608b655ab1287c115e82284dee180
parent25f2d590481fc6c23b0f20c6757b20d7d1eeb3e1 (diff)
parentdca429557aef7b700ae2f1088115a707af78a31b (diff)
downloadzsh-cbc1a0806e910f7b4eed07b992d3d88ff7cb1162.tar.gz
zsh-cbc1a0806e910f7b4eed07b992d3d88ff7cb1162.tar.bz2
zsh-cbc1a0806e910f7b4eed07b992d3d88ff7cb1162.zip
Merge pull request #4342 from robobenklein/patch-1
Fix Atom Plugin for Linux Users
-rw-r--r--plugins/atom/README.md12
-rw-r--r--plugins/atom/atom.plugin.zsh32
2 files changed, 29 insertions, 15 deletions
diff --git a/plugins/atom/README.md b/plugins/atom/README.md
index 75d77a0ac..6350c647b 100644
--- a/plugins/atom/README.md
+++ b/plugins/atom/README.md
@@ -1,6 +1,8 @@
## atom
-Plugin for Atom, a cross platform text and code editor, available for Linux, Mac OS X, and Windows.
+This plugin makes "at" a useful function for invoking the Atom Editor.
+
+Originally by Github user [aforty](https://github.com/aforty) for OSX, modified to alias 'at' to 'atom' for Linux, since atom already works on the terminal for Linux, and calling 'at' in a non-OSX environment should still work.
### Requirements
@@ -10,8 +12,12 @@ Plugin for Atom, a cross platform text and code editor, available for Linux, Mac
* If `at` command is called without an argument, launch Atom
- * If `at` is passed a directory, `cd` to it and open it in Atom
+ * If `at` is passed a directory, open it in Atom
* If `at` is passed a file, open it in Atom
- * if `att` command is called, it is equivalent to `at .`, opening the current folder in Atom
+### Examples
+
+ * Open the current dir in atom: `at .`
+ * Open another dir in atom: `at path/to/folder`
+ * Open a file: `at filename.extension`
diff --git a/plugins/atom/atom.plugin.zsh b/plugins/atom/atom.plugin.zsh
index 9adb9031a..ec1a114ed 100644
--- a/plugins/atom/atom.plugin.zsh
+++ b/plugins/atom/atom.plugin.zsh
@@ -1,14 +1,22 @@
-local _atom_paths > /dev/null 2>&1
-_atom_paths=(
- "$HOME/Applications/Atom.app"
- "/Applications/Atom.app"
-)
+# Gets OS Type
+unamestr=$(uname -s)
-for _atom_path in $_atom_paths; do
- if [[ -a $_atom_path ]]; then
- alias at="open -a '$_atom_path'"
- break
- fi
-done
+# If OSX
+if [[ "$unamestr" == 'Darwin' ]]; then
+ local _atom_paths > /dev/null 2>&1
+ _atom_paths=(
+ "$HOME/Applications/Atom.app"
+ "/Applications/Atom.app"
+ )
-alias att='at .'
+ for _atom_path in $_atom_paths; do
+ if [[ -a $_atom_path ]]; then
+ alias at="open -a '$_atom_path'"
+ break
+ fi
+ done
+# If Linux
+elif [[ "$unamestr" == 'Linux' ]]; then
+ # Alerts the user if 'atom' is not a found command.
+ type atom >/dev/null 2>&1 && alias at="atom" || { echo >&2 "You have enabled the atom oh-my-zsh plugin on Linux, but atom is not a recognized command. Please make sure you have it installed before using this plugin."; }
+fi