Browse Source

more polish

Martin Aeschlimann 6 years ago
parent
commit
6ca4958538
2 changed files with 10 additions and 5 deletions
  1. 8 2
      src/jsonMode.ts
  2. 2 3
      src/monaco.contribution.ts

+ 8 - 2
src/jsonMode.ts

@@ -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[]) {

+ 2 - 3
src/monaco.contribution.ts

@@ -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 {