import Ġcom . github . aj alt . cli kt . core . Cli kt Command Ċ import Ġcom . github . aj alt . cli kt . parameters . arguments . argument Ċ import Ġcom . github . aj alt . cli kt . parameters . arguments . check Ċ import Ġcom . github . aj alt . cli kt . parameters . arguments . optional Ċ import Ġcom . github . aj alt . cli kt . parameters . options . check Ċ import Ġcom . github . aj alt . cli kt . parameters . options . flag Ċ import Ġcom . github . aj alt . cli kt . parameters . options . option Ċ import Ġcom . github . aj alt . cli kt . parameters . types . file Ċ import Ġru . h se . Java Unused Vars Rem over Ċ import Ġjava . io . File Ċ import Ġkotlin . system . exit Process Ċ Ċ fun Ġmain ( args : ĠArray < String >) Ġ= ĠRemove Unused (). main ( args ) Ċ Ċ private Ġclass ĠRemove Unused Ġ: ĠCli kt Command () Ġ{ ĊĠĠĠ Ġval Ġsave Original Layout : ĠBoolean Ġby Ġoption ("- r ", Ġ"-- raw ", Ġhelp Ġ= Ġ" Enable s Ġsaving Ġoriginal Ġlayout Ġof Ġcode ") ĊĠĠĠĠĠĠĠ Ġ. flag () ĊĠĠĠ Ġval ĠoutputFile : ĠFile ? Ġby Ġoption ("- o ", Ġ"-- output ", Ġhelp Ġ= Ġ" File Ġto Ġsave Ġresult "). file () ĊĠĠĠĠĠĠĠ Ġ. check (" File Ġshould Ġbe Ġcorrect ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ check Ġ! it . exists () Ġ|| Ġit . isFile Ġ&& Ġit . can Write () ĊĠĠĠ Ġ} ĊĠĠĠ Ġval Ġinput File : ĠFile ? Ġby Ġargument (" INPUT _ FILE "). file (). optional (). check (" File Ġshould Ġbe Ġcorrect ") Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn @ check Ġit . exists () Ġ&& Ġit . isFile Ġ&& Ġit . can Read () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġrun () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġremo ver Ġ= ĠJava Unused Vars Rem over () ĊĠĠĠĠĠĠĠ Ġval Ġinput Ġ= Ġinput File ?. read Text () Ġ?: ĠSystem .` in `. buffered Reader (). read Text () ĊĠĠĠĠĠĠĠ Ġval Ġoutput Ġ= Ġremo ver . remove Unused ( input , Ġsave Original Layout ) ĊĠĠĠĠĠĠĠ Ġif Ġ( output . is Failure ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" Failure : Ġ${ output . exception OrNull ()?. message }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexit Process ( 1 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġoutput . get OrThrow () ĊĠĠĠĠĠĠĠ ĠoutputFile ?. write Text ( result ) Ġ?: Ġprintln ( result ) ĊĠĠĠ Ġ} Ċ } Ċ