Skip to content

Conversation

@romaninsh
Copy link
Contributor

@romaninsh romaninsh commented Aug 5, 2025

Resolves: #33906
Resolves: #32020
Resolves: #31997
Merge after: #35612, #35611, #35501, #35468

This PR re-uses vim's operator logic to implement Helix "match" mode. m i and m a work well across all existing objects with some tweaks around paragraphs.

Release Notes:

  • Helix: Pressing v v no longer drop you into Normal mode out of HelixNormal
  • Helix: Initial implementation of m i and m a

The gist of this PR here: 3258d258c87aa20135ad4490ead424ebb59e76be

Bugs:

  • TODO: temporarily breaks "m m" functionality, need to keybind it to "vim::Matching" without disrupting operators.

@cla-bot cla-bot bot added the cla-signed The user has signed the Contributor License Agreement label Aug 5, 2025
@romaninsh romaninsh force-pushed the helix-match-mode branch 2 times, most recently from 6fddd38 to 49a55d8 Compare August 5, 2025 23:42
@fantacell
Copy link
Contributor

Oh no what about my #34060? Only took me until now, while you did this impressively fast I believe 😅

@romaninsh
Copy link
Contributor Author

Sorry, I missed it entirely. This looks really good TBH and amazing that even though I'm new to zed, our implementation look similar.

I try to ship in small incremental improvements. I can pick this apart. 👍

@ConradIrwin
Copy link
Member

I'm going to close this for now as it conflicts horribly; but I think we do want this feature.

@fantacell do you know when you'll get time to work on #34060 ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cla-signed The user has signed the Contributor License Agreement

Projects

None yet

4 participants