mirror of
https://github.com/microsoft/monaco-editor.git
synced 2025-12-22 19:42:56 +01:00
Adopt latest editor & new npm deps
This commit is contained in:
parent
1d4b425215
commit
f6d638686b
4 changed files with 61 additions and 86 deletions
46
package-lock.json
generated
46
package-lock.json
generated
|
|
@ -5,21 +5,21 @@
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"commander": {
|
"commander": {
|
||||||
"version": "2.16.0",
|
"version": "2.17.1",
|
||||||
"resolved": "https://registry.npmjs.org/commander/-/commander-2.16.0.tgz",
|
"resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz",
|
||||||
"integrity": "sha512-sVXqklSaotK9at437sFlFpyOcJonxe0yST/AG9DkQKUdIE6IqGIMv4SfAQSKaJbSdVEJYItASCrBiVQHq1HQew==",
|
"integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"monaco-editor-core": {
|
"monaco-editor-core": {
|
||||||
"version": "0.14.1",
|
"version": "0.15.0",
|
||||||
"resolved": "https://registry.npmjs.org/monaco-editor-core/-/monaco-editor-core-0.14.1.tgz",
|
"resolved": "https://registry.npmjs.org/monaco-editor-core/-/monaco-editor-core-0.15.0.tgz",
|
||||||
"integrity": "sha512-bWJuPbDEftxaN2bG+JZ29+aJhg0rmq+y6VmCUqPZpmw8bSevoYjuTcdLkt9BbNaGnwosAVy+vSktXgs/JW7OvQ==",
|
"integrity": "sha512-s1zuo+p6Gl6IC4WJP6HBkr4pWULm+HdFfacB8vOFPQLLi2oJseO20UuSkxYuZTUJQIjvhNrQfLNAmPKLZaf7tg==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"monaco-languages": {
|
"monaco-languages": {
|
||||||
"version": "1.4.0",
|
"version": "1.6.0",
|
||||||
"resolved": "https://registry.npmjs.org/monaco-languages/-/monaco-languages-1.4.0.tgz",
|
"resolved": "https://registry.npmjs.org/monaco-languages/-/monaco-languages-1.6.0.tgz",
|
||||||
"integrity": "sha512-39MZMAEKToktfSpOS0Soj05IvkT5vbebL9AIBGPn8fGi8WgJOcfS3YLiMu07gZKViR7CFZ4RyQJKJHglx0fPdA==",
|
"integrity": "sha512-LBEWj8tngYwsq4kasQr+dIhnO4xUIEN36ns+cRepWAQiXZnzcrZ84gFHXm8f4mR4tssxvHVU5Vw7xMUYro6h3g==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"monaco-plugin-helpers": {
|
"monaco-plugin-helpers": {
|
||||||
|
|
@ -28,7 +28,7 @@
|
||||||
"integrity": "sha512-7kUx8dtd5qVNVgUARBRhnM8oftPglYwlINfigC4yGUiuzqtIN22u1tly8umiOCIPR0eFiBLjt6aN23oZh2QJgg==",
|
"integrity": "sha512-7kUx8dtd5qVNVgUARBRhnM8oftPglYwlINfigC4yGUiuzqtIN22u1tly8umiOCIPR0eFiBLjt6aN23oZh2QJgg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"typescript": "2.9.2"
|
"typescript": "^2.7.2"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"typescript": {
|
"typescript": {
|
||||||
|
|
@ -40,9 +40,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"requirejs": {
|
"requirejs": {
|
||||||
"version": "2.3.5",
|
"version": "2.3.6",
|
||||||
"resolved": "https://registry.npmjs.org/requirejs/-/requirejs-2.3.5.tgz",
|
"resolved": "https://registry.npmjs.org/requirejs/-/requirejs-2.3.6.tgz",
|
||||||
"integrity": "sha512-svnO+aNcR/an9Dpi44C7KSAy5fFGLtmPbaaCeQaklUz8BQhS64tWWIIlvEA5jrWICzlO/X9KSzSeXFnZdBu8nw==",
|
"integrity": "sha512-ipEzlWQe6RK3jkzikgCupiTbTvm4S0/CAU5GlgptkN5SO6F3u0UD0K18wy6ErDqiCyP4J4YYe1HuAShvsxePLg==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"source-map": {
|
"source-map": {
|
||||||
|
|
@ -52,19 +52,19 @@
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"typescript": {
|
"typescript": {
|
||||||
"version": "3.0.1",
|
"version": "3.1.6",
|
||||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-3.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/typescript/-/typescript-3.1.6.tgz",
|
||||||
"integrity": "sha512-zQIMOmC+372pC/CCVLqnQ0zSBiY7HHodU7mpQdjiZddek4GMj31I3dUJ7gAs9o65X7mnRma6OokOkc6f9jjfBg==",
|
"integrity": "sha512-tDMYfVtvpb96msS1lDX9MEdHrW4yOuZ4Kdc4Him9oU796XldPYF/t2+uKoX0BBa0hXXwDlqYQbXY5Rzjzc5hBA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"uglify-js": {
|
"uglify-js": {
|
||||||
"version": "3.4.7",
|
"version": "3.4.9",
|
||||||
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.7.tgz",
|
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.9.tgz",
|
||||||
"integrity": "sha512-J0M2i1mQA+ze3EdN9SBi751DNdAXmeFLfJrd/MDIkRc3G3Gbb9OPVSx7GIQvVwfWxQARcYV2DTxIkMyDAk3o9Q==",
|
"integrity": "sha512-8CJsbKOtEbnJsTyv6LE6m6ZKniqMiFWmm9sRbopbkGs3gMPPfd3Fh8iIA4Ykv5MgaTbqHr4BaoGLJLZNhsrW1Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"commander": "2.16.0",
|
"commander": "~2.17.1",
|
||||||
"source-map": "0.6.1"
|
"source-map": "~0.6.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"vscode-css-languageservice": {
|
"vscode-css-languageservice": {
|
||||||
|
|
@ -73,8 +73,8 @@
|
||||||
"integrity": "sha512-fxAVvS9xgT1Ohyf2+CeJbT+WB6GWnptsAPe3Eao/dqEIJpq6nhugjZwlVVdw0bne9UG7KUoQRsx0++jErx71Zg==",
|
"integrity": "sha512-fxAVvS9xgT1Ohyf2+CeJbT+WB6GWnptsAPe3Eao/dqEIJpq6nhugjZwlVVdw0bne9UG7KUoQRsx0++jErx71Zg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"vscode-languageserver-types": "3.10.0",
|
"vscode-languageserver-types": "^3.10.0",
|
||||||
"vscode-nls": "3.2.4"
|
"vscode-nls": "^3.2.4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"vscode-languageserver-types": {
|
"vscode-languageserver-types": {
|
||||||
|
|
|
||||||
12
package.json
12
package.json
|
|
@ -5,7 +5,7 @@
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"compile": "mrmdir ./out && tsc -p ./src/tsconfig.json && tsc -p ./src/tsconfig.esm.json",
|
"compile": "mrmdir ./out && tsc -p ./src/tsconfig.json && tsc -p ./src/tsconfig.esm.json",
|
||||||
"watch": "tsc -p ./src --watch",
|
"watch": "tsc -p ./src --watch",
|
||||||
"prepublish": "mrmdir ./release && npm run compile && node ./scripts/release.js && node ./scripts/bundle && mcopy ./src/monaco.d.ts ./release/monaco.d.ts",
|
"prepublishOnly": "mrmdir ./release && npm run compile && node ./scripts/release.js && node ./scripts/bundle && mcopy ./src/monaco.d.ts ./release/monaco.d.ts",
|
||||||
"install-service-next": "npm install vscode-css-languageservice@next -f -D && npm install vscode-languageserver-types@next -f -D",
|
"install-service-next": "npm install vscode-css-languageservice@next -f -D && npm install vscode-languageserver-types@next -f -D",
|
||||||
"install-service-local": "npm install ../vscode-css-languageservice -f -D && npm install ../vscode-languageserver-node/types -f -D"
|
"install-service-local": "npm install ../vscode-css-languageservice -f -D && npm install ../vscode-languageserver-node/types -f -D"
|
||||||
},
|
},
|
||||||
|
|
@ -19,12 +19,12 @@
|
||||||
"url": "https://github.com/Microsoft/monaco-css/issues"
|
"url": "https://github.com/Microsoft/monaco-css/issues"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"monaco-editor-core": "0.14.1",
|
"monaco-editor-core": "0.15.0",
|
||||||
"monaco-languages": "1.4.0",
|
"monaco-languages": "1.6.0",
|
||||||
"monaco-plugin-helpers": "^1.0.2",
|
"monaco-plugin-helpers": "^1.0.2",
|
||||||
"requirejs": "^2.3.5",
|
"requirejs": "^2.3.6",
|
||||||
"typescript": "3.0.1",
|
"typescript": "3.1.6",
|
||||||
"uglify-js": "3.4.7",
|
"uglify-js": "3.4.9",
|
||||||
"vscode-css-languageservice": "3.0.9",
|
"vscode-css-languageservice": "3.0.9",
|
||||||
"vscode-languageserver-types": "3.10.0"
|
"vscode-languageserver-types": "3.10.0"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -98,7 +98,7 @@ export class DiagnosticsAdapter {
|
||||||
if (model.getModeId() === languageId) {
|
if (model.getModeId() === languageId) {
|
||||||
monaco.editor.setModelMarkers(model, languageId, markers);
|
monaco.editor.setModelMarkers(model, languageId, markers);
|
||||||
}
|
}
|
||||||
}).done(undefined, err => {
|
}).then(undefined, err => {
|
||||||
console.error(err);
|
console.error(err);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
@ -199,11 +199,11 @@ export class CompletionAdapter implements monaco.languages.CompletionItemProvide
|
||||||
return [' ', ':'];
|
return [' ', ':'];
|
||||||
}
|
}
|
||||||
|
|
||||||
provideCompletionItems(model: monaco.editor.IReadOnlyModel, position: Position, token: CancellationToken): Thenable<monaco.languages.CompletionList> {
|
provideCompletionItems(model: monaco.editor.IReadOnlyModel, position: Position, context: monaco.languages.CompletionContext, token: CancellationToken): Thenable<monaco.languages.CompletionList> {
|
||||||
const wordInfo = model.getWordUntilPosition(position);
|
const wordInfo = model.getWordUntilPosition(position);
|
||||||
const resource = model.uri;
|
const resource = model.uri;
|
||||||
|
|
||||||
return wireCancellationToken(token, this._worker(resource).then(worker => {
|
return this._worker(resource).then(worker => {
|
||||||
return worker.doComplete(resource.toString(), fromPosition(position));
|
return worker.doComplete(resource.toString(), fromPosition(position));
|
||||||
}).then(info => {
|
}).then(info => {
|
||||||
if (!info) {
|
if (!info) {
|
||||||
|
|
@ -212,7 +212,7 @@ export class CompletionAdapter implements monaco.languages.CompletionItemProvide
|
||||||
let items: monaco.languages.CompletionItem[] = info.items.map(entry => {
|
let items: monaco.languages.CompletionItem[] = info.items.map(entry => {
|
||||||
let item: monaco.languages.CompletionItem = {
|
let item: monaco.languages.CompletionItem = {
|
||||||
label: entry.label,
|
label: entry.label,
|
||||||
insertText: entry.insertText,
|
insertText: entry.insertText || entry.label,
|
||||||
sortText: entry.sortText,
|
sortText: entry.sortText,
|
||||||
filterText: entry.filterText,
|
filterText: entry.filterText,
|
||||||
documentation: entry.documentation,
|
documentation: entry.documentation,
|
||||||
|
|
@ -227,16 +227,16 @@ export class CompletionAdapter implements monaco.languages.CompletionItemProvide
|
||||||
item.additionalTextEdits = entry.additionalTextEdits.map(toTextEdit)
|
item.additionalTextEdits = entry.additionalTextEdits.map(toTextEdit)
|
||||||
}
|
}
|
||||||
if (entry.insertTextFormat === ls.InsertTextFormat.Snippet) {
|
if (entry.insertTextFormat === ls.InsertTextFormat.Snippet) {
|
||||||
item.insertText = { value: <string>item.insertText };
|
item.insertTextRules = monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet;
|
||||||
}
|
}
|
||||||
return item;
|
return item;
|
||||||
});
|
});
|
||||||
|
|
||||||
return {
|
return {
|
||||||
isIncomplete: info.isIncomplete,
|
isIncomplete: info.isIncomplete,
|
||||||
items: items
|
suggestions: items
|
||||||
};
|
};
|
||||||
}));
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -286,7 +286,7 @@ export class HoverAdapter implements monaco.languages.HoverProvider {
|
||||||
provideHover(model: monaco.editor.IReadOnlyModel, position: Position, token: CancellationToken): Thenable<monaco.languages.Hover> {
|
provideHover(model: monaco.editor.IReadOnlyModel, position: Position, token: CancellationToken): Thenable<monaco.languages.Hover> {
|
||||||
let resource = model.uri;
|
let resource = model.uri;
|
||||||
|
|
||||||
return wireCancellationToken(token, this._worker(resource).then(worker => {
|
return this._worker(resource).then(worker => {
|
||||||
return worker.doHover(resource.toString(), fromPosition(position));
|
return worker.doHover(resource.toString(), fromPosition(position));
|
||||||
}).then(info => {
|
}).then(info => {
|
||||||
if (!info) {
|
if (!info) {
|
||||||
|
|
@ -296,7 +296,7 @@ export class HoverAdapter implements monaco.languages.HoverProvider {
|
||||||
range: toRange(info.range),
|
range: toRange(info.range),
|
||||||
contents: toMarkedStringArray(info.contents)
|
contents: toMarkedStringArray(info.contents)
|
||||||
};
|
};
|
||||||
}));
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -320,7 +320,7 @@ export class DocumentHighlightAdapter implements monaco.languages.DocumentHighli
|
||||||
public provideDocumentHighlights(model: monaco.editor.IReadOnlyModel, position: Position, token: CancellationToken): Thenable<monaco.languages.DocumentHighlight[]> {
|
public provideDocumentHighlights(model: monaco.editor.IReadOnlyModel, position: Position, token: CancellationToken): Thenable<monaco.languages.DocumentHighlight[]> {
|
||||||
const resource = model.uri;
|
const resource = model.uri;
|
||||||
|
|
||||||
return wireCancellationToken(token, this._worker(resource).then(worker => {
|
return this._worker(resource).then(worker => {
|
||||||
return worker.findDocumentHighlights(resource.toString(), fromPosition(position))
|
return worker.findDocumentHighlights(resource.toString(), fromPosition(position))
|
||||||
}).then(entries => {
|
}).then(entries => {
|
||||||
if (!entries) {
|
if (!entries) {
|
||||||
|
|
@ -332,7 +332,7 @@ export class DocumentHighlightAdapter implements monaco.languages.DocumentHighli
|
||||||
kind: toDocumentHighlightKind(entry.kind)
|
kind: toDocumentHighlightKind(entry.kind)
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
}));
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -353,14 +353,14 @@ export class DefinitionAdapter {
|
||||||
public provideDefinition(model: monaco.editor.IReadOnlyModel, position: Position, token: CancellationToken): Thenable<monaco.languages.Definition> {
|
public provideDefinition(model: monaco.editor.IReadOnlyModel, position: Position, token: CancellationToken): Thenable<monaco.languages.Definition> {
|
||||||
const resource = model.uri;
|
const resource = model.uri;
|
||||||
|
|
||||||
return wireCancellationToken(token, this._worker(resource).then(worker => {
|
return this._worker(resource).then(worker => {
|
||||||
return worker.findDefinition(resource.toString(), fromPosition(position));
|
return worker.findDefinition(resource.toString(), fromPosition(position));
|
||||||
}).then(definition => {
|
}).then(definition => {
|
||||||
if (!definition) {
|
if (!definition) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
return [toLocation(definition)];
|
return [toLocation(definition)];
|
||||||
}));
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -374,14 +374,14 @@ export class ReferenceAdapter implements monaco.languages.ReferenceProvider {
|
||||||
provideReferences(model: monaco.editor.IReadOnlyModel, position: Position, context: monaco.languages.ReferenceContext, token: CancellationToken): Thenable<monaco.languages.Location[]> {
|
provideReferences(model: monaco.editor.IReadOnlyModel, position: Position, context: monaco.languages.ReferenceContext, token: CancellationToken): Thenable<monaco.languages.Location[]> {
|
||||||
const resource = model.uri;
|
const resource = model.uri;
|
||||||
|
|
||||||
return wireCancellationToken(token, this._worker(resource).then(worker => {
|
return this._worker(resource).then(worker => {
|
||||||
return worker.findReferences(resource.toString(), fromPosition(position));
|
return worker.findReferences(resource.toString(), fromPosition(position));
|
||||||
}).then(entries => {
|
}).then(entries => {
|
||||||
if (!entries) {
|
if (!entries) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
return entries.map(toLocation);
|
return entries.map(toLocation);
|
||||||
}));
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -416,11 +416,11 @@ export class RenameAdapter implements monaco.languages.RenameProvider {
|
||||||
provideRenameEdits(model: monaco.editor.IReadOnlyModel, position: Position, newName: string, token: CancellationToken): Thenable<monaco.languages.WorkspaceEdit> {
|
provideRenameEdits(model: monaco.editor.IReadOnlyModel, position: Position, newName: string, token: CancellationToken): Thenable<monaco.languages.WorkspaceEdit> {
|
||||||
const resource = model.uri;
|
const resource = model.uri;
|
||||||
|
|
||||||
return wireCancellationToken(token, this._worker(resource).then(worker => {
|
return this._worker(resource).then(worker => {
|
||||||
return worker.doRename(resource.toString(), fromPosition(position), newName);
|
return worker.doRename(resource.toString(), fromPosition(position), newName);
|
||||||
}).then(edit => {
|
}).then(edit => {
|
||||||
return toWorkspaceEdit(edit);
|
return toWorkspaceEdit(edit);
|
||||||
}));
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -461,7 +461,7 @@ export class DocumentSymbolAdapter implements monaco.languages.DocumentSymbolPro
|
||||||
public provideDocumentSymbols(model: monaco.editor.IReadOnlyModel, token: CancellationToken): Thenable<monaco.languages.DocumentSymbol[]> {
|
public provideDocumentSymbols(model: monaco.editor.IReadOnlyModel, token: CancellationToken): Thenable<monaco.languages.DocumentSymbol[]> {
|
||||||
const resource = model.uri;
|
const resource = model.uri;
|
||||||
|
|
||||||
return wireCancellationToken(token, this._worker(resource).then(worker => worker.findDocumentSymbols(resource.toString())).then(items => {
|
return this._worker(resource).then(worker => worker.findDocumentSymbols(resource.toString())).then(items => {
|
||||||
if (!items) {
|
if (!items) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -473,7 +473,7 @@ export class DocumentSymbolAdapter implements monaco.languages.DocumentSymbolPro
|
||||||
range: toRange(item.location.range),
|
range: toRange(item.location.range),
|
||||||
selectionRange: toRange(item.location.range)
|
selectionRange: toRange(item.location.range)
|
||||||
}));
|
}));
|
||||||
}));
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -485,7 +485,7 @@ export class DocumentColorAdapter implements monaco.languages.DocumentColorProvi
|
||||||
public provideDocumentColors(model: monaco.editor.IReadOnlyModel, token: CancellationToken): Thenable<monaco.languages.IColorInformation[]> {
|
public provideDocumentColors(model: monaco.editor.IReadOnlyModel, token: CancellationToken): Thenable<monaco.languages.IColorInformation[]> {
|
||||||
const resource = model.uri;
|
const resource = model.uri;
|
||||||
|
|
||||||
return wireCancellationToken(token, this._worker(resource).then(worker => worker.findDocumentColors(resource.toString())).then(infos => {
|
return this._worker(resource).then(worker => worker.findDocumentColors(resource.toString())).then(infos => {
|
||||||
if (!infos) {
|
if (!infos) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -493,13 +493,13 @@ export class DocumentColorAdapter implements monaco.languages.DocumentColorProvi
|
||||||
color: item.color,
|
color: item.color,
|
||||||
range: toRange(item.range)
|
range: toRange(item.range)
|
||||||
}));
|
}));
|
||||||
}));
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public provideColorPresentations(model: monaco.editor.IReadOnlyModel, info: monaco.languages.IColorInformation, token: CancellationToken): Thenable<monaco.languages.IColorPresentation[]> {
|
public provideColorPresentations(model: monaco.editor.IReadOnlyModel, info: monaco.languages.IColorInformation, token: CancellationToken): Thenable<monaco.languages.IColorPresentation[]> {
|
||||||
const resource = model.uri;
|
const resource = model.uri;
|
||||||
|
|
||||||
return wireCancellationToken(token, this._worker(resource).then(worker => worker.getColorPresentations(resource.toString(), info.color, fromRange(info.range))).then(presentations => {
|
return this._worker(resource).then(worker => worker.getColorPresentations(resource.toString(), info.color, fromRange(info.range))).then(presentations => {
|
||||||
if (!presentations) {
|
if (!presentations) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -515,7 +515,7 @@ export class DocumentColorAdapter implements monaco.languages.DocumentColorProvi
|
||||||
}
|
}
|
||||||
return item;
|
return item;
|
||||||
});
|
});
|
||||||
}));
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -527,7 +527,7 @@ export class FoldingRangeAdapter implements monaco.languages.FoldingRangeProvide
|
||||||
public provideFoldingRanges(model: monaco.editor.IReadOnlyModel, context: monaco.languages.FoldingContext, token: CancellationToken): Thenable<monaco.languages.FoldingRange[]> {
|
public provideFoldingRanges(model: monaco.editor.IReadOnlyModel, context: monaco.languages.FoldingContext, token: CancellationToken): Thenable<monaco.languages.FoldingRange[]> {
|
||||||
const resource = model.uri;
|
const resource = model.uri;
|
||||||
|
|
||||||
return wireCancellationToken(token, this._worker(resource).then(worker => worker.provideFoldingRanges(resource.toString(), context)).then(ranges => {
|
return this._worker(resource).then(worker => worker.provideFoldingRanges(resource.toString(), context)).then(ranges => {
|
||||||
if (!ranges) {
|
if (!ranges) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -541,7 +541,7 @@ export class FoldingRangeAdapter implements monaco.languages.FoldingRangeProvide
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
});
|
});
|
||||||
}));
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -554,12 +554,3 @@ function toFoldingRangeKind(kind: ls.FoldingRangeKind): monaco.languages.Folding
|
||||||
}
|
}
|
||||||
return void 0;
|
return void 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Hook a cancellation token to a WinJS Promise
|
|
||||||
*/
|
|
||||||
function wireCancellationToken<T>(token: CancellationToken, promise: Promise<T>): Thenable<T> {
|
|
||||||
token.onCancellationRequested(() => promise.cancel());
|
|
||||||
return promise;
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -81,26 +81,10 @@ export class WorkerManager {
|
||||||
|
|
||||||
getLanguageServiceWorker(...resources: Uri[]): Promise<CSSWorker> {
|
getLanguageServiceWorker(...resources: Uri[]): Promise<CSSWorker> {
|
||||||
let _client: CSSWorker;
|
let _client: CSSWorker;
|
||||||
return toShallowCancelPromise(
|
return this._getClient().then((client) => {
|
||||||
this._getClient().then((client) => {
|
|
||||||
_client = client
|
_client = client
|
||||||
}).then(_ => {
|
}).then(_ => {
|
||||||
return this._worker.withSyncedResources(resources)
|
return this._worker.withSyncedResources(resources)
|
||||||
}).then(_ => _client)
|
}).then(_ => _client);
|
||||||
);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function toShallowCancelPromise<T>(p: Promise<T>): Promise<T> {
|
|
||||||
let completeCallback: (value: T) => void;
|
|
||||||
let errorCallback: (err: any) => void;
|
|
||||||
|
|
||||||
let r = new Promise<T>((c, e) => {
|
|
||||||
completeCallback = c;
|
|
||||||
errorCallback = e;
|
|
||||||
}, () => { });
|
|
||||||
|
|
||||||
p.then(completeCallback, errorCallback);
|
|
||||||
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue