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.rs32
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)]