on master help sign in
Add space dropping parsers
a940cc4Harendra Kumar
src/Streamly/Internal/Unicode/Char/Parser.hs+14
@@ -14,6 +14,8 @@ module Streamly.Internal.Unicode.Char.Parser
14 (
14 (
15 -- * Generic
15 -- * Generic
16 char
16 char
17+ , dropSpace
18+ , dropSpace1
17
19
18 -- * Classes
20 -- * Classes
19 , alpha
21 , alpha
@@ -138,6 +140,18 @@ CHAR_PARSER(asciiLower,isAsciiLower)
138char :: MonadCatch m => Char -> Parser m Char Char
140char :: MonadCatch m => Char -> Parser m Char Char
139char c = Parser.satisfy (== c)
141char c = Parser.satisfy (== c)
140
142
143+--------------------------------------------------------------------------------
144+-- Character sequences
145+--------------------------------------------------------------------------------
146+
147+-- | Drop /zero/ or more white space characters.
148+dropSpace :: MonadCatch m => Parser m Char ()
149+dropSpace = Parser.dropWhile Char.isSpace
150+
151+-- | Drop /one/ or more white space characters.
152+dropSpace1 :: MonadCatch m => Parser m Char ()
153+dropSpace1 = Parser.takeWhile1 Char.isSpace Fold.drain
154+
141--------------------------------------------------------------------------------
155--------------------------------------------------------------------------------
142-- Numeric parsers
156-- Numeric parsers
143--------------------------------------------------------------------------------
157--------------------------------------------------------------------------------