} else {
format!("{}.rs", new_name)
};
- let move_file =
- FileSystemEdit::MoveFile { src: file_id, anchor: position.file_id, dst };
+ let move_file = FileSystemEdit::MoveFile { src: file_id, anchor: file_id, dst };
file_system_edits.push(move_file);
}
ModuleSource::Module(..) => {}
3,
),
anchor: FileId(
- 2,
+ 3,
),
dst: "foo2.rs",
},
2,
),
anchor: FileId(
- 3,
+ 2,
),
dst: "quux.rs",
},
2,
),
anchor: FileId(
- 1,
+ 2,
),
dst: "../foo2/mod.rs",
},
);
}
+ #[test]
+ fn test_rename_unusually_nested_mod() {
+ check_expect(
+ "bar",
+ r#"
+//- /lib.rs
+mod outer { mod fo<|>o; }
+
+//- /outer/foo.rs
+// emtpy
+"#,
+ expect![[r#"
+ RangeInfo {
+ range: 16..19,
+ info: SourceChange {
+ source_file_edits: [
+ SourceFileEdit {
+ file_id: FileId(
+ 1,
+ ),
+ edit: TextEdit {
+ indels: [
+ Indel {
+ insert: "bar",
+ delete: 16..19,
+ },
+ ],
+ },
+ },
+ ],
+ file_system_edits: [
+ MoveFile {
+ src: FileId(
+ 2,
+ ),
+ anchor: FileId(
+ 2,
+ ),
+ dst: "bar.rs",
+ },
+ ],
+ is_snippet: false,
+ },
+ }
+ "#]],
+ );
+ }
+
#[test]
fn test_module_rename_in_path() {
check(
3,
),
anchor: FileId(
- 2,
+ 3,
),
dst: "foo2.rs",
},