From 8dbd4938f29aceb079316c9215b515744543b4d5 Mon Sep 17 00:00:00 2001 From: Vlad Hanciuta Date: Tue, 7 Apr 2020 00:41:28 +0100 Subject: Vimwiki reader: Add nested syntax highlighting (#6257) Nested syntaxes are specified like this: {{{sql SELECT * FROM table }}} The preformatted code block parser has been extended to check if the first attribute of the block is not a `key=value` pair, and in that case it will be considered as a class. Closes #6256. --- src/Text/Pandoc/Readers/Vimwiki.hs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/Text') diff --git a/src/Text/Pandoc/Readers/Vimwiki.hs b/src/Text/Pandoc/Readers/Vimwiki.hs index f3551b278..74dac5ea7 100644 --- a/src/Text/Pandoc/Readers/Vimwiki.hs +++ b/src/Text/Pandoc/Readers/Vimwiki.hs @@ -236,7 +236,11 @@ preformatted = try $ do makeAttr :: Text -> Attr makeAttr s = let xs = splitTextBy (`elem` (" \t" :: String)) s in - ("", [], mapMaybe nameValue xs) + ("", syntax xs, mapMaybe nameValue xs) + +syntax :: [Text] -> [Text] +syntax (s:_) | not $ T.isInfixOf "=" s = [s] +syntax _ = [] nameValue :: Text -> Maybe (Text, Text) nameValue s = -- cgit v1.2.3