// ĠCopyright Ġ 2 0 0 0 - 2 0 1 8 ĠJetBrains Ġs . r . o . ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense Ġthat Ġcan Ġbe Ġfound Ġin Ġthe ĠLICENSE Ġfile . Ċ package Ġorg . editor config . language . code insight . documentation Ċ Ċ import Ġcom . intellij . lang . documentation . Documentation Provider Ċ import Ġcom . intellij . openapi . editor . Editor Ċ import Ġcom . intellij . psi . Psi Element Ċ import Ġcom . intellij . psi . Psi File Ċ import Ġcom . intellij . psi . Psi Manager Ċ import Ġcom . intellij . psi . Psi WhiteSpace Ċ import Ġorg . editor config . language . psi . interfaces . Editor Config Descri b ableElement Ċ import Ġorg . editor config . language . schema . descriptors . Editor Config Descriptor Ċ import Ġorg . editor config . language . util . Editor Config Psi Tree Util . getParent OfType Ċ import Ġkotlin . math . max Ċ Ċ class ĠEditor Config Documentation Provider Ġ: ĠDocumentation Provider Ġ{ ĊĠ Ġoverride Ġfun Ġgenerate Doc ( element : ĠPsi Element , Ġoriginal Element : ĠPsi Element ?): ĠString ? Ġ{ ĊĠĠĠ Ġelement Ġas ? ĠEditor Config Documentation Holder Element Ġ?: Ġreturn Ġnull ĊĠĠĠ Ġreturn Ġelement . descriptor ?. documentation ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġget Quick Navigate Info ( element : ĠPsi Element , Ġoriginal Element : ĠPsi Element ?): ĠString ? Ġ{ ĊĠĠĠ Ġelement Ġas ? ĠEditor Config Documentation Holder Element Ġ?: Ġreturn Ġnull ĊĠĠĠ Ġreturn Ġelement . descriptor ?. documentation ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġget Documentation Element For Lookup Item ( ĊĠĠĠ Ġpsi Manager : ĠPsi Manager , ĊĠĠĠ Ġlookup Element : ĠAny , ĊĠĠĠ Ġcontext Element : ĠPsi Element ĊĠ Ġ): ĠPsi Element ? Ġ= Ġwhen Ġ( lookup Element ) Ġ{ ĊĠĠĠ Ġis ĠEditor Config Descriptor Ġ-> ĠEditor Config Documentation Holder Element ( psi Manager , Ġlookup Element ) ĊĠĠĠ Ġelse Ġ-> Ġnull ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġget Custom Documentation Element ( editor : ĠEditor , Ġfile : ĠPsi File , Ġcontext Element : ĠPsi Element ?, Ġtarget Offset : ĠInt ): ĠPsi Element ? Ġ{ ĊĠĠĠ Ġcontext Element Ġ?: Ġreturn Ġnull ĊĠĠĠ Ġif Ġ( context Element Ġ! is ĠPsi WhiteSpace ) Ġ{ ĊĠĠĠĠĠ Ġval Ġdescri b able Ġ= Ġcontext Element . getParent OfType < Editor Config Descri b ableElement >() ĊĠĠĠĠĠ Ġval Ġdescriptor Ġ= Ġdescri b able ?. get Descriptor ( false ) ĊĠĠĠĠĠ Ġreturn ĠEditor Config Documentation Holder Element ( file . manager , Ġdescriptor ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġoffset Ġ= Ġmax ( 0 , Ġtarget Offset Ġ- Ġ 1 ) ĊĠĠĠ Ġval Ġpsi Before Caret Ġ= Ġfile . findElement At ( offset ) ĊĠĠĠ Ġval Ġdescri b able Ġ= Ġpsi Before Caret ?. getParent OfType < Editor Config Descri b ableElement >() ĊĠĠĠ Ġval Ġdescriptor Ġ= Ġdescri b able ?. get Descriptor ( false ) Ġ?: Ġreturn Ġnull ĊĠĠĠ Ġreturn ĠEditor Config Documentation Holder Element ( file . manager , Ġdescriptor ) ĊĠ Ġ} Ċ } Ċ