package Ġcom . github . push p avel . autoc p . build Ċ Ċ import Ġcom . github . push p avel . autoc p . common . res . R Ċ import Ġcom . github . push p avel . autoc p . common . ui . swing . Tile Cell Renderer Ċ import Ġcom . intellij . openapi . file Types . FileType Manager Ċ import Ġcom . intellij . openapi . file Types . Language FileType Ċ import Ġcom . intellij . openapi . project . Project Ċ import Ġjava . nio . file . Paths Ċ import Ġkotlin . io . path . Path Ċ import Ġkotlin . io . path . path String Ċ Ċ data Ġclass ĠLang ( ĊĠĠĠ Ġval Ġextension : ĠString , ĊĠĠĠ Ġval Ġbuild Command : ĠString ?, ĊĠĠĠ Ġval Ġexecute Command : ĠString , ĊĠĠĠ Ġval Ġis Default : ĠBoolean , Ċ ) Ġ{ ĊĊĊĠĠĠ Ġfun Ġconstruct Build Command ( project : ĠProject , Ġinput Path : ĠString , Ġdir Path : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( build Command Ġ== Ġnull ) Ġreturn Ġ" internal Ġerror " ĊĠĠĠĠĠĠĠ Ġreturn Ġconstruct Command ( project , Ġbuild Command , Ġinput Path , Ġdir Path ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġconstruct ExecuteCommand ( project : ĠProject , Ġinput Path : ĠString , Ġdir Path : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġconstruct Command ( project , Ġexecute Command , Ġinput Path , Ġdir Path ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġconstruct Command ( project : ĠProject , Ġcommand : ĠString , Ġinput Path : ĠString , Ġdir Path : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrel Path Ġ= ĠPath ( input Path ) ĊĠĠĠĠĠĠĠ Ġval Ġpath Ġ= ĠPaths . get ( Path ( project . basePath !! ). path String , Ġrel Path . path String ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġcommand . replace ( R . keys . input Path Macro , Ġ"\" ${ path . path String }\" ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. replace ( R . keys . dir Un quoted Path Macro , Ġdir Path ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. replace ( R . keys . dir Path Macro , Ġ"\" $ dir Path \" ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġcell Renderer ( empty Text : ĠString Ġ= Ġ" None "): ĠTile Cell Renderer < Lang > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠTile Cell Renderer ( empty Text Ġ= Ġempty Text ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFile Type Manager . getInstance (). get FileType By Extension ( it . extension ). let Ġ{ Ġft Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġif Ġ( ft Ġis ĠLanguage FileType ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġft . language . displayName Ġ+ Ġ" Ġ(${ it . extension })" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġft . displayName Ġ+ Ġ" Ġ(${ it . extension })" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġicon Ġ= Ġft . icon ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ data Ġclass ĠDefault Lang Data ( ĊĠĠĠ Ġval Ġextension : ĠString , ĊĠĠĠ Ġval Ġcommands : ĠList < Pair < String ?, ĠString >> Ċ )