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
46.78k stars 2.67k forks source link

'Rename Symbol" command doesn't rename all the occurrences #7179

Open Jeordanis opened 7 months ago

Jeordanis commented 7 months ago

Check for existing issues

Describe the bug / provide steps to reproduce it

Renaming a symbol local to a function doesn't rename all the occurrences.

Video:

https://github.com/zed-industries/zed/assets/145113/23f599ef-c4d4-4f33-bd58-20bec295fcb5

Notice how some of the occurrences are not renamed.

Environment

Zed: v0.120.5 (Zed) OS: macOS 14.2.0 Memory: 32 GiB Architecture: x86_64

If applicable, add mockups / screenshots to help explain present your vision of the feature

No response

If applicable, attach your ~/Library/Logs/Zed/Zed.log file to this issue.

If you only need the most recent lines, you can run the zed: open log command palette action to see the last 1000.

No response

willcosgrove commented 6 months ago

I believe this affects more than just C and C++. Here I've recorded a video of a similar thing happening in Ruby:

https://github.com/zed-industries/zed/assets/77887/7719a29b-c747-4469-867f-548d9ad2c4e4

You can see in my example, in addition to missing one of the occurrences, it also "doubles" the change on the first instance (I tried initiating a rename on the last instance, and it still doubles the first one, not the one I initiated from).

xcrap commented 5 months ago

Renaming is not working at all with me for some previous versions, after changing pressing Enter or CMD + Enter makes nothing.

philippfrank commented 5 months ago

Renaming is not working at all with me for some previous versions, after changing pressing Enter or CMD + Enter makes nothing.

Same here

FomasTreeman commented 2 months ago

Renaming is not working at all with me for some previous versions, after changing pressing Enter or CMD + Enter makes nothing.

Same here

notpeter commented 2 months ago

Hi @Jeordanis,

I've noticed that in your video there are a bunch of squiggles (I assume clangd: use of undeclared identifier). In attempting to reproduce this issue I observed the clangd language server rename functionality does not function properly when it has a bunch of unindentified symbols.

On the other hand, when those stubbed it behaves as expected:

https://github.com/zed-industries/zed/assets/145113/3856f8ba-5538-4d11-80b3-323a85cd7bde

Benjamin-van-Heerden commented 2 months ago

Renaming is not working at all with me for some previous versions, after changing pressing Enter or CMD + Enter makes nothing.

Also not working for me. Rename symbol (both in vim and standard mode) does nothing.

Edit: just tested, it works in Python, but not in Elixir, so the problem is elixir (maybe even elixir-ls) specific.

Zed 0.143.6 Linux