From 6ca4958538887dc536527d1ae8c7b4cf79467033 Mon Sep 17 00:00:00 2001 From: Martin Aeschlimann Date: Wed, 21 Aug 2019 10:12:55 +0200 Subject: [PATCH] more polish --- src/jsonMode.ts | 10 ++++++++-- src/monaco.contribution.ts | 5 ++--- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/jsonMode.ts b/src/jsonMode.ts index 58f587f9..656136fb 100644 --- a/src/jsonMode.ts +++ b/src/jsonMode.ts @@ -13,7 +13,7 @@ import { createTokenizationSupport } from './tokenization'; import Uri = monaco.Uri; import IDisposable = monaco.IDisposable; -export function setupMode(defaults: LanguageServiceDefaultsImpl): void { +export function setupMode(defaults: LanguageServiceDefaultsImpl): IDisposable { const disposables: IDisposable[] = []; const providers: IDisposable[] = []; @@ -72,7 +72,13 @@ export function setupMode(defaults: LanguageServiceDefaultsImpl): void { } }); - disposables.push({ dispose: () => disposeAll(providers) }); + disposables.push(asDisposable(providers)); + + return asDisposable(disposables); +} + +function asDisposable(disposables: IDisposable[]): IDisposable { + return { dispose: () => disposeAll(disposables) }; } function disposeAll(disposables: IDisposable[]) { diff --git a/src/monaco.contribution.ts b/src/monaco.contribution.ts index e0060e63..dbe911e9 100644 --- a/src/monaco.contribution.ts +++ b/src/monaco.contribution.ts @@ -8,7 +8,6 @@ import * as mode from './jsonMode'; import Emitter = monaco.Emitter; import IEvent = monaco.IEvent; -import IDisposable = monaco.IDisposable; // --- JSON configuration and defaults --------- @@ -58,7 +57,7 @@ const diagnosticDefault: monaco.languages.json.DiagnosticsOptions = { enableSchemaRequest: false }; -const providersDefault: monaco.languages.json.ModeConfiguration = { +const modeConfigurationDefault: monaco.languages.json.ModeConfiguration = { documentFormattingEdits: true, documentRangeFormattingEdits: true, completionItems: true, @@ -70,7 +69,7 @@ const providersDefault: monaco.languages.json.ModeConfiguration = { diagnostics: true } -const jsonDefaults = new LanguageServiceDefaultsImpl('json', diagnosticDefault, providersDefault); +const jsonDefaults = new LanguageServiceDefaultsImpl('json', diagnosticDefault, modeConfigurationDefault); // Export API function createAPI(): typeof monaco.languages.json {