diff --git a/modules/zet/default.nix b/modules/zet/default.nix index 0d525877..7b2543f4 100644 --- a/modules/zet/default.nix +++ b/modules/zet/default.nix @@ -10,6 +10,7 @@ bashInteractive coreutils fzf + git ]; text = builtins.readFile ./script.sh; diff --git a/modules/zet/script.sh b/modules/zet/script.sh index 4fbbd83e..27ff428c 100644 --- a/modules/zet/script.sh +++ b/modules/zet/script.sh @@ -3,6 +3,28 @@ ZET_DIR="$HOME/Documents/zet" mkdir -p "$ZET_DIR" +commit_changes() { + filename="$1" + commit_message="$2" + + git -C "$ZET_DIR" diff --quiet "$filename" || { + read -rp "Commit?: " commit_choice + + if [[ "$commit_choice" =~ ^[Yy]$ ]]; then + git -C "$ZET_DIR" add "$filename" + + commit_message="${commit_message//$ZET_DIR\//}" + commit_message="${commit_message//\/index.adoc/}" + + git -C "$ZET_DIR" commit -m "$commit_message" + + echo "Changes committed." + else + echo "Changes not committed." + fi + } +} + delete_zet() { id="$1" dir="${ZET_DIR}/${id}" @@ -22,6 +44,8 @@ edit_zet() { if [[ -f "$file" ]]; then "$EDITOR" "$file" + + commit_changes "$file" "Edited $file" else result="$(search_zets "$query")" result_count="$(echo "$result" | grep -c '^')" @@ -76,6 +100,9 @@ new_zet() { echo "= $title" > "$filename" "$EDITOR" "$filename" + + run_git_command add --intent-to-add "$filename" + commit_changes "$filename" "Added $filename" } search_zets() {