redo diagnostics when options change, fixes #208

This commit is contained in:
Johannes Rieken 2017-01-16 15:19:16 +01:00
parent 77b2acb257
commit 8cbd548f8e

View file

@ -74,6 +74,7 @@ export class DiagnostcsAdapter extends Adapter {
};
const onModelRemoved = (model: monaco.editor.IModel): void => {
monaco.editor.setModelMarkers(model, this._selector, []);
const key = model.uri.toString();
if (this._listener[key]) {
this._listener[key].dispose();
@ -89,13 +90,21 @@ export class DiagnostcsAdapter extends Adapter {
}));
this._disposables.push({
dispose: () => {
for (let key in this._listener) {
this._listener[key].dispose();
dispose() {
for (const model of monaco.editor.getModels()) {
onModelRemoved(model);
}
}
});
this._disposables.push(this._defaults.onDidChange(() => {
// redo diagnostics when options change
for (const model of monaco.editor.getModels()) {
onModelRemoved(model);
onModelAdd(model);
}
}));
monaco.editor.getModels().forEach(onModelAdd);
}