mirror of
https://github.com/microsoft/monaco-editor.git
synced 2025-12-22 16:15:41 +01:00
Trigger an event when the extra libs changed, redoing all colorization and diagnostics
This commit is contained in:
parent
e39fa719bc
commit
357f54c652
2 changed files with 12 additions and 3 deletions
|
|
@ -134,14 +134,15 @@ export class DiagnostcsAdapter extends Adapter {
|
|||
}
|
||||
}
|
||||
});
|
||||
|
||||
this._disposables.push(this._defaults.onDidChange(() => {
|
||||
let redoDiagosticsCallback = () => {
|
||||
// redo diagnostics when options change
|
||||
for (const model of monaco.editor.getModels()) {
|
||||
onModelRemoved(model);
|
||||
onModelAdd(model);
|
||||
}
|
||||
}));
|
||||
};
|
||||
this._disposables.push(this._defaults.onDidChange(redoDiagosticsCallback));
|
||||
this._disposables.push(this._defaults.onDidExtraLibsChange(redoDiagosticsCallback));
|
||||
|
||||
monaco.editor.getModels().forEach(onModelAdd);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,6 +17,8 @@ import IDisposable = monaco.IDisposable;
|
|||
export class LanguageServiceDefaultsImpl implements monaco.languages.typescript.LanguageServiceDefaults {
|
||||
|
||||
private _onDidChange = new Emitter<monaco.languages.typescript.LanguageServiceDefaults>();
|
||||
private _onDidExtraLibsChange = new Emitter<monaco.languages.typescript.LanguageServiceDefaults>();
|
||||
|
||||
private _extraLibs: { [path: string]: { content: string, version: number } };
|
||||
private _workerMaxIdleTime: number;
|
||||
private _eagerModelSync: boolean;
|
||||
|
|
@ -37,6 +39,10 @@ export class LanguageServiceDefaultsImpl implements monaco.languages.typescript.
|
|||
return this._onDidChange.event;
|
||||
}
|
||||
|
||||
get onDidExtraLibsChange(): IEvent<monaco.languages.typescript.LanguageServiceDefaults> {
|
||||
return this._onDidExtraLibsChange.event;
|
||||
}
|
||||
|
||||
getExtraLibs(): { [path: string]: string; } {
|
||||
const result = Object.create(null);
|
||||
for (var key in this._extraLibs) {
|
||||
|
|
@ -84,6 +90,8 @@ export class LanguageServiceDefaultsImpl implements monaco.languages.typescript.
|
|||
}
|
||||
const client = await worker("");
|
||||
client.syncExtraLibs(this._extraLibs);
|
||||
// let all listeners know that the extra libs have changed
|
||||
this._onDidExtraLibsChange.fire(this);
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue