nix-conf/user/bin/rem
2025-12-29 01:03:45 -06:00

36 lines
751 B
Bash
Executable file

#!/bin/sh
# things you should remember but dont
REM="${XDG_DATA_HOME:=$HOME/.local/share}/rem.cmd"
if ! [ -f "$REM" ]; then
echo "missing $REM"
exit 1
fi
cmd="$(cat $REM | fzf -e -q "$1" -1 -d "^" --with-nth="{1}" --accept-nth="{2..}")"
rest="$cmd"
final=""
prompt() {
if [ -z "$2" ]; then
while [ -z "$output" ]; do
read -E -p "$1: " output
done
else
read -E -p "$1 ($2): " output
fi
printf "%s" "${output:-$2}"
}
while case "$rest" in *\{\{*\}\}*) true;; *) false;; esac; do
prefix="${rest%%\{\{*}"
temp="${rest#*\{\{}"
cmd="${temp%%\}\}*}"
rest="${temp#*\}\}}"
final="$(printf "%s%s%s" "$final" "$prefix" "$(eval "$cmd")")"
done
final="$(printf "%s%s" "$final" "$rest")"
printf "%s" "$final"