on master help sign in
Make the REPL header colorful
93332f8Evan Czaplicki
ui/terminal/src/Repl.hs+14−8
@@ -30,6 +30,8 @@ import qualified Elm.Project as Project
30import qualified Elm.Package as Pkg
30import qualified Elm.Package as Pkg
31import qualified Elm.PerUserCache as PerUserCache
31import qualified Elm.PerUserCache as PerUserCache
32import qualified Parse.Repl as Elm
32import qualified Parse.Repl as Elm
33+import Reporting.Doc ((<+>))
34+import qualified Reporting.Doc as D
33import qualified Reporting.Task as Task
35import qualified Reporting.Task as Task
34import qualified Reporting.Progress.Repl as Repl
36import qualified Reporting.Progress.Repl as Repl
35
37
@@ -48,7 +50,7 @@ run :: () -> Flags -> IO ()
48run () (Flags maybeAlternateInterpreter) =
50run () (Flags maybeAlternateInterpreter) =
49 do interpreter <- getInterpreter maybeAlternateInterpreter
51 do interpreter <- getInterpreter maybeAlternateInterpreter
50 _ <- Project.getRootWithReplFallback
52 _ <- Project.getRootWithReplFallback
51− putStrLn welcomeMessage
53+ printWelcomeMessage
52 settings <- initSettings
54 settings <- initSettings
53 let manager = Repl.runInputT settings (Repl.withInterrupt loop)
55 let manager = Repl.runInputT settings (Repl.withInterrupt loop)
54 (exitCode,_,_) <- RWS.runRWST manager interpreter initalState
56 (exitCode,_,_) <- RWS.runRWST manager interpreter initalState
@@ -308,15 +310,19 @@ addMatch string isFinished name _ completions =
308-- WELCOME
310-- WELCOME
309
311
310
312
311−welcomeMessage :: String
313+printWelcomeMessage :: IO ()
312−welcomeMessage =
314+printWelcomeMessage =
313 let
315 let
314− starter =
315− "---- Elm " ++ elmVersion ++ " "
316+ title = "Elm" <+> D.fromString elmVersion
317+ dashes = replicate (70 - length elmVersion) '-'
316 in
318 in
317− starter ++ replicate (80 - length starter) '-' ++ "\n"
319+ D.toAnsi IO.stdout $
320+ D.vcat
321+ [ D.black "----" <+> D.dullcyan title <+> D.black (D.fromString dashes)
318− ++ " :help for help, :exit to exit, more at <https://github.com/elm-lang/elm-repl>\n"
322+ , D.black " :help for help, :exit to exit, more at <https://github.com/elm-lang/elm-repl>"
319− ++ "--------------------------------------------------------------------------------"
323+ , D.black "--------------------------------------------------------------------------------"
324+ , D.empty
325+ ]
320
326
321
327
322elmVersion :: String
328elmVersion :: String