Skip to content

Commit 8df0d02

Browse files
committed
Extract do blocks
1 parent fd9c16c commit 8df0d02

File tree

1 file changed

+12
-17
lines changed

1 file changed

+12
-17
lines changed

src/Strategy/Go/Gomod.hs

Lines changed: 12 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -218,24 +218,19 @@ parsePackageVersion lexify = parseSemOrPseudo <|> parseNonCanonical
218218

219219
gomodParser :: Parser Gomod
220220
gomodParser = do
221+
let emptyGoMod = do
222+
eof
223+
pure ("", [])
224+
let nonEmptyGoMod = do
225+
_ <- lexeme (chunk "module")
226+
name <- modulePath
227+
_ <- scn
228+
statements <- many (statement <* scn)
229+
eof
230+
pure (name, statements)
231+
221232
_ <- scn
222-
(name, statements) <-
223-
choice
224-
[ -- Non-empty go.mod file
225-
( do
226-
_ <- lexeme (chunk "module")
227-
name <- modulePath
228-
_ <- scn
229-
statements <- many (statement <* scn)
230-
eof
231-
pure (name, statements)
232-
)
233-
, -- Empty go.mod file
234-
( do
235-
eof
236-
pure ("", [])
237-
)
238-
]
233+
(name, statements) <- choice [nonEmptyGoMod, emptyGoMod]
239234

240235
let statements' = concat statements
241236

0 commit comments

Comments
 (0)