Skip to content

Commit 9d1dda0

Browse files
committed
Simplify guess functions
1 parent 42137d9 commit 9d1dda0

File tree

2 files changed

+8
-20
lines changed

2 files changed

+8
-20
lines changed

cabal-install/src/Distribution/Client/Init/Interactive/Command.hs

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -355,14 +355,10 @@ licensePrompt flags = getLicense flags $ do
355355
else fmap prettyShow knownLicenses
356356

357357
authorPrompt :: Interactive m => InitFlags -> m String
358-
authorPrompt flags = getAuthor flags $ do
359-
name <- guessAuthorName
360-
promptOrDefault name "Author name"
358+
authorPrompt flags = getAuthor flags $ guessAuthorName >>= promptOrDefault "Author name"
361359

362360
emailPrompt :: Interactive m => InitFlags -> m String
363-
emailPrompt flags = getEmail flags $ do
364-
email' <- guessAuthorEmail
365-
promptOrDefault email' "Maintainer email"
361+
emailPrompt flags = getEmail flags $ guessAuthorEmail >>= promptOrDefault "Maintainer email"
366362

367363
homepagePrompt :: Interactive m => InitFlags -> m String
368364
homepagePrompt flags = getHomepage flags $
@@ -468,7 +464,5 @@ srcDirsPrompt flags = getSrcDirs flags $ do
468464

469465
return [dir]
470466

471-
promptOrDefault :: Interactive m => Maybe String -> String -> m String
472-
promptOrDefault m s = case m of
473-
Nothing -> promptStr s MandatoryPrompt
474-
Just d -> promptStr s (DefaultPrompt d)
467+
promptOrDefault :: Interactive m => String -> Maybe String -> m String
468+
promptOrDefault s = maybe (promptStr s MandatoryPrompt) (promptStr s . DefaultPrompt)

cabal-install/src/Distribution/Client/Init/NonInteractive/Command.hs

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -276,20 +276,14 @@ licenseHeuristics flags = getLicense flags $ guessLicense flags
276276
-- | The author's name. Prompt, or try to guess from an existing
277277
-- git repo.
278278
authorHeuristics :: Interactive m => InitFlags -> m String
279-
authorHeuristics flags = do
280-
email' <- guessAuthorEmail
281-
case email' of
282-
Just n -> getAuthor flags $ return n
283-
Nothing -> getAuthor flags $ return ""
279+
authorHeuristics flags = guessAuthorEmail >>=
280+
maybe (getAuthor flags $ return "") (getAuthor flags . return)
284281

285282
-- | The author's email. Prompt, or try to guess from an existing
286283
-- git repo.
287284
emailHeuristics :: Interactive m => InitFlags -> m String
288-
emailHeuristics flags = do
289-
name' <- guessAuthorName
290-
case name' of
291-
Just n -> getEmail flags $ return n
292-
Nothing -> getEmail flags $ return ""
285+
emailHeuristics flags = guessAuthorName >>=
286+
maybe (getEmail flags $ return "") (getEmail flags . return)
293287

294288
-- | Prompt for a homepage URL for the package.
295289
homepageHeuristics :: Interactive m => InitFlags -> m String

0 commit comments

Comments
 (0)