Kaynağa Gözat

add config to disable default formatter

fixes Microsoft/monaco-editor#889
Dominik Moritz 6 yıl önce
ebeveyn
işleme
f558b8f4ff
3 değiştirilmiş dosya ile 11 ekleme ve 4 silme
  1. 4 2
      src/jsonMode.ts
  2. 2 1
      src/monaco.contribution.ts
  3. 5 1
      src/monaco.d.ts

+ 4 - 2
src/jsonMode.ts

@@ -29,8 +29,10 @@ export function setupMode(defaults: LanguageServiceDefaultsImpl): void {
 	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)));
+	if (!defaults.diagnosticsOptions.disableDefaultFormatter) {
+		disposables.push(monaco.languages.registerDocumentFormattingEditProvider(languageId, new languageFeatures.DocumentFormattingEditProvider(worker)));
+		disposables.push(monaco.languages.registerDocumentRangeFormattingEditProvider(languageId, new languageFeatures.DocumentRangeFormattingEditProvider(worker)));
+	}
 	disposables.push(new languageFeatures.DiagnosticsAdapter(languageId, worker, defaults));
 	disposables.push(monaco.languages.setTokensProvider(languageId, createTokenizationSupport(true)));
 	disposables.push(monaco.languages.setLanguageConfiguration(languageId, richEditConfiguration));

+ 2 - 1
src/monaco.contribution.ts

@@ -45,7 +45,8 @@ const diagnosticDefault: monaco.languages.json.DiagnosticsOptions = {
 	validate: true,
 	allowComments: true,
 	schemas: [],
-    enableSchemaRequest: false
+	enableSchemaRequest: false,
+	disableDefaultFormatter: false
 };
 
 const jsonDefaults = new LanguageServiceDefaultsImpl('json', diagnosticDefault);

+ 5 - 1
src/monaco.d.ts

@@ -30,10 +30,14 @@ 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
          */
-        readonly enableSchemaRequest? : boolean
+        readonly enableSchemaRequest? : boolean;
     }
 
     export interface LanguageServiceDefaults {