vim: Update vi{ (#24601)

Small fix: Following up on
https://github.com/zed-industries/zed/pull/24518 where i missed `vi{`.

Matching neovim(tree-sitter), `vi{` should not have the newline selected
(Now `vi{d`/`vi{c` can match `di{`/`ci{`).

Also moved the cursor to the start.

|prev|new|neovim|
|---|---|---|

|![image](https://github.com/user-attachments/assets/0311fbe5-df2e-4feb-977d-de33a3af7fdc)|![image](https://github.com/user-attachments/assets/a940c6ba-268b-4401-8c43-38ca17848542)|![image](https://github.com/user-attachments/assets/dab2c47d-660c-4ae3-bf79-635265222cc1)|

Release Notes:

- N/A
This commit is contained in:
5brian 2025-02-11 00:26:26 -05:00 committed by GitHub
parent 37785a54d5
commit 236f51cddd
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 72 additions and 6 deletions

View file

@ -16,7 +16,7 @@ use workspace::searchable::Direction;
use crate::{
motion::{first_non_whitespace, next_line_end, start_of_line, Motion},
object::Object,
object::{self, Object},
state::{Mode, Operator},
Vim,
};
@ -375,6 +375,9 @@ impl Vim {
} else {
selection.end = range.end;
}
if !around && object.is_multiline() {
object::preserve_indented_newline(map, selection);
}
}
// In the visual selection result of a paragraph object, the cursor is