made config a little more customizable
parent
08e587c9a5
commit
1d601ee4c7
39
args.rkt
39
args.rkt
|
@ -1,7 +1,6 @@
|
|||
#lang racket/base
|
||||
|
||||
(require (prefix-in vector: racket/vector)
|
||||
(prefix-in config: "config.rkt")
|
||||
(require (prefix-in config: "config.rkt")
|
||||
(prefix-in init: "init.rkt")
|
||||
(prefix-in messages: "messages.rkt")
|
||||
(prefix-in utils: "utils.rkt"))
|
||||
|
@ -10,22 +9,33 @@
|
|||
|
||||
(define (check-args args)
|
||||
(let ([args-length (vector-length args)])
|
||||
(cond [(equal? args-length 0)
|
||||
(cond
|
||||
[(equal? args-length 0)
|
||||
(utils:display-hash-ref messages:messages 'show-usage)]
|
||||
|
||||
;; ls
|
||||
;; help
|
||||
[(and (equal? args-length 1)
|
||||
(equal? (vector:vector-member config:list-command args) 0))
|
||||
(utils:show-list-from-file config:path-to-list-file)]
|
||||
(member (vector-ref args 0) config:help-command))
|
||||
(utils:display-hash-ref messages:messages 'show-help)]
|
||||
|
||||
;; init
|
||||
[(and (equal? args-length 1)
|
||||
(member (vector-ref args 0) config:initialize-command))
|
||||
(init:initialize)]
|
||||
|
||||
;; add
|
||||
[(and (or (equal? args-length 2) (>= args-length 2))
|
||||
(equal? (vector-ref args 0) config:add-command))
|
||||
(member (vector-ref args 0) config:add-command))
|
||||
(utils:add-item-to-list config:path-to-list-file args)]
|
||||
|
||||
;; ls
|
||||
[(and (equal? args-length 1)
|
||||
(member (vector-ref args 0) config:list-command))
|
||||
(utils:show-list-from-file config:path-to-list-file)]
|
||||
|
||||
;; rm
|
||||
[(and (equal? args-length 2)
|
||||
(equal? (vector-ref args 0) config:remove-command)
|
||||
(member (vector-ref args 0) config:remove-command)
|
||||
(real? (string->number (vector-ref args 1)))
|
||||
(or (positive? (string->number (vector-ref args 1)))
|
||||
(zero? (string->number (vector-ref args 1))))
|
||||
|
@ -33,15 +43,4 @@
|
|||
(not (> (string->number (vector-ref args 1)) (sub1 (length (utils:file->string-list config:path-to-list-file))))))
|
||||
(utils:remove-item-from-list config:path-to-list-file args)]
|
||||
|
||||
;; init
|
||||
[(and (equal? args-length 1)
|
||||
(equal? (vector:vector-member config:initialize-command args) 0))
|
||||
(init:initialize)]
|
||||
|
||||
;; help
|
||||
[(and (equal? args-length 1)
|
||||
(member (vector-ref args 0) config:help-command))
|
||||
(utils:display-hash-ref messages:messages 'show-help)]
|
||||
|
||||
[else
|
||||
(utils:display-hash-ref messages:messages 'show-usage)])))
|
||||
[else (utils:display-hash-ref messages:messages 'show-usage)])))
|
||||
|
|
30
config.rkt
30
config.rkt
|
@ -1,16 +1,34 @@
|
|||
#lang racket/base
|
||||
(provide (all-defined-out))
|
||||
|
||||
(define list-file "todo.txt")
|
||||
(define program-name "rodo")
|
||||
|
||||
(define program-directory
|
||||
(path->string
|
||||
(expand-user-path
|
||||
(string-append "~/." program-name "/"))))
|
||||
(define list-file "todo.txt")
|
||||
(define remove-command "rm")
|
||||
(define add-command "add")
|
||||
(define list-command "ls")
|
||||
(define initialize-command "init")
|
||||
(define help-command '("-h" "--help" "h" "help"))
|
||||
|
||||
(define path-to-list-file
|
||||
(string-append program-directory list-file))
|
||||
|
||||
(define help-command '("-h"
|
||||
"--help"
|
||||
"h"
|
||||
"help"))
|
||||
|
||||
(define initialize-command '("init"
|
||||
"create"
|
||||
"start"
|
||||
"begin"))
|
||||
|
||||
(define add-command '("add"
|
||||
"a"))
|
||||
|
||||
(define list-command '("ls"
|
||||
"list"))
|
||||
|
||||
(define remove-command '("rm"
|
||||
"remove"
|
||||
"del"
|
||||
"delete"))
|
||||
|
|
Loading…
Reference in New Issue