1 module Text.Edifact.Scaffolder.Segments.Elements
5 import Text.Edifact.Scaffolder.Commons
7 import Data.Char (isLower, toUpper)
8 import Text.Parsec (eof, lower, satisfy, string,
10 import Text.Parsec.String (Parser)
12 listSegments :: Scaffolding [ElementWithDefinition SegmentCode]
13 listSegments = listElements "segments" segmentCodeParser
15 segmentCodeParser :: Parser SegmentCode
16 segmentCodeParser = do
20 let code = SegmentCode (toUpper <$> [c1,c2,c3])
25 lowerExceptU :: Parser Char
26 lowerExceptU = satisfy (\ c -> isLower c && c /= 'u')