@@ -29,27 +29,32 @@ pub(crate) fn generate_derive(acc: &mut Assists, ctx: &AssistContext) -> Option<
2929 let nominal = ctx. find_node_at_offset :: < ast:: NominalDef > ( ) ?;
3030 let node_start = derive_insertion_offset ( & nominal) ?;
3131 let target = nominal. syntax ( ) . text_range ( ) ;
32- acc. add ( AssistId ( "generate_derive" , AssistKind :: None ) , "Add `#[derive]`" , target, |builder| {
33- let derive_attr = nominal
34- . attrs ( )
35- . filter_map ( |x| x. as_simple_call ( ) )
36- . filter ( |( name, _arg) | name == "derive" )
37- . map ( |( _name, arg) | arg)
38- . next ( ) ;
39- match derive_attr {
40- None => {
41- builder. insert_snippet ( cap, node_start, "#[derive($0)]\n " ) ;
42- }
43- Some ( tt) => {
44- // Just move the cursor.
45- builder. insert_snippet (
46- cap,
47- tt. syntax ( ) . text_range ( ) . end ( ) - TextSize :: of ( ')' ) ,
48- "$0" ,
49- )
50- }
51- } ;
52- } )
32+ acc. add (
33+ AssistId ( "generate_derive" , AssistKind :: Generate ) ,
34+ "Add `#[derive]`" ,
35+ target,
36+ |builder| {
37+ let derive_attr = nominal
38+ . attrs ( )
39+ . filter_map ( |x| x. as_simple_call ( ) )
40+ . filter ( |( name, _arg) | name == "derive" )
41+ . map ( |( _name, arg) | arg)
42+ . next ( ) ;
43+ match derive_attr {
44+ None => {
45+ builder. insert_snippet ( cap, node_start, "#[derive($0)]\n " ) ;
46+ }
47+ Some ( tt) => {
48+ // Just move the cursor.
49+ builder. insert_snippet (
50+ cap,
51+ tt. syntax ( ) . text_range ( ) . end ( ) - TextSize :: of ( ')' ) ,
52+ "$0" ,
53+ )
54+ }
55+ } ;
56+ } ,
57+ )
5358}
5459
5560// Insert `derive` after doc comments.
0 commit comments