on master help sign in
Merge pull request #1176 from david-christiansen/init-banner

Allow the big startup banner to be disabled

commitde6bee56786b123eb9427db0aaf11a47bd60be6c authorDavid Christiansen <david@davidchristiansen.dk> dateFri 2 May 2014, 15:49 (12 years ago) parent7922bb647304d9
4 files changed+13−1
CHANGELOG+1 src/Idris/Completion.hs+1 src/Idris/REPL.hs+10−1 src/Idris/REPLParser.hs+1
CHANGELOG+1
@@ -12,6 +12,7 @@ New in 0.9.13:
1212* New (first class) nested record update/access syntax:
1313 record { a->b->c = val } x -- sets field accessed by c (b (a x)) to val
1414 record { a->b->c } x -- accesses field, equivalent to c (b (a x))
15+* The banner at startup can be suppressed by adding :set nobanner to the initialisation script.
1516
1617Internal changes
1718
src/Idris/Completion.hs+1
@@ -112,6 +112,7 @@ completeOption = completeWord Nothing " \t" completeOpt
112112 , "showimplicits"
113113 , "originalerrors"
114114 , "autosolve"
115+ , "nobanner"
115116 ]
116117
117118completeConsoleWidth :: CompletionFunc Idris
src/Idris/REPL.hs+10−1
@@ -1031,6 +1031,8 @@ process h fn (SetOpt ShowOrigErr) = setShowOrigErr True
10311031process h fn (UnsetOpt ShowOrigErr) = setShowOrigErr False
10321032process h fn (SetOpt AutoSolve) = setAutoSolve True
10331033process h fn (UnsetOpt AutoSolve) = setAutoSolve False
1034+process h fn (SetOpt NoBanner) = setNoBanner True
1035+process h fn (UnsetOpt NoBanner) = setNoBanner False
10341036
10351037process h fn (SetOpt _) = iPrintError "Not a valid option"
10361038process h fn (UnsetOpt _) = iPrintError "Not a valid option"
@@ -1352,6 +1354,7 @@ idrisMain opts =
13521354 setVerbose verbose
13531355 setCmdLine opts
13541356 setOutputTy outty
1357+ setNoBanner nobanner
13551358 setCodegen cgn
13561359 setTargetTriple trpl
13571360 setTargetCPU tcpu
@@ -1366,6 +1369,8 @@ idrisMain opts =
13661369 (d:_) -> setIBCSubDir d
13671370 setImportDirs importdirs
13681371
1372+ setNoBanner nobanner
1373+
13691374 when (not (NoBasePkgs `elem` opts)) $ do
13701375 addPkgDir "prelude"
13711376 addPkgDir "base"
@@ -1375,6 +1380,11 @@ idrisMain opts =
13751380 return ()
13761381 when (not (NoPrelude `elem` opts)) $ do x <- loadModule stdout "Prelude"
13771382 return ()
1383+
1384+ when (runrepl && not idesl) initScript
1385+
1386+ nobanner <- getNoBanner
1387+
13781388 when (runrepl &&
13791389 not quiet &&
13801390 not idesl &&
@@ -1425,7 +1435,6 @@ idrisMain opts =
14251435
14261436 when (runrepl && not idesl) $ do
14271437-- clearOrigPats
1428− initScript
14291438 startServer orig inputs
14301439 runInputT (replSettings (Just historyFile)) $ repl orig inputs
14311440 when (idesl) $ ideslaveStart orig inputs
src/Idris/REPLParser.hs+1
@@ -119,6 +119,7 @@ pOption = do discard (P.symbol "errorcontext"); return ErrContext
119119 <|> do discard (P.symbol "showimplicits"); return ShowImpl
120120 <|> do discard (P.symbol "originalerrors"); return ShowOrigErr
121121 <|> do discard (P.symbol "autosolve"); return AutoSolve
122+ <|> do discard (P.symbol "nobanner") ; return NoBanner
122123
123124codegenOption :: P.IdrisParser Codegen
124125codegenOption = do discard (P.symbol "javascript"); return ViaJavaScript