zed-industries / zed

Code at the speed of thought – Zed is a high-performance, multiplayer code editor from the creators of Atom and Tree-sitter.
https://zed.dev
Other
42.43k stars 2.24k forks source link

[Bug] Editing html-like tags with multiple cursors will input double characters #13387

Open GOWxx opened 1 month ago

GOWxx commented 1 month ago

Check for existing issues

Describe the bug / provide steps to reproduce it

In html, jsx, tsx files, select tags, select multiple tags with the same name, press the button on the keyboard, then actually input double characters.

Using multi cursors between two matching HTML tags can also trigger this bug.

https://github.com/zed-industries/zed/assets/12870715/958fc20f-53b0-41a3-905c-91e403d87fa3

This bug ONLY appears in the Preview version now

This bug is not reproduced in this latest release Zed: v0.140.5 (Zed)

Environment

Zed: v0.141.1 (Zed Preview) OS: macOS 14.5.0 Memory: 16 GiB Architecture: aarch64

osiewicz commented 1 month ago

Isn't this just

GOWxx commented 1 month ago

Isn't this just #4535 in action?

Oh! yes! Indeed, it is this setting that caused it. I tried to turn it off in the configuration options, and then the performance was normal. It is a great feat! ^ ^

Thank you immensely for your contribution and elucidation!

If using multiple cursors to select paired tags, then don't output double characters, do you think this is a reasonable feature request? ^ ^

The reason I make this request is not for the scenario of a pair of tags. In that case, this feature is obviously very useful.

However, for multiple tags with the same name scattered in different places, my habit is to select one tag, use cmd + d to match multiple tags, including the start tag and end tag, and then modify them all together.

With the current configuration, want to match multiple tags, you need to select the opening tag more precisely, including the < > part, in order to distinguish the opening tag from the closing tag.

Obviously, selecting the tag name and then cmd + d would make it easier to select some.

So what I actually expect is:

Welcome your discussion, thank you~