From 8497b5bd75159cf3e491af8dadb4b1b0da95477d Mon Sep 17 00:00:00 2001 From: Matt Hall Date: Sat, 20 Feb 2021 17:11:04 +0000 Subject: Use format_to! to make logic a bit nicer --- crates/assists/src/handlers/move_module_to_file.rs | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'crates/assists/src/handlers/move_module_to_file.rs') diff --git a/crates/assists/src/handlers/move_module_to_file.rs b/crates/assists/src/handlers/move_module_to_file.rs index 1f2d8f20f..91c395c1b 100644 --- a/crates/assists/src/handlers/move_module_to_file.rs +++ b/crates/assists/src/handlers/move_module_to_file.rs @@ -1,5 +1,6 @@ use ast::{edit::IndentLevel, VisibilityOwner}; use ide_db::base_db::AnchoredPathBuf; +use stdx::format_to; use syntax::{ ast::{self, edit::AstNodeEdit, NameOwner}, AstNode, TextRange, @@ -36,8 +37,6 @@ pub(crate) fn move_module_to_file(acc: &mut Assists, ctx: &AssistContext) -> Opt let module_def = ctx.sema.to_def(&module_ast)?; let parent_module = module_def.parent(ctx.db())?; - let vis_str = - if let Some(v) = module_ast.visibility() { v.to_string() + " " } else { "".to_string() }; acc.add( AssistId("move_module_to_file", AssistKind::RefactorExtract), @@ -61,10 +60,13 @@ pub(crate) fn move_module_to_file(acc: &mut Assists, ctx: &AssistContext) -> Opt items }; - builder.replace( - module_ast.syntax().text_range(), - format!("{}mod {};", vis_str, module_name), - ); + let mut buf = String::new(); + if let Some(v) = module_ast.visibility() { + format_to!(buf, "{} ", v); + } + format_to!(buf, "mod {};", module_name); + + builder.replace(module_ast.syntax().text_range(), buf); let dst = AnchoredPathBuf { anchor: ctx.frange.file_id, path }; builder.create_file(dst, contents); -- cgit v1.2.3