|
5 | 5 |
|
6 | 6 | (import ./commands :prefix "") |
7 | 7 |
|
| 8 | +(import ./errors) |
8 | 9 | (import ./file_repository) |
9 | 10 | (import ./plan/parser :as plan_parser) |
10 | 11 | (import ./plan/serializer :as plan_serializer) |
|
13 | 14 | (each error errors (print (string error "."))) |
14 | 15 | (os/exit exit-status-code)) |
15 | 16 |
|
16 | | -(def exit-status-codes |
17 | | - {:error 1 |
18 | | - :plan-path-missing 2 |
19 | | - :file-error 3 |
20 | | - :parse-error 4}) |
21 | | - |
22 | 17 | # Keep commands sorted alphabetically. |
23 | 18 | (def argparse-params |
24 | 19 | ["A command line utility for planning your days" |
|
49 | 44 | (def load-file-result (file_repository/load file-path)) |
50 | 45 | (def errors (load-file-result :errors)) |
51 | 46 | (if errors |
52 | | - (print-errors errors (exit-status-codes :file-error)) |
| 47 | + (print-errors errors (errors/exit-status-codes :file-error)) |
53 | 48 | (let [plan-string (load-file-result :text) |
54 | 49 | parse-result (plan_parser/parse plan-string) |
55 | 50 | parse-errors (parse-result :errors) |
56 | 51 | plan (parse-result :plan)] |
57 | 52 | (if parse-errors |
58 | | - (print-errors parse-errors (exit-status-codes :parse-error)) |
| 53 | + (print-errors parse-errors (errors/exit-status-codes :parse-error)) |
59 | 54 | (let [serialize-empty-inbox (plan_parser/serialize-empty-inbox? plan-string) |
60 | 55 | new-plan (run-commands plan file-path arguments) |
61 | 56 | new-plan-string (plan_serializer/serialize |
|
71 | 66 | (print-version) |
72 | 67 | (do |
73 | 68 | (print "Plan file path missing.") |
74 | | - (os/exit (exit-status-codes :plan-path-missing)))))) |
| 69 | + (os/exit (errors/exit-status-codes :plan-path-missing)))))) |
75 | 70 |
|
76 | 71 | ## ————————————————————————————————————————————————————————————————————————————————————————————————— |
77 | 72 | ## Public Interface |
|
0 commit comments