mirror of
https://github.com/microsoft/monaco-editor.git
synced 2025-12-22 16:15:41 +01:00
update markers on settings change
This commit is contained in:
parent
9c1b72ad0b
commit
418157fe99
2 changed files with 13 additions and 3 deletions
|
|
@ -31,6 +31,7 @@ export function setupMode(defaults: LanguageServiceDefaultsImpl): void {
|
|||
if (languageId === 'html') {
|
||||
monaco.languages.registerDocumentFormattingEditProvider(languageId, new languageFeatures.DocumentFormattingEditProvider(worker));
|
||||
monaco.languages.registerDocumentRangeFormattingEditProvider(languageId, new languageFeatures.DocumentRangeFormattingEditProvider(worker));
|
||||
new languageFeatures.DiagnostcsAdapter(languageId, worker);
|
||||
new languageFeatures.DiagnosticsAdapter(languageId, worker, defaults);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,12 +24,12 @@ export interface WorkerAccessor {
|
|||
|
||||
// --- diagnostics --- ---
|
||||
|
||||
export class DiagnostcsAdapter {
|
||||
export class DiagnosticsAdapter {
|
||||
|
||||
private _disposables: IDisposable[] = [];
|
||||
private _listener: { [uri: string]: IDisposable } = Object.create(null);
|
||||
|
||||
constructor(private _languageId: string, private _worker: WorkerAccessor) {
|
||||
constructor(private _languageId: string, private _worker: WorkerAccessor, defaults: LanguageServiceDefaultsImpl) {
|
||||
const onModelAdd = (model: monaco.editor.IModel): void => {
|
||||
let modeId = model.getModeId();
|
||||
if (modeId !== this._languageId) {
|
||||
|
|
@ -64,6 +64,15 @@ export class DiagnostcsAdapter {
|
|||
onModelAdd(event.model);
|
||||
}));
|
||||
|
||||
this._disposables.push(defaults.onDidChange(_ => {
|
||||
monaco.editor.getModels().forEach(model => {
|
||||
if (model.getModeId() === this._languageId) {
|
||||
onModelRemoved(model);
|
||||
onModelAdd(model);
|
||||
}
|
||||
});
|
||||
}));
|
||||
|
||||
this._disposables.push({
|
||||
dispose: () => {
|
||||
for (let key in this._listener) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue