提交 0ff572f0 编写于 作者: M Matt Bierner

Strict null checking editor/contrib/format

上级 bdc94795
...@@ -322,6 +322,7 @@ ...@@ -322,6 +322,7 @@
"./vs/editor/contrib/folding/test/indentRangeProvider.test.ts", "./vs/editor/contrib/folding/test/indentRangeProvider.test.ts",
"./vs/editor/contrib/folding/test/syntaxFold.test.ts", "./vs/editor/contrib/folding/test/syntaxFold.test.ts",
"./vs/editor/contrib/fontZoom/fontZoom.ts", "./vs/editor/contrib/fontZoom/fontZoom.ts",
"./vs/editor/contrib/format/format.ts",
"./vs/editor/contrib/goToDefinition/clickLinkGesture.ts", "./vs/editor/contrib/goToDefinition/clickLinkGesture.ts",
"./vs/editor/contrib/goToDefinition/goToDefinition.ts", "./vs/editor/contrib/goToDefinition/goToDefinition.ts",
"./vs/editor/contrib/gotoError/gotoError.ts", "./vs/editor/contrib/gotoError/gotoError.ts",
......
...@@ -22,11 +22,13 @@ export class NoProviderError extends Error { ...@@ -22,11 +22,13 @@ export class NoProviderError extends Error {
constructor(message?: string) { constructor(message?: string) {
super(); super();
this.name = NoProviderError.Name; this.name = NoProviderError.Name;
this.message = message; if (message) {
this.message = message;
}
} }
} }
export function getDocumentRangeFormattingEdits(model: ITextModel, range: Range, options: FormattingOptions, token: CancellationToken): Promise<TextEdit[]> { export function getDocumentRangeFormattingEdits(model: ITextModel, range: Range, options: FormattingOptions, token: CancellationToken): Promise<TextEdit[] | undefined | null> {
const providers = DocumentRangeFormattingEditProviderRegistry.ordered(model); const providers = DocumentRangeFormattingEditProviderRegistry.ordered(model);
...@@ -40,7 +42,7 @@ export function getDocumentRangeFormattingEdits(model: ITextModel, range: Range, ...@@ -40,7 +42,7 @@ export function getDocumentRangeFormattingEdits(model: ITextModel, range: Range,
}), result => !isFalsyOrEmpty(result)); }), result => !isFalsyOrEmpty(result));
} }
export function getDocumentFormattingEdits(model: ITextModel, options: FormattingOptions, token: CancellationToken): Promise<TextEdit[]> { export function getDocumentFormattingEdits(model: ITextModel, options: FormattingOptions, token: CancellationToken): Promise<TextEdit[] | null | undefined> {
const providers = DocumentFormattingEditProviderRegistry.ordered(model); const providers = DocumentFormattingEditProviderRegistry.ordered(model);
// try range formatters when no document formatter is registered // try range formatters when no document formatter is registered
...@@ -54,7 +56,7 @@ export function getDocumentFormattingEdits(model: ITextModel, options: Formattin ...@@ -54,7 +56,7 @@ export function getDocumentFormattingEdits(model: ITextModel, options: Formattin
}), result => !isFalsyOrEmpty(result)); }), result => !isFalsyOrEmpty(result));
} }
export function getOnTypeFormattingEdits(model: ITextModel, position: Position, ch: string, options: FormattingOptions): Promise<TextEdit[]> { export function getOnTypeFormattingEdits(model: ITextModel, position: Position, ch: string, options: FormattingOptions): Promise<TextEdit[] | null | undefined> {
const [support] = OnTypeFormattingEditProviderRegistry.ordered(model); const [support] = OnTypeFormattingEditProviderRegistry.ordered(model);
if (!support) { if (!support) {
return Promise.resolve(undefined); return Promise.resolve(undefined);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册