From 995e1cd52cfe2e9aa4e00ea5cd016548f7932e5a Mon Sep 17 00:00:00 2001 From: Dmitry Zuikov Date: Thu, 9 Feb 2023 15:48:34 +0300 Subject: [PATCH] empty file parsing error fixed --- doc/devlog | 7 ++++++ lib/Data/Config/Suckless/Parse/Megaparsec.hs | 5 ++++- t/fixme-config-1 | 23 ++++++++++++++++++++ t/fixme-log | 4 ++++ t/just-comment | 1 + 5 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 t/fixme-config-1 create mode 100644 t/fixme-log create mode 100644 t/just-comment diff --git a/doc/devlog b/doc/devlog index 6bb7633..d286010 100644 --- a/doc/devlog +++ b/doc/devlog @@ -1,4 +1,11 @@ +## 2023-02-09 + +TODO: implement-regression-tests + + 54377068aac95cbfd8c69177a101c434feecff41 + + ## 2023-02-07 Для fixme нам нужны конфиги. Стандартые конфиги это, в основном, треш, diff --git a/lib/Data/Config/Suckless/Parse/Megaparsec.hs b/lib/Data/Config/Suckless/Parse/Megaparsec.hs index 93ecf48..0f859d5 100644 --- a/lib/Data/Config/Suckless/Parse/Megaparsec.hs +++ b/lib/Data/Config/Suckless/Parse/Megaparsec.hs @@ -163,7 +163,10 @@ parseSyntax = parse (merely (syntax sc)) "input" top :: forall c . MegaConstraints c => Parser [Syntax c] top = do sc - many topStmt + many $ do + t <- topStmt + sc + pure t topTerm :: forall c . MegaConstraints c => Parser (Syntax c) topTerm = do diff --git a/t/fixme-config-1 b/t/fixme-config-1 new file mode 100644 index 0000000..847bfb2 --- /dev/null +++ b/t/fixme-config-1 @@ -0,0 +1,23 @@ + +;; fixme config file + +fixme-comments // # -- + +fixme-prefix FIXME: bugs issues +fixme-prefix TODO: bugs issues + +fixme-files **/*.hs + +fixme-files doc/devlog + +fixme-files-ignore .direnv/** dist-newstyle/** + +fixme-id-show-len 10 + +; fixme-tag-prefix # + +fixme-list-full-row-pref "## " +fixme-list-full-row-suff "\n\n;;;" + + + diff --git a/t/fixme-log b/t/fixme-log new file mode 100644 index 0000000..05e0e0b --- /dev/null +++ b/t/fixme-log @@ -0,0 +1,4 @@ +; fixme log file + +fixme-merged BbjfCj H4epFBNr2i + diff --git a/t/just-comment b/t/just-comment new file mode 100644 index 0000000..6e0d2e1 --- /dev/null +++ b/t/just-comment @@ -0,0 +1 @@ +; blah-blah