Skip to content

keybindings: Add conditional when support to remapped commands#9968

Open
sim590 wants to merge 1 commit intoVSCodeVim:masterfrom
sim590:when-clause
Open

keybindings: Add conditional when support to remapped commands#9968
sim590 wants to merge 1 commit intoVSCodeVim:masterfrom
sim590:when-clause

Conversation

@sim590
Copy link
Copy Markdown

@sim590 sim590 commented Mar 27, 2026

Allow remapped command entries to declare a when clause evaluated against VSCodeVim-owned contexts, and publish vim.isTextDiffEditor to support diff-aware remaps.

What this PR does / why we need it

Partially addresses #1372 and #2030.

This PR adds when-clause support for remapped command entries, but scopes that support to contexts owned and published by VSCodeVim itself.

It also introduces vim.isTextDiffEditor, which makes it possible to write diff-aware remaps such as invoking compare editor navigation only when the active editor is a text diff editor.

This does not fully implement arbitrary VS Code when-clause support. Based on the current VS Code extension API, I could not find a reliable way for VSCodeVim to evaluate general workbench context keys from remap definitions, so this PR keeps the feature within the set of contexts controlled by VSCodeVim.

Allow remapped command entries to declare a when clause evaluated
against VSCodeVim-owned contexts, and publish vim.isTextDiffEditor to
support diff-aware remaps.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant