From a0f4474c5419bd44836478d8774d584ee2144fc0 Mon Sep 17 00:00:00 2001 From: Martin Aeschlimann Date: Mon, 16 Jan 2017 12:48:00 +0100 Subject: [PATCH] Markers appear for wrong language id. Fixes Microsoft/monaco-editor#111 --- package.json | 2 +- src/languageFeatures.ts | 12 +++++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 505cae16..a1c2ab58 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "monaco-css", - "version": "1.2.1", + "version": "1.2.2", "description": "CSS, LESS and SCSS plugin for the Monaco Editor", "scripts": { "compile": "gulp compile", diff --git a/src/languageFeatures.ts b/src/languageFeatures.ts index f8421828..2abb8725 100644 --- a/src/languageFeatures.ts +++ b/src/languageFeatures.ts @@ -4,8 +4,8 @@ *--------------------------------------------------------------------------------------------*/ 'use strict'; -import {LanguageServiceDefaultsImpl} from './monaco.contribution'; -import {CSSWorker} from './cssWorker'; +import { LanguageServiceDefaultsImpl } from './monaco.contribution'; +import { CSSWorker } from './cssWorker'; import * as ls from 'vscode-languageserver-types'; @@ -47,7 +47,13 @@ export class DiagnostcsAdapter { const onModelRemoved = (model: monaco.editor.IModel): void => { monaco.editor.setModelMarkers(model, this._languageId, []); - delete this._listener[model.uri.toString()]; + + let uriStr = model.uri.toString(); + let listener = this._listener[uriStr]; + if (listener) { + listener.dispose(); + delete this._listener[uriStr]; + } }; this._disposables.push(monaco.editor.onDidCreateModel(onModelAdd));