64 lines
1.3 KiB
Fish
64 lines
1.3 KiB
Fish
if test -z "$Z_DATA"
|
|
if test -z "$XDG_DATA_HOME"
|
|
set -U Z_DATA_DIR "$HOME/.local/share/z"
|
|
else
|
|
set -U Z_DATA_DIR "$XDG_DATA_HOME/z"
|
|
end
|
|
set -U Z_DATA "$Z_DATA_DIR/data"
|
|
end
|
|
|
|
if test ! -e "$Z_DATA"
|
|
if test ! -e "$Z_DATA_DIR"
|
|
mkdir -p -m 700 "$Z_DATA_DIR"
|
|
end
|
|
touch "$Z_DATA"
|
|
end
|
|
|
|
if test -z "$Z_CMD"
|
|
set -U Z_CMD z
|
|
end
|
|
|
|
set -U ZO_CMD "$Z_CMD"o
|
|
|
|
if test ! -z $Z_CMD
|
|
function $Z_CMD -d "jump around"
|
|
__z $argv
|
|
end
|
|
end
|
|
|
|
if test ! -z $ZO_CMD
|
|
function $ZO_CMD -d "open target dir"
|
|
__z -d $argv
|
|
end
|
|
end
|
|
|
|
if not set -q Z_EXCLUDE
|
|
set -U Z_EXCLUDE "^$HOME\$"
|
|
else if contains $HOME $Z_EXCLUDE
|
|
# Workaround: migrate old default values to a regex (see #90).
|
|
set Z_EXCLUDE (string replace -r -- "^$HOME\$" '^'$HOME'$$' $Z_EXCLUDE)
|
|
end
|
|
|
|
# Setup completions once first
|
|
__z_complete
|
|
|
|
function __z_on_variable_pwd --on-variable PWD
|
|
__z_add
|
|
end
|
|
|
|
function __z_uninstall --on-event z_uninstall
|
|
functions -e __z_on_variable_pwd
|
|
functions -e $Z_CMD
|
|
functions -e $ZO_CMD
|
|
|
|
if test ! -z "$Z_DATA"
|
|
printf "To completely erase z's data, remove:\n" >/dev/stderr
|
|
printf "%s\n" "$Z_DATA" >/dev/stderr
|
|
end
|
|
|
|
set -e Z_CMD
|
|
set -e ZO_CMD
|
|
set -e Z_DATA
|
|
set -e Z_EXCLUDE
|
|
end
|