Skip to content

Commit ba73e7a

Browse files
authored
Merge branch 'VSCodeVim:master' into master
2 parents 1b2e4c7 + e819f6f commit ba73e7a

39 files changed

+1931
-1955
lines changed

.github/CONTRIBUTING.md

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
This document offers a set of guidelines for contributing to VSCodeVim.
44
These are just guidelines, not rules; use your best judgment and feel free to propose changes to this document.
5-
If you need help, drop by on [Slack](https://vscodevim.herokuapp.com/).
5+
If you need help, drop by on [GitHub Discussions](https://github.com/VSCodeVim/Vim/discussions) or [Slack](https://vscodevim.slack.com/).
66

77
Thanks for helping us in making VSCodeVim better! :clap:
88

@@ -33,7 +33,7 @@ When submitting a PR, please fill out the template that is presented by GitHub w
3333
1. Install prerequisites:
3434

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

@@ -100,13 +100,13 @@ Actions are all currently stuffed into actions.ts (sorry!). There are:
100100
- `BaseMovement` - A movement (e.g.`w`, `h`, `{`, etc.) _ONLY_ updates the cursor position or returns an `IMovement`, which indicates a start and stop. This is used for movements like `aw` which may actually start before the cursor.
101101
- `BaseCommand` - Anything which is not just a movement is a Command. That includes motions which also update the state of Vim in some way, like `*`.
102102

103-
At one point, I wanted to have actions.ts be completely pure (no side effects whatsoever), so commands would just return objects indicating what side effects on the editor they would have. This explains the giant switch in handleCommand in ModeHandler. I now believe this to be a dumb idea and someone should get rid of it.
103+
Actions should, when possible, avoid side effects other than modifying `vimState`.
104104

105105
### The Vim State Machine
106106

107107
Consists of two data structures:
108108

109-
- `VimState` - this is the state of Vim. It's what actions update.
109+
- `VimState` - this is the state of Vim, scoped to a `TextEditor`. It's what actions update.
110110
- `RecordedState` - this is temporary state that will reset at the end of a change.
111111

112112
#### How it works
@@ -148,7 +148,3 @@ If you notice a slowdown and have ever run `yarn test` in the past instead of ru
148148
```bash
149149
rm -rf .vscode-test/
150150
```
151-
152-
## Style Guide
153-
154-
Please try your best to adhere to our [style guidelines](https://github.com/VSCodeVim/Vim/blob/master/STYLE.md).

.github/workflows/build.yml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,6 @@ on:
44
push:
55
branches:
66
- 'master'
7-
pull_request:
8-
branches:
9-
- '**'
107

118
jobs:
129
build:
@@ -21,7 +18,7 @@ jobs:
2118
- name: Set up Node.js
2219
uses: actions/setup-node@v3
2320
with:
24-
node-version: 18
21+
node-version: 20
2522
cache: yarn
2623

2724
- name: Install dependencies

.github/workflows/pull_request.yml

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
name: Pull Request
2+
3+
on:
4+
pull_request:
5+
branches:
6+
- '**'
7+
8+
jobs:
9+
build:
10+
strategy:
11+
matrix:
12+
os: [ubuntu-latest]
13+
runs-on: ${{ matrix.os }}
14+
steps:
15+
- name: Checkout VSCodeVim
16+
uses: actions/checkout@v3
17+
18+
- name: Set up Node.js
19+
uses: actions/setup-node@v3
20+
with:
21+
node-version: 20
22+
cache: yarn
23+
24+
- name: Install dependencies
25+
run: yarn install --frozen-lockfile
26+
27+
- name: Prettier
28+
run: yarn prettier:check
29+
30+
- name: Lint
31+
run: yarn lint
32+
33+
- name: Build
34+
run: gulp webpack
35+
36+
- name: Test
37+
run: |
38+
gulp prepare-test
39+
xvfb-run -a yarn test

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
- name: Set up Node.js
1616
uses: actions/setup-node@v3
1717
with:
18-
node-version: 18
18+
node-version: 20
1919
cache: yarn
2020

2121
- name: Install dependencies

CHANGELOG.md

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,43 @@
11
# Change Log
22

3-
## Unreleased
3+
## [v1.30.0](https://github.com/vscodevim/vim/tree/v1.30.0) (2025-05-22)
4+
5+
### Added
6+
7+
- Added `:pw[d]` ([@zeevoffen](https://github.com/zeevoffen)).
8+
- Added `:ma[rk]` ([@arunchaganty](https://github.com/arunchaganty)).
9+
10+
### Changed
11+
12+
- Enabled emulated Vim plugins in web extension ([@joshuali925](https://github.com/joshuali925)).
13+
- `gf` now interprets relative paths as relative to current file. If that fails, it tries relative to workspace root ([@J-Fields](https://github.com/J-Fields)).
14+
15+
### Fixed
16+
17+
- Fixed Python function motions `[m`/`]m` with `async def` ([@nathan-gage](https://github.com/nathan-gage)).
18+
- Fixed `o` in Visual mode when selection starts at line end ([@kajikentaro](https://github.com/kajikentaro)).
19+
- Fixed `i(` when cursor is between two pairs of parentheses ([@prakhargupta-jan](https://github.com/prakhargupta-jan)).
20+
- Fixed global marks jumping to the wrong position ([@NeedsSoySauce](https://github.com/NeedsSoySauce)).
21+
- Fixed global marks messing up your position in the file you came from ([@J-Fields](https://github.com/J-Fields)).
22+
- Fixed `gf` with paths containing `..` ([@ekinakkaya](https://github.com/ekinakkaya)).
23+
- Fixed cursor position after `:ju[mps]` and `breakl[ist]` ([@J-Fields](https://github.com/J-Fields))
24+
- Fixed jumps going to right file, but wrong line ([@J-Fields](https://github.com/J-Fields)).
25+
- Fixed `:norm[al]` with a double quote (`"`) in the argument ([@s-kai273](https://github.com/s-kai273)).
26+
27+
## [v1.29.2](https://github.com/vscodevim/vim/tree/v1.29.2) (2025-05-16)
28+
29+
### Fixed
30+
31+
- Revert make tab and escape fix for native vscode keybindings ([@ulugbekna](https://github.com/ulugbekna)).
32+
- Dismiss inline suggestion/NES on Escape without interfering with Vim modes ([@ulugbekna](https://github.com/ulugbekna)).
33+
34+
## [v1.29.1](https://github.com/vscodevim/vim/tree/v1.29.1) (2025-05-15)
35+
36+
### Fixed
37+
38+
- fix(keybindings): make tab and escape play nicer with native vscode keybindings ([@ulugbekna](https://github.com/ulugbekna)).
39+
40+
## [v1.29.0](https://github.com/vscodevim/vim/tree/v1.29.0) (2024-12-04)
441

542
### Added
643

README.md

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99

1010
VSCodeVim is a Vim emulator for [Visual Studio Code](https://code.visualstudio.com/).
1111

12-
- 🚚 For a full list of supported Vim features, please refer to our [roadmap](ROADMAP.md).
1312
- 📃 Our [change log](CHANGELOG.md) outlines the breaking/major/minor updates between releases.
1413
- Report missing features/bugs on [GitHub](https://github.com/VSCodeVim/Vim/issues).
1514

@@ -67,15 +66,15 @@ defaults write com.microsoft.VSCodeExploration ApplePressAndHoldEnabled -bool fa
6766
defaults delete -g ApplePressAndHoldEnabled # If necessary, reset global default
6867
```
6968

70-
We also recommend increasing Key Repeat and Delay Until Repeat settings in _System Preferences -> Keyboard_.
69+
We also recommend increasing Key Repeat and Delay Until Repeat settings in _System Settings/Preferences -> Keyboard_.
7170

7271
### Windows
7372

7473
Like real vim, VSCodeVim will take over your control keys. This behavior can be adjusted with the [`useCtrlKeys`](#vscodevim-settings) and [`handleKeys`](#vscodevim-settings) settings.
7574

7675
## ⚙️ Settings
7776

78-
The settings documented here are a subset of the supported settings; the full list is described in the `Contributions` tab of VSCodeVim's [extension details page](https://code.visualstudio.com/docs/editor/extension-gallery#_extension-details), which can be found in the [extensions view](https://code.visualstudio.com/docs/editor/extension-gallery) of VS Code.
77+
The settings documented here are a subset of the supported settings; the full list is described in the `FEATURES` -> `Settings` tab of VSCodeVim's [extension details page](https://code.visualstudio.com/docs/editor/extension-marketplace#_extension-details), which can be found in the [extensions view](https://code.visualstudio.com/docs/editor/extension-marketplace) of VS Code.
7978

8079
### Quick Example
8180

@@ -114,8 +113,7 @@ Below is an example of a [settings.json](https://code.visualstudio.com/Docs/cust
114113
"<C-a>": false,
115114
"<C-f>": false
116115
},
117-
118-
"// To improve performance",
116+
// To improve performance
119117
"extensions.experimental.affinity": {
120118
"vscodevim.vim": 1
121119
}

0 commit comments

Comments
 (0)