### Simple Goto script written in cpp. #### Usage: goto [OPTION|LINK_NAME] #### Options: -h --help : Show this info -c --create_link : Create a new link e.g: goto --create_link [LINK_NAME] [FROM_PATH] -l --list : List all the existing links -lo --links-only : List the name of the links only (This is mostly for autocompletion). -p --print-path : Prints the path of the specified link and exits. e.g: goto -p [LINK_NAME] -d --delete-link : Delete an exisiting link e.g: goto -d [LINK_NAME] -rf --delete-file : Delete the existing link file completely. [LINK_NAME] : Goes to an exisiting link e.g: goto [LINK_NAME] #### Reserved link names: last : Stores the last navigated link directory prev : Stores the directory from which last navigation was performed ### To use add a function in shell like: #### Bash ```bash function goto() { if [[ "$#" -eq 1 ]] && [[ "$1" != -* ]]; then out=$(/home/ud/Scripts/goto $1 2>&1) if [[ "$?" -eq "0" ]]; then cd "$out" else echo $out fi else /home/ud/Scripts/goto $@ fi } ``` #### Fish ```fish function goto if test (count $argv) -eq 1 if not string match -rq -- '^-' "$argv[1]" set out (/home/ud/Scripts/goto $argv[1] 2>&1 ) if test $status -eq 0 cd "$out" else echo $out end else /home/ud/Scripts/goto $argv end else /home/ud/Scripts/goto $argv end end ```