mirror of https://github.com/wting/autojump
Merge 0883bf60aa
into ff75f542ae
commit
2bee71df0b
@ -1,17 +1,15 @@
|
||||
language: python
|
||||
|
||||
python: 2.7
|
||||
|
||||
env:
|
||||
- TOX_ENV=py26
|
||||
- TOX_ENV=py27
|
||||
- TOX_ENV=py32
|
||||
- TOX_ENV=py33
|
||||
- TOX_ENV=py34
|
||||
- TOX_ENV=flake8
|
||||
|
||||
python:
|
||||
- 2.7
|
||||
- 3.3
|
||||
- 3.4
|
||||
- 3.5
|
||||
- 3.6
|
||||
|
||||
install:
|
||||
- pip install tox
|
||||
- pip install mock coverage ipdb ipython pytest pre-commit autopep8 flake8
|
||||
|
||||
script:
|
||||
- tox -e $TOX_ENV
|
||||
- coverage run --source=bin/ --omit=bin/autojump_argparse.py -m py.test -vv -rxs --tb native -s --strict
|
||||
- coverage report -m
|
||||
|
@ -1,130 +1,140 @@
|
||||
export AUTOJUMP_SOURCED=1
|
||||
if [[ -z $AUTOJUMP_SOURCED ]]; then
|
||||
export AUTOJUMP_SOURCED=1
|
||||
|
||||
# set user installation paths
|
||||
if [[ -d ~/.autojump/ ]]; then
|
||||
export PATH=~/.autojump/bin:"${PATH}"
|
||||
fi
|
||||
# Script include
|
||||
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
|
||||
# set user installation paths
|
||||
export PATH="${SCRIPT_DIR}:${PATH}"
|
||||
|
||||
|
||||
# set error file location
|
||||
if [[ "$(uname)" == "Darwin" ]]; then
|
||||
# set error file location
|
||||
if [[ "$(uname)" == "Darwin" ]]; then
|
||||
export AUTOJUMP_ERROR_PATH=~/Library/autojump/errors.log
|
||||
elif [[ -n "${XDG_DATA_HOME}" ]]; then
|
||||
elif [[ -n "${XDG_DATA_HOME}" ]]; then
|
||||
export AUTOJUMP_ERROR_PATH="${XDG_DATA_HOME}/autojump/errors.log"
|
||||
else
|
||||
else
|
||||
export AUTOJUMP_ERROR_PATH=~/.local/share/autojump/errors.log
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ ! -d "$(dirname ${AUTOJUMP_ERROR_PATH})" ]]; then
|
||||
if [[ ! -d "$(dirname ${AUTOJUMP_ERROR_PATH})" ]]; then
|
||||
mkdir -p "$(dirname ${AUTOJUMP_ERROR_PATH})"
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
# enable tab completion
|
||||
_autojump() {
|
||||
local cur
|
||||
cur=${COMP_WORDS[*]:1}
|
||||
comps=$(autojump --complete $cur)
|
||||
while read i; do
|
||||
COMPREPLY=("${COMPREPLY[@]}" "${i}")
|
||||
done <<EOF
|
||||
$comps
|
||||
EOF
|
||||
}
|
||||
complete -F _autojump j
|
||||
# enable tab completion
|
||||
_autojump() {
|
||||
local cur
|
||||
cur=${COMP_WORDS[*]:1}
|
||||
comps=$(autojump --complete $cur)
|
||||
echo "$comps" | while read i; do
|
||||
COMPREPLY=("${COMPREPLY[@]}" "${i}")
|
||||
done
|
||||
}
|
||||
complete -F _autojump j
|
||||
|
||||
|
||||
# change pwd hook
|
||||
autojump_add_to_database() {
|
||||
# change pwd hook
|
||||
autojump_add_to_database() {
|
||||
if [[ -f "${AUTOJUMP_ERROR_PATH}" ]]; then
|
||||
(autojump --add "$(pwd)" >/dev/null 2>>${AUTOJUMP_ERROR_PATH} &) &>/dev/null
|
||||
(autojump --add "$(pwd)" >/dev/null 2>>${AUTOJUMP_ERROR_PATH} &) &>/dev/null
|
||||
else
|
||||
(autojump --add "$(pwd)" >/dev/null &) &>/dev/null
|
||||
(autojump --add "$(pwd)" >/dev/null &) &>/dev/null
|
||||
fi
|
||||
}
|
||||
}
|
||||
|
||||
case $PROMPT_COMMAND in
|
||||
case $PROMPT_COMMAND in
|
||||
*autojump*)
|
||||
;;
|
||||
;;
|
||||
*)
|
||||
PROMPT_COMMAND="${PROMPT_COMMAND:+$(echo "${PROMPT_COMMAND}" | awk '{gsub(/; *$/,"")}1') ; }autojump_add_to_database"
|
||||
;;
|
||||
esac
|
||||
PROMPT_COMMAND="${PROMPT_COMMAND:+$(echo "${PROMPT_COMMAND}" | awk '{gsub(/; *$/,"")}1') ; }autojump_add_to_database"
|
||||
;;
|
||||
esac
|
||||
|
||||
|
||||
# default autojump command
|
||||
j() {
|
||||
# default autojump command
|
||||
j() {
|
||||
if [[ ${1} == -* ]] && [[ ${1} != "--" ]]; then
|
||||
autojump ${@}
|
||||
return
|
||||
autojump ${@}
|
||||
return
|
||||
fi
|
||||
|
||||
output="$(autojump ${@})"
|
||||
if [[ -d "${output}" ]]; then
|
||||
if [ -t 1 ]; then # if stdout is a terminal, use colors
|
||||
echo -e "\\033[31m${output}\\033[0m"
|
||||
else
|
||||
echo -e "${output}"
|
||||
fi
|
||||
cd "${output}"
|
||||
if [ -t 1 ]; then # if stdout is a terminal, use colors
|
||||
echo -e "\\033[31m${output}\\033[0m"
|
||||
else
|
||||
echo -e "${output}"
|
||||
fi
|
||||
cd "${output}"
|
||||
else
|
||||
echo "autojump: directory '${@}' not found"
|
||||
echo "\n${output}\n"
|
||||
echo "Try \`autojump --help\` for more information."
|
||||
false
|
||||
echo "autojump: directory '${@}' not found"
|
||||
echo "\n${output}\n"
|
||||
echo "Try \`autojump --help\` for more information."
|
||||
false
|
||||
fi
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# jump to child directory (subdirectory of current path)
|
||||
jc() {
|
||||
# jump to child directory (subdirectory of current path)
|
||||
jc() {
|
||||
if [[ ${1} == -* ]] && [[ ${1} != "--" ]]; then
|
||||
autojump ${@}
|
||||
return
|
||||
autojump ${@}
|
||||
return
|
||||
else
|
||||
j $(pwd) ${@}
|
||||
j $(pwd) ${@}
|
||||
fi
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# open autojump results in file browser
|
||||
jo() {
|
||||
# open autojump results in file browser
|
||||
jo() {
|
||||
if [[ ${1} == -* ]] && [[ ${1} != "--" ]]; then
|
||||
autojump ${@}
|
||||
return
|
||||
autojump ${@}
|
||||
return
|
||||
fi
|
||||
|
||||
output="$(autojump ${@})"
|
||||
if [[ -d "${output}" ]]; then
|
||||
case ${OSTYPE} in
|
||||
linux*)
|
||||
xdg-open "${output}"
|
||||
;;
|
||||
darwin*)
|
||||
open "${output}"
|
||||
;;
|
||||
cygwin)
|
||||
cygstart "" $(cygpath -w -a ${output})
|
||||
;;
|
||||
*)
|
||||
echo "Unknown operating system: ${OSTYPE}." 1>&2
|
||||
;;
|
||||
esac
|
||||
case ${OSTYPE} in
|
||||
linux*)
|
||||
xdg-open "${output}"
|
||||
;;
|
||||
darwin*)
|
||||
open "${output}"
|
||||
;;
|
||||
cygwin)
|
||||
cygstart "" $(cygpath -w -a ${output})
|
||||
;;
|
||||
*)
|
||||
echo "Unknown operating system: ${OSTYPE}." 1>&2
|
||||
;;
|
||||
esac
|
||||
else
|
||||
echo "autojump: directory '${@}' not found"
|
||||
echo "\n${output}\n"
|
||||
echo "Try \`autojump --help\` for more information."
|
||||
false
|
||||
echo "autojump: directory '${@}' not found"
|
||||
echo "\n${output}\n"
|
||||
echo "Try \`autojump --help\` for more information."
|
||||
false
|
||||
fi
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# open autojump results (child directory) in file browser
|
||||
jco() {
|
||||
# open autojump results (child directory) in file browser
|
||||
jco() {
|
||||
if [[ ${1} == -* ]] && [[ ${1} != "--" ]]; then
|
||||
autojump ${@}
|
||||
return
|
||||
autojump ${@}
|
||||
return
|
||||
else
|
||||
jo $(pwd) ${@}
|
||||
jo $(pwd) ${@}
|
||||
fi
|
||||
}
|
||||
}
|
||||
|
||||
# Jump around a git repo
|
||||
g() {
|
||||
REPO_ROOT=`git rev-parse --show-toplevel`
|
||||
j "$REPO_ROOT" "$@"
|
||||
}
|
||||
|
||||
else
|
||||
echo "ERROR: autojump was sourced twice"
|
||||
fi
|
||||
|
@ -0,0 +1,29 @@
|
||||
Set-Alias -Name ll -Value ls
|
||||
Function .. {cd ..}
|
||||
Function ... {cd ../..}
|
||||
Function .... {cd ../../..}
|
||||
Function ..... {cd ../../../..}
|
||||
Function ...... {cd ../../../../..}
|
||||
Function ....... {cd ../../../../../..}
|
||||
Function ........ {cd ../../../../../../..}
|
||||
Function ......... {cd ../../../../../../../..}
|
||||
Function .......... {cd ../../../../../../../../..}
|
||||
|
||||
Function j {
|
||||
$jumpdir = autojump $args
|
||||
echo "$jumpdir"
|
||||
cd $jumpdir
|
||||
}
|
||||
|
||||
Function jc {
|
||||
j "$pwd" @args
|
||||
}
|
||||
|
||||
Function g {
|
||||
$repo_root = git rev-parse --show-toplevel
|
||||
j $repo_root @args
|
||||
}
|
||||
|
||||
Set-PSBreakpoint -Variable pwd -Mode Write -Action {
|
||||
autojump --add "$pwd"
|
||||
} | out-null
|
Loading…
Reference in new issue