package Ġio . paddle . terminal Ċ Ċ class ĠTerminal ( private Ġval Ġoutput : ĠText Output ) Ġ{ ĊĠĠĠ Ġval Ġcommands Ġ= ĠCommand Output ( output ) ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠRESET _ COLOR Ġ= Ġ"\ u 0 0 1 B [ 0 m " ĊĊĠĠĠĠĠĠĠ Ġfun Ġde color ( message : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġresult Ġ= Ġmessage ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( color Ġin ĠColor . values (). map Ġ{ Ġit . char Ġ} Ġ+ ĠRESET _ COLOR ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ= Ġresult . replace ( color , Ġ"") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġcolored ( message : ĠString , Ġcolor : ĠColor ): ĠString Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġcolor . char Ġ+ Ġmessage Ġ+ ĠRESET _ COLOR ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġenum Ġclass ĠColor ( val Ġchar : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ ĠBLACK ("\ u 0 0 1 B [ 3 0 m "), ĊĠĠĠĠĠĠĠ ĠRED ("\ u 0 0 1 B [ 3 1 m "), ĊĠĠĠĠĠĠĠ ĠGREEN ("\ u 0 0 1 B [ 3 2 m "), ĊĠĠĠĠĠĠĠ ĠY ELLOW ("\ u 0 0 1 B [ 3 3 m "), ĊĠĠĠĠĠĠĠ ĠBL UE ("\ u 0 0 1 B [ 3 4 m "), ĊĠĠĠĠĠĠĠ ĠP UR PLE ("\ u 0 0 1 B [ 3 5 m "), ĊĠĠĠĠĠĠĠ ĠCY AN ("\ u 0 0 1 B [ 3 6 m "), ĊĠĠĠĠĠĠĠ ĠWH ITE ("\ u 0 0 1 B [ 3 7 m ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġstdout ( message : ĠString , Ġnewline : ĠBoolean Ġ= Ġtrue ) Ġ{ ĊĠĠĠĠĠĠĠ Ġoutput . stdout ( message ) ĊĠĠĠĠĠĠĠ Ġif Ġ( newline ) Ġoutput . stdout ("\ n ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġstderr ( message : ĠString , Ġnewline : ĠBoolean Ġ= Ġtrue ) Ġ{ ĊĠĠĠĠĠĠĠ Ġoutput . stderr ( message ) ĊĠĠĠĠĠĠĠ Ġif Ġ( newline ) Ġoutput . stdout ("\ n ") ĊĠĠĠ Ġ} Ċ } Ċ