diff --git a/rodo.rkt b/rodo.rkt index f8ac764..8c1e619 100755 --- a/rodo.rkt +++ b/rodo.rkt @@ -5,16 +5,22 @@ (displayln (hash-ref hash-list key))) (define message (hash - 'incorrect-usage-msg "For usage type `rodo -h` or `rodo --help`" - 'file-not-found "rodo has not been setup in your home directory\nWould you like to set it up now? [y/n]" - 'file-exists ".rodo file exists" - 'item-added "Item added" - 'item-removed "Item removed" - 'initializing "Initializing rodo in your home directory")) + 'incorrect-usage-msg "For usage type `rodo -h` or `rodo --help`" + 'file-not-found "rodo has not been setup in your home directory\nWould you like to set it up now? [y/n]" + 'file-exists ".rodo file exists" + 'item-added "Item added" + 'item-removed "Item removed" + 'initializing "Initializing rodo in your home directory")) (define y-n (hash - 'yes '("yes" "Yes" "y" "Y") - 'no '("no" "No" "n" "N"))) + 'yes '("yes" "Yes" "y" "Y") + 'no '("no" "No" "n" "N"))) + +(define (open/create-file path) + (let ([path (expand-user-path path)]) + (open-output-file path + #:mode 'text + #:exists 'can-update))) ; just figuring out stuff here (define (prompt-user prompt-message) @@ -22,15 +28,16 @@ (let ([user-input (read-line)]) (cond [(member user-input (hash-ref y-n 'yes)) - (displayln "You chose yes")] + (displayln "You chose yes") + (open/create-file "~/.rodo")] [(member user-input (hash-ref y-n 'no)) (displayln "You chose no")] [else - (displayln "you chose something else")]))) + (displayln "you chose something else")]))) (define (todo-list-exist?) (if (file-exists? (expand-user-path "~/.rodo")) - (display-hash message 'file-exists) - (prompt-user 'file-not-found))) + (display-hash message 'file-exists) + (prompt-user 'file-not-found))) (todo-list-exist?)