1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- #!/bin/sh
- # Check dependencies
- [ -z "$(which fd 2>/dev/null)" ] && echo "[-] You need fd installed" && exit 1
- [ -z "$(which rg 2>/dev/null)" ] && echo "[-] You need ripgrep (rg) installed" && exit 1
- [ -z "$(which fzf 2>/dev/null)" ] && echo "[-] You need fzf installed" && exit 1
- function usage {
- echo "cheat.sh - cheatsheet reader"
- echo "Options:"
- echo " -h print help/usage"
- echo " -l list all files"
- echo " -p print cheatsheets path"
- echo " -w writable"
- echo " -g open in gvim"
- echo " -s search for string in <arg> using ripgrep"
- }
- # Set the path to the cheatncheck repo here
- if [ "$CHEAT" = "" ]; then
- cheatsheets="$HOME/documents/cheatsheets/"
- else
- cheatsheets="$CHEAT"
- fi
- # check if the cheatsheets dir. exists.
- [ ! -d "$cheatsheets" ] && echo "[-] Cheatsheet folder does not exist." && exit 1
- # if yes, switch to that dir.
- cd $cheatsheets
- if [ $# -eq 0 ] ; then
- vim -R -c "Goyo 90%" "$(fzf)"
- exit 1
- fi
- # Option Parsin
- while getopts ":ghlws:p" options ; do
- case "${options}" in
- h) usage ;; # print help/usage
- l) fd -t f \.md -x echo {/.} ;; # list all files
- p) echo $cheatsheets ;; # print cheatsheets path
- w) vim -c "Goyo 90%" "$(fzf)" ;; # writable
- g) vim -R -c "Goyo 90%" "$(fzf)" -g ;; # open in gvim
- s) rg "${OPTARG}" ;; # search for string in <arg> using ripgrep
- *) echo 'Invalid Argument' ;; # Argument not available
- esac
- done
|