package Ġcom . p interest . kt lint . core Ċ Ċ import Ġcom . p interest . kt lint . core . Editor Config . Indent Style . SPACE Ċ import Ġcom . p interest . kt lint . core . Editor Config . Indent Style . TAB Ċ import Ġcom . p interest . kt lint . core . api . Feature In Alpha State Ċ import Ġcom . p interest . kt lint . core . api . Uses Editor Config Properties Ċ import Ġorg . ec 4 j . core . model . PropertyType Ċ import Ġorg . jetbrains . kotlin . com . intellij . lang . AST Node Ċ Ċ /** Ċ Ġ* Ġ@ see Ġ[ Editor Config ]( https :// editor config . org /) Ċ Ġ* Ċ Ġ* ĠThis Ġclass Ġis Ġinjected Ġinto Ġthe Ġuser Ġdata , Ġso Ġit Ġis Ġavailable Ġto Ġrules Ġvia Ġ[ Kt Lint . EDITOR _ CONFIG _ USER _ DATA _ KEY ] Ċ Ġ*/ Ċ interface ĠEditor Config Ġ{ ĊĠĠĠ Ġ@ Deprecated (" Replace Ġwith ĠInd ent Config . Indent Style ") ĊĠĠĠ Ġenum Ġclass ĠInd ent Style Ġ{ ĠSPACE , ĠTAB Ġ} ĊĊĠĠĠ Ġ@ Deprecated (" Prefer Ġto Ġuse ĠInd ent Config . indent Ġonly Ġor ĠInd ent Config . indent Style Ġotherwise ") ĊĠĠĠ Ġpublic Ġval Ġindent Style : ĠInd ent Style ĊĊĠĠĠ Ġ@ Deprecated (" Prefer Ġto Ġuse ĠInd ent Config . indent . length ") ĊĠĠĠ Ġval Ġindent Size : ĠInt ĊĊĠĠĠ Ġ@ Deprecated (" Prefer Ġto Ġuse ĠInd ent Config . indent . length ") ĊĠĠĠ Ġval Ġtab Width : ĠInt ĊĊĠĠĠ Ġval Ġmax Line Length : ĠInt ĊĊĠĠĠ Ġ@ Deprecated ( ĊĠĠĠĠĠĠĠ Ġmessage Ġ= Ġ" Not Ġused Ġanymore Ġby Ġrules , Ġplease Ġuse Ġ' insert _ final _ newline ' Ġdirectly Ġvia Ġget ()" ĊĠĠĠ Ġ) ĊĠĠĠ Ġval Ġinsert Final New line : ĠBoolean ĊĊĠĠĠ Ġoperator Ġfun Ġget ( key : ĠString ): ĠString ? ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġfrom Map ( map : ĠMap < String , ĠString >): ĠEditor Config Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġindent Style Ġ= Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmap [" indent _ style "] ?. toLowerCase () Ġ== Ġ" tab " Ġ-> ĠTAB ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠSPACE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġindent Size Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmap [" indent _ size "] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. let Ġ{ Ġvalue Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( value ?. toLowerCase () Ġ== Ġ" unset ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue ?. toInt OrNull () Ġ?: ĠInd ent Config . DEFAULT _ IND ENT _ CONFIG . tab Width ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtab Width Ġ= Ġmap [" indent _ size "] ?. toInt OrNull () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmax Line Length Ġ= Ġmap [" max _ line _ length "] ?. toInt OrNull () Ġ?: Ġ- 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġinsert Final New line Ġ= Ġmap [" insert _ final _ newline "] ?. to Boolean () Ġ?: Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġobject Ġ: ĠEditor Config Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġindent Style Ġ= Ġindent Style ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġindent Size Ġ= Ġindent Size ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġtab Width Ġ= Ġtab Width Ġ?: Ġindent Size ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġmax Line Length Ġ= Ġmax Line Length ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġinsert Final New line Ġ= Ġinsert Final New line ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget ( key : ĠString ): ĠString ? Ġ= Ġmap [ key ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġpublic Ġfun ĠAST Node . load Editor Config (): ĠEditor Config Ġ= Ġget UserData ( Kt Lint . EDITOR _ CONFIG _ USER _ DATA _ KEY ) !! ĊĊĠĠĠĠĠĠĠ Ġpublic Ġfun ĠEditor Config . load Indent Config (): ĠInd ent Config Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠInd ent Config ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġindent Style Ġ= Ġwhen Ġ( indent Style ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTAB Ġ-> ĠInd ent Config . Indent Style . TAB ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSPACE Ġ-> ĠInd ent Config . Indent Style . SPACE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtab Width Ġ= Ġtab Width , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdisabled Ġ= Ġindent Size Ġ<= Ġ 0 Ġ|| Ġtab Width Ġ<= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠUse Ġthis Ġvalue Ġto Ġdefine Ġa Ġnon - nullable Ġclass Ġvariable Ġof Ġtype ĠEditor Config . ĠWhen Ġloading Ġthe Ġroot Ġnode Ġin ĊĠĠĠĠĠĠĠĠ Ġ* Ġrule Ġvisitor , Ġthe Ġvalue Ġshould Ġbe Ġreplaced Ġwith Ġthe Ġreal Ġvalue . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġpublic Ġval ĠUN INITIAL IZED : ĠEditor Config Ġ= Ġobject Ġ: ĠEditor Config Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġindent Style : ĠInd ent Style ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ= Ġthrow ĠEditor Config Not Initialized Exception () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġindent Size : ĠInt ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ= Ġthrow ĠEditor Config Not Initialized Exception () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġtab Width : ĠInt ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ= Ġthrow ĠEditor Config Not Initialized Exception () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġmax Line Length : ĠInt ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ= Ġthrow ĠEditor Config Not Initialized Exception () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġinsert Final New line : ĠBoolean ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ= Ġthrow ĠEditor Config Not Initialized Exception () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget ( key : ĠString ): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠEditor Config Not Initialized Exception () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġinner Ġclass ĠEditor Config Not Initialized Exception Ġ: ĠRuntimeException (" Editor Config Ġis Ġnot Ġyet Ġinitialized ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Opt In ( Feature In Alpha State :: class ) ĊĠĠĠĠĠĠĠ Ġpublic Ġval Ġindent Style Property : ĠUses Editor Config Properties . Editor Config Property < PropertyType . Indent Style Value > Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠUses Editor Config Properties . Editor Config Property ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtype Ġ= ĠProperty Type . indent _ style , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠdefaultValue Ġ= ĠProperty Type . Indent Style Value . space ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġ@ Opt In ( Feature In Alpha State :: class ) ĊĠĠĠĠĠĠĠ Ġpublic Ġval Ġindent Size Property : ĠUses Editor Config Properties . Editor Config Property < Int > Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠUses Editor Config Properties . Editor Config Property ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtype Ġ= ĠProperty Type . indent _ size , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠdefaultValue Ġ= ĠInd ent Config . DEFAULT _ IND ENT _ CONFIG . tab Width ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ