diff options
| author | Alexander Krotov <ilabdsf@gmail.com> | 2018-10-16 19:25:45 +0300 | 
|---|---|---|
| committer | Alexander Krotov <ilabdsf@gmail.com> | 2018-10-16 19:26:54 +0300 | 
| commit | 7f814c533988362b341ec64cf2b12a42d745975d (patch) | |
| tree | e9cef8f8e08e46e7d5a738ee41ff50d709af29b6 /src/Text/Pandoc/Readers | |
| parent | a5fc46cb8f3903dc4f2f42ed8bc2cd06c2fa2872 (diff) | |
| download | pandoc-7f814c533988362b341ec64cf2b12a42d745975d.tar.gz | |
Muse reader: simplify "atStart"
Diffstat (limited to 'src/Text/Pandoc/Readers')
| -rw-r--r-- | src/Text/Pandoc/Readers/Muse.hs | 11 | 
1 files changed, 6 insertions, 5 deletions
| diff --git a/src/Text/Pandoc/Readers/Muse.hs b/src/Text/Pandoc/Readers/Muse.hs index 06f35b1be..6acc88b3d 100644 --- a/src/Text/Pandoc/Readers/Muse.hs +++ b/src/Text/Pandoc/Readers/Muse.hs @@ -153,12 +153,11 @@ dropSpacePrefix lns =    where flns = filter (not . all (== ' ')) lns          maxIndent = if null flns then maximum (map length lns) else length $ takeWhile (== ' ') $ foldl1 commonPrefix flns -atStart :: PandocMonad m => MuseParser m a -> MuseParser m a -atStart p = do +atStart :: PandocMonad m => MuseParser m () +atStart = do    pos <- getPosition    st <- getState    guard $ museLastStrPos st /= Just pos -  p  firstColumn :: PandocMonad m => MuseParser m ()  firstColumn = getPosition >>= \pos -> guard (sourceColumn pos == 1) @@ -778,7 +777,8 @@ emphasisBetween :: (PandocMonad m, Show a)                  => MuseParser m a                  -> MuseParser m (F Inlines)  emphasisBetween p = try $ trimInlinesF . mconcat -  <$  atStart p +  <$  atStart +  <*  p    <*  notFollowedBy spaceChar    <*> many1Till inline p    <*  notFollowedBy alphaNum @@ -845,7 +845,8 @@ nbsp = try $ pure (B.str "\160") <$ string "~~"  -- | Parse code markup, indicated by @\'=\'@ characters.  code :: PandocMonad m => MuseParser m (F Inlines)  code = try $ fmap pure $ B.code . uncurry (++) -  <$  atStart (char '=') +  <$  atStart +  <*  char '='    <*  notFollowedBy (spaceChar <|> newline)    <*> manyUntil (noneOf "\n\r" <|> (newline <* notFollowedBy newline)) (try $ fmap pure $ noneOf " \t\n\r=" <* char '=')    <*  notFollowedBy alphaNum | 
