zed/crates/vim/test_data
Xiaobo Liu 3af7b644a6
vim: Fix visual block Shift-I jumping to original cursor after Ctrl-D scroll (#50822)
Ensure that the `vim::visual::Vim::visual_block_motion` method is called
when `scroll_editor` is called while in Visual Block mode. This fixes an
issue where, after getting into `Visual Block` mode, if the user used
`ctrl-d` or `ctrl-u` to scroll half of the page, the wrong selection
would be made and, if `shift-i` was used to start inserting at the start
of the line, a single cursor would be placed at the cursor position
where the selection was started, instead of one cursor per each of the
selected lines.

These changes ensure that we now match Neovim's behavior for the same
flow.

---------

Signed-off-by: Xiaobo Liu <cppcoffee@gmail.com>
Co-authored-by: dino <dinojoaocosta@gmail.com>
2026-03-18 10:59:46 +00:00
..
neovim_backed_test_context_works.json
test_a.json
test_around_containing_word_indent.json vim: Prevent around word operations from selecting indentation (#24635) 2025-02-11 11:35:59 -07:00
test_b.json
test_backspace.json
test_backspace_non_ascii_bol.json vim: Fix space forward bug with non-ASCII characters at EOL (#27860) 2025-04-01 18:21:41 +00:00
test_backwards_n.json
test_blackhole_register.json
test_builtin_marks.json
test_capital_f_and_capital_t.json
test_caret_mark.json
test_cc.json
test_cgn_nomatch.json
test_cgn_repeat.json
test_change_0.json
test_change_b.json
test_change_backspace.json
test_change_case.json
test_change_case_motion.json
test_change_case_motion_object.json Fix issue where changing the case of a vim object would be clipped at the end of the line (#24163) 2025-02-04 03:40:45 +00:00
test_change_cc.json
test_change_e.json
test_change_end_of_document.json
test_change_end_of_line.json
test_change_gg.json
test_change_h.json
test_change_j.json vim: Change line up and change line down respect indentation (#28934) 2025-04-17 20:51:24 -06:00
test_change_k.json vim: Change line up and change line down respect indentation (#28934) 2025-04-17 20:51:24 -06:00
test_change_l.json
test_change_list_delete.json
test_change_list_insert.json
test_change_paragraph.json Fix yank around paragraph missing newline (#43583) 2025-12-03 17:11:53 +00:00
test_change_paragraph_object.json
test_change_paragraph_object_with_soft_wrap.json vim: Fix ap text object selection when there is line wrapping (#35485) 2025-08-18 09:57:53 -06:00
test_change_rot13_motion.json vim: Add g? convert to Rot13/Rot47 (#27824) 2025-04-02 02:17:00 +00:00
test_change_rot13_object.json vim: Add g? convert to Rot13/Rot47 (#27824) 2025-04-02 02:17:00 +00:00
test_change_sentence_object.json
test_change_surrounding_character_objects.json
test_change_w.json Fix vim cw at end of words (#35300) 2025-07-31 03:48:36 -07:00
test_change_word_object.json
test_clear_counts.json
test_comma_semicolon.json
test_comma_w.json
test_command_basics.json
test_command_g_normal.json vim: Fix :g/pattern/norm commands applying on all matches (#43352) 2026-01-06 15:47:06 +00:00
test_command_goto.json
test_command_matching_lines.json
test_command_ranges.json
test_command_replace.json Fix issue with Vim test instead of cheating (#24411) 2025-02-06 18:43:30 -06:00
test_command_search.json
test_command_visual_replace.json
test_convert_to_lower_case.json
test_convert_to_rot13.json vim: Add g? convert to Rot13/Rot47 (#27824) 2025-04-02 02:17:00 +00:00
test_convert_to_upper_case.json
test_ctrl_d_u.json
test_ctrl_f_b.json
test_ctrl_o_dot.json
test_ctrl_o_position.json
test_ctrl_o_visual.json
test_ctrl_v.json
test_ctrl_v_control.json
test_ctrl_v_escape.json
test_ctrl_w_override.json
test_ctrl_y_e.json vim: Fix LineUp (#27754) 2025-04-16 17:24:24 +00:00
test_d_search.json
test_dd.json
test_dd_then_paste_without_trailing_newline.json Fix vim full line operations failing when no trailing newline (#24409) 2025-02-06 17:57:24 -06:00
test_del_marks.json Add :delm[arks] {marks} command to delete vim marks (#31140) 2025-06-02 13:18:28 -06:00
test_delete_0.json
test_delete_b.json
test_delete_end_of_document.json
test_delete_end_of_line.json
test_delete_end_of_paragraph.json vim: Fix end of paragraph deletion when there's no blank lines (#29490) 2025-04-29 19:34:51 +00:00
test_delete_gg.json
test_delete_h.json
test_delete_j.json
test_delete_k.json
test_delete_key_can_remove_last_character.json vim: Add delete keymapping to vim.json (#28551) 2025-04-11 08:55:43 -06:00
test_delete_l.json
test_delete_left.json
test_delete_next_word_end.json
test_delete_paragraph.json vim: Handle exclusive-linewise edgecase correctly (#27786) 2025-03-31 10:36:20 -06:00
test_delete_paragraph_motion.json vim: Handle exclusive-linewise edgecase correctly (#27786) 2025-03-31 10:36:20 -06:00
test_delete_paragraph_object.json
test_delete_paragraph_object_with_soft_wrap.json vim: Fix ap text object selection when there is line wrapping (#35485) 2025-08-18 09:57:53 -06:00
test_delete_paragraph_whitespace.json vim: Fix ap text object selection when there is line wrapping (#35485) 2025-08-18 09:57:53 -06:00
test_delete_sentence.json vim: Handle exclusive-linewise edgecase correctly (#27786) 2025-03-31 10:36:20 -06:00
test_delete_sentence_object.json
test_delete_surrounding_character_objects.json
test_delete_to_adjacent_character.json
test_delete_to_end_of_line.json
test_delete_to_line.json vim: Fix vim delete to line (#23053) 2025-01-14 03:07:47 +00:00
test_delete_unmatched_brace.json Don't use dbg! in test input (#27811) 2025-03-31 18:59:52 -06:00
test_delete_w.json
test_delete_with_counts.json
test_delete_word_object.json
test_dgn_repeat.json
test_digraph_find.json
test_digraph_insert_mode.json
test_digraph_insert_multicursor.json
test_digraph_keymap_conflict.json
test_digraph_replace.json
test_digraph_replace_mode.json
test_dot_mark.json
test_dot_repeat.json
test_dot_repeat_registers.json vim: Fix dot repeat ignoring recorded register (#50753) 2026-03-16 10:05:14 +00:00
test_dot_repeat_registers_paste.json vim: Fix dot repeat ignoring recorded register (#50753) 2026-03-16 10:05:14 +00:00
test_dw_eol.json
test_end_of_document.json
test_end_of_line_downward.json
test_end_of_line_with_neovim.json
test_end_of_line_with_vertical_motion.json vim: Make end of line infallible (#48867) 2026-02-10 10:33:50 +00:00
test_end_of_word.json
test_enter.json
test_enter_visual_line_mode.json
test_enter_visual_mode.json
test_escape_while_waiting.json
test_f_and_t.json
test_find_multibyte.json
test_folds.json
test_folds_panic.json
test_forced_motion_delete_to_end_of_line.json vim: Add some forced motion support (#27991) 2025-04-11 11:12:30 -06:00
test_forced_motion_delete_to_middle_of_line.json vim: Add g M motion to go to the middle of a line (#30227) 2025-05-16 21:21:30 +00:00
test_forced_motion_delete_to_start_of_line.json vim: Add some forced motion support (#27991) 2025-04-11 11:12:30 -06:00
test_forced_motion_yank.json vim: Add some forced motion support (#27991) 2025-04-11 11:12:30 -06:00
test_gg.json
test_gi.json
test_gn.json
test_go_to_percentage.json vim: Implement <count>% motion (#25839) 2025-03-05 19:59:18 -07:00
test_gq.json
test_gv.json
test_h.json
test_h_through_unicode.json
test_horizontal_scroll.json vim: Fix and improve horizontal scrolling (#33590) 2025-07-08 14:48:48 -06:00
test_inclusive_to_exclusive_delete.json vim: Add some forced motion support (#27991) 2025-04-11 11:12:30 -06:00
test_increment.json
test_increment_bin_wrapping_and_padding.json Fix vim full line operations failing when no trailing newline (#24409) 2025-02-06 17:57:24 -06:00
test_increment_hex_casing.json
test_increment_hex_wrapping_and_padding.json Fix vim full line operations failing when no trailing newline (#24409) 2025-02-06 17:57:24 -06:00
test_increment_inline.json Fix vim full line operations failing when no trailing newline (#24409) 2025-02-06 17:57:24 -06:00
test_increment_markdown_list_markers_multiline.json Fix vim increment/decrement on Markdown list markers (#47978) 2026-02-04 23:52:43 +00:00
test_increment_radix.json Fix vim increment/decrement on Markdown list markers (#47978) 2026-02-04 23:52:43 +00:00
test_increment_sign_change.json Fix vim full line operations failing when no trailing newline (#24409) 2025-02-06 17:57:24 -06:00
test_increment_sign_change_with_leading_zeros.json
test_increment_steps.json vim: Fix increment step error (#26023) 2025-03-04 09:53:35 -07:00
test_increment_visual_partial_number.json vim: Implement partial increment/decrement for visual selection (#36553) 2025-08-22 03:02:47 +00:00
test_increment_with_changing_leading_zeros.json
test_increment_with_dot.json
test_increment_with_leading_zeros.json
test_increment_with_leading_zeros_and_zero.json
test_increment_with_two_dots.json
test_increment_wrapping.json Fix vim full line operations failing when no trailing newline (#24409) 2025-02-06 17:57:24 -06:00
test_increment_zero_leading_zeros.json
test_indent_gv.json
test_insert_ctrl_r.json
test_insert_ctrl_y.json vim: Add ctrl-y/e in insert mode (#36017) 2025-08-11 23:20:09 -06:00
test_insert_empty_line.json vim: Fix add empty line (#30987) 2025-06-02 09:49:31 -06:00
test_insert_end_of_line.json
test_insert_first_non_whitespace.json
test_insert_line_above.json
test_insert_with_counts.json
test_insert_with_repeat.json
test_j.json
test_jk.json
test_jk_max_count.json vim: Decrease max vim count (#40059) 2025-10-14 12:07:26 -06:00
test_join_lines.json vim: Add Separator and RemoveIndent in Join Lines, fix gJ use space join (#22496) 2025-01-07 17:04:49 +00:00
test_jump_list.json vim: Better jump list support (#33495) 2025-06-26 21:25:07 -06:00
test_jump_to_end.json
test_jump_to_first_non_whitespace.json
test_jump_to_line_boundaries.json
test_k.json
test_l.json
test_lowercase_marks.json
test_lt_gt_marks.json
test_marks.json
test_matching.json
test_matching_braces_in_tag.json Fix matching braces in jsx/tsx tags (#32196) 2025-06-05 18:10:22 -07:00
test_matching_nested_brackets.json vim: Fix % motion edge case (#39620) 2025-10-08 13:49:55 +01:00
test_matching_quotes_disabled.json vim: Add use_match_quotes setting for % motion, default is true (#42615) 2026-01-09 18:04:44 +00:00
test_matching_tag_with_quotes.json vim: Add use_match_quotes setting for % motion, default is true (#42615) 2026-01-09 18:04:44 +00:00
test_matching_tags.json vim: Move to opening html tag from / in closing tag (#42513) 2025-12-02 12:58:20 -08:00
test_minibrackets_trailing_space.json vim: Create anyquotes, anybrackets, miniquotes, and minibrackets text objects (#26748) 2025-04-29 22:09:27 +00:00
test_named_registers.json
test_neovim.json
test_next_line_start.json
test_next_word_end_newline_last_char.json
test_normal_command.json vim: Allow trailing whitespace for :norm command (#46403) 2026-01-13 14:13:15 +00:00
test_numbered_registers.json
test_o.json
test_o_comment.json
test_offsets.json
test_p_g_v_y.json Fix panic in vim selection restoration (#29251) 2025-04-22 22:28:13 -06:00
test_paragraph_motion_with_whitespace_lines.json vim: Ensure paragraph motions use empty and not blank lines (#47734) 2026-01-27 13:33:53 +00:00
test_paragraph_multi_delete.json vim: Respect count for paragraphs (#33489) 2025-06-27 22:05:47 -06:00
test_paragraph_object_with_landing_positions_not_at_beginning_of_line.json
test_paragraphs_dont_wrap.json
test_paste.json
test_paste_count.json
test_paste_visual.json vim: Handle paste in visual line mode when cursor is at newline (#30791) 2025-06-02 09:50:13 -06:00
test_paste_visual_block.json
test_percent.json
test_percent_in_comment.json vim: Implement text-based matching bracket logic for Vim '%' motion to correctly find pairs within comments (#45559) 2026-01-08 16:35:30 +00:00
test_period_mark.json
test_plus_minus.json
test_previous_word_end.json vim: Fix crash when using ‘ge’ motion on multibyte character (#31566) 2025-05-28 06:30:51 +05:30
test_quote_mark.json vim: Single quote mark (#27231) 2025-03-22 05:45:57 +00:00
test_r.json vim: Fix r enter indentation (#29838) 2025-05-05 16:57:32 +01:00
test_record_replay.json
test_record_replay_count.json
test_record_replay_dot.json
test_record_replay_interleaved.json
test_record_replay_of_dot.json
test_record_replay_recursion.json
test_remap_adjacent_dog_cat.json
test_remap_nested_pineapple.json
test_remap_recursion.json
test_repeat_clear_count.json vim: Fix bug where d . . freezes the editor (#42145) 2025-11-24 16:55:19 +00:00
test_repeat_clear_repeat.json vim: Fix bug where d . . freezes the editor (#42145) 2025-11-24 16:55:19 +00:00
test_repeat_grouping_41735.json vim: Make each vim repeat its own transaction (#41735) 2025-11-13 06:46:14 +00:00
test_repeat_motion_counts.json
test_repeat_over_blur.json
test_repeat_visual.json
test_repeated_cb.json
test_repeated_ce.json
test_repeated_cj.json
test_repeated_cl.json
test_repeated_word.json
test_replace_g.json vim: Implement /n and /c in :s (#34102) 2025-07-09 06:14:04 +00:00
test_replace_gdefault.json vim: Add gdefault setting to set /g as a default substitution flag (#47664) 2026-01-27 17:04:10 +00:00
test_replace_mode.json
test_replace_mode_repeat.json
test_replace_mode_undo.json
test_replace_mode_with_counts.json
test_replace_n.json vim: Implement /n and /c in :s (#34102) 2025-07-09 06:14:04 +00:00
test_replace_with_range.json
test_replace_with_range_at_start.json
test_scroll_beyond_last_line.json vim: Fix LineUp (#27754) 2025-04-16 17:24:24 +00:00
test_scroll_jumps.json Disable nav history in vim scrolls (#32656) 2025-06-12 22:18:22 -06:00
test_search_skipping.json Fix search skipping in vim mode (#25580) 2025-02-25 23:29:54 -07:00
test_selection_goal.json
test_sentence_backwards.json
test_sentence_forwards.json
test_shift_y.json vim: Fix VisualYankLine (#22416) 2025-01-07 00:15:19 +00:00
test_singleline_surrounding_character_objects.json
test_singleline_surrounding_character_objects_with_escape.json
test_space_non_ascii.json vim: Fix space not handling non-ascii characters (#27053) 2025-03-19 07:28:50 -06:00
test_space_non_ascii_eol.json vim: Fix space forward bug with non-ASCII characters at EOL (#27860) 2025-04-01 18:21:41 +00:00
test_space_only_ascii_eol.json vim: Fix space forward bug with non-ASCII characters at EOL (#27860) 2025-04-01 18:21:41 +00:00
test_special_registers.json
test_start_end_of_paragraph.json
test_substitute_line.json
test_temporary_mode.json vim: Fix temporary mode exit on end of line (#42742) 2025-11-17 11:14:49 +00:00
test_undo.json
test_undo_last_line.json vim: Add U to undo last line (#33571) 2025-07-08 21:24:43 -06:00
test_undo_last_line_newline.json vim: Add U to undo last line (#33571) 2025-07-08 21:24:43 -06:00
test_undo_last_line_newline_many_changes.json vim: Add U to undo last line (#33571) 2025-07-08 21:24:43 -06:00
test_undo_repeated_insert.json
test_unmatched_backward.json
test_unmatched_backward_markdown.json editor: Fix MoveToEnclosingBracket and unmatched forward/backward Vim motions in Markdown code blocks (#42813) 2025-11-15 23:57:49 +05:30
test_unmatched_forward.json
test_unmatched_forward_markdown.json editor: Fix MoveToEnclosingBracket and unmatched forward/backward Vim motions in Markdown code blocks (#42813) 2025-11-15 23:57:49 +05:30
test_v2ap.json vim: Respect count for paragraphs (#33489) 2025-06-27 22:05:47 -06:00
test_v_search.json
test_v_search_aa.json Fix search skipping in vim mode (#25580) 2025-02-25 23:29:54 -07:00
test_visual_block_insert.json
test_visual_block_insert_after_ctrl_d_scroll.json vim: Fix visual block Shift-I jumping to original cursor after Ctrl-D scroll (#50822) 2026-03-18 10:59:46 +00:00
test_visual_block_issue_2123.json
test_visual_block_mode.json
test_visual_block_mode_down_right.json Correct other end visual block functionality (#27678) 2025-03-28 20:52:38 +00:00
test_visual_block_mode_other_end.json Correct other end visual block functionality (#27678) 2025-03-28 20:52:38 +00:00
test_visual_block_mode_shift_other_end.json Correct other end visual block functionality (#27678) 2025-03-28 20:52:38 +00:00
test_visual_block_mode_up_left.json Correct other end visual block functionality (#27678) 2025-03-28 20:52:38 +00:00
test_visual_block_search.json
test_visual_block_wrapping_selection.json vim: Fix visual block handling of wrapped lines (#39355) 2025-10-03 15:58:34 +02:00
test_visual_change.json
test_visual_delete.json
test_visual_line_change.json
test_visual_line_delete.json
test_visual_match_eol.json
test_visual_mode_insert_before_after.json vim: Fix insert before in visual modes (#25603) 2025-03-04 21:58:01 -07:00
test_visual_object.json
test_visual_object_expands.json vim: Fix visual object expands (#28301) 2025-04-08 08:51:41 -06:00
test_visual_paragraph_object.json
test_visual_paragraph_object_with_soft_wrap.json vim: Fix ap text object selection when there is line wrapping (#35485) 2025-08-18 09:57:53 -06:00
test_visual_sentence_object.json
test_visual_shift_d.json
test_visual_star_hash.json
test_visual_word_object.json
test_visual_yank.json Fix vim test keystroke (#28406) 2025-04-09 14:29:03 -06:00
test_w.json
test_window_bottom.json
test_window_middle.json
test_window_top.json
test_word_object_with_count.json vim: Fix word object count multiplier (2aw, 2iw) (#45686) 2026-01-05 09:13:25 -07:00
test_wrapped_delete_end_document.json
test_wrapped_lines.json
test_wrapped_motions.json
test_x.json
test_yank_line_with_trailing_newline.json Fix vim full line operations failing when no trailing newline (#24409) 2025-02-06 17:57:24 -06:00
test_yank_line_without_trailing_newline.json Fix vim full line operations failing when no trailing newline (#24409) 2025-02-06 17:57:24 -06:00
test_yank_multiline_without_trailing_newline.json Fix vim full line operations failing when no trailing newline (#24409) 2025-02-06 17:57:24 -06:00
test_yank_paragraph_with_paste.json Fix yank around paragraph missing newline (#43583) 2025-12-03 17:11:53 +00:00
test_zero.json