aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorfiddlosopher <fiddlosopher@788f1e2b-df1e-0410-8736-df70ead52e1b>2007-07-22 21:01:17 +0000
committerfiddlosopher <fiddlosopher@788f1e2b-df1e-0410-8736-df70ead52e1b>2007-07-22 21:01:17 +0000
commitc1f397622dc0fb3643041f0099d6b5e004d03fd0 (patch)
tree57300572052bb6242c3de062756c113681d2dbf7 /src
parent3ca9932ca6a4d7ac7ca08bf06f4051674a2981f1 (diff)
downloadpandoc-c1f397622dc0fb3643041f0099d6b5e004d03fd0.tar.gz
Added a "try" to the end parser in enclosed (Text.Pandoc.ParserCombinators).
This makes errors in its use less likely. Removed some now-unneeded try's in calling code. git-svn-id: https://pandoc.googlecode.com/svn/trunk@776 788f1e2b-df1e-0410-8736-df70ead52e1b
Diffstat (limited to 'src')
-rw-r--r--src/Text/Pandoc/ParserCombinators.hs2
-rw-r--r--src/Text/Pandoc/Readers/LaTeX.hs8
-rw-r--r--src/Text/Pandoc/Readers/RST.hs19
3 files changed, 16 insertions, 13 deletions
diff --git a/src/Text/Pandoc/ParserCombinators.hs b/src/Text/Pandoc/ParserCombinators.hs
index 2e4c1413c..c49845597 100644
--- a/src/Text/Pandoc/ParserCombinators.hs
+++ b/src/Text/Pandoc/ParserCombinators.hs
@@ -76,7 +76,7 @@ enclosed :: GenParser Char st t -- ^ start parser
enclosed start end parser = try (do
start
notFollowedBy space
- result <- many1Till parser end
+ result <- many1Till parser (try end)
return result)
-- | Like @manyTill@, but reads at least one item.
diff --git a/src/Text/Pandoc/Readers/LaTeX.hs b/src/Text/Pandoc/Readers/LaTeX.hs
index feef85c2a..471417458 100644
--- a/src/Text/Pandoc/Readers/LaTeX.hs
+++ b/src/Text/Pandoc/Readers/LaTeX.hs
@@ -552,13 +552,11 @@ doubleQuoted = try (do
singleQuoteStart = char '`'
-singleQuoteEnd = try (do
- char '\''
- notFollowedBy alphaNum)
+singleQuoteEnd = char '\'' >> notFollowedBy alphaNum
-doubleQuoteStart = try (string "``")
+doubleQuoteStart = string "``"
-doubleQuoteEnd = try (string "''")
+doubleQuoteEnd = string "''"
ellipses = try (do
string "\\ldots"
diff --git a/src/Text/Pandoc/Readers/RST.hs b/src/Text/Pandoc/Readers/RST.hs
index 36d0f8403..7fed7cbd3 100644
--- a/src/Text/Pandoc/Readers/RST.hs
+++ b/src/Text/Pandoc/Readers/RST.hs
@@ -536,12 +536,9 @@ regularKey = try $ do
-- inline
--
-text = choice [ strong, emph, code, str, tabchar, whitespace,
- endline ] <?> "text"
-
-inline = choice [ escapedChar, special, hyphens, text, symbol ] <?> "inline"
-
-special = choice [ link, image ] <?> "link, inline html, or image"
+inline = choice [ escapedChar, link, image, hyphens, strong, emph,
+ superscript, subscript, code,
+ str, tabchar, whitespace, endline, symbol ] <?> "inline"
hyphens = try (do
result <- many1 (char '-')
@@ -567,9 +564,17 @@ emph = do
return (Emph (normalizeSpaces result))
strong = do
- result <- enclosed (try (string "**")) (try (string "**")) inline
+ result <- enclosed (string "**") (string "**") inline
return (Strong (normalizeSpaces result))
+superscript = do
+ result <- enclosed (string "\\ :sup:`") (string "`\\ ") anyChar
+ return (Superscript [Str result])
+
+subscript = do
+ result <- enclosed (string "\\ :sub:`") (string "`\\ ") anyChar
+ return (Subscript [Str result])
+
whitespace = do
many1 spaceChar <?> "whitespace"
return Space