36 lines
751 B
Plaintext
36 lines
751 B
Plaintext
|
|
#!/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"
|