diff options
Diffstat (limited to 'ch')
-rwxr-xr-x | ch | 30 |
1 files changed, 30 insertions, 0 deletions
@@ -0,0 +1,30 @@ +#!/bin/bash + +# Helper script for my cheatsheets system. +# USAGE: ch +# This will open a fzf menu over the `~/cheatsheets` directory. +# You can select one of the files there, or use the special command `new` which +# creates a new file (you will be prompted for a title, which should not include +# the .md extension). +# NOTE: Currently hardcodes cheatsheets directory to `~/cheatsheets`. + +prefix=~/cheatsheets/ +suffix=.md +sheets=("$prefix"*"$suffix") +sheets=("${sheets[@]#"$prefix"}") +sheets=("${sheets[@]%"$suffix"}") +sheets=("${sheets[@]}" new) + +sheet=$(printf '%s\n' "${sheets[@]}" | fzf) + +if [[ "$sheet" == "new" ]]; then + echo -n "enter new cheatsheet name: " + read new_sheet + file="${prefix}${new_sheet}${suffix}" + $VISUAL $file + exit 0 +fi + +file="${prefix}${sheet}${suffix}" + +[[ -f $file ]] && $VISUAL $file |