@@ -264,7 +264,7 @@ cabalVersionPrompt :: Interactive m => InitFlags -> m CabalSpecVersion
264
264
cabalVersionPrompt flags = getCabalVersion flags $ do
265
265
v <- promptList " Please choose version of the Cabal specification to use"
266
266
ppVersions
267
- (Just ppDefault)
267
+ (DefaultPrompt ppDefault)
268
268
(Just takeVersion)
269
269
False
270
270
-- take just the version numbers for convenience
@@ -301,12 +301,12 @@ packageNamePrompt srcDb flags = getPackageName flags $ do
301
301
Flag b -> return $ filePathToPkgName b
302
302
NoFlag -> currentDirPkgName
303
303
304
- go $ Just defName
304
+ go $ DefaultPrompt defName
305
305
where
306
306
go defName = prompt " Package name" defName >>= \ n ->
307
307
if isPkgRegistered n
308
308
then do
309
- don'tUseName <- promptYesNo (promptOtherNameMsg n) (Just True )
309
+ don'tUseName <- promptYesNo (promptOtherNameMsg n) (DefaultPrompt True )
310
310
if don'tUseName
311
311
then do
312
312
putStrLn (inUseMsg n)
@@ -326,7 +326,7 @@ versionPrompt :: Interactive m => InitFlags -> m Version
326
326
versionPrompt flags = getVersion flags go
327
327
where
328
328
go = do
329
- vv <- promptStr " Package version" (Just $ prettyShow defaultVersion)
329
+ vv <- promptStr " Package version" (DefaultPrompt $ prettyShow defaultVersion)
330
330
case simpleParsec vv of
331
331
Nothing -> do
332
332
putStrLn
@@ -339,7 +339,7 @@ licensePrompt :: Interactive m => InitFlags -> m SPDX.License
339
339
licensePrompt flags = getLicense flags $ do
340
340
l <- promptList " Please choose a license"
341
341
licenses
342
- Nothing
342
+ MandatoryPrompt
343
343
Nothing
344
344
True
345
345
@@ -353,24 +353,24 @@ licensePrompt flags = getLicense flags $ do
353
353
354
354
authorPrompt :: Interactive m => InitFlags -> m String
355
355
authorPrompt flags = getAuthor flags $
356
- promptStr " Author name" Nothing
356
+ promptStr " Author name" OptionalPrompt
357
357
358
358
emailPrompt :: Interactive m => InitFlags -> m String
359
359
emailPrompt flags = getEmail flags $
360
- promptStr " Maintainer email" Nothing
360
+ promptStr " Maintainer email" OptionalPrompt
361
361
362
362
homepagePrompt :: Interactive m => InitFlags -> m String
363
363
homepagePrompt flags = getHomepage flags $
364
- promptStr " Project homepage URL" Nothing
364
+ promptStr " Project homepage URL" OptionalPrompt
365
365
366
366
synopsisPrompt :: Interactive m => InitFlags -> m String
367
367
synopsisPrompt flags = getSynopsis flags $
368
- promptStr " Project synopsis" Nothing
368
+ promptStr " Project synopsis" OptionalPrompt
369
369
370
370
categoryPrompt :: Interactive m => InitFlags -> m String
371
371
categoryPrompt flags = getCategory flags $ promptList
372
372
" Project category" defaultCategories
373
- (Just " " ) (Just matchNone) True
373
+ (DefaultPrompt " " ) (Just matchNone) True
374
374
where
375
375
matchNone s
376
376
| null s = " (none)"
@@ -383,7 +383,7 @@ mainFilePrompt flags = getMainFile flags go
383
383
go = do
384
384
fp <- promptList " What is the main module of the executable"
385
385
[defaultMainIs', " Main.lhs" ]
386
- (Just defaultMainIs')
386
+ (DefaultPrompt defaultMainIs')
387
387
Nothing
388
388
True
389
389
@@ -402,14 +402,14 @@ mainFilePrompt flags = getMainFile flags go
402
402
403
403
testDirsPrompt :: Interactive m => InitFlags -> m [String ]
404
404
testDirsPrompt flags = getTestDirs flags $ do
405
- dir <- promptStr " Test directory" (Just defaultTestDir)
405
+ dir <- promptStr " Test directory" (DefaultPrompt defaultTestDir)
406
406
return [dir]
407
407
408
408
languagePrompt :: Interactive m => InitFlags -> String -> m Language
409
409
languagePrompt flags pkgType = getLanguage flags $ do
410
410
lang <- promptList (" Choose a language for your " ++ pkgType)
411
411
[" Haskell2010" , " Haskell98" ]
412
- (Just " Haskell2010" )
412
+ (DefaultPrompt " Haskell2010" )
413
413
Nothing
414
414
True
415
415
@@ -428,7 +428,7 @@ noCommentsPrompt :: Interactive m => InitFlags -> m Bool
428
428
noCommentsPrompt flags = getNoComments flags $ do
429
429
doComments <- promptYesNo
430
430
" Add informative comments to each field in the cabal file. (y/n)"
431
- (Just True )
431
+ (DefaultPrompt True )
432
432
433
433
--
434
434
-- if --no-comments is flagged, then we choose not to generate comments
@@ -443,7 +443,7 @@ appDirsPrompt :: Interactive m => InitFlags -> m [String]
443
443
appDirsPrompt flags = getAppDirs flags $ do
444
444
dir <- promptList promptMsg
445
445
[defaultApplicationDir, " exe" , " src-exe" ]
446
- (Just defaultApplicationDir)
446
+ (DefaultPrompt defaultApplicationDir)
447
447
Nothing
448
448
True
449
449
@@ -458,7 +458,7 @@ srcDirsPrompt :: Interactive m => InitFlags -> m [String]
458
458
srcDirsPrompt flags = getSrcDirs flags $ do
459
459
dir <- promptList " Library source directory"
460
460
[defaultSourceDir, " lib" , " src-lib" ]
461
- (Just defaultSourceDir)
461
+ (DefaultPrompt defaultSourceDir)
462
462
Nothing
463
463
True
464
464
0 commit comments