#!/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 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 using ripgrep *) echo 'Invalid Argument' ;; # Argument not available esac done