|
@@ -19,6 +19,13 @@ RED="\033[91m"
|
|
NOC="\033[m"
|
|
NOC="\033[m"
|
|
|
|
|
|
|
|
|
|
|
|
+# check if config file exists
|
|
|
|
+if [[ ! -a $CONFIG ]]
|
|
|
|
+then
|
|
|
|
+ # if not: create config file
|
|
|
|
+ touch $CONFIG
|
|
|
|
+fi
|
|
|
|
+
|
|
## load warp points
|
|
## load warp points
|
|
typeset -A points
|
|
typeset -A points
|
|
while read line
|
|
while read line
|
|
@@ -120,11 +127,12 @@ wd_print_msg()
|
|
|
|
|
|
wd_print_usage()
|
|
wd_print_usage()
|
|
{
|
|
{
|
|
- print "Usage: wd [add|-a|--add] [rm|-r|--remove] [ls|-l|--list] <point>"
|
|
|
|
|
|
+ print "Usage: wd [add|-a|--add] [rm|-r|--remove] [ls|-l|--list] <point>"
|
|
print "\nCommands:"
|
|
print "\nCommands:"
|
|
print "\t add \t Adds the current working directory to your warp points"
|
|
print "\t add \t Adds the current working directory to your warp points"
|
|
print "\t add! \t Overwrites existing warp point"
|
|
print "\t add! \t Overwrites existing warp point"
|
|
print "\t remove Removes the given warp point"
|
|
print "\t remove Removes the given warp point"
|
|
|
|
+ print "\t show \t Outputs warp points to current directory"
|
|
print "\t list \t Outputs all stored warp points"
|
|
print "\t list \t Outputs all stored warp points"
|
|
print "\t help \t Show this extremely helpful text"
|
|
print "\t help \t Show this extremely helpful text"
|
|
}
|
|
}
|
|
@@ -135,13 +143,20 @@ wd_print_usage()
|
|
# get opts
|
|
# get opts
|
|
args=`getopt -o a:r:lhs -l add:,remove:,list,help,show -- $*`
|
|
args=`getopt -o a:r:lhs -l add:,remove:,list,help,show -- $*`
|
|
|
|
|
|
|
|
+# check if no arguments were given
|
|
if [[ $? -ne 0 || $#* -eq 0 ]]
|
|
if [[ $? -ne 0 || $#* -eq 0 ]]
|
|
then
|
|
then
|
|
wd_print_usage
|
|
wd_print_usage
|
|
-else
|
|
|
|
- # can't exit, as this would exit the excecuting shell
|
|
|
|
- # e.i. your terminal
|
|
|
|
|
|
|
|
|
|
+# check if config file is writeable
|
|
|
|
+elif [[ ! -w $CONFIG ]]
|
|
|
|
+then
|
|
|
|
+ wd_print_msg $RED "\'$CONFIG\' is not writeable."
|
|
|
|
+ # do nothing => exit
|
|
|
|
+ # can't run `exit`, as this would exit the executing shell
|
|
|
|
+ # i.e. your terminal
|
|
|
|
+
|
|
|
|
+else
|
|
#set -- $args # WTF
|
|
#set -- $args # WTF
|
|
|
|
|
|
for i
|
|
for i
|