1
0
mirror of https://github.com/wting/autojump synced 2024-10-27 20:34:07 +00:00
wting_autojump/bin/autojump.fish

87 lines
1.8 KiB
Fish
Raw Normal View History

2013-05-18 11:58:41 +00:00
complete -x -c j -a '(autojump --bash --complete (commandline -t))'
switch "$XDG_DATA_HOME"
case "*$USER*"
set -x AUTOJUMP_DATA_DIR "$XDG_DATA_HOME/autojump"
case '*'
set -x AUTOJUMP_DATA_DIR ~/.local/share/autojump
end
if not test -d $AUTOJUMP_DATA_DIR
mkdir $AUTOJUMP_DATA_DIR
end
# local installation
if test -d ~/.autojump
2013-05-25 12:28:06 +00:00
set -x PATH ~/.autojump/bin $PATH
2013-05-18 11:58:41 +00:00
end
set -x AUTOJUMP_HOME $HOME
function __aj_err
echo $argv 1>&2; false
end
function __aj_not_found
__aj_err "autojump: directory '"$argv"' not found"
__aj_err "Try `autojump --help` for more information."
end
function __aj_add --on-variable PWD
status --is-command-substitution; and return
autojump -a (pwd) >/dev/null ^$AUTOJUMP_DATA_DIR/autojump_errors
end
function j
switch "$argv"
case '-*' '--*'
autojump $argv
case '*'
set -l new_path (autojump $argv)
if test -d "$new_path"
set_color red
echo $new_path
set_color normal
cd $new_path
else
__aj_not_found $argv
end
end
end
function jc
switch "$argv"
case '-*'
j $argv
case '*'
j (pwd) $argv
end
end
function jo
if test -z (autojump $argv)
__aj_not_found $argv
else
switch (sh -c 'echo ${OSTYPE}')
case linux-gnu
xdg-open (autojump $argv)
case 'darwin*'
open (autojump $argv)
case cygwin
cygstart "" (cygpath -w -a (pwd))
case '*'
__aj_error "Unknown operating system."
end
echo end
end
end
function jco
switch "$argv"
case '-*'
j $argv
case '*'
jo (pwd) $argv
end
end