From cd9460c7db949bc0db5b4ae5d89255cf8d32d6da Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Sun, 7 Sep 2025 00:06:08 +0100 Subject: [PATCH] Display and search zets from a temporary file --- zet | 33 +++++++++++++++------------------ 1 file changed, 15 insertions(+), 18 deletions(-) diff --git a/zet b/zet index 949bb5f..70a2fff 100755 --- a/zet +++ b/zet @@ -4,8 +4,13 @@ set -euo pipefail EDITOR="${EDITOR:-nvim}" ZET_DIR="$HOME/Documents/zet" +ZET_TMP="$ZET_DIR/.zets" -mkdir -p "$ZET_DIR" +if [[ ! -d "$ZET_DIR" ]]; then + mkdir -p "$ZET_DIR" + touch "$ZET_TMP" + echo "/.zets" > "$ZET_DIR/.gitignore" +fi commit_changes() { filename="$1" @@ -35,6 +40,8 @@ delete_zet() { if [[ -d "$dir" ]]; then mv -v "$dir" "/tmp/zet-${id}" + + # TODO: Delete from $ZET_TMP. else echo "Note not found: $id" >&2 exit 1 @@ -50,6 +57,8 @@ edit_zet() { "$EDITOR" "$file" commit_changes "$file" "Edited $file" + + # TODO: Update $ZET_TMP if the title is changed. else result="$(search_zets "$query")" result_count="$(echo "$result" | grep -c '^')" @@ -98,11 +107,13 @@ main() { } new_zet() { - filename="${ZET_DIR}/$(date "+%Y%m%d%H%M%S")/index.adoc" + date="$(date "+%Y%m%d%H%M%S")" + filename="${ZET_DIR}/$date/index.adoc" mkdir -p "$(dirname "$filename")" title="$*" echo "= $title" > "$filename" + echo "$date $title" >> "$ZET_TMP" "$EDITOR" "$filename" @@ -115,25 +126,11 @@ run_git_command() { } search_zets() { - query="$*" - - grep --files-with-matches --recursive --ignore-case "$query" "$ZET_DIR" | grep '/index\.adoc$' | while read -r filepath; do - dirpath=$(dirname "$filepath") - relpath="${dirpath#"$ZET_DIR/"}" - - echo -n "$relpath " - - head -n 1 "$filepath" | sed 's/^= //' - done + grep --ignore-case "$*" < "$ZET_TMP" } show_titles() { - find "$ZET_DIR" -type f -name 'index.adoc' | while read -r filename; do - id=$(basename "$(dirname "$filename")") - title=$(head -n 1 "$filename" | sed 's/^= //' | sed 's/^# //') - - echo "$id $title" - done | sort + cat "$ZET_TMP" } show_zet() {