From df9fa52c21ee5b17385a1ceef3c8fe575988a788 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 30 Sep 2025 02:09:40 +0100 Subject: [PATCH] Re-add the ability to view or edit the latest zet Signed-off-by: Oliver Davies --- cmd/edit.go | 21 ++++++++++++++++----- cmd/view.go | 20 +++++++++++++++----- internal/lib/zet.go | 6 ++++++ 3 files changed, 37 insertions(+), 10 deletions(-) diff --git a/cmd/edit.go b/cmd/edit.go index 5423239..7f11493 100644 --- a/cmd/edit.go +++ b/cmd/edit.go @@ -14,18 +14,29 @@ var editCmd = &cobra.Command{ Use: "edit", Aliases: []string{"e"}, Short: "Edit a specific zettel", - Long: `zet edit|e ID`, + Long: `zet edit|e ID +zet edit|e latest + `, Run: func(cmd *cobra.Command, args []string) { if len(args) < 1 { fmt.Println("Error: No id provided") os.Exit(1) } - idInt, err := strconv.Atoi(args[0]) - if err != nil { - os.Exit(1) + var id int + + if args[0] == "latest" { + id = lib.GetLatestZet() + } else { + i, err := strconv.Atoi(args[0]) + + if err != nil { + os.Exit(1) + } + + id = i } - lib.EditZet(idInt) + lib.EditZet(id) }, } diff --git a/cmd/view.go b/cmd/view.go index 1dc1994..0f34ba8 100644 --- a/cmd/view.go +++ b/cmd/view.go @@ -14,19 +14,29 @@ var viewCmd = &cobra.Command{ Use: "view", Aliases: []string{"v"}, Short: "View a specific zettel", - Long: `zet view|v ID`, + Long: `zet view|v ID +zet view|v latest + `, Run: func(cmd *cobra.Command, args []string) { if len(args) < 1 { fmt.Println("Error: No id provided") os.Exit(1) } - idInt, err := strconv.Atoi(args[0]) + var id int - if err != nil { - os.Exit(1) + if args[0] == "latest" { + id = lib.GetLatestZet() + } else { + i, err := strconv.Atoi(args[0]) + + if err != nil { + os.Exit(1) + } + + id = i } - fmt.Println(lib.ViewZet(idInt)) + fmt.Println(lib.ViewZet(id)) }, } diff --git a/internal/lib/zet.go b/internal/lib/zet.go index c3239f4..16ea432 100644 --- a/internal/lib/zet.go +++ b/internal/lib/zet.go @@ -82,6 +82,12 @@ func GetAllZets() []int { return sorted } +func GetLatestZet() int { + z := GetAllZets() + + return z[len(z)-1] +} + func SearchZets(query string) []int { zets, err := execGitCommand("grep", "-i", "--name-only", "--word-regex", query)