Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide-assists/src/handlers/generate_enum_variant.rs')
| -rw-r--r-- | crates/ide-assists/src/handlers/generate_enum_variant.rs | 32 |
1 files changed, 14 insertions, 18 deletions
diff --git a/crates/ide-assists/src/handlers/generate_enum_variant.rs b/crates/ide-assists/src/handlers/generate_enum_variant.rs index bb08cb904e..3514ebb811 100644 --- a/crates/ide-assists/src/handlers/generate_enum_variant.rs +++ b/crates/ide-assists/src/handlers/generate_enum_variant.rs @@ -1,8 +1,9 @@ use hir::{HasSource, HirDisplay, InRealFile}; -use ide_db::assists::{AssistId, AssistKind}; +use ide_db::assists::AssistId; use syntax::{ - ast::{self, syntax_factory::SyntaxFactory, HasArgList}, - match_ast, AstNode, SyntaxNode, + AstNode, SyntaxNode, + ast::{self, HasArgList, syntax_factory::SyntaxFactory}, + match_ast, }; use crate::assist_context::{AssistContext, Assists}; @@ -57,21 +58,16 @@ pub(crate) fn generate_enum_variant(acc: &mut Assists, ctx: &AssistContext<'_>) let db = ctx.db(); let InRealFile { file_id, value: enum_node } = e.source(db)?.original_ast_node_rooted(db)?; - acc.add( - AssistId("generate_enum_variant", AssistKind::Generate), - "Generate variant", - target, - |builder| { - let mut editor = builder.make_editor(enum_node.syntax()); - let make = SyntaxFactory::new(); - let field_list = parent.make_field_list(ctx, &make); - let variant = make.variant(None, make.name(&name_ref.text()), field_list, None); - if let Some(it) = enum_node.variant_list() { - it.add_variant(&mut editor, &variant); - } - builder.add_file_edits(file_id, editor); - }, - ) + acc.add(AssistId::generate("generate_enum_variant"), "Generate variant", target, |builder| { + let mut editor = builder.make_editor(enum_node.syntax()); + let make = SyntaxFactory::with_mappings(); + let field_list = parent.make_field_list(ctx, &make); + let variant = make.variant(None, make.name(&name_ref.text()), field_list, None); + if let Some(it) = enum_node.variant_list() { + it.add_variant(&mut editor, &variant); + } + builder.add_file_edits(file_id.file_id(ctx.db()), editor); + }) } #[derive(Debug)] |