about summary refs log tree commit diff
diff options
context:
space:
mode:
authorsternenseemann <0rpkxez4ksa01gb3typccl0i@systemli.org>2020-08-16 17:34:27 +0200
committersternenseemann <0rpkxez4ksa01gb3typccl0i@systemli.org>2020-08-16 17:34:27 +0200
commitf5d4c3a4e27a111ab01d8c11d60606940388ddb7 (patch)
tree1f9799371a77e7e4ac6c770c7198f9719aea2e2b
parentfb34e977d60bf9edfec822132c1da4bd0823c10d (diff)
refactor(emoji-generic/DataFiles.hs): make group parser a bit cleaner
-rw-r--r--src/Text/Emoji/DataFiles.hs10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/Text/Emoji/DataFiles.hs b/src/Text/Emoji/DataFiles.hs
index a0af8bf..1937fdb 100644
--- a/src/Text/Emoji/DataFiles.hs
+++ b/src/Text/Emoji/DataFiles.hs
@@ -12,7 +12,7 @@ import Prelude hiding (takeWhile)
 import Text.Emoji.Types
 
 import Control.Applicative ((<|>))
-import Data.Attoparsec.Text (Parser (..), takeWhile1, takeWhile, string
+import Data.Attoparsec.Text (Parser (..), takeWhile1, takeWhile, string, choice
                             , notInClass, skipWhile, skipMany, isHorizontalSpace
                             , decimal, hexadecimal, char, many1, endOfLine)
 import Data.Text (Text)
@@ -69,11 +69,11 @@ emojiTestGroup maxLevel = do
 
   let groupParser =
         if maxLevel == EmojiTestGroup
-          then emojiTestGroup EmojiTestSubgroup
-          else fail "fails always"
+          then [ emojiTestGroup EmojiTestSubgroup ]
+          else []
 
-  groupEntries <- many1
-    (groupParser <|> emojiTestEntryLine <|> emojiTestCommentLine)
+  groupEntries <- many1 . choice $
+    groupParser ++ [ emojiTestEntryLine, emojiTestCommentLine ]
 
   pure $ Group EmojiTestGroup name groupEntries