diff options
Diffstat (limited to 'plugins/atom')
-rw-r--r-- | plugins/atom/README.md | 12 | ||||
-rw-r--r-- | plugins/atom/atom.plugin.zsh | 45 |
2 files changed, 43 insertions, 14 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..2711cf0e8 100644 --- a/plugins/atom/atom.plugin.zsh +++ b/plugins/atom/atom.plugin.zsh @@ -1,14 +1,37 @@ -local _atom_paths > /dev/null 2>&1 -_atom_paths=( - "$HOME/Applications/Atom.app" - "/Applications/Atom.app" -) +case $OSTYPE in +darwin*) + local _atom_paths > /dev/null 2>&1 + _atom_paths=( + "$HOME/Applications/Atom.app" + "/Applications/Atom.app" + ) + + for _atom_path in $_atom_paths; do + if [[ -a $_atom_path ]]; then + alias at="open -a '$_atom_path'" + break + fi + done + ;; +cygwin) + local _atom_path > /dev/null 2>&1 + + _atom_path=${LOCALAPPDATA}/atom/bin/atom -for _atom_path in $_atom_paths; do if [[ -a $_atom_path ]]; then - alias at="open -a '$_atom_path'" - break - fi -done + cyg_open_atom() + { + if [[ -n $1 ]]; then + ${_atom_path} `cygpath -w -a $1` + else + ${_atom_path} + fi + } -alias att='at .' + alias at=cyg_open_atom + fi + ;; +linux*) + # 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."; } +esac |