|
|
|
|
@ -8,7 +8,7 @@ |
|
|
|
|
# @github.com/mfaerevaag/wd |
|
|
|
|
|
|
|
|
|
# version |
|
|
|
|
readonly WD_VERSION=0.4 |
|
|
|
|
readonly WD_VERSION=0.4.2 |
|
|
|
|
|
|
|
|
|
# colors |
|
|
|
|
readonly WD_BLUE="\033[96m" |
|
|
|
|
@ -143,7 +143,7 @@ wd_warp() |
|
|
|
|
fi |
|
|
|
|
elif [[ ${points[$point]} != "" ]] |
|
|
|
|
then |
|
|
|
|
cd ${points[$point]} |
|
|
|
|
cd ${points[$point]/#\~/$HOME} |
|
|
|
|
else |
|
|
|
|
wd_exit_fail "Unknown warp point '${point}'" |
|
|
|
|
fi |
|
|
|
|
@ -169,7 +169,7 @@ wd_add() |
|
|
|
|
elif [[ ${points[$2]} == "" ]] || $force |
|
|
|
|
then |
|
|
|
|
wd_remove $point > /dev/null |
|
|
|
|
printf "%q:%s\n" "${point}" "${PWD}" >> $WD_CONFIG |
|
|
|
|
printf "%q:%s\n" "${point}" "${PWD/#$HOME/~}" >> $WD_CONFIG |
|
|
|
|
|
|
|
|
|
wd_print_msg $WD_GREEN "Warp point added" |
|
|
|
|
|
|
|
|
|
@ -203,6 +203,21 @@ wd_list_all() |
|
|
|
|
{ |
|
|
|
|
wd_print_msg $WD_BLUE "All warp points:" |
|
|
|
|
|
|
|
|
|
entries=$(sed "s:${HOME}:~:g" $WD_CONFIG) |
|
|
|
|
|
|
|
|
|
max_warp_point_length=0 |
|
|
|
|
while IFS= read -r line |
|
|
|
|
do |
|
|
|
|
arr=(${(s,:,)line}) |
|
|
|
|
key=${arr[1]} |
|
|
|
|
|
|
|
|
|
length=${#key} |
|
|
|
|
if [[ length -gt max_warp_point_length ]] |
|
|
|
|
then |
|
|
|
|
max_warp_point_length=$length |
|
|
|
|
fi |
|
|
|
|
done <<< $entries |
|
|
|
|
|
|
|
|
|
while IFS= read -r line |
|
|
|
|
do |
|
|
|
|
if [[ $line != "" ]] |
|
|
|
|
@ -213,16 +228,16 @@ wd_list_all() |
|
|
|
|
|
|
|
|
|
if [[ -z $wd_quiet_mode ]] |
|
|
|
|
then |
|
|
|
|
printf "%20s -> %s\n" $key $val |
|
|
|
|
printf "%${max_warp_point_length}s -> %s\n" $key $val |
|
|
|
|
fi |
|
|
|
|
fi |
|
|
|
|
done <<< $(sed "s:${HOME}:~:g" $WD_CONFIG) |
|
|
|
|
done <<< $entries |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
wd_ls() |
|
|
|
|
{ |
|
|
|
|
wd_getdir $1 |
|
|
|
|
ls $dir |
|
|
|
|
ls ${dir/#\~/$HOME} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
wd_path() |
|
|
|
|
@ -248,6 +263,7 @@ wd_show() |
|
|
|
|
local wd_matches |
|
|
|
|
wd_matches=() |
|
|
|
|
# do a reverse lookup to check whether PWD is in $points |
|
|
|
|
PWD="${PWD/$HOME/~}" |
|
|
|
|
if [[ ${points[(r)$PWD]} == $PWD ]] |
|
|
|
|
then |
|
|
|
|
for name in ${(k)points} |
|
|
|
|
|