diff options
author | John MacFarlane <jgm@berkeley.edu> | 2021-04-28 23:30:16 -0700 |
---|---|---|
committer | John MacFarlane <jgm@berkeley.edu> | 2021-04-28 23:32:37 -0700 |
commit | 80e2e88287f43d88ea92a77779b25e161c81f67b (patch) | |
tree | 91089036dc579894ac5eb837475bfa4a6291d9d7 /src/Text/Pandoc/Readers/TWiki.hs | |
parent | 8fe7e8dd5c2667f0cac5af67ff1a02872eeb9933 (diff) | |
download | pandoc-80e2e88287f43d88ea92a77779b25e161c81f67b.tar.gz |
Smarter smart quotes.
Treat a leading " with no closing " as a left curly quote.
This supports the practice, in fiction, of continuing
paragraphs quoting the same speaker without an end quote.
It also helps with quotes that break over lines in line
blocks.
Closes #7216.
Diffstat (limited to 'src/Text/Pandoc/Readers/TWiki.hs')
-rw-r--r-- | src/Text/Pandoc/Readers/TWiki.hs | 22 |
1 files changed, 1 insertions, 21 deletions
diff --git a/src/Text/Pandoc/Readers/TWiki.hs b/src/Text/Pandoc/Readers/TWiki.hs index 484a6c923..c4d7bcc93 100644 --- a/src/Text/Pandoc/Readers/TWiki.hs +++ b/src/Text/Pandoc/Readers/TWiki.hs @@ -469,27 +469,7 @@ symbol :: PandocMonad m => TWParser m B.Inlines symbol = B.str <$> countChar 1 nonspaceChar smart :: PandocMonad m => TWParser m B.Inlines -smart = do - guardEnabled Ext_smart - doubleQuoted <|> singleQuoted <|> - choice [ apostrophe - , dash - , ellipses - ] - -singleQuoted :: PandocMonad m => TWParser m B.Inlines -singleQuoted = try $ do - singleQuoteStart - withQuoteContext InSingleQuote - (B.singleQuoted . B.trimInlines . mconcat <$> many1Till inline singleQuoteEnd) - -doubleQuoted :: PandocMonad m => TWParser m B.Inlines -doubleQuoted = try $ do - doubleQuoteStart - contents <- mconcat <$> many (try $ notFollowedBy doubleQuoteEnd >> inline) - withQuoteContext InDoubleQuote (doubleQuoteEnd >> - return (B.doubleQuoted $ B.trimInlines contents)) - <|> return (B.str "\8220" B.<> contents) +smart = smartPunctuation inline link :: PandocMonad m => TWParser m B.Inlines link = try $ do |