more polish

This commit is contained in:
Martin Aeschlimann 2019-08-21 10:12:55 +02:00
parent de8bd2ba4f
commit 6ca4958538
2 changed files with 10 additions and 5 deletions

View file

@ -13,7 +13,7 @@ import { createTokenizationSupport } from './tokenization';
import Uri = monaco.Uri; import Uri = monaco.Uri;
import IDisposable = monaco.IDisposable; import IDisposable = monaco.IDisposable;
export function setupMode(defaults: LanguageServiceDefaultsImpl): void { export function setupMode(defaults: LanguageServiceDefaultsImpl): IDisposable {
const disposables: IDisposable[] = []; const disposables: IDisposable[] = [];
const providers: 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[]) { function disposeAll(disposables: IDisposable[]) {

View file

@ -8,7 +8,6 @@ import * as mode from './jsonMode';
import Emitter = monaco.Emitter; import Emitter = monaco.Emitter;
import IEvent = monaco.IEvent; import IEvent = monaco.IEvent;
import IDisposable = monaco.IDisposable;
// --- JSON configuration and defaults --------- // --- JSON configuration and defaults ---------
@ -58,7 +57,7 @@ const diagnosticDefault: monaco.languages.json.DiagnosticsOptions = {
enableSchemaRequest: false enableSchemaRequest: false
}; };
const providersDefault: monaco.languages.json.ModeConfiguration = { const modeConfigurationDefault: monaco.languages.json.ModeConfiguration = {
documentFormattingEdits: true, documentFormattingEdits: true,
documentRangeFormattingEdits: true, documentRangeFormattingEdits: true,
completionItems: true, completionItems: true,
@ -70,7 +69,7 @@ const providersDefault: monaco.languages.json.ModeConfiguration = {
diagnostics: true diagnostics: true
} }
const jsonDefaults = new LanguageServiceDefaultsImpl('json', diagnosticDefault, providersDefault); const jsonDefaults = new LanguageServiceDefaultsImpl('json', diagnosticDefault, modeConfigurationDefault);
// Export API // Export API
function createAPI(): typeof monaco.languages.json { function createAPI(): typeof monaco.languages.json {