diff --git a/package.json b/package.json index fec1d06e..f0bdaa25 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,7 @@ "gulp-tsb": "^1.10.4", "gulp-uglify": "^1.5.3", "merge-stream": "^1.0.0", - "monaco-editor-core": "^0.4.0", + "monaco-editor-core": "0.5.1", "object-assign": "^4.1.0", "rimraf": "^2.5.2", "typescript": "1.8.10" diff --git a/src/cssWorker.ts b/src/cssWorker.ts index 9b357559..d7ce2719 100644 --- a/src/cssWorker.ts +++ b/src/cssWorker.ts @@ -5,6 +5,7 @@ 'use strict'; import Promise = monaco.Promise; +import IWorkerContext = monaco.worker.IWorkerContext; import * as cssService from 'vscode-css-languageservice'; import * as ls from 'vscode-languageserver-types'; @@ -13,11 +14,13 @@ export class CSSWorker { // --- model sync ----------------------- + private _ctx:IWorkerContext; private _languageService: cssService.LanguageService; private _languageSettings: cssService.LanguageSettings; private _languageId: string; - constructor(createData: ICreateData) { + constructor(ctx:IWorkerContext, createData: ICreateData) { + this._ctx = ctx; this._languageSettings = createData.languageSettings; this._languageId = createData.languageId; switch (this._languageId) { @@ -99,10 +102,10 @@ export class CSSWorker { return Promise.as(renames); } private _getTextDocument(uri: string): ls.TextDocument { - let models = monaco.worker.getMirrorModels(); + let models = this._ctx.getMirrorModels(); for (let model of models) { if (model.uri.toString() === uri) { - return ls.TextDocument.create(uri, this._languageId, model.version, model.getText()); + return ls.TextDocument.create(uri, this._languageId, model.version, model.getValue()); } } return null; @@ -114,6 +117,6 @@ export interface ICreateData { languageSettings: cssService.LanguageSettings; } -export function create(createData: ICreateData): CSSWorker { - return new CSSWorker(createData); +export function create(ctx:IWorkerContext, createData: ICreateData): CSSWorker { + return new CSSWorker(ctx, createData); } diff --git a/src/languageFeatures.ts b/src/languageFeatures.ts index b57b0967..313bd691 100644 --- a/src/languageFeatures.ts +++ b/src/languageFeatures.ts @@ -210,26 +210,14 @@ export class CompletionAdapter implements monaco.languages.CompletionItemProvide } } -function toHTMLContentElements(contents: ls.MarkedString | ls.MarkedString[]): monaco.IHTMLContentElement[] { +function toMarkedStringArray(contents: ls.MarkedString | ls.MarkedString[]): monaco.MarkedString[] { if (!contents) { return void 0; } - let toHTMLContentElement = (ms: ls.MarkedString): monaco.IHTMLContentElement => { - if (typeof ms === 'string') { - return { text: ms }; - } - return { - code: { - value: ms['value'], - language: ms['language'] - } - }; - }; - if (Array.isArray(contents)) { - return (contents).map(toHTMLContentElement); + return (contents); } - return [toHTMLContentElement(contents)]; + return [contents]; } @@ -251,7 +239,7 @@ export class HoverAdapter implements monaco.languages.HoverProvider { } return { range: toRange(info.range), - htmlContent: toHTMLContentElements(info.contents) + contents: toMarkedStringArray(info.contents) }; })); }