Skip to content

Commit

Permalink
Merge branch 'master' into vimscript/expr
Browse files Browse the repository at this point in the history
  • Loading branch information
J-Fields committed Oct 23, 2023
2 parents e5de65a + 5dc9fbf commit 45a02aa
Show file tree
Hide file tree
Showing 133 changed files with 1,539 additions and 1,313 deletions.
2 changes: 1 addition & 1 deletion .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ When submitting a PR, please fill out the template that is presented by GitHub w
1. Install prerequisites:

- [Visual Studio Code](https://code.visualstudio.com/), latest stable or insiders
- [Node.js](https://nodejs.org/) v16.x or higher
- [Node.js](https://nodejs.org/) v18.x or higher
- [Yarn](https://classic.yarnpkg.com/) v1.x
- _Optional_: [Docker Community Edition](https://store.docker.com/search?type=edition&offering=community) 🐋

Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ If remapping-related, please attach log output: https://github.com/VSCodeVim/Vim

<!--
Ensure you are on the latest VSCode + VSCodeVim
You can use "Report Issue" by running "Developers: Show Running Extensions" from the Command Palette to prefill these.
You can use "Report Issue" by running "Developer: Show Running Extensions" from the Command Palette to prefill these.
-->

- Extension (VsCodeVim) version:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: 16
node-version: 18
cache: yarn

- name: Install dependencies
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: 16
node-version: 18
cache: yarn

- name: Install dependencies
Expand Down
26 changes: 25 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,25 @@
# Change Log

## Unreleased
## [v1.26.2](https://github.com/vscodevim/vim/tree/v1.26.2) (2023-10-21)

### Fixed

- Fixed illegible text with certain color schemes when `vim.statusBarColorControl` is enabled ([@chandradeepdey](https://github.com/chandradeepdey)).

### Changed

- Changed extension's `activationEvents` to include `onStartupFinished` rather than `*`, which may improve startup performance ([@whitphx](https://github.com/whitphx)).

## [v1.26.1](https://github.com/vscodevim/vim/tree/v1.26.1) (2023-10-09)

### Fixed

- Fixed several Insert mode bugs caused by a regression in `v1.26.0` ([@nullbus](https://github.com/nullbus)).
- Fixed dot repeat (`.`) after `:reg[isters]` ([@dannoe](https://github.com/dannoe)).
- Fixed overlapping text in Quick Pick caused by `:reg[isters]` ([@dannoe](https://github.com/dannoe)).
- Fixed some uses of `vim.remap` ([@jdanbrown](https://github.com/jdanbrown)).

## [v1.26.0](https://github.com/vscodevim/vim/tree/v1.26.0) (2023-09-09)

### Added

Expand All @@ -13,6 +32,11 @@
- Fixed misbehavior when selecting from bottom to top with shift+click ([@lqqyt2423](https://github.com/lqqyt2423)).
- Fixed `@@` when used in a different editor ([@J-Fields](https://github.com/J-Fields)).
- Fixed race condition in the `c` operator and a few other actions when `vim.autoSwitchInputMethod` is enabled ([@listenerri](https://github.com/listenerri)).
- Fixed `when` clause for provided `<C-p>` key bind to enable it being remapped ([@grosssoftware](https://github.com/grosssoftware)).
- Fixed `:sp[lit] [file]` ([@fernando-gap](https://github.com/fernando-gap)).
- Fixed `<Tab>` key bind which was blocking menu navigation in VS Code's find dialog ([@devrelm](https://github.com/devrelm)).
- Fixed VSCode's auto-surround functionality in Insert mode ([@Elliot-Roberts](https://github.com/Elliot-Roberts)).
- Fixed `<C-d>` and `<C-u>` not respecting `[count]` ([@rpuhalovich](https://github.com/rpuhalovich)).

## [v1.25.2](https://github.com/vscodevim/vim/tree/v1.25.2) (2023-03-01)

Expand Down
33 changes: 26 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,11 @@ Below is an example of a [settings.json](https://code.visualstudio.com/Docs/cust
"vim.handleKeys": {
"<C-a>": false,
"<C-f>": false
},

"// To improve performance",
"extensions.experimental.affinity": {
"vscodevim.vim": 1
}
}
```
Expand All @@ -126,9 +131,6 @@ These settings are specific to VSCodeVim.
| vim.changeWordIncludesWhitespace | Include trailing whitespace when changing word. This configures the <kbd>cw</kbd> action to act consistently as its siblings (<kbd>yw</kbd> and <kbd>dw</kbd>) instead of acting as <kbd>ce</kbd>. | Boolean | false |
| vim.cursorStylePerMode._{Mode}_ | Configure a specific cursor style for _{Mode}_. Omitted modes will use [default cursor type](https://github.com/VSCodeVim/Vim/blob/4a6fde6dbd4d1fac1f204c0dc27c32883651ef1a/src/mode/mode.ts#L34) Supported cursors: line, block, underline, line-thin, block-outline, and underline-thin. | String | None |
| vim.digraphs._{shorthand}_ | Set custom digraph shorthands that can override the default ones. Entries should map a two-character shorthand to a descriptive string and one or more UTF16 code points. Example: `"R!": ["🚀", [55357, 56960]]` | Object | `{"R!": ["🚀", [0xD83D, 0xDE80]]` |
| vim.debug.silent | Boolean indicating whether log messages will be suppressed. | Boolean | false |
| vim.debug.loggingLevelForConsole | Maximum level of messages to log to console. Logs are visible in the [developer tools](https://code.visualstudio.com/docs/extensions/developing-extensions#_developer-tools-console). Supported values: 'error', 'warn', 'info', 'verbose', 'debug'). | String | error |
| vim.debug.loggingLevelForAlert | Maximum level of messages to present as VS Code information window. Supported values: 'error', 'warn', 'info', 'verbose', 'debug'). | String | error |
| vim.disableExtension | Disable VSCodeVim extension. This setting can also be toggled using `toggleVim` command in the Command Palette | Boolean | false |
| vim.handleKeys | Delegate configured keys to be handled by VS Code instead of by the VSCodeVim extension. Any key in `keybindings` section of the [package.json](https://github.com/VSCodeVim/Vim/blob/master/package.json) that has a `vim.use<C-...>` in the `when` argument can be delegated back to VS Code by setting `"<C-...>": false`. Example: to use `ctrl+f` for find (native VS Code behavior): `"vim.handleKeys": { "<C-f>": false }`. | String | `"<C-d>": true`<br /> `"<C-s>": false`<br /> `"<C-z>": false` |
| vim.overrideCopy | Override VS Code's copy command with our own, which works correctly with VSCodeVim. If cmd-c/ctrl-c is giving you issues, set this to false and complain [here](https://github.com/Microsoft/vscode/issues/217). | Boolean | false |
Expand Down Expand Up @@ -366,9 +368,14 @@ Custom remappings are defined on a per-mode basis.

#### Debugging Remappings

1. Are your configurations correct?
1. Adjust the extension's logging level to 'debug' and open the Output window:
1. Run `Developer: Set Log Level` from the command palette.
2. Select `Vim`, then `Debug`
3. Run `Developer: Reload window`
4. In the bottom panel, open the `Output` tab and select `Vim` from the dropdown selection.
2. Are your configurations correct?

Adjust the extension's [logging level](#vscodevim-settings) to 'debug', restart VS Code. As each remapped configuration is loaded, it is outputted to console. In the Developer Tools console, do you see any errors?
As each remapped configuration is loaded, it is logged to the Vim Output panel. Do you see any errors?

```console
debug: Remapper: normalModeKeyBindingsNonRecursive. before=0. after=^.
Expand All @@ -378,9 +385,9 @@ Custom remappings are defined on a per-mode basis.

Misconfigured configurations are ignored.

2. Does the extension handle the keys you are trying to remap?
3. Does the extension handle the keys you are trying to remap?

VSCodeVim explicitly instructs VS Code which key events we care about through the [package.json](https://github.com/VSCodeVim/Vim/blob/9bab33c75d0a53873880a79c5d2de41c8be1bef9/package.json#L62). If the key you are trying to remap is a key in which vim/vscodevim generally does not handle, then it's most likely that this extension does not receive those key events from VS Code. With [logging level](#vscodevim-settings) adjusted to 'debug', as you press keys, you should see output similar to:
VSCodeVim explicitly instructs VS Code which key events we care about through the [package.json](https://github.com/VSCodeVim/Vim/blob/9bab33c75d0a53873880a79c5d2de41c8be1bef9/package.json#L62). If the key you are trying to remap is a key in which vim/vscodevim generally does not handle, then it's most likely that this extension does not receive those key events from VS Code. In the Vim Output panel, you should see:

```console
debug: ModeHandler: handling key=A.
Expand Down Expand Up @@ -845,6 +852,18 @@ VS Code has a lot of nifty tricks and we try to preserve some of them:

This is a [known issue in VS Code](https://github.com/microsoft/vscode/issues/23991), as a workaround you can set `"keyboard.dispatch": "keyCode"` and restart VS Code.

- VSCodeVim is too slow!

You can try adding the following [setting](https://github.com/microsoft/vscode/issues/75627#issuecomment-1078827311), and reload/restart VSCode:

```json
"extensions.experimental.affinity": {
"vscodevim.vim": 1
}
```

**Caveats:** One issue with using the affinity setting is that each time you update your settings file, the Vim plugin will reload, which can take a few seconds.

## ❤️ Contributing

This project is maintained by a group of awesome [people](https://github.com/VSCodeVim/Vim/graphs/contributors) and contributions are extremely welcome :heart:. For a quick tutorial on how you can help, see our [contributing guide](/.github/CONTRIBUTING.md).
Expand Down
2 changes: 1 addition & 1 deletion build/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM node:16
FROM node:18

ARG DEBIAN_FRONTEND=noninteractive

Expand Down
3 changes: 2 additions & 1 deletion extension.ts
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ export async function activate(context: vscode.ExtensionContext) {
vimrc.vimrcPath &&
path.relative(document.fileName, vimrc.vimrcPath) === ''
) {
// TODO: Should instead probably call `loadConfiguration` (in extensionBase.ts)
await configuration.load();
Logger.info('Sourced new .vimrc');
}
Expand All @@ -54,7 +55,7 @@ export async function activate(context: vscode.ExtensionContext) {
await vscode.window.showWarningMessage('No .vimrc found. Please set `vim.vimrc.path.`');
}
},
false
false,
);
}

Expand Down
Loading

0 comments on commit 45a02aa

Please sign in to comment.