update dependencies, adopt textdocument

This commit is contained in:
Martin Aeschlimann 2019-12-16 16:05:31 +01:00
parent a819bbcf45
commit 24a660f022
5 changed files with 56 additions and 39 deletions

59
package-lock.json generated
View file

@ -5,9 +5,9 @@
"requires": true, "requires": true,
"dependencies": { "dependencies": {
"commander": { "commander": {
"version": "2.17.1", "version": "2.20.3",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
"integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
"dev": true "dev": true
}, },
"monaco-editor-core": { "monaco-editor-core": {
@ -52,36 +52,51 @@
"dev": true "dev": true
}, },
"typescript": { "typescript": {
"version": "3.6.3", "version": "3.7.3",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-3.6.3.tgz", "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.7.3.tgz",
"integrity": "sha512-N7bceJL1CtRQ2RiG0AQME13ksR7DiuQh/QehubYcghzv20tnh+MQnQIuJddTmsbqYj+dztchykemz0zFzlvdQw==", "integrity": "sha512-Mcr/Qk7hXqFBXMN7p7Lusj1ktCBydylfQM/FZCk5glCNQJrCUKPkMHdo9R0MTFWsC/4kPFvDS0fDPvukfCkFsw==",
"dev": true "dev": true
}, },
"uglify-js": { "uglify-js": {
"version": "3.4.9", "version": "3.7.2",
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.9.tgz", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.7.2.tgz",
"integrity": "sha512-8CJsbKOtEbnJsTyv6LE6m6ZKniqMiFWmm9sRbopbkGs3gMPPfd3Fh8iIA4Ykv5MgaTbqHr4BaoGLJLZNhsrW1Q==", "integrity": "sha512-uhRwZcANNWVLrxLfNFEdltoPNhECUR3lc+UdJoG9CBpMcSnKyWA94tc3eAujB1GcMY5Uwq8ZMp4qWpxWYDQmaA==",
"dev": true, "dev": true,
"requires": { "requires": {
"commander": "~2.17.1", "commander": "~2.20.3",
"source-map": "~0.6.1" "source-map": "~0.6.1"
} }
}, },
"vscode-html-languageservice": { "vscode-html-languageservice": {
"version": "3.0.0-next.3", "version": "3.0.4-next.12",
"resolved": "https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-3.0.0-next.3.tgz", "resolved": "https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-3.0.4-next.12.tgz",
"integrity": "sha512-vPdZ17JSr8kAAnjNjdiH4jYySaJrXqnbT3OhnGXqc51R3jnwMXV/Jf72ctXptbpiUQM3ifHnfUcxwO+34tw6Lw==", "integrity": "sha512-/wii3f22RildoI5M6Li2KNMeHTS3xt3ECgQmu5fGkG57rcxzIhO7XlKlozBCG+/NHzWss0lB30c0nfWvIKsn9g==",
"dev": true, "dev": true,
"requires": { "requires": {
"vscode-languageserver-types": "^3.14.0", "vscode-languageserver-textdocument": "^1.0.0-next.5",
"vscode-nls": "^4.0.0", "vscode-languageserver-types": "^3.15.0-next.6",
"vscode-uri": "^1.0.6" "vscode-nls": "^4.1.1",
"vscode-uri": "^2.1.1"
},
"dependencies": {
"vscode-languageserver-types": {
"version": "3.15.0-next.9",
"resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.15.0-next.9.tgz",
"integrity": "sha512-Rl/8qJ6932nrHCdPn+9y0x08uLVQaSLRG+U4JzhyKpWU4eJbVaDRoAcz1Llj7CErJGbPr6kdBvShPy5fRfR+Uw==",
"dev": true
}
} }
}, },
"vscode-languageserver-textdocument": {
"version": "1.0.0-next.5",
"resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.0-next.5.tgz",
"integrity": "sha512-1jp/zAidN/bF/sqPimhBX1orH5G4rzRw63k75TesukJDuxm8yW79ECStWbDSy41BHGOwSGN4M69QFvhancSr5A==",
"dev": true
},
"vscode-languageserver-types": { "vscode-languageserver-types": {
"version": "3.14.0", "version": "3.15.0-next.9",
"resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.14.0.tgz", "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.15.0-next.9.tgz",
"integrity": "sha512-lTmS6AlAlMHOvPQemVwo3CezxBp0sNB95KNPkqp3Nxd5VFEnuG1ByM0zlRWos0zjO3ZWtkvhal0COgiV1xIA4A==", "integrity": "sha512-Rl/8qJ6932nrHCdPn+9y0x08uLVQaSLRG+U4JzhyKpWU4eJbVaDRoAcz1Llj7CErJGbPr6kdBvShPy5fRfR+Uw==",
"dev": true "dev": true
}, },
"vscode-nls": { "vscode-nls": {
@ -91,9 +106,9 @@
"dev": true "dev": true
}, },
"vscode-uri": { "vscode-uri": {
"version": "1.0.8", "version": "2.1.1",
"resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-1.0.8.tgz", "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-2.1.1.tgz",
"integrity": "sha512-obtSWTlbJ+a+TFRYGaUumtVwb+InIUVI0Lu0VBUAPmj2cU5JutEXg3xUE0c2J5Tcy7h2DEKVJBFi+Y9ZSFzzPQ==", "integrity": "sha512-eY9jmGoEnVf8VE8xr5znSah7Qt1P/xsCdErz+g8HYZtJ7bZqKH5E3d+6oVNm1AC/c6IHUDokbmVXKOi4qPAC9A==",
"dev": true "dev": true
} }
} }

View file

@ -23,9 +23,10 @@
"monaco-languages": "^1.8.0", "monaco-languages": "^1.8.0",
"monaco-plugin-helpers": "^1.0.2", "monaco-plugin-helpers": "^1.0.2",
"requirejs": "^2.3.6", "requirejs": "^2.3.6",
"typescript": "^3.3.3333", "typescript": "^3.7.3",
"uglify-js": "^3.4.9", "uglify-js": "^3.7.2",
"vscode-html-languageservice": "3.0.0-next.3", "vscode-html-languageservice": "3.0.4-next.12",
"vscode-languageserver-types": "^3.14.0" "vscode-languageserver-types": "3.15.0-next.9",
"vscode-languageserver-textdocument": "^1.0.0-next.5"
} }
} }

View file

@ -42,6 +42,10 @@ function bundleOne(moduleId, exclude) {
name: 'vscode-languageserver-types', name: 'vscode-languageserver-types',
location: path.join(REPO_ROOT, 'node_modules/vscode-languageserver-types/lib/umd'), location: path.join(REPO_ROOT, 'node_modules/vscode-languageserver-types/lib/umd'),
main: 'main' main: 'main'
}, {
name: 'vscode-languageserver-textdocument',
location: path.join(REPO_ROOT, 'node_modules/vscode-languageserver-textdocument/lib/umd'),
main: 'main'
}, { }, {
name: 'vscode-uri', name: 'vscode-uri',
location: path.join(REPO_ROOT, 'node_modules/vscode-uri/lib/umd'), location: path.join(REPO_ROOT, 'node_modules/vscode-uri/lib/umd'),

View file

@ -3,8 +3,6 @@
* Licensed under the MIT License. See License.txt in the project root for license information. * Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/ *--------------------------------------------------------------------------------------------*/
import {LocalizeInfo, LocalizeFunc, Options, LoadFunc} from 'vscode-nls';
export interface Options { export interface Options {
locale?: string; locale?: string;
cacheLanguageResolution?: boolean; cacheLanguageResolution?: boolean;

View file

@ -9,7 +9,6 @@ import IWorkerContext = monaco.worker.IWorkerContext;
import Thenable = monaco.Thenable; import Thenable = monaco.Thenable;
import * as htmlService from 'vscode-html-languageservice'; import * as htmlService from 'vscode-html-languageservice';
import * as ls from 'vscode-languageserver-types';
import * as poli from './fillers/polyfills'; import * as poli from './fillers/polyfills';
@ -29,53 +28,53 @@ export class HTMLWorker {
this._languageService = htmlService.getLanguageService(); this._languageService = htmlService.getLanguageService();
} }
doValidation(uri: string): Thenable<ls.Diagnostic[]> { doValidation(uri: string): Thenable<htmlService.Diagnostic[]> {
// not yet suported // not yet suported
return Promise.resolve([]); return Promise.resolve([]);
} }
doComplete(uri: string, position: ls.Position): Thenable<ls.CompletionList> { doComplete(uri: string, position: htmlService.Position): Thenable<htmlService.CompletionList> {
let document = this._getTextDocument(uri); let document = this._getTextDocument(uri);
let htmlDocument = this._languageService.parseHTMLDocument(document); let htmlDocument = this._languageService.parseHTMLDocument(document);
return Promise.resolve(this._languageService.doComplete(document, position, htmlDocument, this._languageSettings && this._languageSettings.suggest)); return Promise.resolve(this._languageService.doComplete(document, position, htmlDocument, this._languageSettings && this._languageSettings.suggest));
} }
format(uri: string, range: ls.Range, options: ls.FormattingOptions): Thenable<ls.TextEdit[]> { format(uri: string, range: htmlService.Range, options: htmlService.FormattingOptions): Thenable<htmlService.TextEdit[]> {
let document = this._getTextDocument(uri); let document = this._getTextDocument(uri);
let textEdits = this._languageService.format(document, range, this._languageSettings && this._languageSettings.format); let textEdits = this._languageService.format(document, range, this._languageSettings && this._languageSettings.format);
return Promise.resolve(textEdits); return Promise.resolve(textEdits);
} }
doHover(uri: string, position: ls.Position): Thenable<ls.Hover> { doHover(uri: string, position: htmlService.Position): Thenable<htmlService.Hover> {
let document = this._getTextDocument(uri); let document = this._getTextDocument(uri);
let htmlDocument = this._languageService.parseHTMLDocument(document); let htmlDocument = this._languageService.parseHTMLDocument(document);
let hover = this._languageService.doHover(document, position, htmlDocument); let hover = this._languageService.doHover(document, position, htmlDocument);
return Promise.resolve(hover); return Promise.resolve(hover);
} }
findDocumentHighlights(uri: string, position: ls.Position): Thenable<ls.DocumentHighlight[]> { findDocumentHighlights(uri: string, position: htmlService.Position): Thenable<htmlService.DocumentHighlight[]> {
let document = this._getTextDocument(uri); let document = this._getTextDocument(uri);
let htmlDocument = this._languageService.parseHTMLDocument(document); let htmlDocument = this._languageService.parseHTMLDocument(document);
let highlights = this._languageService.findDocumentHighlights(document, position, htmlDocument); let highlights = this._languageService.findDocumentHighlights(document, position, htmlDocument);
return Promise.resolve(highlights); return Promise.resolve(highlights);
} }
findDocumentLinks(uri: string): Thenable<ls.DocumentLink[]> { findDocumentLinks(uri: string): Thenable<htmlService.DocumentLink[]> {
let document = this._getTextDocument(uri); let document = this._getTextDocument(uri);
let links = this._languageService.findDocumentLinks(document, null); let links = this._languageService.findDocumentLinks(document, null);
return Promise.resolve(links); return Promise.resolve(links);
} }
findDocumentSymbols(uri: string): Thenable<ls.SymbolInformation[]> { findDocumentSymbols(uri: string): Thenable<htmlService.SymbolInformation[]> {
let document = this._getTextDocument(uri); let document = this._getTextDocument(uri);
let htmlDocument = this._languageService.parseHTMLDocument(document); let htmlDocument = this._languageService.parseHTMLDocument(document);
let symbols = this._languageService.findDocumentSymbols(document, htmlDocument); let symbols = this._languageService.findDocumentSymbols(document, htmlDocument);
return Promise.resolve(symbols); return Promise.resolve(symbols);
} }
provideFoldingRanges(uri: string, context?: { rangeLimit?: number; }): Thenable<ls.FoldingRange[]> { provideFoldingRanges(uri: string, context?: { rangeLimit?: number; }): Thenable<htmlService.FoldingRange[]> {
let document = this._getTextDocument(uri); let document = this._getTextDocument(uri);
let ranges = this._languageService.getFoldingRanges(document, context); let ranges = this._languageService.getFoldingRanges(document, context);
return Promise.resolve(ranges); return Promise.resolve(ranges);
} }
private _getTextDocument(uri: string): ls.TextDocument { private _getTextDocument(uri: string): htmlService.TextDocument {
let models = this._ctx.getMirrorModels(); let models = this._ctx.getMirrorModels();
for (let model of models) { for (let model of models) {
if (model.uri.toString() === uri) { if (model.uri.toString() === uri) {
return ls.TextDocument.create(uri, this._languageId, model.version, model.getValue()); return htmlService.TextDocument.create(uri, this._languageId, model.version, model.getValue());
} }
} }
return null; return null;