package Ġcom . virt link . dummy Ċ Ċ import Ġcom . google . inject . Inject Ċ import Ġcom . virt link . editor services . IS ession Manager Ċ import Ġcom . virt link . editor services . Offset Ċ import Ġcom . virt link . editor services . Scope Names Ċ import Ġcom . virt link . editor services . code completion . Completion Info Ċ import Ġcom . virt link . editor services . code completion . Completion Proposal Ċ import Ġcom . virt link . editor services . code completion . I Completion Info Ċ import Ġcom . virt link . editor services . resources . I ResourceManager Ċ import Ġcom . virt link . pie . Document Req Ċ import Ġcom . virt link . pie . code completion . Pie Code Completion Service Ċ import Ġmb . pie . runtime . core . BuildContext Ċ import Ġmb . pie . runtime . core . Builder Ċ import Ġorg . slf 4 j . LoggerFactory Ċ import Ġjava . net . URI Ċ Ċ class ĠDummy Code Completion Builder Ġ@ Inject Ġconstructor ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġsession Manager : ĠIS ession Manager , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġresource Manager : ĠI ResourceManager ) ĊĠĠĠ Ġ: ĠBuilder < Pie Code Completion Service . Input , ĠI Completion Info > Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Field Ġval Ġid : ĠString Ġ= Ġ" get Completion Info " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval Ġid Ġ= ĠComp anion . id ĊĊĠĠĠ Ġprivate Ġval Ġlogger Ġ= ĠLoggerFactory . getLogger ( Dummy Code Completion Builder :: class . java ) ĊĊĠĠĠ Ġoverride Ġfun ĠBuild Context . build ( input : ĠP ie Code Completion Service . Input ): ĠI Completion Info ĊĠĠĠĠĠĠĠ Ġ= Ġthis . get Completion Info ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinput . document , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinput . caret Offset ) ĊĊĠĠĠ Ġprivate Ġfun ĠBuild Context . get Completion Info ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdocument : ĠURI , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcaret Offset : ĠOffset ): ĊĠĠĠĠĠĠĠĠĠĠĠ ĠI Completion Info Ġ{ ĊĊĠĠĠĠĠĠĠ Ġlogger . info ("$ document : ĠComp leting Ġat Ġ$ caret Offset .") ĊĊĠĠĠĠĠĠĠ Ġval Ġcontent Ġ= Ġresource Manager . getContent ( document ) ĊĠĠĠĠĠĠĠ Ġval Ġversion Ġ= Ġcontent ?. last Modification Stamp Ġ?: Ġ- 1 ĊĠĠĠĠĠĠĠ Ġval Ġsession Ġ= Ġsession Manager . current SessionId !! ĊĠĠĠĠĠĠĠ Ġrequire ( Document Req ( document , Ġversion , Ġsession )) ĊĊĠĠĠĠĠĠĠ Ġval Ġproposals Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCompletion Proposal (" Hello ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġ" Description Ġstring ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Ġ= Ġ" hello Ġworld !", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscopes Ġ= ĠScope Names (" meta . field ", Ġ" meta . static ")), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCompletion Proposal (" Local Ġvariable ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Ġ= Ġ" local Ġvar ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscopes Ġ= ĠScope Names (" meta . variable ", Ġ" meta . internal ")), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCompletion Proposal (" Method ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Ġ= Ġ" method ()", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcaret Ġ= Ġ 7 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscopes Ġ= ĠScope Names (" meta . method ", Ġ" meta . abstract ", Ġ" meta . deprecated ", Ġ" meta . package ")), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCompletion Proposal (" if Ġ( then Ġelse )") ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠTODO : ĠDetermine Ġprefix Ġaccording Ġto Ġlanguage Ġrules . ĊĠĠĠĠĠĠĠ Ġreturn ĠCompletion Info ("", Ġproposals ) ĊĠĠĠ Ġ} Ċ }