From 42ade05ebe62b7995f87ea99fc10e78fedd8d349 Mon Sep 17 00:00:00 2001 From: fiddlosopher Date: Wed, 7 Mar 2007 03:01:43 +0000 Subject: Smart quote parsing in Markdown reader: treat ' followed by ll, re, ve, then a non-letter, as a contraction. (e.g. I've, you're, he'll) git-svn-id: https://pandoc.googlecode.com/svn/trunk@559 788f1e2b-df1e-0410-8736-df70ead52e1b --- src/Text/Pandoc/Readers/Markdown.hs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/Text/Pandoc/Readers') diff --git a/src/Text/Pandoc/Readers/Markdown.hs b/src/Text/Pandoc/Readers/Markdown.hs index 8fd256c4f..691a1c7f2 100644 --- a/src/Text/Pandoc/Readers/Markdown.hs +++ b/src/Text/Pandoc/Readers/Markdown.hs @@ -32,7 +32,7 @@ module Text.Pandoc.Readers.Markdown ( ) where import Data.List ( findIndex, sortBy, transpose, isSuffixOf, intersect ) -import Data.Char ( isAlphaNum ) +import Data.Char ( isAlphaNum, toUpper ) import Text.ParserCombinators.Pandoc import Text.Pandoc.Definition import Text.Pandoc.Readers.LaTeX ( rawLaTeXInline, rawLaTeXEnvironment ) @@ -778,7 +778,9 @@ singleQuoteStart = try $ do char '\'' notFollowedBy (oneOf ")!],.;:-? \t\n") notFollowedBy (try (do -- possessive or contraction - oneOf "sStT" + let endings = ["s","t","ve","ll","re"] + oneOfStrings (endings ++ + map (map toUpper) endings) satisfy (not . isAlphaNum))) return '\'' -- cgit v1.2.3