diff options
| author | ShuiRuTian <158983297@qq.com> | 2021-01-11 14:45:35 +0800 |
|---|---|---|
| committer | ShuiRuTian <158983297@qq.com> | 2021-01-11 14:45:35 +0800 |
| commit | f7cb9e9fbe50e5d0e23e81b8b5b90405ef5c1931 (patch) | |
| tree | 147a80040e3513a0be3f6fb4c59a6d0dd1a0ecee /crates/rust-analyzer/src | |
| parent | b9d52444cf621e474e0117e70c335dde2cbf3515 (diff) | |
| download | rust-f7cb9e9fbe50e5d0e23e81b8b5b90405ef5c1931.tar.gz rust-f7cb9e9fbe50e5d0e23e81b8b5b90405ef5c1931.zip | |
move logic from client to server.
Diffstat (limited to 'crates/rust-analyzer/src')
| -rw-r--r-- | crates/rust-analyzer/src/handlers.rs | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/crates/rust-analyzer/src/handlers.rs b/crates/rust-analyzer/src/handlers.rs index 1aafef78be0..17f67d4b7a9 100644 --- a/crates/rust-analyzer/src/handlers.rs +++ b/crates/rust-analyzer/src/handlers.rs @@ -435,7 +435,15 @@ pub(crate) fn handle_will_rename_files( if from_path.is_dir() { // This is a quick implement, try to use will_rename_file code. // imitate change the older_folder/mod.rs to older_folder/new_folder.rs - let imitate_from_url = from.join("mod.rs").ok()?; + + // add '/' to end of url -- from `file://path/to/folder` to `file://path/to/folder/` + let old_folder_name = from_path.file_stem()?; + let old_folder_name = old_folder_name.to_str()?; + let mut old_folder_name = old_folder_name.to_string(); + old_folder_name.push('/'); + let from_with_trailing_slash = from.join(&old_folder_name).ok()?; + + let imitate_from_url = from_with_trailing_slash.join("mod.rs").ok()?; let imite_new_file_name = to_path.file_name()?.to_str()?; Some(( snap.url_to_file_id(&imitate_from_url).ok()?, |
