on master help sign in
Merge pull request #675 from cgswords/master
027bd15Edwin Brady
src/Idris/AbsSyntax.hs+11
@@ -426,6 +426,17 @@ setREPL t = do i <- getIState
426 let opt' = opts { opt_repl = t }
426 let opt' = opts { opt_repl = t }
427 putIState $ i { idris_options = opt' }
427 putIState $ i { idris_options = opt' }
428
428
429+setNoBanner :: Bool -> Idris ()
430+setNoBanner n = do i <- getIState
431+ let opts = idris_options i
432+ let opt' = opts {opt_nobanner = n}
433+ putIState $ i { idris_options = opt' }
434+
435+getNoBanner :: Idris Bool
436+getNoBanner = do i <- getIState
437+ let opts = idris_options i
438+ return (opt_nobanner opts)
439+
429setQuiet :: Bool -> Idris ()
440setQuiet :: Bool -> Idris ()
430setQuiet q = do i <- getIState
441setQuiet q = do i <- getIState
431 let opts = idris_options i
442 let opts = idris_options i
src/Idris/AbsSyntaxTree.hs+3
@@ -37,6 +37,7 @@ data IOption = IOption { opt_logLevel :: Int,
37 opt_errContext :: Bool,
37 opt_errContext :: Bool,
38 opt_repl :: Bool,
38 opt_repl :: Bool,
39 opt_verbose :: Bool,
39 opt_verbose :: Bool,
40+ opt_nobanner :: Bool,
40 opt_quiet :: Bool,
41 opt_quiet :: Bool,
41 opt_codegen :: Codegen,
42 opt_codegen :: Codegen,
42 opt_outputTy :: OutputType,
43 opt_outputTy :: OutputType,
@@ -57,6 +58,7 @@ defaultOpts = IOption { opt_logLevel = 0
57 , opt_errContext = False
58 , opt_errContext = False
58 , opt_repl = True
59 , opt_repl = True
59 , opt_verbose = True
60 , opt_verbose = True
61+ , opt_nobanner = False
60 , opt_quiet = False
62 , opt_quiet = False
61 , opt_codegen = ViaC
63 , opt_codegen = ViaC
62 , opt_outputTy = Executable
64 , opt_outputTy = Executable
@@ -257,6 +259,7 @@ data Opt = Filename String
257 | Ver
259 | Ver
258 | Usage
260 | Usage
259 | Quiet
261 | Quiet
262+ | NoBanner
260 | ColourREPL Bool
263 | ColourREPL Bool
261 | Ideslave
264 | Ideslave
262 | ShowLibs
265 | ShowLibs
src/Idris/REPL.hs+3−1
@@ -944,6 +944,7 @@ parseCodegen _ = error "unknown codegen" -- FIXME: partial function
944
944
945parseArgs :: [String] -> [Opt]
945parseArgs :: [String] -> [Opt]
946parseArgs [] = []
946parseArgs [] = []
947+parseArgs ("--nobanner":ns) = NoBanner : (parseArgs ns)
947parseArgs ("--quiet":ns) = Quiet : (parseArgs ns)
948parseArgs ("--quiet":ns) = Quiet : (parseArgs ns)
948parseArgs ("--ideslave":ns) = Ideslave : (parseArgs ns)
949parseArgs ("--ideslave":ns) = Ideslave : (parseArgs ns)
949parseArgs ("--client":ns) = [Client (showSep " " ns)]
950parseArgs ("--client":ns) = [Client (showSep " " ns)]
@@ -1085,6 +1086,7 @@ idrisMain :: [Opt] -> Idris ()
1085idrisMain opts =
1086idrisMain opts =
1086 do let inputs = opt getFile opts
1087 do let inputs = opt getFile opts
1087 let quiet = Quiet `elem` opts
1088 let quiet = Quiet `elem` opts
1089+ let nobanner = NoBanner `elem` opts
1088 let idesl = Ideslave `elem` opts
1090 let idesl = Ideslave `elem` opts
1089 let runrepl = not (NoREPL `elem` opts)
1091 let runrepl = not (NoREPL `elem` opts)
1090 let output = opt getOutput opts
1092 let output = opt getOutput opts
@@ -1146,7 +1148,7 @@ idrisMain opts =
1146 return ()
1148 return ()
1147 when (not (NoPrelude `elem` opts)) $ do x <- loadModule stdout "Prelude"
1149 when (not (NoPrelude `elem` opts)) $ do x <- loadModule stdout "Prelude"
1148 return ()
1150 return ()
1149− when (runrepl && not quiet && not idesl && not (isJust script)) $ iputStrLn banner
1151+ when (runrepl && not quiet && not idesl && not (isJust script) && not nobanner) $ iputStrLn banner
1150 ist <- getIState
1152 ist <- getIState
1151
1153
1152 loadInputs stdout inputs
1154 loadInputs stdout inputs