1
0
Эх сурвалжийг харах

Adopt monaco-editor-core@0.16.0

Alex Dima 6 жил өмнө
parent
commit
0f97f5fd54

+ 9 - 9
package-lock.json

@@ -11,15 +11,15 @@
       "dev": true
     },
     "monaco-editor-core": {
-      "version": "0.15.5",
-      "resolved": "https://registry.npmjs.org/monaco-editor-core/-/monaco-editor-core-0.15.5.tgz",
-      "integrity": "sha512-kM3KHRjj16cFdK5Z0EppKUu793JVMpsEesBSWlqdgrxcmjyDMXV6xK0oatPcAYp3eOfbbyjPhruxDXj85FKyIg==",
+      "version": "0.16.0",
+      "resolved": "https://registry.npmjs.org/monaco-editor-core/-/monaco-editor-core-0.16.0.tgz",
+      "integrity": "sha512-8tm8vq0SVuQ+VXZFtPIEIronK3102SYCWe8wviWu/5TV4zlDQcf4YdzI6A4CrNqbUc46dD0ngijaKWoRSViI8g==",
       "dev": true
     },
     "monaco-languages": {
-      "version": "1.6.0",
-      "resolved": "https://registry.npmjs.org/monaco-languages/-/monaco-languages-1.6.0.tgz",
-      "integrity": "sha512-LBEWj8tngYwsq4kasQr+dIhnO4xUIEN36ns+cRepWAQiXZnzcrZ84gFHXm8f4mR4tssxvHVU5Vw7xMUYro6h3g==",
+      "version": "1.7.0",
+      "resolved": "https://registry.npmjs.org/monaco-languages/-/monaco-languages-1.7.0.tgz",
+      "integrity": "sha512-2YrYlkCF/g2H0PDt/ERax2IStaihZ17v1JkYnj2xEALYNah0pbQvGH9gXJvdVx0EpBoSRmxVnrwwM2oBWWOjSQ==",
       "dev": true
     },
     "monaco-plugin-helpers": {
@@ -52,9 +52,9 @@
       "dev": true
     },
     "typescript": {
-      "version": "3.2.2",
-      "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.2.2.tgz",
-      "integrity": "sha512-VCj5UiSyHBjwfYacmDuc/NOk4QQixbE+Wn7MFJuS0nRuPQbof132Pw4u53dm264O8LPc2MVsc7RJNml5szurkg==",
+      "version": "3.3.3333",
+      "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.3.3333.tgz",
+      "integrity": "sha512-JjSKsAfuHBE/fB2oZ8NxtRTk5iGcg6hkYXMnZ3Wc+b2RSqejEqTaem11mHASMnFilHrax3sLK0GDzcJrekZYLw==",
       "dev": true
     },
     "uglify-js": {

+ 3 - 3
package.json

@@ -20,11 +20,11 @@
     "url": "https://github.com/Microsoft/monaco-typescript/issues"
   },
   "devDependencies": {
-    "monaco-editor-core": "^0.15.5",
-    "monaco-languages": "^1.6.0",
+    "monaco-editor-core": "^0.16.0",
+    "monaco-languages": "^1.7.0",
     "monaco-plugin-helpers": "^1.0.2",
     "requirejs": "^2.3.6",
-    "typescript": "^3.2.2",
+    "typescript": "^3.3.3333",
     "uglify-js": "^3.4.9"
   }
 }

+ 9 - 0
src/languageFeatures.ts

@@ -213,6 +213,7 @@ export class SuggestAdapter extends Adapter implements monaco.languages.Completi
 
 	provideCompletionItems(model: monaco.editor.IReadOnlyModel, position: Position, _context: monaco.languages.CompletionContext, token: CancellationToken): Thenable<monaco.languages.CompletionList> {
 		const wordInfo = model.getWordUntilPosition(position);
+		const wordRange = new Range(position.lineNumber, wordInfo.startColumn, position.lineNumber, wordInfo.endColumn);
 		const resource = model.uri;
 		const offset = this._positionToOffset(resource, position);
 
@@ -223,9 +224,17 @@ export class SuggestAdapter extends Adapter implements monaco.languages.Completi
 				return;
 			}
 			let suggestions: MyCompletionItem[] = info.entries.map(entry => {
+				let range = wordRange;
+				if (entry.replacementSpan) {
+					const p1 = model.getPositionAt(entry.replacementSpan.start);
+					const p2 = model.getPositionAt(entry.replacementSpan.start + entry.replacementSpan.length);
+					range = new Range(p1.lineNumber, p1.column, p2.lineNumber, p2.column);
+				}
+
 				return {
 					uri: resource,
 					position: position,
+					range: range,
 					label: entry.name,
 					insertText: entry.name,
 					sortText: entry.sortText,