on master help sign in
Merge pull request #1089 from david-christiansen/issue/1024
35a6062Edwin Brady
src/Idris/ParseHelpers.hs+5−2
@@ -156,9 +156,11 @@ multiLineComment = try (string "{-" *> (string "-}") *> pure ())
156docComment :: IdrisParser (Docstring, [(Name, Docstring)])
156docComment :: IdrisParser (Docstring, [(Name, Docstring)])
157docComment = do dc <- pushIndent *> docCommentLine
157docComment = do dc <- pushIndent *> docCommentLine
158 rest <- many (indented docCommentLine)
158 rest <- many (indented docCommentLine)
159− args <- many (indented argDocCommentLine)
159+ args <- many $ do (name, first) <- indented argDocCommentLine
160+ rest <- many (indented docCommentLine)
161+ return (name, concat (intersperse "\n" (first:rest)))
160 popIndent
162 popIndent
161− return (parseDocstring $ T.pack (concat . intersperse "\n" $ dc:rest),
163+ return (parseDocstring $ T.pack (concat (intersperse "\n" (dc:rest))),
162 map (\(n, d) -> (n, parseDocstring (T.pack d))) args)
164 map (\(n, d) -> (n, parseDocstring (T.pack d))) args)
163
165
164 where docCommentLine :: MonadicParsing m => m String
166 where docCommentLine :: MonadicParsing m => m String
@@ -170,6 +172,7 @@ docComment = do dc <- pushIndent *> docCommentLine
170 eol ; someSpace
172 eol ; someSpace
171 return contents)-- ++ concat rest))
173 return contents)-- ++ concat rest))
172 <?> ""
174 <?> ""
175+
173 argDocCommentLine = do string "|||"
176 argDocCommentLine = do string "|||"
174 many (satisfy isSpace)
177 many (satisfy isSpace)
175 char '@'
178 char '@'