Goto/README.md

56 lines
1.5 KiB
Markdown
Raw Normal View History

2025-09-10 18:54:44 +05:30
### Simple Goto script written in cpp.
2025-09-10 18:59:31 +05:30
#### Usage:
goto [OPTION|LINK_NAME]
2025-09-10 18:58:53 +05:30
#### Options:
2025-09-10 18:57:53 +05:30
2025-09-10 18:54:44 +05:30
-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
2025-09-15 01:23:42 +05:30
-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.
2025-09-10 18:54:44 +05:30
[LINK_NAME] : Goes to an exisiting link e.g: goto [LINK_NAME]
2025-09-10 18:57:53 +05:30
2025-09-15 01:23:42 +05:30
#### Reserved link names:
last : Stores the last navigated link directory
prev : Stores the directory from which last navigation was performed
2025-09-10 18:54:44 +05:30
2025-09-13 22:53:13 +05:30
### To use add a function in shell like:
#### Bash
2025-09-10 18:54:44 +05:30
```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
}
```
2025-09-13 22:53:13 +05:30
#### 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
```
2025-09-10 18:54:44 +05:30