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