diff --git a/bin/autojump.bash b/bin/autojump.bash index 3451f49..88f7b21 100644 --- a/bin/autojump.bash +++ b/bin/autojump.bash @@ -1,9 +1,19 @@ # set user installation paths -if [ -d ~/.autojump/ ]; then +if [[ -d ~/.autojump/ ]]; then export PATH=~/.autojump/bin:"${PATH}" fi +# set error file location +if [[ "$(uname)" == "Darwin" ]]; then + export AUTOJUMP_ERROR_PATH=~/Library/autojump/errors.log +elif [[ -n "${XDG_DATA_HOME}" ]]; then + export AUTOJUMP_ERROR_PATH="${XDG_DATA_HOME}/autojump/errors.log" +else + export AUTOJUMP_ERROR_PATH=~/.local/share/autojump/errors.log +fi + + # enable tab completion _autojump() { local cur @@ -20,7 +30,7 @@ complete -F _autojump j # change pwd hook autojump_add_to_database() { - (autojump -a "$(pwd)" &) &>/dev/null + (autojump --add "$(pwd)" >/dev/null 2>${AUTOJUMP_ERROR_PATH} &) &>/dev/null } case $PROMPT_COMMAND in @@ -40,7 +50,7 @@ j() { fi new_path="$(autojump ${@})" - if [ -d "${new_path}" ]; then + if [[ -d "${new_path}" ]]; then echo -e "\\033[31m${new_path}\\033[0m" cd "${new_path}" else @@ -69,7 +79,7 @@ jo() { fi new_path="$(autojump ${@})" - if [ -d "${new_path}" ]; then + if [[ -d "${new_path}" ]]; then case ${OSTYPE} in linux-gnu) xdg-open "${new_path}" diff --git a/bin/autojump.fish b/bin/autojump.fish index f31f1df..118e1ca 100644 --- a/bin/autojump.fish +++ b/bin/autojump.fish @@ -17,6 +17,7 @@ end # misc helper functions function __aj_err + # TODO(ting|#247): set error file location echo $argv 1>&2; false end diff --git a/bin/autojump.sh b/bin/autojump.sh index 71bafd3..1d19202 100644 --- a/bin/autojump.sh +++ b/bin/autojump.sh @@ -1,6 +1,6 @@ # source autojump on BASH or ZSH depending on the shell -shell=`echo ${SHELL} | awk -F/ '{ print $NF }'` +shell=$(echo ${SHELL} | awk -F/ '{ print $NF }') # prevent circular loop for sh shells if [ "${shell}" = "sh" ]; then diff --git a/bin/autojump.zsh b/bin/autojump.zsh index 51a03a4..a522bee 100644 --- a/bin/autojump.zsh +++ b/bin/autojump.zsh @@ -1,22 +1,29 @@ # set user installation paths -if [[ -d ${HOME}/.autojump ]]; then - path=(${HOME}/.autojump/bin ${path}) - fpath=(${HOME}/.autojump/functions/ ${fpath}) +if [[ -d ~/.autojump ]]; then + path=(~/.autojump/bin ${path}) + fpath=(~/.autojump/functions/ ${fpath}) fi # set homebrew installation paths -command -v brew &>/dev/null \ - && [[ -d "`brew --prefix`/share/zsh/site-functions" ]] \ - && fpath=(`brew --prefix`/share/zsh/site-functions ${fpath}) +if command -v brew && [[ -d "$(brew --prefix)/share/zsh/site-functions" ]]; then + fpath=("$(brew --prefix)/share/zsh/site-functions" ${fpath}) +fi -# tab completion handled by _j file +# set error file location +if [[ "$(uname)" == "Darwin" ]]; then + export AUTOJUMP_ERROR_PATH=~/Library/autojump/errors.log +elif [[ -n "${XDG_DATA_HOME}" ]]; then + export AUTOJUMP_ERROR_PATH="${XDG_DATA_HOME}/autojump/errors.log" +else + export AUTOJUMP_ERROR_PATH=~/.local/share/autojump/errors.log +fi # change pwd hook autojump_chpwd() { - (autojump -a "$(pwd)" &) &>/dev/null + autojump --add "$(pwd)" >/dev/null 2>${AUTOJUMP_ERROR_PATH} &! } typeset -gaU chpwd_functions @@ -31,7 +38,7 @@ j() { fi local new_path="$(autojump ${@})" - if [ -d "${new_path}" ]; then + if [[ -d "${new_path}" ]]; then echo -e "\\033[31m${new_path}\\033[0m" cd "${new_path}" else @@ -60,7 +67,7 @@ jo() { fi local new_path="$(autojump ${@})" - if [ -d "${new_path}" ]; then + if [[ -d "${new_path}" ]]; then case ${OSTYPE} in linux-gnu) xdg-open "${new_path}"