git.iko.soy/typeable/pandoc
on master help sign in
Man reader: allow lowercase b,i etc. for font commands.
8b82667John MacFarlane
src/Text/Pandoc/Readers/Man.hs+7−6
@@ -244,7 +244,8 @@ escapeLexer = try $ do
244
244
245 escFont :: PandocMonad m => ManLexer m String
245 escFont :: PandocMonad m => ManLexer m String
246 escFont = do
246 escFont = do
247+ font <- choice
247− font <- choice [ S.singleton <$> letterFontKind
248+ [ S.singleton <$> letterFontKind
248 , char '(' >> anyChar >> anyChar >> return (S.singleton Regular)
249 , char '(' >> anyChar >> anyChar >> return (S.singleton Regular)
249 , try lettersFont
250 , try lettersFont
250 , digit >> return (S.singleton Regular)
251 , digit >> return (S.singleton Regular)
@@ -256,16 +257,16 @@ escapeLexer = try $ do
256 lettersFont = do
257 lettersFont = do
257 char '['
258 char '['
258 fs <- many letterFontKind
259 fs <- many letterFontKind
259− many letter
260+ skipMany letter
260 char ']'
261 char ']'
261 return $ S.fromList fs
262 return $ S.fromList fs
262
263
263 letterFontKind :: PandocMonad m => ManLexer m FontKind
264 letterFontKind :: PandocMonad m => ManLexer m FontKind
264 letterFontKind = choice [
265 letterFontKind = choice [
265− char 'B' >> return Bold
266+ oneOf ['B','b'] >> return Bold
266− , char 'I' >> return Italic
267+ , oneOf ['I','i'] >> return Italic
267− , char 'C' >> return Monospace
268+ , oneOf ['C','c'] >> return Monospace
268− , (char 'P' <|> char 'R') >> return Regular
269+ , oneOf ['P','p','R','r'] >> return Regular
269 ]
270 ]
270
271
271 escUnknown :: PandocMonad m => String -> a -> ManLexer m a
272 escUnknown :: PandocMonad m => String -> a -> ManLexer m a