]> git.lizzy.rs Git - rust.git/commit
Merge #5858
authorbors[bot] <26634292+bors[bot]@users.noreply.github.com>
Sat, 10 Oct 2020 11:59:25 +0000 (11:59 +0000)
committerGitHub <noreply@github.com>
Sat, 10 Oct 2020 11:59:25 +0000 (11:59 +0000)
commitb7596d248382aa88b81da4dd6c7598993bc4b787
tree0ef92bcd580446c4ea44902f0f959d547a698943
parent05261f5aeb1dcf01c5dfcf3e01826e57b1249ca9
parente90931a2047e6e38f173e2e2f2a24ad648e92e9d
Merge #5858

5858: Draft: Show reason for failed rename refactoring r=rherrmann a=rherrmann

Return an error with a meaningful message for requests to
`textDocument/rename` if the operation cannot be performed.
Pass errors, raised by rename handling code to the LSP runtime.

As a consequence, the VS Code client shows and logs the request
as if a server-side programming error occured.
Screenshot of a rename error showing in VS Code
![invalid-rename-ui](https://user-images.githubusercontent.com/607182/91059560-2c08a380-e62a-11ea-9297-f092db935a3b.png)

I would kindly ask to get feedback from the maintainers if they can spare the time:
* Is the general direction of the proposed changes acceptable?
* I'm new to Rust. The code feels clumsy and redundant, please suggest improvements
if you find the time for. E.g. is there a simple replacement for `RenameError`?
* Should presenting the error with proper severity (i.e. not as a programming error) be part of this change or in a followup change?

See https://github.com/rust-analyzer/rust-analyzer/issues/3981

Co-authored-by: RĂ¼diger Herrmann <ruediger.herrmann@gmx.de>