diff options
Diffstat (limited to 'src/Text')
| -rw-r--r-- | src/Text/Pandoc/Parsing.hs | 6 | ||||
| -rw-r--r-- | src/Text/Pandoc/Readers/Markdown.hs | 6 | 
2 files changed, 10 insertions, 2 deletions
| diff --git a/src/Text/Pandoc/Parsing.hs b/src/Text/Pandoc/Parsing.hs index 6c8442ce8..4bae8942b 100644 --- a/src/Text/Pandoc/Parsing.hs +++ b/src/Text/Pandoc/Parsing.hs @@ -798,7 +798,11 @@ exampleNum :: Stream s m Char             => ParserT s ParserState m (ListNumberStyle, Int)  exampleNum = do    char '@' -  lab <- T.pack <$> many (alphaNum <|> satisfy (\c -> c == '_' || c == '-')) +  lab <- mconcat . map T.pack <$> +                    many (many1 alphaNum <|> +                          try (do c <- char '_' <|> char '-' +                                  cs <- many1 alphaNum +                                  return (c:cs)))    st <- getState    let num = stateNextExample st    let newlabels = if T.null lab diff --git a/src/Text/Pandoc/Readers/Markdown.hs b/src/Text/Pandoc/Readers/Markdown.hs index 02f1f212f..5888bf095 100644 --- a/src/Text/Pandoc/Readers/Markdown.hs +++ b/src/Text/Pandoc/Readers/Markdown.hs @@ -1544,7 +1544,11 @@ exampleRef :: PandocMonad m => MarkdownParser m (F Inlines)  exampleRef = try $ do    guardEnabled Ext_example_lists    char '@' -  lab <- many1Char (alphaNum <|> oneOf "-_") +  lab <- mconcat . map T.pack <$> +                    many (many1 alphaNum <|> +                          try (do c <- char '_' <|> char '-' +                                  cs <- many1 alphaNum +                                  return (c:cs)))    return $ do      st <- askF      return $ case M.lookup lab (stateExamples st) of | 
