From 355d4996dc32988aabe000fbfaa1a9bbdd9ec585 Mon Sep 17 00:00:00 2001 From: Marcin Chrzanowski Date: Sun, 26 Mar 2023 13:49:36 +0200 Subject: Add initial scripts --- ch | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100755 ch (limited to 'ch') diff --git a/ch b/ch new file mode 100755 index 0000000..e989716 --- /dev/null +++ b/ch @@ -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 -- cgit v1.2.3