_autojump() { local cur cur=${COMP_WORDS[*]:1} comps=$(autojump --bash --complete $cur) while read i do COMPREPLY=("${COMPREPLY[@]}" "${i}") done <>/dev/null #migration mv ~/.autojump_py.bak "${AUTOJUMP_DATA_DIR}/autojump_py.bak" 2>>/dev/null mv ~/.autojump_errors "${AUTOJUMP_DATA_DIR}/autojump_errors" 2>>/dev/null fi # set paths if necessary for local installations if [ -d ~/.autojump/ ]; then export PATH=~/.autojump/bin:"${PATH}" fi export AUTOJUMP_HOME=${HOME} if [ "${AUTOJUMP_KEEP_SYMLINKS}" == "1" ] then _PWD_ARGS="" else _PWD_ARGS="-P" fi AUTOJUMP='{ [[ "$AUTOJUMP_HOME" == "$HOME" ]] && (autojump -a "$(pwd ${_PWD_ARGS})"&)>/dev/null 2>>"${AUTOJUMP_DATA_DIR}/.autojump_errors";} 2>/dev/null' case $PROMPT_COMMAND in *autojump*) ;; *) export PROMPT_COMMAND="$AUTOJUMP ; ${PROMPT_COMMAND:-:}";; esac function j { if [[ ${@} =~ ^-{1,2}.* ]]; then autojump ${@} return fi new_path="$(autojump $@)" if [ -d "${new_path}" ]; then echo -e "\\033[31m${new_path}\\033[0m" cd "${new_path}" else echo "autojump: directory '${@}' not found" echo "Try \`autojump --help\` for more information." false fi }