Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide-assists/src/handlers/move_module_to_file.rs')
-rw-r--r--crates/ide-assists/src/handlers/move_module_to_file.rs10
1 files changed, 9 insertions, 1 deletions
diff --git a/crates/ide-assists/src/handlers/move_module_to_file.rs b/crates/ide-assists/src/handlers/move_module_to_file.rs
index 503003bc6b..da62b817fc 100644
--- a/crates/ide-assists/src/handlers/move_module_to_file.rs
+++ b/crates/ide-assists/src/handlers/move_module_to_file.rs
@@ -1,6 +1,7 @@
use std::iter;
use ast::edit::IndentLevel;
+use hir::{HasAttrs, sym};
use ide_db::base_db::AnchoredPathBuf;
use itertools::Itertools;
use stdx::format_to;
@@ -52,7 +53,14 @@ pub(crate) fn move_module_to_file(acc: &mut Assists, ctx: &AssistContext<'_>) ->
let mut buf = String::from("./");
let db = ctx.db();
match parent_module.name(db) {
- Some(name) if !parent_module.is_mod_rs(db) && !parent_module.has_path(db) => {
+ Some(name)
+ if !parent_module.is_mod_rs(db)
+ && parent_module
+ .attrs(db)
+ .by_key(sym::path)
+ .string_value_unescape()
+ .is_none() =>
+ {
format_to!(buf, "{}/", name.as_str())
}
_ => (),