diff --git a/bash/rc b/bash/rc index acd9ea8..d5c01ba 100644 --- a/bash/rc +++ b/bash/rc @@ -8,6 +8,8 @@ source $DOTFILES_BASH_DIR/prompt source $DOTFILES_BASH_DIR/history source $DOTFILES_BASH_DIR/term_title source $DOTFILES_BASH_DIR/completion +source $DOTFILES_SHELL_DIR/bundler +source $DOTFILES_SHELL_DIR/go precmd() { set_prompt diff --git a/zsh/bundler b/shell/bundler similarity index 53% rename from zsh/bundler rename to shell/bundler index 253a6d9..489ed3b 100644 --- a/zsh/bundler +++ b/shell/bundler @@ -7,9 +7,11 @@ _bundler-installed() { _within-bundled-project() { local check_dir=$PWD - while [ "$(dirname $check_dir)" != "/" ]; do - [ -f "$check_dir/Gemfile" ] && return - check_dir="$(dirname $check_dir)" + local next_check_dir=${check_dir%/*} + while [ "$next_check_dir" != "" ]; do + [[ -f "$check_dir/Gemfile" ]] && return + check_dir="$next_check_dir" + next_check_dir=${check_dir%/*} done false } @@ -22,12 +24,14 @@ _run-with-bundler() { fi } -for cmd in $bundled_commands; do - eval "function bundled_$cmd () { _run-with-bundler $cmd \$@}" +for cmd in ${bundled_commands[@]}; do + eval "function bundled_$cmd () { _run-with-bundler $cmd \$@; }" alias $cmd=bundled_$cmd - if which _$cmd > /dev/null 2>&1; then - compdef _$cmd bundled_$cmd=$cmd + if [[ -n $ZSH_VERSION ]]; then + if declare -f _$cmd > /dev/null 2>&1; then + compdef _$cmd bundled_$cmd=$cmd + fi fi done diff --git a/zsh/go b/shell/go similarity index 52% rename from zsh/go rename to shell/go index adc5a34..a9cc524 100644 --- a/zsh/go +++ b/shell/go @@ -6,12 +6,14 @@ _go-installed() { _within-go-project() { local check_dir=$PWD - while [ "$(dirname $check_dir)" != "/" ]; do + local next_check_dir=${check_dir%/*} + while [ "$next_check_dir" != "" ]; do if [ -f "$check_dir/.gopath" ]; then echo "$check_dir" return fi - check_dir="$(dirname $check_dir)" + check_dir="$next_check_dir" + next_check_dir=${check_dir%/*} done false } @@ -25,11 +27,13 @@ _run-with-gopath() { fi } -for cmd in $go_commands; do - eval "function gopath_$cmd () { _run-with-gopath $cmd \$@}" +for cmd in ${go_commands[@]}; do + eval "function gopath_$cmd () { _run-with-gopath $cmd \$@; }" alias $cmd=gopath_$cmd - if which _$cmd > /dev/null 2>&1; then - compdef _$cmd gopath_$cmd=$cmd + if [[ -n $ZSH_VERSION ]]; then + if which _$cmd > /dev/null 2>&1; then + compdef _$cmd gopath_$cmd=$cmd + fi fi done diff --git a/zsh/rc b/zsh/rc index b9ddd4f..0ada628 100644 --- a/zsh/rc +++ b/zsh/rc @@ -11,8 +11,8 @@ source $DOTFILES_ZSH_DIR/keybindings source $DOTFILES_ZSH_DIR/vi source $DOTFILES_ZSH_DIR/completion source $DOTFILES_ZSH_DIR/prompt -source $DOTFILES_ZSH_DIR/bundler -source $DOTFILES_ZSH_DIR/go +source $DOTFILES_SHELL_DIR/bundler +source $DOTFILES_SHELL_DIR/go source $DOTFILES_SHELL_DIR/git_prompt_info GIT_PS1_SHOWDIRTYSTATE=1