@@ -36,29 +36,25 @@ pub(crate) fn unmerge_use(acc: &mut Assists, ctx: &AssistContext<'_>) -> Option<
36
36
let old_parent_range = use_. syntax ( ) . parent ( ) ?. text_range ( ) ;
37
37
let new_parent = use_. syntax ( ) . parent ( ) ?;
38
38
39
+ // If possible, explain what is going to be done.
40
+ let label = match tree. path ( ) . and_then ( |path| path. first_segment ( ) ) {
41
+ Some ( name) => format ! ( "Unmerge use of `{name}`" ) ,
42
+ None => "Unmerge use" . into ( ) ,
43
+ } ;
44
+
39
45
let target = tree. syntax ( ) . text_range ( ) ;
40
- acc. add (
41
- AssistId ( "unmerge_use" , AssistKind :: RefactorRewrite ) ,
42
- "Unmerge use" ,
43
- target,
44
- |builder| {
45
- let new_use = make:: use_ (
46
- use_. visibility ( ) ,
47
- make:: use_tree (
48
- path,
49
- tree. use_tree_list ( ) ,
50
- tree. rename ( ) ,
51
- tree. star_token ( ) . is_some ( ) ,
52
- ) ,
53
- )
54
- . clone_for_update ( ) ;
55
-
56
- tree. remove ( ) ;
57
- ted:: insert ( Position :: after ( use_. syntax ( ) ) , new_use. syntax ( ) ) ;
58
-
59
- builder. replace ( old_parent_range, new_parent. to_string ( ) ) ;
60
- } ,
61
- )
46
+ acc. add ( AssistId ( "unmerge_use" , AssistKind :: RefactorRewrite ) , label, target, |builder| {
47
+ let new_use = make:: use_ (
48
+ use_. visibility ( ) ,
49
+ make:: use_tree ( path, tree. use_tree_list ( ) , tree. rename ( ) , tree. star_token ( ) . is_some ( ) ) ,
50
+ )
51
+ . clone_for_update ( ) ;
52
+
53
+ tree. remove ( ) ;
54
+ ted:: insert ( Position :: after ( use_. syntax ( ) ) , new_use. syntax ( ) ) ;
55
+
56
+ builder. replace ( old_parent_range, new_parent. to_string ( ) ) ;
57
+ } )
62
58
}
63
59
64
60
fn resolve_full_path ( tree : & ast:: UseTree ) -> Option < ast:: Path > {
0 commit comments