@@ -13,7 +13,7 @@ use ra_syntax::{
1313} ;
1414use ra_text_edit:: TextEditBuilder ;
1515
16- use crate :: { AssistFile , AssistId , AssistLabel , GroupLabel , ResolvedAssist } ;
16+ use crate :: { AssistId , AssistLabel , GroupLabel , ResolvedAssist } ;
1717
1818#[ derive( Clone , Debug ) ]
1919pub ( crate ) struct Assist ( pub ( crate ) Vec < AssistInfo > ) ;
@@ -22,16 +22,16 @@ pub(crate) struct Assist(pub(crate) Vec<AssistInfo>);
2222pub ( crate ) struct AssistInfo {
2323 pub ( crate ) label : AssistLabel ,
2424 pub ( crate ) group_label : Option < GroupLabel > ,
25- pub ( crate ) action : Option < SourceChange > ,
25+ pub ( crate ) source_change : Option < SourceChange > ,
2626}
2727
2828impl AssistInfo {
2929 fn new ( label : AssistLabel ) -> AssistInfo {
30- AssistInfo { label, group_label : None , action : None }
30+ AssistInfo { label, group_label : None , source_change : None }
3131 }
3232
33- fn resolved ( self , action : SourceChange ) -> AssistInfo {
34- AssistInfo { action : Some ( action ) , ..self }
33+ fn resolved ( self , source_change : SourceChange ) -> AssistInfo {
34+ AssistInfo { source_change : Some ( source_change ) , ..self }
3535 }
3636
3737 fn with_group ( self , group_label : GroupLabel ) -> AssistInfo {
@@ -40,7 +40,7 @@ impl AssistInfo {
4040
4141 pub ( crate ) fn into_resolved ( self ) -> Option < ResolvedAssist > {
4242 let label = self . label ;
43- self . action . map ( |action | ResolvedAssist { label, action } )
43+ self . source_change . map ( |source_change | ResolvedAssist { label, source_change } )
4444 }
4545}
4646
@@ -104,12 +104,12 @@ impl<'a> AssistCtx<'a> {
104104 let change_label = label. label . clone ( ) ;
105105 let mut info = AssistInfo :: new ( label) ;
106106 if self . should_compute_edit {
107- let action = {
107+ let source_change = {
108108 let mut edit = ActionBuilder :: new ( & self ) ;
109109 f ( & mut edit) ;
110- edit. build ( change_label, self . frange . file_id )
110+ edit. build ( change_label)
111111 } ;
112- info = info. resolved ( action )
112+ info = info. resolved ( source_change )
113113 } ;
114114
115115 Some ( Assist ( vec ! [ info] ) )
@@ -163,12 +163,12 @@ impl<'a> AssistGroup<'a> {
163163 let change_label = label. label . clone ( ) ;
164164 let mut info = AssistInfo :: new ( label) . with_group ( self . group . clone ( ) ) ;
165165 if self . ctx . should_compute_edit {
166- let action = {
166+ let source_change = {
167167 let mut edit = ActionBuilder :: new ( & self . ctx ) ;
168168 f ( & mut edit) ;
169- edit. build ( change_label, self . ctx . frange . file_id )
169+ edit. build ( change_label)
170170 } ;
171- info = info. resolved ( action )
171+ info = info. resolved ( source_change )
172172 } ;
173173
174174 self . assists . push ( info)
@@ -186,7 +186,7 @@ impl<'a> AssistGroup<'a> {
186186pub ( crate ) struct ActionBuilder < ' a , ' b > {
187187 edit : TextEditBuilder ,
188188 cursor_position : Option < TextSize > ,
189- file : AssistFile ,
189+ file : FileId ,
190190 ctx : & ' a AssistCtx < ' b > ,
191191}
192192
@@ -195,7 +195,7 @@ impl<'a, 'b> ActionBuilder<'a, 'b> {
195195 Self {
196196 edit : TextEditBuilder :: default ( ) ,
197197 cursor_position : None ,
198- file : AssistFile :: default ( ) ,
198+ file : ctx . frange . file_id ,
199199 ctx,
200200 }
201201 }
@@ -254,20 +254,16 @@ impl<'a, 'b> ActionBuilder<'a, 'b> {
254254 algo:: diff ( & node, & new) . into_text_edit ( & mut self . edit )
255255 }
256256
257- pub ( crate ) fn set_file ( & mut self , assist_file : AssistFile ) {
258- self . file = assist_file
257+ pub ( crate ) fn set_file ( & mut self , assist_file : FileId ) {
258+ self . file = assist_file;
259259 }
260260
261- fn build ( self , change_label : String , current_file : FileId ) -> SourceChange {
261+ fn build ( self , change_label : String ) -> SourceChange {
262262 let edit = self . edit . finish ( ) ;
263263 if edit. is_empty ( ) && self . cursor_position . is_none ( ) {
264264 panic ! ( "Only call `add_assist` if the assist can be applied" )
265265 }
266- let file = match self . file {
267- AssistFile :: CurrentFile => current_file,
268- AssistFile :: TargetFile ( it) => it,
269- } ;
270266 SingleFileChange { label : change_label, edit, cursor_position : self . cursor_position }
271- . into_source_change ( file)
267+ . into_source_change ( self . file )
272268 }
273269}
0 commit comments