mirror of
https://github.com/microsoft/monaco-editor.git
synced 2025-12-22 22:02:55 +01:00
remove markers on settings change. Fixes Microsoft/monaco-editor#840
This commit is contained in:
parent
1fc63ab25c
commit
c0250bfca3
2 changed files with 12 additions and 3 deletions
|
|
@ -30,7 +30,7 @@ export function setupMode(defaults: LanguageServiceDefaultsImpl): void {
|
||||||
monaco.languages.registerDocumentSymbolProvider(languageId, new languageFeatures.DocumentSymbolAdapter(worker));
|
monaco.languages.registerDocumentSymbolProvider(languageId, new languageFeatures.DocumentSymbolAdapter(worker));
|
||||||
monaco.languages.registerRenameProvider(languageId, new languageFeatures.RenameAdapter(worker));
|
monaco.languages.registerRenameProvider(languageId, new languageFeatures.RenameAdapter(worker));
|
||||||
monaco.languages.registerColorProvider(languageId, new languageFeatures.DocumentColorAdapter(worker));
|
monaco.languages.registerColorProvider(languageId, new languageFeatures.DocumentColorAdapter(worker));
|
||||||
new languageFeatures.DiagnostcsAdapter(languageId, worker);
|
new languageFeatures.DiagnosticsAdapter(languageId, worker, defaults);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -25,12 +25,12 @@ export interface WorkerAccessor {
|
||||||
|
|
||||||
// --- diagnostics --- ---
|
// --- diagnostics --- ---
|
||||||
|
|
||||||
export class DiagnostcsAdapter {
|
export class DiagnosticsAdapter {
|
||||||
|
|
||||||
private _disposables: IDisposable[] = [];
|
private _disposables: IDisposable[] = [];
|
||||||
private _listener: { [uri: string]: IDisposable } = Object.create(null);
|
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 => {
|
const onModelAdd = (model: monaco.editor.IModel): void => {
|
||||||
let modeId = model.getModeId();
|
let modeId = model.getModeId();
|
||||||
if (modeId !== this._languageId) {
|
if (modeId !== this._languageId) {
|
||||||
|
|
@ -64,6 +64,15 @@ export class DiagnostcsAdapter {
|
||||||
onModelAdd(event.model);
|
onModelAdd(event.model);
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
defaults.onDidChange(_ => {
|
||||||
|
monaco.editor.getModels().forEach(model => {
|
||||||
|
if (model.getModeId() === this._languageId) {
|
||||||
|
onModelRemoved(model);
|
||||||
|
onModelAdd(model);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
this._disposables.push({
|
this._disposables.push({
|
||||||
dispose: () => {
|
dispose: () => {
|
||||||
for (let key in this._listener) {
|
for (let key in this._listener) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue