Skip to content

Commit c9164fc

Browse files
authored
Merge pull request #105 from hackberrydev/plan-parser-errors
Return array of errors from plan parser
2 parents e72a7b7 + 92d85e7 commit c9164fc

3 files changed

Lines changed: 10 additions & 10 deletions

File tree

src/alas.janet

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,10 @@
4545
(print-errors errors)
4646
(let [plan-string (load-file-result :text)
4747
parse-result (plan_parser/parse plan-string)
48-
parse-error (parse-result :error)
48+
parse-errors (parse-result :errors)
4949
plan (parse-result :plan)]
50-
(if parse-error
51-
(print parse-error)
50+
(if parse-errors
51+
(print-errors parse-errors)
5252
(let [serialize-empty-inbox (plan_parser/serialize-empty-inbox? plan-string)
5353
new-plan (run-commands plan file-path arguments)
5454
new-plan-string (plan_serializer/serialize

src/plan/parser.janet

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,6 @@
6969
{:serialize-empty-inbox serialize-empty-inbox})]
7070
(if (= (lines-count parsed-plan-string) (lines-count plan-string))
7171
{:plan plan}
72-
{:error (string "Plan can not be parsed: last parsed line is line "
73-
(lines-count parsed-plan-string {:ignore-whitespace false}))}))
74-
{:error "Plan can not be parsed"}))
72+
{:errors [(string "Plan can not be parsed: last parsed line is line "
73+
(lines-count parsed-plan-string {:ignore-whitespace false}))]}))
74+
{:errors ["Plan can not be parsed"]}))

test/plan/parser_test.janet

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -191,8 +191,8 @@
191191
- [O] Talk to Mike
192192
```)
193193
(def parse-result (parse plan-string))
194-
(is (parse-result :error))
195-
(is (= "Plan can not be parsed" (parse-result :error))))
194+
(is (parse-result :errors))
195+
(is (= "Plan can not be parsed" (first (parse-result :errors)))))
196196

197197
(deftest parse-when-plan-can-partially-be-parsed
198198
(def plan-string
@@ -206,8 +206,8 @@
206206
## Tomorrow
207207
```)
208208
(def parse-result (parse plan-string))
209-
(is (parse-result :error))
209+
(is (parse-result :errors))
210210
(is (= "Plan can not be parsed: last parsed line is line 6"
211-
(parse-result :error))))
211+
(first (parse-result :errors)))))
212212

213213
(run-tests!)

0 commit comments

Comments
 (0)