File tree 1 file changed +6
-4
lines changed
crates/ide-assists/src/handlers
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 } ;
2
2
use ide_db:: assists:: { AssistId , AssistKind } ;
3
3
use syntax:: {
4
4
ast:: { self , edit:: IndentLevel } ,
@@ -63,10 +63,11 @@ fn add_variant_to_accumulator(
63
63
adt : hir:: Enum ,
64
64
name_ref : & ast:: NameRef ,
65
65
) -> 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 ( ) ) ;
68
69
69
- let variant_list = adt_ast . variant_list ( ) ?;
70
+ let variant_list = enum_node . variant_list ( ) ?;
70
71
let offset = variant_list. syntax ( ) . text_range ( ) . end ( ) - TextSize :: of ( '}' ) ;
71
72
let empty_enum = variant_list. variants ( ) . next ( ) . is_none ( ) ;
72
73
@@ -75,6 +76,7 @@ fn add_variant_to_accumulator(
75
76
"Generate variant" ,
76
77
target,
77
78
|builder| {
79
+ builder. edit_file ( file_id. original_file ( db) ) ;
78
80
let text = format ! (
79
81
"{maybe_newline}{indent_1}{name},\n {enum_indent}" ,
80
82
maybe_newline = if empty_enum { "\n " } else { "" } ,
You can’t perform that action at this time.
0 commit comments