@@ -3,7 +3,6 @@ use crate::grammar;
3
3
use crate :: lexer:: { tokenize, Token } ;
4
4
use crate :: parser_api:: Parser ;
5
5
use crate :: parser_impl;
6
- use crate :: text_utils:: replace_range;
7
6
use crate :: yellow:: { self , GreenNode , SyntaxError , SyntaxNode } ;
8
7
use crate :: { SyntaxKind :: * , TextRange , TextUnit } ;
9
8
use ra_text_edit:: AtomTextEdit ;
@@ -62,11 +61,8 @@ fn reparse_block<'node>(
62
61
}
63
62
64
63
fn get_text_after_edit ( node : & SyntaxNode , edit : & AtomTextEdit ) -> String {
65
- replace_range (
66
- node. text ( ) . to_string ( ) ,
67
- edit. delete - node. range ( ) . start ( ) ,
68
- & edit. insert ,
69
- )
64
+ let edit = AtomTextEdit :: replace ( edit. delete - node. range ( ) . start ( ) , edit. insert . clone ( ) ) ;
65
+ edit. apply ( node. text ( ) . to_string ( ) )
70
66
}
71
67
72
68
fn is_contextual_kw ( text : & str ) -> bool {
@@ -156,7 +152,7 @@ fn merge_errors(
156
152
mod tests {
157
153
use test_utils:: { extract_range, assert_eq_text} ;
158
154
159
- use crate :: { SourceFile , AstNode , text_utils :: replace_range , utils:: dump_tree} ;
155
+ use crate :: { SourceFile , AstNode , utils:: dump_tree} ;
160
156
use super :: * ;
161
157
162
158
fn do_check < F > ( before : & str , replace_with : & str , reparser : F )
@@ -167,7 +163,8 @@ mod tests {
167
163
) -> Option < ( & ' a SyntaxNode , GreenNode , Vec < SyntaxError > ) > ,
168
164
{
169
165
let ( range, before) = extract_range ( before) ;
170
- let after = replace_range ( before. clone ( ) , range, replace_with) ;
166
+ let edit = AtomTextEdit :: replace ( range, replace_with. to_owned ( ) ) ;
167
+ let after = edit. apply ( before. clone ( ) ) ;
171
168
172
169
let fully_reparsed = SourceFile :: parse ( & after) ;
173
170
let incrementally_reparsed = {
0 commit comments