// ĠCopyright Ġ 2 0 1 9 ĠAmazon . com , ĠInc . Ġor Ġits Ġaffiliates . ĠAll ĠRights ĠReserved . Ċ // ĠSPDX - License - Identifier : ĠApache - 2 . 0 Ċ Ċ package Ġsoftware . aws . tool k its . jetbrains . services . lambda . completion Ċ Ċ import Ġcom . intellij . code Insight . completion . Completion Parameters Ċ import Ġcom . intellij . code Insight . completion . Completion ResultSet Ċ import Ġcom . intellij . code Insight . lookup . Char Filter . Result Ċ import Ġcom . intellij . openapi . project . Project Ċ import Ġcom . intellij . util . text Completion . Text Completion Provider Ċ import Ġsoftware . amazon . aw ssdk . services . lambda . model . Runtime Ċ import Ġsoftware . aws . tool k its . core . utils . getLogger Ċ import Ġsoftware . aws . tool k its . core . utils . info Ċ import Ġsoftware . aws . tool k its . jetbrains . services . lambda . Runtime Group Ċ import Ġsoftware . aws . tool k its . jetbrains . services . lambda . runtime Group Ċ import Ġjava . lang . IllegalStateException Ċ Ċ class ĠHandler Completion Provider ( private Ġval Ġproject : ĠProject , Ġruntime : ĠRuntime ?) Ġ: ĠText Completion Provider Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġlogger Ġ= Ġget Logger < Handler Completion Provider >() ĊĊĠĠĠ Ġprivate Ġval Ġhandler Completion : ĠHandler Completion ? Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġruntime Group Ġ= Ġruntime ?. runtime Group Ġ?: ĠRuntime Group . determine Runtime ( project )?. runtime Group Ġ?: Ġreturn @ lazy Ġnull ĊĊĠĠĠĠĠĠĠ Ġreturn @ lazy ĠHandler Completion . getInstance ( runtime Group ) Ġ?: Ġlet Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . info Ġ{ Ġ" Lambda Ġhandler Ġcompletion Ġprovider Ġis Ġnot Ġregistered Ġfor Ġruntime : Ġ${ runtime Group . name }. ĠCompletion Ġis Ġnot Ġsupported ." Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġis Completion Supported Ġby Ġlazy Ġ{ Ġhandler Completion Ġ!= Ġnull Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġapply Prefix Matcher ( result : ĠCompletion ResultSet , Ġprefix : ĠString ): ĠCompletion ResultSet Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! is Completion Supported ) Ġreturn Ġresult ĊĊĠĠĠĠĠĠĠ Ġval Ġcompletion Ġ= Ġhandler Completion ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġthrow ĠIllegalStateException (" handler Completion Ġmust Ġbe Ġdefined Ġif Ġcompletion Ġis Ġenabled .") ĊĊĠĠĠĠĠĠĠ Ġval Ġprefix Matcher Ġ= Ġcompletion . get Prefix Matcher ( prefix ) ĊĠĠĠĠĠĠĠ Ġreturn Ġresult . with Prefix Matcher ( prefix Matcher ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Ad vertisement (): ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġget Prefix ( text : ĠString , Ġoffset : ĠInt ): ĠString ? Ġ= Ġtext ĊĊĠĠĠ Ġoverride Ġfun Ġfill Completion Variants ( parameters : ĠCompletion Parameters , Ġprefix : ĠString , Ġresult : ĠCompletion ResultSet ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! is Completion Supported ) Ġreturn ĊĊĠĠĠĠĠĠĠ Ġval Ġlookup Elements Ġ= Ġhandler Completion !!. get Lookup Elements ( project ) ĊĠĠĠĠĠĠĠ Ġresult . addAll Elements ( lookup Elements ) ĊĠĠĠĠĠĠĠ Ġresult . stop Here () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġaccept Char ( char : ĠChar ): ĠResult ? Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! is Completion Supported ) Ġreturn ĠResult . HIDE _ LOOK UP ĊĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchar Ġ== Ġ':' Ġ|| Ġchar Ġ== Ġ'.' Ġ|| ĠCharacter . is Letter Or Digit ( char ) Ġ-> ĠResult . ADD _ TO _ PREFIX ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ