Make ServicesAccessor typing more consistent in editor commands #218369
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I noticed that in src/vs/workbench/services/preferences/browser/preferencesService.ts
CoreEditingCommands.LineBreakInsert.runEditorCommand
is called twice with anull
accessor, as well as in src/vs/workbench/contrib/debug/browser/debugEditorContribution.ts.Goto def took me to the abstract
EditorCommand.runEditorCommand
where this is allowed. However, find all implementations shows many cases which suggest narrower (non-null) typing..runEditorCommand
may be type-checked against this abstract implementation (see the aforementioned goto def) which can lead to disconnects between function calls and implementations.I've updated this typing to be more consistent. I expect the
| undefined
->| null
changes to be essentially no-ops. The cases where I've introduced early returns, optional chaining, etc. I tried to follow local norms.