From 4c58c672fb685e77e2144aca4bcb7d9ae96bb0c6 Mon Sep 17 00:00:00 2001 From: dan Date: Mon, 20 Oct 2025 22:09:09 -0400 Subject: [PATCH] Add basic argument parser, add tasks to csv file, help function to print commands --- godo.go | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 godo.go diff --git a/godo.go b/godo.go new file mode 100644 index 0000000..123f61a --- /dev/null +++ b/godo.go @@ -0,0 +1,42 @@ +package main + +import ( + "encoding/csv" + "fmt" + "os" +) + +func main() { + args := os.Args + if len(args) < 2 { + fmt.Println("Use godo ? or help for the help menu") + os.Exit(0) + } + switch args[1] { + case "?", "help": + help() + case "a", "add": + add(args[2]) + } +} + +func help() { + fmt.Println("?/help - help menu") + fmt.Println("a/add - add new task") + fmt.Println("l/list - add new task") +} + +func add(task string) { + file, err := os.OpenFile("tasks.csv", os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0644) + if err != nil { + fmt.Println("Error Creating File;", err) + os.Exit(1) + } + defer file.Close() + + writer := csv.NewWriter(file) + defer writer.Flush() + var taskWrite []string + taskWrite = append(taskWrite, task) + writer.Write(taskWrite) +}