package Ġorg . ice 1 0 0 0 . tt . editing . cub ical tt Ċ Ċ import Ġcom . intellij . lang . Brace Pair Ċ import Ġcom . intellij . lang . annotation . Annotation Holder Ċ import Ġcom . intellij . lang . annotation . Annot ator Ċ import Ġcom . intellij . lang . cache Builder . Default Words Scanner Ċ import Ġcom . intellij . psi . Psi Element Ċ import Ġcom . intellij . psi . tree . Token Set Ċ import Ġorg . ice 1 0 0 0 . tt . editing . TT Brace Matcher Ċ import Ġorg . ice 1 0 0 0 . tt . editing . TT Find Usage s Provider Ċ import Ġorg . ice 1 0 0 0 . tt . psi . cub ical tt .* Ċ Ċ class ĠC ub ical TT Brace Matcher Ġ: ĠTT Brace Matcher () Ġ{ Ċ ĉ private Ġcompanion Ġobject ĠPair s Ġ{ Ċĉ ĉ private Ġval ĠPA IR S Ġ= ĠarrayOf ( Ċĉĉ ĉ Brace Pair ( Cub ical TT Types . LP AREN , ĠC ub ical TT Types . RP AREN , Ġfalse ), Ċĉĉ ĉ Brace Pair ( Cub ical TT Types . LT , ĠC ub ical TT Types . GT , Ġfalse ), Ċĉĉ ĉ Brace Pair ( Cub ical TT Types . KW _ LET , ĠC ub ical TT Types . KW _ IN , Ġfalse ), Ċĉĉ ĉ Brace Pair ( Cub ical TT Types . L BRACK , ĠC ub ical TT Types . R BRACK , Ġfalse ), Ċĉĉ ĉ Brace Pair ( Cub ical TT Types . LAYOUT _ START , ĠC ub ical TT Types . LAYOUT _ END , Ġfalse )) Ċ ĉ } ĊĊ ĉ override Ġfun Ġget Pairs () Ġ= ĠPA IR S Ċ } Ċ Ċ class ĠC ub ical TT Find Usage s Provider Ġ: ĠTT Find Usage s Provider () Ġ{ Ċ ĉ override Ġfun Ġget Words Scanner () Ġ= ĠDefault Words Scanner ( cub ical TTL ex er (), ĠC ub ical TT TokenType . IDENT IFI ERS , ĠC ub ical TT TokenType . COMMENTS , ĠToken Set . EMPTY ) Ċ } Ċ Ċ class ĠC ub ical TT Annot ator Ġ: ĠAnnot ator Ġ{ Ċ ĉ override Ġfun Ġannotate ( element : ĠPsi Element , Ġholder : ĠAnnotation Holder ) Ġ{ Ċĉ ĉ when Ġ( element ) Ġ{ Ċĉĉ ĉ is ĠC ub ical TT Decl Ġ-> Ġdecl ( element , Ġholder ) Ċĉĉ ĉ is ĠC ub ical TT Data Ġ-> Ġdata ( element , Ġholder ) Ċĉ ĉ } Ċ ĉ } ĊĊ ĉ private Ġfun Ġdata ( element : ĠC ub ical TT Data , Ġholder : ĠAnnotation Holder ) Ġ{ Ċĉ ĉ val Ġname Ġ= Ġelement . name Decl Ġ?: Ġreturn Ċĉ ĉ holder . create Info Annotation ( name , Ġnull ). text Attributes Ġ= ĠC ub ical T TH igh light er . FUNCTION _ NAME Ċ ĉ } ĊĊ ĉ private Ġfun Ġdecl ( element : ĠC ub ical TT Decl , Ġholder : ĠAnnotation Holder ) Ġ{ Ċĉ ĉ val Ġname Ġ= Ġelement . firstChild Ġas ? ĠC ub ical TT Name Decl Ġ?: Ġreturn Ċĉ ĉ holder . create Info Annotation ( name , Ġnull ). text Attributes Ġ= ĠC ub ical T TH igh light er . FUNCTION _ NAME Ċ ĉ } Ċ } Ċ