/* Ċ Ġ* ĠSource ++, Ġthe Ġopen - source Ġlive Ġcoding Ġplatform . Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 2 2 ĠCode B rig , ĠInc . Ċ Ġ* Ċ Ġ* ĠThis Ġprogram Ġis Ġfree Ġsoftware : Ġyou Ġcan Ġredistribute Ġit Ġand / or Ġmodify Ċ Ġ* Ġit Ġunder Ġthe Ġterms Ġof Ġthe ĠGNU ĠAffero ĠGeneral ĠPublic ĠLicense Ġas Ġpublished Ċ Ġ* Ġby Ġthe ĠFree ĠSoftware ĠFoundation , Ġeither Ġversion Ġ 3 Ġof Ġthe ĠLicense , Ġor Ċ Ġ* Ġ( at Ġyour Ġoption ) Ġany Ġlater Ġversion . Ċ Ġ* Ċ Ġ* ĠThis Ġprogram Ġis Ġdistributed Ġin Ġthe Ġhope Ġthat Ġit Ġwill Ġbe Ġuseful , Ċ Ġ* Ġbut ĠWITHOUT ĠANY ĠWARRANTY ; Ġwithout Ġeven Ġthe Ġimplied Ġwarranty Ġof Ċ Ġ* ĠMERCHANTABILITY Ġor ĠFITNESS ĠFOR ĠA ĠPARTICULAR ĠPURPOSE . Ġ ĠSee Ġthe Ċ Ġ* ĠGNU ĠAffero ĠGeneral ĠPublic ĠLicense Ġfor Ġmore Ġdetails . Ċ Ġ* Ċ Ġ* ĠYou Ġshould Ġhave Ġreceived Ġa Ġcopy Ġof Ġthe ĠGNU ĠAffero ĠGeneral ĠPublic ĠLicense Ċ Ġ* Ġalong Ġwith Ġthis Ġprogram . Ġ ĠIf Ġnot , Ġsee Ġ< https :// www . gnu . org / licenses />. Ċ Ġ*/ Ċ package Ġs pp . jetbrains . marker . source . mark . in lay . config Ċ Ċ import Ġcom . intellij . code Insight . hints . In lay Hints Pass Factory Ċ import Ġcom . intellij . openapi . application . Application Manager Ċ import Ġcom . intellij . openapi . editor . markup . Text Attributes Ċ import Ġs pp . jetbrains . marker . source . mark . api . event . Source Mark Event Ċ import Ġs pp . jetbrains . marker . source . mark . in lay . In lay Mark Ċ import Ġs pp . jetbrains . marker . source . mark . in lay . event . In lay Mark Event Code Ċ import Ġjava . awt . Font Ċ import Ġjava . awt . Point Ċ import Ġjavax . swing . Icon Ċ Ċ /** Ċ Ġ* Ġtodo : Ġdescription . Ċ Ġ* Ċ Ġ* Ġ@ since Ġ 0 . 1 . 0 Ċ Ġ* Ġ@ author Ġ[ Brand on ĠF erg erson ]( mailto : b fer g erson @ apache . org ) Ċ Ġ*/ Ċ @ Suppress (" Magic Number ") Ċ open Ġclass ĠIn lay Mark Virtual Text Ġ{ ĊĊĠĠĠ Ġinternal Ġvar Ġin lay Mark : ĠIn lay Mark ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġvirtual Text : ĠString ĊĠĠĠ Ġval Ġtext Attributes : ĠText Attributes Ġ= ĠText Attributes () ĊĠĠĠ Ġvar Ġicon : ĠIcon ? Ġ= Ġnull ĊĠĠĠ Ġval Ġicon Location : ĠPoint Ġ= ĠPoint ( 0 , Ġ 3 ) ĊĠĠĠ Ġvar Ġrel ates To Pre ced ing Text : ĠBoolean Ġ= Ġfalse ĊĠĠĠ Ġvar Ġshow Above : ĠBoolean Ġ= Ġtrue ĊĠĠĠ Ġvar Ġuse Inline Presentation : ĠBoolean Ġ= Ġfalse ĊĠĠĠ Ġvar Ġshow After Last Child When Inline : ĠBoolean Ġ= Ġtrue ĊĠĠĠ Ġvar Ġshow Before Annotations When Block : ĠBoolean Ġ= Ġtrue ĊĠĠĠ Ġvar Ġspacing T ill Method Text Ġ= Ġ 0 ĊĠĠĠ Ġvar Ġauto Adding Spacing T ill Method Text Ġ= Ġtrue ĊĠĠĠ Ġvar Ġfont : ĠFont ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġx Offset : ĠInt Ġ= Ġ 0 ĊĊĠĠĠ Ġconstructor ( in lay Mark : ĠIn lay Mark , Ġvirtual Text : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . in lay Mark Ġ= Ġin lay Mark ĊĠĠĠĠĠĠĠ Ġthis . virtual Text Ġ= Ġvirtual Text ĊĊĠĠĠĠĠĠĠ ĠApplication Manager . getApplication (). invoke Later Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIn lay Hints Pass Factory . force Hints Update On Next Pass () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġconstructor ( virtual Text : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . virtual Text Ġ= Ġvirtual Text ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Virtual Text (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvirtual Text ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Rendered Virtual Text (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( auto Adding Spacing T ill Method Text ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Ġ". repeat ( spacing T ill Method Text ) Ġ+ Ġvirtual Text ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvirtual Text ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġupdate Virtual Text ( virtual Text : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( in lay Mark Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġprevious Virtual Text Ġ= Ġthis . virtual Text ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . virtual Text Ġ= Ġvirtual Text ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġin lay Mark !!. trigger Event ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSource Mark Event ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġin lay Mark !! , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIn lay Mark Event Code . VIRTUAL _ TEXT _ UPDATED , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprevious Virtual Text , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvirtual Text ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ