on master help sign in
Extract textUntilEol
6a10910Jason Felice
src/Idris/Package/Parser.hs+7−14
@@ -123,6 +123,8 @@ filename = (do
123 checkThat (path == takeFileName path)
123 checkThat (path == takeFileName path)
124 "filename must contain no directory component"
124 "filename must contain no directory component"
125
125
126+textUntilEol :: MonadicParsing m => m String
127+textUntilEol = many (P.satisfy (not . isEol)) <* eol <* P.someSpace
126
128
127pClause :: PParser ()
129pClause :: PParser ()
128pClause = do reserved "executable"; lchar '=';
130pClause = do reserved "executable"; lchar '=';
@@ -189,40 +191,31 @@ pClause = do reserved "executable"; lchar '=';
189
191
190 <|> do reserved "readme"
192 <|> do reserved "readme"
191 lchar '='
193 lchar '='
192− rme <- many (P.satisfy (not . isEol))
194+ rme <- textUntilEol
193− eol
194− P.someSpace
195 st <- get
195 st <- get
196 put (st { pkgreadme = Just rme })
196 put (st { pkgreadme = Just rme })
197
197
198 <|> do reserved "license"
198 <|> do reserved "license"
199 lchar '='
199 lchar '='
200− lStr <- many (P.satisfy (not . isEol))
200+ lStr <- textUntilEol
201− eol
202 st <- get
201 st <- get
203 put st {pkglicense = Just lStr}
202 put st {pkglicense = Just lStr}
204
203
205 <|> do reserved "homepage"
204 <|> do reserved "homepage"
206 lchar '='
205 lchar '='
207− www <- many (P.satisfy (not . isEol))
206+ www <- textUntilEol
208− eol
209− P.someSpace
210 st <- get
207 st <- get
211 put st {pkghomepage = Just www}
208 put st {pkghomepage = Just www}
212
209
213 <|> do reserved "sourceloc"
210 <|> do reserved "sourceloc"
214 lchar '='
211 lchar '='
215− srcpage <- many (P.satisfy (not . isEol))
212+ srcpage <- textUntilEol
216− eol
217− P.someSpace
218 st <- get
213 st <- get
219 put st {pkgsourceloc = Just srcpage}
214 put st {pkgsourceloc = Just srcpage}
220
215
221 <|> do reserved "bugtracker"
216 <|> do reserved "bugtracker"
222 lchar '='
217 lchar '='
223− src <- many (P.satisfy (not . isEol))
218+ src <- textUntilEol
224− eol
225− P.someSpace
226 st <- get
219 st <- get
227 put st {pkgbugtracker = Just src}
220 put st {pkgbugtracker = Just src}
228
221