package Ġnl . h ann ah sten . tex ify idea . editor . postfix Ċ Ċ import Ġcom . intellij . code Insight . template . postfix . templates . Post fix Template Expression Selector Ċ import Ġcom . intellij . openapi . editor . Document Ċ import Ġcom . intellij . psi . Psi Element Ċ import Ġcom . intellij . psi . util . elementType Ċ import Ġcom . intellij . util . Function Ċ import Ġnl . h ann ah sten . tex ify idea . psi .* Ċ import Ġnl . h ann ah sten . tex ify idea . util . first Parent OfType Ċ import Ġnl . h ann ah sten . tex ify idea . util . in Math Context Ċ Ċ class ĠLat ex Post fix Expression Selector ( private Ġval Ġmath Only : ĠBoolean Ġ= Ġfalse , Ġprivate Ġval Ġtext Only : ĠBoolean Ġ= Ġfalse ) Ġ: ĠPost fix Template Expression Selector Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġhas Expression ( context : ĠPsi Element , Ġcopy Document : ĠDocument , Ġnew Offset : ĠInt ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmath Only Ġ-> Ġcontext . in Math Context () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext Only Ġ-> Ġ! context . in Math Context () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Renderer (): ĠFunction < Psi Element , ĠString > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠFunction ( Psi Element :: getText ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Expressions ( context : ĠPsi Element , Ġdocument : ĠDocument , Ġoffset : ĠInt ): ĠMutable List < Psi Element > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( context . elementType ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLat ex Types . INLINE _ MATH _ END Ġ-> Ġmutable ListOf ( context . first Parent OfType ( Lat ex Inline Math :: class ) Ġas ĠPsi Element ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLat ex Types . CLOSE _ BRACE Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmutable ListOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . first Parent OfType ( Lat ex Commands :: class ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġcontext . first Parent OfType ( Lat ex Group :: class ) Ġas ĠPsi Element ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLat ex Types . CLOSE _ BRACK ET Ġ-> Ġmutable ListOf ( context . first Parent OfType ( Lat ex Optional Param :: class ) Ġas ĠPsi Element ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLat ex Types . DISPLAY _ MATH _ END Ġ-> Ġmutable ListOf ( context . first Parent OfType ( Lat ex Display Math :: class ) Ġas ĠPsi Element ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġmutable ListOf ( context ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }