File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -22,6 +22,7 @@ export class AssignmentEditUi extends AbstractUIExtension {
2222
2323 private port ?: DfdOutputPortImpl ;
2424 private tree ?: LanguageTreeNode < Word > [ ] ;
25+ private completionProvider ?: DfdCompletionItemProvider ;
2526 private editorContainer : HTMLDivElement = document . createElement ( "div" ) as HTMLDivElement ;
2627 private validationLabel : HTMLDivElement = document . createElement ( "div" ) as HTMLDivElement ;
2728 private unavailableInputsLabel : HTMLDivElement = document . createElement ( "div" ) as HTMLDivElement ;
@@ -137,10 +138,13 @@ export class AssignmentEditUi extends AbstractUIExtension {
137138 containerElement . style . top = `${ bounds . y } px` ;
138139
139140 this . tree = AssignmentLanguageTreeBuilder . buildTree ( port , this . labelTypeRegistry ) ;
140- monaco . languages . registerCompletionItemProvider (
141- ASSIGNMENT_LANGUAGE_ID ,
142- new DfdCompletionItemProvider ( this . tree ) ,
143- ) ;
141+ if ( this . completionProvider ) {
142+ this . completionProvider . setTree ( this . tree ) ;
143+ } else {
144+ this . completionProvider = new DfdCompletionItemProvider ( this . tree ) ;
145+ monaco . languages . registerCompletionItemProvider ( ASSIGNMENT_LANGUAGE_ID , this . completionProvider ) ;
146+ }
147+
144148 if ( ! this . editor ) {
145149 throw new Error ( "Expected editor to be initialized" ) ;
146150 }
Original file line number Diff line number Diff line change @@ -105,4 +105,8 @@ export class DfdCompletionItemProvider implements monaco.languages.CompletionIte
105105 suggestions : r ,
106106 } ;
107107 }
108+
109+ public setTree ( tree : CompletionLanguageTreeNode [ ] ) {
110+ this . tree = tree ;
111+ }
108112}
You can’t perform that action at this time.
0 commit comments