| 
				
			 | 
			
			
				@@ -1,23 +1,23 @@ 
			 | 
		
	
		
			
			| 
				1
			 | 
			
				1
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				2
			 | 
			
				
			 | 
			
			
				-declare var monaco: any; 
			 | 
		
	
		
			
			| 
				3
			 | 
			
				2
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				4
			 | 
			
				3
			 | 
			
			
				 async function onMonacoEditorLoad(languages: Array<string> = ['java', 'csharp', 'python', 'html', 'json', 'css']) { 
			 | 
		
	
		
			
			| 
				5
			 | 
			
				
			 | 
			
			
				-  const allLangs = await monaco.languages.getLanguages(); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				4
			 | 
			
			
				+  const allLangs =  (<any>window).monaco.languages.getLanguages(); 
			 | 
		
	
		
			
			| 
				6
			 | 
			
				5
			 | 
			
			
				   console.log('all supported languages:', allLangs); 
			 | 
		
	
		
			
			| 
				7
			 | 
			
				
			 | 
			
			
				-  console.log(monaco); 
			 | 
		
	
		
			
			| 
				8
			 | 
			
				
			 | 
			
			
				-  monaco.languages.register({ id: languages[0] }); 
			 | 
		
	
		
			
			| 
				9
			 | 
			
				
			 | 
			
			
				-  monaco.languages.registerCompletionItemProvider(languages[0], { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				6
			 | 
			
			
				+  console.log( (<any>window).monaco); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				7
			 | 
			
			
				+  (<any>window).monaco.languages.register({ id: languages[0] }); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				8
			 | 
			
			
				+  (<any>window).monaco.languages.registerCompletionItemProvider(languages[0], { 
			 | 
		
	
		
			
			| 
				10
			 | 
			
				9
			 | 
			
			
				     triggerCharacters: ['.'], 
			 | 
		
	
		
			
			| 
				11
			 | 
			
				10
			 | 
			
			
				     provideCompletionItems: function (model: any, position: any) { 
			 | 
		
	
		
			
			| 
				12
			 | 
			
				
			 | 
			
			
				-      var textUntilPosition = model.getValueInRange( 
			 | 
		
	
		
			
			| 
				
			 | 
			
				11
			 | 
			
			
				+      const textUntilPosition = model.getValueInRange( 
			 | 
		
	
		
			
			| 
				13
			 | 
			
				12
			 | 
			
			
				         { 
			 | 
		
	
		
			
			| 
				14
			 | 
			
				
			 | 
			
			
				-          startLineNumber: 1, startColumn: 1, 
			 | 
		
	
		
			
			| 
				
			 | 
			
				13
			 | 
			
			
				+          startLineNumber: position.lineNumber,  
			 | 
		
	
		
			
			| 
				
			 | 
			
				14
			 | 
			
			
				+          startColumn: 1, 
			 | 
		
	
		
			
			| 
				15
			 | 
			
				15
			 | 
			
			
				           endLineNumber: position.lineNumber, 
			 | 
		
	
		
			
			| 
				16
			 | 
			
				16
			 | 
			
			
				           endColumn: position.column 
			 | 
		
	
		
			
			| 
				17
			 | 
			
				17
			 | 
			
			
				         } 
			 | 
		
	
		
			
			| 
				18
			 | 
			
				18
			 | 
			
			
				       ); 
			 | 
		
	
		
			
			| 
				19
			 | 
			
				
			 | 
			
			
				-      console.log('!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!', textUntilPosition); 
			 | 
		
	
		
			
			| 
				20
			 | 
			
				
			 | 
			
			
				-      var match = textUntilPosition.match(/"dependencies"\s*:\s*\{\s*("[^"]*"\s*:\s*"[^"]*"\s*,\s*)*([^"]*)?$/); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				19
			 | 
			
			
				+      console.log(textUntilPosition); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				20
			 | 
			
			
				+      const match = textUntilPosition.match(/"dependencies"\s*:\s*\{\s*("[^"]*"\s*:\s*"[^"]*"\s*,\s*)*([^"]*)?$/); 
			 | 
		
	
		
			
			| 
				21
			 | 
			
				21
			 | 
			
			
				       if (!match) { 
			 | 
		
	
		
			
			| 
				22
			 | 
			
				22
			 | 
			
			
				         return { suggestions: [] }; 
			 | 
		
	
		
			
			| 
				23
			 | 
			
				23
			 | 
			
			
				       } 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -29,34 +29,34 @@ async function onMonacoEditorLoad(languages: Array<string> = ['java', 'csharp', 
			 | 
		
	
		
			
			| 
				29
			 | 
			
				29
			 | 
			
			
				         endColumn: word.endColumn 
			 | 
		
	
		
			
			| 
				30
			 | 
			
				30
			 | 
			
			
				       }; 
			 | 
		
	
		
			
			| 
				31
			 | 
			
				31
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				32
			 | 
			
				
			 | 
			
			
				-      var suggestions = [ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				32
			 | 
			
			
				+      const suggestions = [ 
			 | 
		
	
		
			
			| 
				33
			 | 
			
				33
			 | 
			
			
				         { 
			 | 
		
	
		
			
			| 
				34
			 | 
			
				34
			 | 
			
			
				           label: '"lodash"', 
			 | 
		
	
		
			
			| 
				35
			 | 
			
				
			 | 
			
			
				-          kind: monaco.languages.CompletionItemKind.Function, 
			 | 
		
	
		
			
			| 
				
			 | 
			
				35
			 | 
			
			
				+          kind:  (<any>window).monaco.languages.CompletionItemKind.Function, 
			 | 
		
	
		
			
			| 
				36
			 | 
			
				36
			 | 
			
			
				           documentation: "The Lodash library exported as Node.js modules.", 
			 | 
		
	
		
			
			| 
				37
			 | 
			
				37
			 | 
			
			
				           insertText: '"lodash": "*"', 
			 | 
		
	
		
			
			| 
				38
			 | 
			
				38
			 | 
			
			
				           range: range 
			 | 
		
	
		
			
			| 
				39
			 | 
			
				39
			 | 
			
			
				         }, 
			 | 
		
	
		
			
			| 
				40
			 | 
			
				40
			 | 
			
			
				         { 
			 | 
		
	
		
			
			| 
				41
			 | 
			
				41
			 | 
			
			
				           label: '"express"', 
			 | 
		
	
		
			
			| 
				42
			 | 
			
				
			 | 
			
			
				-          kind: monaco.languages.CompletionItemKind.Function, 
			 | 
		
	
		
			
			| 
				
			 | 
			
				42
			 | 
			
			
				+          kind:  (<any>window).monaco.languages.CompletionItemKind.Function, 
			 | 
		
	
		
			
			| 
				43
			 | 
			
				43
			 | 
			
			
				           documentation: "Fast, unopinionated, minimalist web framework", 
			 | 
		
	
		
			
			| 
				44
			 | 
			
				44
			 | 
			
			
				           insertText: '"express": "*"', 
			 | 
		
	
		
			
			| 
				45
			 | 
			
				45
			 | 
			
			
				           range: range 
			 | 
		
	
		
			
			| 
				46
			 | 
			
				46
			 | 
			
			
				         }, 
			 | 
		
	
		
			
			| 
				47
			 | 
			
				47
			 | 
			
			
				         { 
			 | 
		
	
		
			
			| 
				48
			 | 
			
				48
			 | 
			
			
				           label: '"mkdirp"', 
			 | 
		
	
		
			
			| 
				49
			 | 
			
				
			 | 
			
			
				-          kind: monaco.languages.CompletionItemKind.Function, 
			 | 
		
	
		
			
			| 
				
			 | 
			
				49
			 | 
			
			
				+          kind:  (<any>window).monaco.languages.CompletionItemKind.Function, 
			 | 
		
	
		
			
			| 
				50
			 | 
			
				50
			 | 
			
			
				           documentation: "Recursively mkdir, like <code>mkdir -p</code>", 
			 | 
		
	
		
			
			| 
				51
			 | 
			
				51
			 | 
			
			
				           insertText: '"mkdirp": "*"', 
			 | 
		
	
		
			
			| 
				52
			 | 
			
				52
			 | 
			
			
				           range: range 
			 | 
		
	
		
			
			| 
				53
			 | 
			
				53
			 | 
			
			
				         }, 
			 | 
		
	
		
			
			| 
				54
			 | 
			
				54
			 | 
			
			
				         { 
			 | 
		
	
		
			
			| 
				55
			 | 
			
				55
			 | 
			
			
				           label: '"my-third-party-library"', 
			 | 
		
	
		
			
			| 
				56
			 | 
			
				
			 | 
			
			
				-          kind: monaco.languages.CompletionItemKind.Function, 
			 | 
		
	
		
			
			| 
				
			 | 
			
				56
			 | 
			
			
				+          kind:  (<any>window).monaco.languages.CompletionItemKind.Function, 
			 | 
		
	
		
			
			| 
				57
			 | 
			
				57
			 | 
			
			
				           documentation: "Describe your library here", 
			 | 
		
	
		
			
			| 
				58
			 | 
			
				58
			 | 
			
			
				           insertText: '"${1:my-third-party-library}": "${2:1.2.3}"', 
			 | 
		
	
		
			
			| 
				59
			 | 
			
				
			 | 
			
			
				-          insertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet, 
			 | 
		
	
		
			
			| 
				
			 | 
			
				59
			 | 
			
			
				+          insertTextRules:  (<any>window).monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet, 
			 | 
		
	
		
			
			| 
				60
			 | 
			
				60
			 | 
			
			
				           range: range 
			 | 
		
	
		
			
			| 
				61
			 | 
			
				61
			 | 
			
			
				         } 
			 | 
		
	
		
			
			| 
				62
			 | 
			
				62
			 | 
			
			
				       ]; 
			 |