mirror of
https://github.com/microsoft/monaco-editor.git
synced 2025-12-22 17:25:39 +01:00
refresh decorations after new setDiagnosticsOptions have been applied. fixes Microsoft/monaco-editor#755
This commit is contained in:
parent
427abfc518
commit
d806983671
2 changed files with 20 additions and 7 deletions
|
|
@ -27,12 +27,16 @@ export function setupMode(defaults: LanguageServiceDefaultsImpl): void {
|
|||
|
||||
let languageId = defaults.languageId;
|
||||
|
||||
let diagnostcsAdapter = new languageFeatures.DiagnostcsAdapter(languageId, worker);
|
||||
defaults.onDidChange(c => diagnostcsAdapter.clearMarkers());
|
||||
|
||||
|
||||
disposables.push(monaco.languages.registerCompletionItemProvider(languageId, new languageFeatures.CompletionAdapter(worker)));
|
||||
disposables.push(monaco.languages.registerHoverProvider(languageId, new languageFeatures.HoverAdapter(worker)));
|
||||
disposables.push(monaco.languages.registerDocumentSymbolProvider(languageId, new languageFeatures.DocumentSymbolAdapter(worker)));
|
||||
disposables.push(monaco.languages.registerDocumentFormattingEditProvider(languageId, new languageFeatures.DocumentFormattingEditProvider(worker)));
|
||||
disposables.push(monaco.languages.registerDocumentRangeFormattingEditProvider(languageId, new languageFeatures.DocumentRangeFormattingEditProvider(worker)));
|
||||
disposables.push(new languageFeatures.DiagnostcsAdapter(languageId, worker));
|
||||
disposables.push(diagnostcsAdapter);
|
||||
disposables.push(monaco.languages.setTokensProvider(languageId, createTokenizationSupport(true)));
|
||||
disposables.push(monaco.languages.setLanguageConfiguration(languageId, richEditConfiguration));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -68,6 +68,7 @@ export class DiagnostcsAdapter {
|
|||
|
||||
this._disposables.push({
|
||||
dispose: () => {
|
||||
monaco.editor.getModels().forEach(onModelRemoved);
|
||||
for (let key in this._listener) {
|
||||
this._listener[key].dispose();
|
||||
}
|
||||
|
|
@ -82,6 +83,14 @@ export class DiagnostcsAdapter {
|
|||
this._disposables = [];
|
||||
}
|
||||
|
||||
public clearMarkers() {
|
||||
monaco.editor.getModels().forEach(model => {
|
||||
if (model.getModeId() === this._languageId) {
|
||||
monaco.editor.setModelMarkers(model, this._languageId, []);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private _resetSchema(resource: Uri): void {
|
||||
this._worker().then(worker => {
|
||||
worker.resetSchema(resource.toString());
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue