diff options
Diffstat (limited to 'crates/ra_assists/src/assist_context.rs')
-rw-r--r-- | crates/ra_assists/src/assist_context.rs | 17 |
1 files changed, 1 insertions, 16 deletions
diff --git a/crates/ra_assists/src/assist_context.rs b/crates/ra_assists/src/assist_context.rs index 217f692a4..368d48a71 100644 --- a/crates/ra_assists/src/assist_context.rs +++ b/crates/ra_assists/src/assist_context.rs | |||
@@ -5,14 +5,13 @@ use std::mem; | |||
5 | use algo::find_covering_element; | 5 | use algo::find_covering_element; |
6 | use hir::Semantics; | 6 | use hir::Semantics; |
7 | use ra_db::{FileId, FileRange}; | 7 | use ra_db::{FileId, FileRange}; |
8 | use ra_fmt::{leading_indent, reindent}; | ||
9 | use ra_ide_db::{ | 8 | use ra_ide_db::{ |
10 | source_change::{SourceChange, SourceFileEdit}, | 9 | source_change::{SourceChange, SourceFileEdit}, |
11 | RootDatabase, | 10 | RootDatabase, |
12 | }; | 11 | }; |
13 | use syntax::{ | 12 | use syntax::{ |
14 | algo::{self, find_node_at_offset, SyntaxRewriter}, | 13 | algo::{self, find_node_at_offset, SyntaxRewriter}, |
15 | AstNode, SourceFile, SyntaxElement, SyntaxKind, SyntaxNode, SyntaxToken, TextRange, TextSize, | 14 | AstNode, SourceFile, SyntaxElement, SyntaxKind, SyntaxToken, TextRange, TextSize, |
16 | TokenAtOffset, | 15 | TokenAtOffset, |
17 | }; | 16 | }; |
18 | use text_edit::{TextEdit, TextEditBuilder}; | 17 | use text_edit::{TextEdit, TextEditBuilder}; |
@@ -269,20 +268,6 @@ impl AssistBuilder { | |||
269 | pub(crate) fn replace_ast<N: AstNode>(&mut self, old: N, new: N) { | 268 | pub(crate) fn replace_ast<N: AstNode>(&mut self, old: N, new: N) { |
270 | algo::diff(old.syntax(), new.syntax()).into_text_edit(&mut self.edit) | 269 | algo::diff(old.syntax(), new.syntax()).into_text_edit(&mut self.edit) |
271 | } | 270 | } |
272 | /// Replaces specified `node` of text with a given string, reindenting the | ||
273 | /// string to maintain `node`'s existing indent. | ||
274 | // FIXME: remove in favor of syntax::edit::IndentLevel::increase_indent | ||
275 | pub(crate) fn replace_node_and_indent( | ||
276 | &mut self, | ||
277 | node: &SyntaxNode, | ||
278 | replace_with: impl Into<String>, | ||
279 | ) { | ||
280 | let mut replace_with = replace_with.into(); | ||
281 | if let Some(indent) = leading_indent(node) { | ||
282 | replace_with = reindent(&replace_with, &indent) | ||
283 | } | ||
284 | self.replace(node.text_range(), replace_with) | ||
285 | } | ||
286 | pub(crate) fn rewrite(&mut self, rewriter: SyntaxRewriter) { | 271 | pub(crate) fn rewrite(&mut self, rewriter: SyntaxRewriter) { |
287 | let node = rewriter.rewrite_root().unwrap(); | 272 | let node = rewriter.rewrite_root().unwrap(); |
288 | let new = rewriter.rewrite(&node); | 273 | let new = rewriter.rewrite(&node); |