@@ -264,7 +264,7 @@ cabalVersionPrompt :: Interactive m => InitFlags -> m CabalSpecVersion
264264cabalVersionPrompt flags = getCabalVersion flags $ do
265265 v <- promptList " Please choose version of the Cabal specification to use"
266266 ppVersions
267- (Just ppDefault)
267+ (DefaultPrompt ppDefault)
268268 (Just takeVersion)
269269 False
270270 -- take just the version numbers for convenience
@@ -301,12 +301,12 @@ packageNamePrompt srcDb flags = getPackageName flags $ do
301301 Flag b -> return $ filePathToPkgName b
302302 NoFlag -> currentDirPkgName
303303
304- go $ Just defName
304+ go $ DefaultPrompt defName
305305 where
306306 go defName = prompt " Package name" defName >>= \ n ->
307307 if isPkgRegistered n
308308 then do
309- don'tUseName <- promptYesNo (promptOtherNameMsg n) (Just True )
309+ don'tUseName <- promptYesNo (promptOtherNameMsg n) (DefaultPrompt True )
310310 if don'tUseName
311311 then do
312312 putStrLn (inUseMsg n)
@@ -326,7 +326,7 @@ versionPrompt :: Interactive m => InitFlags -> m Version
326326versionPrompt flags = getVersion flags go
327327 where
328328 go = do
329- vv <- promptStr " Package version" (Just $ prettyShow defaultVersion)
329+ vv <- promptStr " Package version" (DefaultPrompt $ prettyShow defaultVersion)
330330 case simpleParsec vv of
331331 Nothing -> do
332332 putStrLn
@@ -339,7 +339,7 @@ licensePrompt :: Interactive m => InitFlags -> m SPDX.License
339339licensePrompt flags = getLicense flags $ do
340340 l <- promptList " Please choose a license"
341341 licenses
342- Nothing
342+ MandatoryPrompt
343343 Nothing
344344 True
345345
@@ -353,24 +353,24 @@ licensePrompt flags = getLicense flags $ do
353353
354354authorPrompt :: Interactive m => InitFlags -> m String
355355authorPrompt flags = getAuthor flags $
356- promptStr " Author name" Nothing
356+ promptStr " Author name" OptionalPrompt
357357
358358emailPrompt :: Interactive m => InitFlags -> m String
359359emailPrompt flags = getEmail flags $
360- promptStr " Maintainer email" Nothing
360+ promptStr " Maintainer email" OptionalPrompt
361361
362362homepagePrompt :: Interactive m => InitFlags -> m String
363363homepagePrompt flags = getHomepage flags $
364- promptStr " Project homepage URL" Nothing
364+ promptStr " Project homepage URL" OptionalPrompt
365365
366366synopsisPrompt :: Interactive m => InitFlags -> m String
367367synopsisPrompt flags = getSynopsis flags $
368- promptStr " Project synopsis" Nothing
368+ promptStr " Project synopsis" OptionalPrompt
369369
370370categoryPrompt :: Interactive m => InitFlags -> m String
371371categoryPrompt flags = getCategory flags $ promptList
372372 " Project category" defaultCategories
373- (Just " " ) (Just matchNone) True
373+ (DefaultPrompt " " ) (Just matchNone) True
374374 where
375375 matchNone s
376376 | null s = " (none)"
@@ -383,7 +383,7 @@ mainFilePrompt flags = getMainFile flags go
383383 go = do
384384 fp <- promptList " What is the main module of the executable"
385385 [defaultMainIs', " Main.lhs" ]
386- (Just defaultMainIs')
386+ (DefaultPrompt defaultMainIs')
387387 Nothing
388388 True
389389
@@ -402,14 +402,14 @@ mainFilePrompt flags = getMainFile flags go
402402
403403testDirsPrompt :: Interactive m => InitFlags -> m [String ]
404404testDirsPrompt flags = getTestDirs flags $ do
405- dir <- promptStr " Test directory" (Just defaultTestDir)
405+ dir <- promptStr " Test directory" (DefaultPrompt defaultTestDir)
406406 return [dir]
407407
408408languagePrompt :: Interactive m => InitFlags -> String -> m Language
409409languagePrompt flags pkgType = getLanguage flags $ do
410410 lang <- promptList (" Choose a language for your " ++ pkgType)
411411 [" Haskell2010" , " Haskell98" ]
412- (Just " Haskell2010" )
412+ (DefaultPrompt " Haskell2010" )
413413 Nothing
414414 True
415415
@@ -428,7 +428,7 @@ noCommentsPrompt :: Interactive m => InitFlags -> m Bool
428428noCommentsPrompt flags = getNoComments flags $ do
429429 doComments <- promptYesNo
430430 " Add informative comments to each field in the cabal file. (y/n)"
431- (Just True )
431+ (DefaultPrompt True )
432432
433433 --
434434 -- if --no-comments is flagged, then we choose not to generate comments
@@ -443,7 +443,7 @@ appDirsPrompt :: Interactive m => InitFlags -> m [String]
443443appDirsPrompt flags = getAppDirs flags $ do
444444 dir <- promptList promptMsg
445445 [defaultApplicationDir, " exe" , " src-exe" ]
446- (Just defaultApplicationDir)
446+ (DefaultPrompt defaultApplicationDir)
447447 Nothing
448448 True
449449
@@ -458,7 +458,7 @@ srcDirsPrompt :: Interactive m => InitFlags -> m [String]
458458srcDirsPrompt flags = getSrcDirs flags $ do
459459 dir <- promptList " Library source directory"
460460 [defaultSourceDir, " lib" , " src-lib" ]
461- (Just defaultSourceDir)
461+ (DefaultPrompt defaultSourceDir)
462462 Nothing
463463 True
464464
0 commit comments