lsp-mode icon indicating copy to clipboard operation
lsp-mode copied to clipboard

c++ rename destroys code (clangd)

Open cyberkm opened this issue 6 months ago • 3 comments

Thank you for the bug report

  • [X] I am using the latest version of lsp-mode related packages.
  • [X] I checked FAQ and Troubleshooting sections
  • [ ] You may also try reproduce the issue using clean environment using the following command: M-x lsp-start-plain

Bug description

When working on a multi file project, a lot of times I have to rename functions or variables across multiple files I am doing it using lsp-rename, but unfortunately lsp rename destroys the code all over the project instead of just renaming the symbol, it adds random characters, and deletes random some other characters around the symbol to be renamed all over the project. Can you please fix it? Using clangd as a backend.

Steps to reproduce

Open multifile c++ code with compilation database and clangd backend open one of the files, select a symbol, it can be a function or a variable that used in other files as well. do lsp-rename, write a new name. The code is now destroyed, new chars are added, some chars are deleted (for example it might delete opening brackets after the function name)

Expected behavior

The symbol name is correctly replaced all over the project without destroying anything.

Which Language Server did you use?

clangd

OS

Windows

Error callstack

No response

Anything else?

No response

cyberkm avatar Aug 05 '24 19:08 cyberkm