This repository was archived by the owner on May 28, 2025. It is now read-only.
File tree Expand file tree Collapse file tree 1 file changed +6
-4
lines changed
crates/ide-assists/src/handlers Expand file tree Collapse file tree 1 file changed +6
-4
lines changed Original file line number Diff line number Diff line change 1- use hir:: HasSource ;
1+ use hir:: { HasSource , InFile } ;
22use ide_db:: assists:: { AssistId , AssistKind } ;
33use syntax:: {
44 ast:: { self , edit:: IndentLevel } ,
@@ -63,10 +63,11 @@ fn add_variant_to_accumulator(
6363 adt : hir:: Enum ,
6464 name_ref : & ast:: NameRef ,
6565) -> Option < ( ) > {
66- let adt_ast = adt. source ( ctx. db ( ) ) ?. original_ast_node ( ctx. db ( ) ) ?. value ;
67- let enum_indent = IndentLevel :: from_node ( & adt_ast. syntax ( ) ) ;
66+ let db = ctx. db ( ) ;
67+ let InFile { file_id, value : enum_node } = adt. source ( db) ?. original_ast_node ( db) ?;
68+ let enum_indent = IndentLevel :: from_node ( & enum_node. syntax ( ) ) ;
6869
69- let variant_list = adt_ast . variant_list ( ) ?;
70+ let variant_list = enum_node . variant_list ( ) ?;
7071 let offset = variant_list. syntax ( ) . text_range ( ) . end ( ) - TextSize :: of ( '}' ) ;
7172 let empty_enum = variant_list. variants ( ) . next ( ) . is_none ( ) ;
7273
@@ -75,6 +76,7 @@ fn add_variant_to_accumulator(
7576 "Generate variant" ,
7677 target,
7778 |builder| {
79+ builder. edit_file ( file_id. original_file ( db) ) ;
7880 let text = format ! (
7981 "{maybe_newline}{indent_1}{name},\n {enum_indent}" ,
8082 maybe_newline = if empty_enum { "\n " } else { "" } ,
You can’t perform that action at this time.
0 commit comments