# prompt no prn(){ read -n1 -p "$1 (y/N)" yn; if [[ $yn != [Yy] ]]; then printf '\naborted\n'; return 1; else return 0; fi } # prompt yes pry(){ read -n1 -p "$1 (Y/n)" yn; if [[ $yn != [Nn] ]]; then return 0; else printf '\naborted\n'; return 1; fi } # find project fprj(){ find /cygdrive/p/project_notes/. -type d -maxdepth 1 -iname "*$1*" | grep -oP '(?<=\/)([0-9]+).*' } # search project sprj(){ if [[ -z $2 ]]; then grep -Ri $1 /cygdrive/p/project_notes/* --include="*.*" else grep -Ri $1 /cygdrive/p/project_notes/* --include="*.$2" fi } # new project function new(){ prjroot="/cygdrive/p/project_notes/" winprjroot="p:/project_notes/" editor="/cygdrive/c/Program Files/Sublime\ Text/subl.exe" if [[ -z $1 ]]; then echo 'i need the project name, bae'; exit 1; else prjname=$(echo $1|sed -e 's/ /-/g'); fi lastnum=$(find $prjroot. -type d -maxdepth 1 -iname "*[0-9]*" | grep -oP '(?<=\/)([0-9]+)(?=\.)' | sort | tail -1) prjnum=$(echo $lastnum | awk -F, '{printf("%04d",($lastnum".")+1)}') prjname="$prjnum.$prjname" mkdir -p $prjroot$prjname || echo "cannot mkdir '$prjroot$prjname'" && exit 1 touch $prjroot$prjname/$prjname.txt && $editor $winprjroot$prjname/$prjname.txt if [[ -f .git ]]; then git branch -b $prjname; else echo "no '.git' found"; fi } # git new branch function gnb(){ git branch -b $1 } # git commit quick function gcq(){ if [[ -z $1 ]]; then msg="$(date +%F\ %T)"; else msg=$1; fi git commit -am "$msg" && read -n1 -p "push? [Y/n] " reply; if [[ $reply != [Nn] ]]; then git push; fi } alias gs='git status'