diff options
author | Peter Han <han.peter.621@gmail.com> | 2016-08-14 18:00:19 -0700 |
---|---|---|
committer | Robby Russell <robby@planetargon.com> | 2016-08-14 18:00:19 -0700 |
commit | 073ea01ccec5dc70bb2e998372d69d893509f2d0 (patch) | |
tree | 550884a84471da16e90e4f613071e04c4bdb1a42 /plugins/sublime/sublime.plugin.zsh | |
parent | 95371afdd8e94bc9130b6b323a8eecb63a3c71e6 (diff) | |
download | zsh-073ea01ccec5dc70bb2e998372d69d893509f2d0.tar.gz zsh-073ea01ccec5dc70bb2e998372d69d893509f2d0.tar.bz2 zsh-073ea01ccec5dc70bb2e998372d69d893509f2d0.zip |
Create an alias to open up sublime project (#5258)
* Adding an alias to open up the sublime project
* README update for stp command
Diffstat (limited to 'plugins/sublime/sublime.plugin.zsh')
-rw-r--r-- | plugins/sublime/sublime.plugin.zsh | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/plugins/sublime/sublime.plugin.zsh b/plugins/sublime/sublime.plugin.zsh index a5d63cde6..75a39eab1 100644 --- a/plugins/sublime/sublime.plugin.zsh +++ b/plugins/sublime/sublime.plugin.zsh @@ -56,3 +56,32 @@ elif [[ "$OSTYPE" = 'cygwin' ]]; then fi alias stt='st .' + +find_project() +{ + local PROJECT_ROOT="${PWD}" + local FINAL_DEST="." + + while [[ $PROJECT_ROOT != "/" && ! -d "$PROJECT_ROOT/.git" ]]; do + PROJECT_ROOT=$(dirname $PROJECT_ROOT) + done + + if [[ $PROJECT_ROOT != "/" ]]; then + local PROJECT_NAME="${PROJECT_ROOT##*/}" + + local SUBL_DIR=$PROJECT_ROOT + while [[ $SUBL_DIR != "/" && ! -f "$SUBL_DIR/$PROJECT_NAME.sublime-project" ]]; do + SUBL_DIR=$(dirname $SUBL_DIR) + done + + if [[ $SUBL_DIR != "/" ]]; then + FINAL_DEST="$SUBL_DIR/$PROJECT_NAME.sublime-project" + else + FINAL_DEST=$PROJECT_ROOT + fi + fi + + st $FINAL_DEST +} + +alias stp=find_project |