Move disableDefaultFormatter to LanguageServiceDefaults

pull/2748/head
Dominik Moritz 6 years ago
parent f558b8f4ff
commit f1b2e50e7c

@ -24,12 +24,12 @@ export function setupMode(defaults: LanguageServiceDefaultsImpl): void {
return client.getLanguageServiceWorker(...uris); 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.registerCompletionItemProvider(languageId, new languageFeatures.CompletionAdapter(worker)));
disposables.push(monaco.languages.registerHoverProvider(languageId, new languageFeatures.HoverAdapter(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.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.registerDocumentFormattingEditProvider(languageId, new languageFeatures.DocumentFormattingEditProvider(worker)));
disposables.push(monaco.languages.registerDocumentRangeFormattingEditProvider(languageId, new languageFeatures.DocumentRangeFormattingEditProvider(worker))); disposables.push(monaco.languages.registerDocumentRangeFormattingEditProvider(languageId, new languageFeatures.DocumentRangeFormattingEditProvider(worker)));
} }

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

9
src/monaco.d.ts vendored

@ -30,10 +30,6 @@ declare module monaco.languages.json {
*/ */
readonly schema?: any; 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 * 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 onDidChange: IEvent<LanguageServiceDefaults>;
readonly diagnosticsOptions: DiagnosticsOptions; readonly diagnosticsOptions: DiagnosticsOptions;
setDiagnosticsOptions(options: DiagnosticsOptions): void; setDiagnosticsOptions(options: DiagnosticsOptions): void;
/**
* Disable the default JSON formatter.
*/
readonly disableDefaultFormatter?: boolean;
setDisableDefaultFormatter(disable: boolean): void;
} }
export var jsonDefaults: LanguageServiceDefaults; export var jsonDefaults: LanguageServiceDefaults;

Loading…
Cancel
Save