Selaa lähdekoodia

Move disableDefaultFormatter to LanguageServiceDefaults

Dominik Moritz 6 vuotta sitten
vanhempi
commit
f1b2e50e7c
3 muutettua tiedostoa jossa 20 lisäystä ja 10 poistoa
  1. 2 2
      src/jsonMode.ts
  2. 13 4
      src/monaco.contribution.ts
  3. 5 4
      src/monaco.d.ts

+ 2 - 2
src/jsonMode.ts

@@ -24,12 +24,12 @@ export function setupMode(defaults: LanguageServiceDefaultsImpl): void {
 		return client.getLanguageServiceWorker(...uris);
 	};
 
-	let languageId = defaults.languageId;
+	const {disableDefaultFormatter, languageId} = defaults;
 
 	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)));
-	if (!defaults.diagnosticsOptions.disableDefaultFormatter) {
+	if (!disableDefaultFormatter) {
 		disposables.push(monaco.languages.registerDocumentFormattingEditProvider(languageId, new languageFeatures.DocumentFormattingEditProvider(worker)));
 		disposables.push(monaco.languages.registerDocumentRangeFormattingEditProvider(languageId, new languageFeatures.DocumentRangeFormattingEditProvider(worker)));
 	}

+ 13 - 4
src/monaco.contribution.ts

@@ -16,11 +16,13 @@ export class LanguageServiceDefaultsImpl implements monaco.languages.json.Langua
 
 	private _onDidChange = new Emitter<monaco.languages.json.LanguageServiceDefaults>();
 	private _diagnosticsOptions: monaco.languages.json.DiagnosticsOptions;
+	private _disableDefaultFormatter: boolean;
 	private _languageId: string;
 
-	constructor(languageId: string, diagnosticsOptions: monaco.languages.json.DiagnosticsOptions) {
+	constructor(languageId: string, diagnosticsOptions: monaco.languages.json.DiagnosticsOptions, disableDefaultFormatter: boolean) {
 		this._languageId = languageId;
 		this.setDiagnosticsOptions(diagnosticsOptions);
+		this.setDisableDefaultFormatter(disableDefaultFormatter)
 	}
 
 	get onDidChange(): IEvent<monaco.languages.json.LanguageServiceDefaults> {
@@ -31,6 +33,10 @@ export class LanguageServiceDefaultsImpl implements monaco.languages.json.Langua
 		return this._languageId;
 	}
 
+	get disableDefaultFormatter(): boolean {
+		return this._disableDefaultFormatter;
+	}
+
 	get diagnosticsOptions(): monaco.languages.json.DiagnosticsOptions {
 		return this._diagnosticsOptions;
 	}
@@ -39,17 +45,20 @@ export class LanguageServiceDefaultsImpl implements monaco.languages.json.Langua
 		this._diagnosticsOptions = options || Object.create(null);
 		this._onDidChange.fire(this);
 	}
+	setDisableDefaultFormatter(disable: boolean): void {
+		this._disableDefaultFormatter = disable;
+		this._onDidChange.fire(this);
+	};
 }
 
 const diagnosticDefault: monaco.languages.json.DiagnosticsOptions = {
 	validate: true,
 	allowComments: true,
 	schemas: [],
-	enableSchemaRequest: false,
-	disableDefaultFormatter: false
+	enableSchemaRequest: false
 };
 
-const jsonDefaults = new LanguageServiceDefaultsImpl('json', diagnosticDefault);
+const jsonDefaults = new LanguageServiceDefaultsImpl('json', diagnosticDefault, false);
 
 
 // Export API

+ 5 - 4
src/monaco.d.ts

@@ -30,10 +30,6 @@ declare module monaco.languages.json {
              */
             readonly schema?: any;
         }[];
-        /**
-         * Disable the default JSON formatter.
-         */
-        readonly disableDefaultFormatter?: boolean;
         /**
          *  If set, the schema service would load schema content on-demand with 'fetch' if available
          */
@@ -44,6 +40,11 @@ declare module monaco.languages.json {
         readonly onDidChange: IEvent<LanguageServiceDefaults>;
         readonly diagnosticsOptions: DiagnosticsOptions;
         setDiagnosticsOptions(options: DiagnosticsOptions): void;
+        /**
+         * Disable the default JSON formatter.
+         */
+        readonly disableDefaultFormatter?: boolean;
+        setDisableDefaultFormatter(disable: boolean): void;
     }
 
     export var jsonDefaults: LanguageServiceDefaults;