rodo/src/messages.rkt

100 lines
3.5 KiB
Racket
Raw Normal View History

2019-08-25 22:37:34 +00:00
#lang racket/base
(require (prefix-in config: "config.rkt"))
(provide (all-defined-out))
2019-11-22 18:35:25 +00:00
(define (indent string)
(string-append "\t" string))
2020-05-27 17:13:13 +00:00
(define tab-full "\t")
(define tab-half " ")
(define newline "\n")
2020-04-11 20:43:14 +00:00
(define newline-double "\n\n")
2020-02-09 20:58:38 +00:00
2020-05-27 17:27:48 +00:00
(define program-name config:program-name)
(define list-file config:list-file)
(define help-command (car config:help-commands)
(define initialize-command (car config:initialize-commands))
(define list-command (car config:list-commands))
(define add-command (car config:add-commands))
(define remove-command (car config:remove-commands))
2019-08-25 22:37:34 +00:00
(define messages
2020-05-27 17:13:13 +00:00
(hash
'show-help
(string-append
"NAME" newline
2020-05-27 17:27:48 +00:00
tab-half (format "~a" program-name) newline-double
2020-02-09 20:58:38 +00:00
2020-05-27 17:13:13 +00:00
"DESCRIPTION" newline
2020-05-27 17:27:48 +00:00
tab-half (format "~a is a todo-list program for the command line. ~a does not use any data formats, and cannot remove multiple items at once." program-name program-name) newline-double
2020-02-09 20:58:38 +00:00
2020-05-27 17:13:13 +00:00
"USAGE SYNTAX" newline
2020-05-27 17:27:48 +00:00
tab-half (format "~a [command] <args>" program-name) newline-double
2020-02-09 20:58:38 +00:00
2020-05-27 17:13:13 +00:00
"COMMANDS AVAILABLE" newline
2020-05-27 17:27:48 +00:00
tab-half initialize-command newline
tab-full (format "Creates a list file located at ~a" list-file) newline-double
2020-02-09 20:58:38 +00:00
2020-05-27 17:27:48 +00:00
tab-half list-command newline
2020-05-27 17:13:13 +00:00
tab-full "Displays items from your list" newline-double
2020-02-09 20:58:38 +00:00
2020-05-27 17:27:48 +00:00
tab-half add-command " <args>" newline
2020-05-27 17:13:13 +00:00
tab-full "Adds an item to your list" newline-double
2020-02-09 20:58:38 +00:00
2020-05-27 17:27:48 +00:00
tab-half remove-command " <args>" newline
2020-05-27 17:13:13 +00:00
tab-full "Removes an item from your list" newline-double
2020-02-09 20:58:38 +00:00
2020-05-27 17:13:13 +00:00
"USAGE EXAMPLES" newline
2020-05-27 17:27:48 +00:00
tab-half initialize-command newline
tab-full (format "~a ~a" program-name initialize-command) newline-double
2020-02-09 20:58:38 +00:00
2020-05-27 17:27:48 +00:00
tab-half list-command newline
tab-full (format "~a ~a" program-name list-command) newline-double
2020-02-09 20:58:38 +00:00
2020-05-27 17:27:48 +00:00
tab-half add-command newline
tab-full (format "~a ~a this is an item without double quotation marks" program-name add-command) newline
tab-full (format "~a ~a \"this is an item surrounded by double quotation marks\"" program-name add-command) newline-double
2020-02-09 20:58:38 +00:00
2020-05-27 17:27:48 +00:00
tab-half remove-command newline
tab-full (format "~a ~a 2" program-name remove-commands) newline-double
2020-02-09 20:58:38 +00:00
2020-05-27 17:13:13 +00:00
"If you can't see the whole help message, then try running the following command: " newline
2020-05-27 17:27:48 +00:00
tab-half (format "~a ~a | less" program-name help-command)) newline)
2020-02-09 20:58:38 +00:00
2020-05-27 17:13:13 +00:00
'empty-list "> There is nothing in your list\n"
2020-02-09 20:58:38 +00:00
2020-05-27 17:27:48 +00:00
'show-usage (format "> For usage type ~a -h\n" program-name)
2020-02-09 20:58:38 +00:00
2020-05-27 17:27:48 +00:00
'creating (format "> Creating a list at ~a...\n" list-file)
2020-02-09 20:58:38 +00:00
2020-05-27 17:27:48 +00:00
'creation-error (format "> Error: Could not create a list file at ~a\n" list-file)
2020-02-09 20:58:38 +00:00
2020-05-27 17:27:48 +00:00
'file-already-exists (format "> Error: A list file already exists at ~a\n" list-file)
2020-02-09 20:58:38 +00:00
2020-05-27 17:27:48 +00:00
'successfully-created (format "> Your list file was successfully created at ~a\n" list-file)
2020-02-09 20:58:38 +00:00
2020-05-27 17:27:48 +00:00
'file-not-found (format "> Error: Could not find ~a\n" list-file)
2020-02-09 20:58:38 +00:00
2020-05-27 17:13:13 +00:00
'item-not-found "> Error: Could not find that item\n"
2020-02-09 20:58:38 +00:00
2020-05-27 17:27:48 +00:00
'init-y/n (format "> A list file will be created at ~a\n> Are you sure you want to continue? [y/n]\n" list-file)
2020-02-09 20:58:38 +00:00
2020-05-27 17:27:48 +00:00
'try-init (format "> Try typing the following to setup ~a:\n~a ~a\n" program-name program-name initialize-command)
2020-02-09 20:58:38 +00:00
2020-05-27 17:27:48 +00:00
'terminating (format "> Exited ~a\n" program-name)
2020-02-09 20:58:38 +00:00
2020-05-27 17:13:13 +00:00
'choose-y/n "> Error: Please choose y or n\n"
2020-02-09 20:58:38 +00:00
2020-05-27 17:13:13 +00:00
'not-in-list "> Error: Item does not exist\n"
2020-02-09 20:58:38 +00:00
2020-05-27 17:13:13 +00:00
'item-added "> Added \"~a\" to your list\n"
2020-05-27 17:13:13 +00:00
'item-removed "> Removed \"~a\" from your list\n"))
2019-08-25 22:37:34 +00:00
2020-05-27 17:27:48 +00:00
(define y/n
(hash 'yes '("yes" "Yes" "y" "Y")
'no '("no" "No" "n" "N")))