diff options
author | John MacFarlane <jgm@berkeley.edu> | 2020-12-07 12:56:03 -0800 |
---|---|---|
committer | John MacFarlane <jgm@berkeley.edu> | 2020-12-07 12:56:03 -0800 |
commit | f2749ba6cd0ec2473332394bfbb6f479b667f35c (patch) | |
tree | f5e7513ce5b1ae3dd9887875e73e331ce77672fe /src/Text/Pandoc | |
parent | 501ea7f0c4735acdf1457da44fe04d811ac776d7 (diff) | |
download | pandoc-f2749ba6cd0ec2473332394bfbb6f479b667f35c.tar.gz |
Parsing: in nonspaceChar use satisfy instead of oneOf.
For efficiency.
Diffstat (limited to 'src/Text/Pandoc')
-rw-r--r-- | src/Text/Pandoc/Parsing.hs | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/Text/Pandoc/Parsing.hs b/src/Text/Pandoc/Parsing.hs index 4bae8942b..1d9e182c5 100644 --- a/src/Text/Pandoc/Parsing.hs +++ b/src/Text/Pandoc/Parsing.hs @@ -443,7 +443,13 @@ spaceChar = satisfy $ \c -> c == ' ' || c == '\t' -- | Parses a nonspace, nonnewline character. nonspaceChar :: Stream s m Char => ParserT s st m Char -nonspaceChar = noneOf ['\t', '\n', ' ', '\r'] +nonspaceChar = satisfy (not . isSpaceChar) + where + isSpaceChar ' ' = True + isSpaceChar '\t' = True + isSpaceChar '\n' = True + isSpaceChar '\r' = True + isSpaceChar _ = False -- | Skips zero or more spaces or tabs. skipSpaces :: Stream s m Char => ParserT s st m () |