git.iko.soy/typeable/pandoc
on master help sign in
Removed unneeded try's in RST reader; also minor code cleanup.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@959 788f1e2b-df1e-0410-8736-df70ead52e1b

commit451b426fd60d1e400eb2d1dae17533fdf4eb6c25 authorfiddlosopher <fiddlosopher@788f1e2b-df1e-0410-8736-df70ead52e1b> dateWed 29 Aug 2007, 20:39 (19 years ago) parent2a37d8d
1 file changed+17−23
src/Text/Pandoc/Readers/RST.hs+17−23
src/Text/Pandoc/Readers/RST.hs+17−23
@@ -179,7 +179,7 @@ lineBlock = try $ do
179179
180180para = paraBeforeCodeBlock <|> paraNormal <?> "paragraph"
181181
182−codeBlockStart = try $ string "::" >> blankline >> blankline
182+codeBlockStart = string "::" >> blankline >> blankline
183183
184184-- paragraph that ends in a :: starting a code block
185185paraBeforeCodeBlock = try $ do
@@ -260,16 +260,14 @@ singleHeader = try $ do
260260-- hrule block
261261--
262262
263−hruleWith chr = try $ do
264− count 4 (char chr)
263+hrule = try $ do
264+ chr <- oneOf underlineChars
265+ count 3 (char chr)
265266 skipMany (char chr)
266− skipSpaces
267− newline
267+ blankline
268268 blanklines
269269 return HorizontalRule
270270
271−hrule = choice (map hruleWith underlineChars) <?> "hrule"
272−
273271--
274272-- code blocks
275273--
@@ -325,7 +323,7 @@ rawLaTeXBlock = try $ do
325323-- block quotes
326324--
327325
328−blockQuote = try $ do
326+blockQuote = do
329327 raw <- indentedBlock True
330328 -- parse the extracted block, which may contain various block elements:
331329 contents <- parseFromString parseBlocks $ raw ++ "\n\n"
@@ -344,9 +342,7 @@ definitionListItem = try $ do
344342 contents <- parseFromString parseBlocks $ raw ++ "\n\n"
345343 return (normalizeSpaces term, contents)
346344
347−definitionList = try $ do
348− items <- many1 definitionListItem
349− return $ DefinitionList items
345+definitionList = many1 definitionListItem >>= return . DefinitionList
350346
351347-- parses bullet list start and returns its length (inc. following whitespace)
352348bulletListStart = try $ do
@@ -378,7 +374,7 @@ indentWith num = do
378374 (try (char '\t' >> count (num - tabStop) (char ' '))) ]
379375
380376-- parse raw text for one list item, excluding start marker and continuations
381−rawListItem start = try $ do
377+rawListItem start = do
382378 markerLength <- start
383379 firstLine <- manyTill anyChar newline
384380 restLines <- many (listLine markerLength)
@@ -408,16 +404,14 @@ listItem start = try $ do
408404 updateState (\st -> st {stateParserContext = oldContext})
409405 return parsed
410406
411−orderedList = try $ do
407+orderedList = do
412408 (start, style, delim) <- lookAhead (anyOrderedListMarker >>~ spaceChar)
413409 items <- many1 (listItem (orderedListStart style delim))
414410 let items' = compactify items
415411 return $ OrderedList (start, style, delim) items'
416412
417−bulletList = try $ do
418− items <- many1 (listItem bulletListStart)
419− let items' = compactify items
420− return $ BulletList items'
413+bulletList = many1 (listItem bulletListStart) >>=
414+ return . BulletList . compactify
421415
422416--
423417-- unknown directive (e.g. comment)
@@ -439,7 +433,7 @@ referenceKey =
439433 choice [imageKey, anonymousKey, regularKeyQuoted, regularKey] >>~
440434 optional blanklines
441435
442−targetURI = try $ do
436+targetURI = do
443437 skipSpaces
444438 optional newline
445439 contents <- many1 (try (many spaceChar >> newline >>
@@ -492,7 +486,7 @@ inline = choice [ link
492486 , escapedChar
493487 , symbol ] <?> "inline"
494488
495−hyphens = try $ do
489+hyphens = do
496490 result <- many1 (char '-')
497491 option Space endline
498492 -- don't want to treat endline after hyphen or dash as a space
@@ -538,7 +532,7 @@ endline = try $ do
538532 notFollowedBy blankline
539533 -- parse potential list-starts at beginning of line differently in a list:
540534 st <- getState
541− if ((stateParserContext st) == ListItemState)
535+ if (stateParserContext st) == ListItemState
542536 then notFollowedBy (anyOrderedListMarker >> spaceChar) >>
543537 notFollowedBy' bulletListStart
544538 else return ()
@@ -595,7 +589,7 @@ uri = try $ do
595589 identifier <- many1 (noneOf " \t\n")
596590 return $ scheme ++ identifier
597591
598−autoURI = try $ do
592+autoURI = do
599593 src <- uri
600594 return $ Link [Str src] (src, "")
601595
@@ -611,12 +605,12 @@ emailAddress = try $ do
611605
612606domainChar = alphaNum <|> char '-'
613607
614−domain = try $ do
608+domain = do
615609 first <- many1 domainChar
616610 dom <- many1 (try (do{ char '.'; many1 domainChar }))
617611 return $ joinWithSep "." (first:dom)
618612
619−autoEmail = try $ do
613+autoEmail = do
620614 src <- emailAddress
621615 return $ Link [Str src] ("mailto:" ++ src, "")
622616