|
@@ -80,7 +80,9 @@ Commands:
|
|
rm <point> Removes the given warp point
|
|
rm <point> Removes the given warp point
|
|
show Print warp points to current directory
|
|
show Print warp points to current directory
|
|
show <point> Print path to given warp point
|
|
show <point> Print path to given warp point
|
|
- ls Print all stored warp points
|
|
|
|
|
|
+ list Print all stored warp points
|
|
|
|
+ls <point> Show files from given warp point
|
|
|
|
+path <point> Show the path to given warp point
|
|
clean! Remove points warping to nonexistent directories
|
|
clean! Remove points warping to nonexistent directories
|
|
|
|
|
|
-v | --version Print version
|
|
-v | --version Print version
|
|
@@ -96,7 +98,7 @@ wd_exit_fail()
|
|
{
|
|
{
|
|
local msg=$1
|
|
local msg=$1
|
|
|
|
|
|
- wd_print_msg $WD_RED $1
|
|
|
|
|
|
+ wd_print_msg $WD_RED $msg
|
|
WD_EXIT_CODE=1
|
|
WD_EXIT_CODE=1
|
|
}
|
|
}
|
|
|
|
|
|
@@ -108,6 +110,22 @@ wd_exit_warn()
|
|
WD_EXIT_CODE=1
|
|
WD_EXIT_CODE=1
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+wd_getdir()
|
|
|
|
+{
|
|
|
|
+ local name_arg=$1
|
|
|
|
+
|
|
|
|
+ point=$(wd_show $name_arg)
|
|
|
|
+ dir=${point:28+$#name_arg+7}
|
|
|
|
+
|
|
|
|
+ if [[ -z $name_arg ]]; then
|
|
|
|
+ wd_exit_fail "You must enter a warp point"
|
|
|
|
+ break
|
|
|
|
+ elif [[ -z $dir ]]; then
|
|
|
|
+ wd_exit_fail "Unknown warp point '${name_arg}'"
|
|
|
|
+ break
|
|
|
|
+ fi
|
|
|
|
+}
|
|
|
|
+
|
|
# core
|
|
# core
|
|
|
|
|
|
wd_warp()
|
|
wd_warp()
|
|
@@ -201,6 +219,18 @@ wd_list_all()
|
|
done <<< $(sed "s:${HOME}:~:g" $WD_CONFIG)
|
|
done <<< $(sed "s:${HOME}:~:g" $WD_CONFIG)
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+wd_ls()
|
|
|
|
+{
|
|
|
|
+ wd_getdir $1
|
|
|
|
+ ls $dir
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+wd_path()
|
|
|
|
+{
|
|
|
|
+ wd_getdir $1
|
|
|
|
+ echo $(echo $dir | sed "s:${HOME}:~:g")
|
|
|
|
+}
|
|
|
|
+
|
|
wd_show()
|
|
wd_show()
|
|
{
|
|
{
|
|
local name_arg=$1
|
|
local name_arg=$1
|
|
@@ -316,7 +346,7 @@ do
|
|
done < $WD_CONFIG
|
|
done < $WD_CONFIG
|
|
|
|
|
|
# get opts
|
|
# get opts
|
|
-args=$(getopt -o a:r:c:lhs -l add:,rm:,clean\!,ls,help,show -- $*)
|
|
|
|
|
|
+args=$(getopt -o a:r:c:lhs -l add:,rm:,clean\!,list,ls:,path:,help,show -- $*)
|
|
|
|
|
|
# check if no arguments were given, and that version is not set
|
|
# check if no arguments were given, and that version is not set
|
|
if [[ ($? -ne 0 || $#* -eq 0) && -z $wd_print_version ]]
|
|
if [[ ($? -ne 0 || $#* -eq 0) && -z $wd_print_version ]]
|
|
@@ -349,10 +379,18 @@ else
|
|
wd_remove $2
|
|
wd_remove $2
|
|
break
|
|
break
|
|
;;
|
|
;;
|
|
- -l|--list|ls)
|
|
|
|
|
|
+ -l|list)
|
|
wd_list_all
|
|
wd_list_all
|
|
break
|
|
break
|
|
;;
|
|
;;
|
|
|
|
+ -ls|ls)
|
|
|
|
+ wd_ls $2
|
|
|
|
+ break
|
|
|
|
+ ;;
|
|
|
|
+ -p|--path|path)
|
|
|
|
+ wd_path $2
|
|
|
|
+ break
|
|
|
|
+ ;;
|
|
-h|--help|help)
|
|
-h|--help|help)
|
|
wd_print_usage
|
|
wd_print_usage
|
|
break
|
|
break
|