This commit is contained in:
Sandeep Somavarapu 2016-06-30 14:30:42 +02:00
parent cfa2c702be
commit 7d7338cd40

View file

@ -5,6 +5,7 @@
'use strict';
import * as nls from 'vs/nls';
import network = require('vs/base/common/network');
import Event, {Emitter} from 'vs/base/common/event';
import {EmitterEvent} from 'vs/base/common/eventEmitter';
import {MarkedString, textToMarkedString} from 'vs/base/common/htmlContent';
@ -340,6 +341,15 @@ export class ModelServiceImpl implements IModelService {
});
}
private _cleanUp(model: editorCommon.IModel): void {
// clean up markers for internal, transient models
if (model.uri.scheme === network.Schemas.inMemory
|| model.uri.scheme === network.Schemas.internal
|| model.uri.scheme === network.Schemas.vscode) {
this._markerService.read({resource: model.uri}).map(marker => marker.owner).forEach(owner => this._markerService.remove(owner, [model.uri]));
}
}
// --- begin IModelService
private _createModelData(value: string | editorCommon.IRawText, modeOrPromise: TPromise<IMode> | IMode, resource: URI): ModelData {
@ -424,6 +434,8 @@ export class ModelServiceImpl implements IModelService {
let modelId = MODEL_ID(model.uri);
let modelData = this._models[modelId];
this._cleanUp(model);
delete this._models[modelId];
modelData.dispose();