#!/usr/bin/env bash

# I love picking my notes

# pass in notes directory as parameter

opennote () {
    kitty --directory $PWD nvim "$notefile"
}

pick () {
    options="$(ls -td1 */)"
    if [[ -n "$options" ]]; then
        options="$options\n"
    fi
    options="$options$(ls -t1 *.*)"

    choice=$(echo -e "$options" | rofi -dmenu -p "Notes") || exit 0

    case $choice in
        %) notefile=$(date +%F_%T.md | tr ':' '-'); opennote ;;
        *!/) dirname="$(echo $choice | sed 's/\(.*\)!\//\1/')"; mkdir $dirname; cd $dirname; pick ;;
        *!t) notefile="$(echo $choice | sed 's/\(.*\)!t/\1/').txt"; opennote ;;
        *!) notefile="$(echo $choice | sed 's/\(.*\)!/\1/').md"; opennote ;;
        */) cd $choice; pick ;;
        *.*) notefile="$choice"; opennote ;;
        *) exit 0 ;;
    esac
}

cd $1
pick
