package Ġcom . jon as wan ke . unic orn . console Ċ Ċ import Ġcom . github . aj alt . cli kt . output . Cli kt Console Ċ import Ġcom . github . aj alt . cli kt . output . Term Ui Ċ import Ġcom . jon as wan ke . unic orn . core . Interactive Run Context Ċ import Ġcom . jon as wan ke . unic orn . core . Log Collector Ċ import Ġcom . jon as wan ke . unic orn . core . Log Collector . Priority Ċ import Ġcom . jon as wan ke . unic orn . utils . Markup Ċ import Ġcom . jon as wan ke . unic orn . utils . Text Io Console Ċ import Ġjava . io . File Ċ Ċ class ĠConsole Run Context Ġprivate Ġconstructor ( ĊĠĠĠ Ġoverride Ġvar Ġproject Dir : ĠFile , ĊĠĠĠ Ġval Ġconsole : ĠCli kt Console , ĊĠĠĠ Ġoverride Ġval Ġlog : ĠLog Collector Ġ= ĠConsole Log Collector ( Priority . INFO ) Ċ ) Ġ: ĠInteractive Run Context () Ġ{ ĊĠĠĠ Ġconstructor ( ĊĠĠĠĠĠĠĠ Ġproject Dir : ĠFile , ĊĠĠĠĠĠĠĠ Ġconsole : ĠCli kt Console , ĊĠĠĠĠĠĠĠ Ġmin Log Priority : ĠPriority Ġ= ĠPriority . INFO ĊĠĠĠ Ġ) Ġ: Ġthis ( project Dir , Ġconsole , ĠConsole Log Collector ( min Log Priority )) ĊĊĠĠĠ Ġoverride Ġval Ġenvironment Ġ= ĠEnvironment . CONSOLE ĊĊĠĠĠ Ġoverride Ġfun Ġcopy With Group ( group : ĠLog Collector . Group ) Ġ= ĠConsole Run Context ( project Dir , Ġconsole , Ġgroup ) Ċ } Ċ Ċ class ĠConsole Log Collector ( ĊĠĠĠ Ġval Ġmin Log Priority : ĠPriority Ġ= ĠPriority . INFO Ċ ) Ġ: ĠLog Collector Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġlog ( ĊĠĠĠĠĠĠĠ Ġpriority : ĠPriority , ĊĠĠĠĠĠĠĠ Ġmarkup : ĠMark up , ĊĠĠĠĠĠĠĠ Ġgroups : ĠList < Log Collector . Group >, ĊĠĠĠĠĠĠĠ Ġfile : ĠFile ?, ĊĠĠĠĠĠĠĠ Ġline : ĠInt ?, ĊĠĠĠĠĠĠĠ Ġcol : ĠInt ? ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( priority Ġ< Ġmin Log Priority ) Ġreturn ĊĊĠĠĠĠĠĠĠ ĠTerm Ui . echo ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmarkup . to Console String (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġerr Ġ= Ġpriority Ġin ĠlistOf ( Priority . WARNING , ĠPriority . ERROR , ĠPriority . W TF ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconsole Ġ= ĠText Io Console ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ