Merge #11883
11883: fix(ide): move moudle directory when rename r=rainy-me a=rainy-me fix: #10992 Added `FileSystemEdit::MoveDir` variant for move dirs. Original implemented as recursively move child mod files but had many issues like 1. left empty dir after rename file 2. only affect rust file 3. not performant so changed to current version Co-authored-by: rainy-me <github@yue.coffee>
This commit is contained in:
@@ -866,6 +866,20 @@ pub(crate) fn snippet_text_document_ops(
|
||||
rename_file,
|
||||
)))
|
||||
}
|
||||
FileSystemEdit::MoveDir { src, src_id, dst } => {
|
||||
let old_uri = snap.anchored_path(&src);
|
||||
let new_uri = snap.anchored_path(&dst);
|
||||
let mut rename_file =
|
||||
lsp_types::RenameFile { old_uri, new_uri, options: None, annotation_id: None };
|
||||
if snap.analysis.is_library_file(src_id).ok() == Some(true)
|
||||
&& snap.config.change_annotation_support()
|
||||
{
|
||||
rename_file.annotation_id = Some(outside_workspace_annotation_id())
|
||||
}
|
||||
ops.push(lsp_ext::SnippetDocumentChangeOperation::Op(lsp_types::ResourceOp::Rename(
|
||||
rename_file,
|
||||
)))
|
||||
}
|
||||
}
|
||||
Ok(ops)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user