Skip to content

Commit b18ef0e

Browse files
committed
Make getFocusedCodeEditor return undefined instead of null
microsoft#70384
1 parent 5aee2f0 commit b18ef0e

7 files changed

Lines changed: 14 additions & 11 deletions

File tree

src/vs/editor/browser/services/abstractCodeEditorService.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,8 @@ export abstract class AbstractCodeEditorService extends Disposable implements IC
7070
return Object.keys(this._diffEditors).map(id => this._diffEditors[id]);
7171
}
7272

73-
getFocusedCodeEditor(): ICodeEditor | null {
74-
let editorWithWidgetFocus: ICodeEditor | null = null;
73+
getFocusedCodeEditor(): ICodeEditor | undefined {
74+
let editorWithWidgetFocus: ICodeEditor | undefined;
7575

7676
const editors = this.listCodeEditors();
7777
for (const editor of editors) {

src/vs/editor/browser/services/codeEditorService.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,10 @@ export interface ICodeEditorService {
3333
listDiffEditors(): IDiffEditor[];
3434

3535
/**
36-
* Returns the current focused code editor (if the focus is in the editor or in an editor widget) or null.
36+
* Returns the current focused code editor (if the focus is in the editor or in an editor widget) or
37+
* `undefined` if none.
3738
*/
38-
getFocusedCodeEditor(): ICodeEditor | null;
39+
getFocusedCodeEditor(): ICodeEditor | undefined;
3940

4041
registerDecorationType(key: string, options: IDecorationRenderOptions, parentTypeKey?: string): void;
4142
removeDecorationType(key: string): void;

src/vs/editor/browser/services/openerService.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import { URI } from 'vs/base/common/uri';
1414
import { ICodeEditorService } from 'vs/editor/browser/services/codeEditorService';
1515
import { CommandsRegistry, ICommandService } from 'vs/platform/commands/common/commands';
1616
import { IOpener, IOpenerService, IValidator, IExternalUriResolver } from 'vs/platform/opener/common/opener';
17+
import { withUndefinedAsNull } from 'vs/base/common/types';
1718

1819
export class OpenerService extends Disposable implements IOpenerService {
1920

@@ -118,7 +119,7 @@ export class OpenerService extends Disposable implements IOpenerService {
118119

119120
return this._editorService.openCodeEditor(
120121
{ resource, options: { selection, } },
121-
this._editorService.getFocusedCodeEditor(),
122+
withUndefinedAsNull(this._editorService.getFocusedCodeEditor()),
122123
options && options.openToSide
123124
).then(() => true);
124125
}

src/vs/editor/contrib/referenceSearch/peekViewWidget.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,8 @@ export namespace PeekContext {
5757
export const notInPeekEditor: ContextKeyExpr = inPeekEditor.toNegated();
5858
}
5959

60-
export function getOuterEditor(accessor: ServicesAccessor): ICodeEditor | null {
61-
let editor = accessor.get(ICodeEditorService).getFocusedCodeEditor();
60+
export function getOuterEditor(accessor: ServicesAccessor): ICodeEditor | undefined {
61+
const editor = accessor.get(ICodeEditorService).getFocusedCodeEditor();
6262
if (editor instanceof EmbeddedCodeEditorWidget) {
6363
return editor.getParentEditor();
6464
}

src/vs/editor/contrib/referenceSearch/referenceSearch.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ import { URI } from 'vs/base/common/uri';
2828
import { ICodeEditorService } from 'vs/editor/browser/services/codeEditorService';
2929
import { CancellationToken } from 'vs/base/common/cancellation';
3030
import { coalesce, flatten } from 'vs/base/common/arrays';
31+
import { withUndefinedAsNull } from 'vs/base/common/types';
3132

3233
export const defaultReferenceSearchOptions: RequestOptions = {
3334
getMetaTitle(model) {
@@ -106,7 +107,7 @@ let findReferencesCommand: ICommandHandler = (accessor: ServicesAccessor, resour
106107
}
107108

108109
const codeEditorService = accessor.get(ICodeEditorService);
109-
return codeEditorService.openCodeEditor({ resource }, codeEditorService.getFocusedCodeEditor()).then(control => {
110+
return codeEditorService.openCodeEditor({ resource }, withUndefinedAsNull(codeEditorService.getFocusedCodeEditor())).then(control => {
110111
if (!isCodeEditor(control) || !control.hasModel()) {
111112
return undefined;
112113
}
@@ -132,7 +133,7 @@ let showReferencesCommand: ICommandHandler = (accessor: ServicesAccessor, resour
132133
}
133134

134135
const codeEditorService = accessor.get(ICodeEditorService);
135-
return codeEditorService.openCodeEditor({ resource }, codeEditorService.getFocusedCodeEditor()).then(control => {
136+
return codeEditorService.openCodeEditor({ resource }, withUndefinedAsNull(codeEditorService.getFocusedCodeEditor())).then(control => {
136137
if (!isCodeEditor(control)) {
137138
return undefined;
138139
}

src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ function getChangeTypeColor(theme: ITheme, changeType: ChangeType): Color | unde
149149
}
150150
}
151151

152-
function getOuterEditorFromDiffEditor(accessor: ServicesAccessor): ICodeEditor | null {
152+
function getOuterEditorFromDiffEditor(accessor: ServicesAccessor): ICodeEditor | undefined {
153153
const diffEditors = accessor.get(ICodeEditorService).listDiffEditors();
154154

155155
for (const diffEditor of diffEditors) {

src/vs/workbench/test/workbenchTestServices.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1167,7 +1167,7 @@ export class TestCodeEditorService implements ICodeEditorService {
11671167
addDiffEditor(_editor: IDiffEditor): void { }
11681168
removeDiffEditor(_editor: IDiffEditor): void { }
11691169
listDiffEditors(): IDiffEditor[] { return []; }
1170-
getFocusedCodeEditor(): ICodeEditor | null { return null; }
1170+
getFocusedCodeEditor(): ICodeEditor | undefined { return undefined; }
11711171
registerDecorationType(_key: string, _options: IDecorationRenderOptions, _parentTypeKey?: string): void { }
11721172
removeDecorationType(_key: string): void { }
11731173
resolveDecorationOptions(_typeKey: string, _writable: boolean): IModelDecorationOptions { return Object.create(null); }

0 commit comments

Comments
 (0)