From f3bdbec1b68fa0e20f0b7b6c6ef64e1507970b0d Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Sat, 20 Jul 2019 12:58:27 +0300 Subject: rename range -> text_range --- .../ra_ide_api/src/completion/complete_keyword.rs | 2 +- crates/ra_ide_api/src/completion/complete_path.rs | 2 +- .../ra_ide_api/src/completion/complete_postfix.rs | 2 +- .../src/completion/completion_context.rs | 32 ++++++++++++++-------- 4 files changed, 23 insertions(+), 15 deletions(-) (limited to 'crates/ra_ide_api/src/completion') diff --git a/crates/ra_ide_api/src/completion/complete_keyword.rs b/crates/ra_ide_api/src/completion/complete_keyword.rs index 4cf34eff8..18c1839dc 100644 --- a/crates/ra_ide_api/src/completion/complete_keyword.rs +++ b/crates/ra_ide_api/src/completion/complete_keyword.rs @@ -88,7 +88,7 @@ fn is_in_loop_body(leaf: &SyntaxToken) -> bool { .visit::(|it| it.loop_body()) .accept(&node); if let Some(Some(body)) = loop_body { - if leaf.range().is_subrange(&body.syntax().range()) { + if leaf.text_range().is_subrange(&body.syntax().text_range()) { return true; } } diff --git a/crates/ra_ide_api/src/completion/complete_path.rs b/crates/ra_ide_api/src/completion/complete_path.rs index 29586cd1f..5fd41eeb3 100644 --- a/crates/ra_ide_api/src/completion/complete_path.rs +++ b/crates/ra_ide_api/src/completion/complete_path.rs @@ -26,7 +26,7 @@ pub(super) fn complete_path(acc: &mut Completions, ctx: &CompletionContext) { if Some(module) == ctx.module { if let Some(import) = res.import { if let Either::A(use_tree) = module.import_source(ctx.db, import) { - if use_tree.syntax().range().contains_inclusive(ctx.offset) { + if use_tree.syntax().text_range().contains_inclusive(ctx.offset) { // for `use self::foo<|>`, don't suggest `foo` as a completion tested_by!(dont_complete_current_use); continue; diff --git a/crates/ra_ide_api/src/completion/complete_postfix.rs b/crates/ra_ide_api/src/completion/complete_postfix.rs index c75b1c159..6d834f6ce 100644 --- a/crates/ra_ide_api/src/completion/complete_postfix.rs +++ b/crates/ra_ide_api/src/completion/complete_postfix.rs @@ -12,7 +12,7 @@ use ra_text_edit::TextEditBuilder; fn postfix_snippet(ctx: &CompletionContext, label: &str, detail: &str, snippet: &str) -> Builder { let edit = { let receiver_range = - ctx.dot_receiver.as_ref().expect("no receiver available").syntax().range(); + ctx.dot_receiver.as_ref().expect("no receiver available").syntax().text_range(); let delete_range = TextRange::from_to(receiver_range.start(), ctx.source_range().end()); let mut builder = TextEditBuilder::default(); builder.replace(delete_range, snippet.to_string()); diff --git a/crates/ra_ide_api/src/completion/completion_context.rs b/crates/ra_ide_api/src/completion/completion_context.rs index b803271ab..2f78d5409 100644 --- a/crates/ra_ide_api/src/completion/completion_context.rs +++ b/crates/ra_ide_api/src/completion/completion_context.rs @@ -78,7 +78,7 @@ impl<'a> CompletionContext<'a> { pub(crate) fn source_range(&self) -> TextRange { match self.token.kind() { // workaroud when completion is triggered by trigger characters. - IDENT => self.token.range(), + IDENT => self.token.text_range(), _ => TextRange::offset_len(self.offset, 0.into()), } } @@ -123,13 +123,17 @@ impl<'a> CompletionContext<'a> { } fn classify_name_ref(&mut self, original_file: SourceFile, name_ref: ast::NameRef) { - let name_range = name_ref.syntax().range(); + let name_range = name_ref.syntax().text_range(); if name_ref.syntax().parent().and_then(ast::NamedField::cast).is_some() { self.struct_lit_syntax = find_node_at_offset(original_file.syntax(), self.offset); } - let top_node = - name_ref.syntax().ancestors().take_while(|it| it.range() == name_range).last().unwrap(); + let top_node = name_ref + .syntax() + .ancestors() + .take_while(|it| it.text_range() == name_range) + .last() + .unwrap(); match top_node.parent().map(|it| it.kind()) { Some(SOURCE_FILE) | Some(ITEM_LIST) => { @@ -180,23 +184,27 @@ impl<'a> CompletionContext<'a> { .ancestors() .find_map(|node| { if let Some(stmt) = ast::ExprStmt::cast(node.clone()) { - return Some(stmt.syntax().range() == name_ref.syntax().range()); + return Some( + stmt.syntax().text_range() == name_ref.syntax().text_range(), + ); } if let Some(block) = ast::Block::cast(node) { return Some( - block.expr().map(|e| e.syntax().range()) - == Some(name_ref.syntax().range()), + block.expr().map(|e| e.syntax().text_range()) + == Some(name_ref.syntax().text_range()), ); } None }) .unwrap_or(false); - if let Some(off) = name_ref.syntax().range().start().checked_sub(2.into()) { + if let Some(off) = name_ref.syntax().text_range().start().checked_sub(2.into()) { if let Some(if_expr) = find_node_at_offset::(original_file.syntax(), off) { - if if_expr.syntax().range().end() < name_ref.syntax().range().start() { + if if_expr.syntax().text_range().end() + < name_ref.syntax().text_range().start() + { self.after_if = true; } } @@ -208,14 +216,14 @@ impl<'a> CompletionContext<'a> { // ident, so it should have the same range in the non-modified file self.dot_receiver = field_expr .expr() - .map(|e| e.syntax().range()) + .map(|e| e.syntax().text_range()) .and_then(|r| find_node_with_range(original_file.syntax(), r)); } if let Some(method_call_expr) = ast::MethodCallExpr::cast(parent) { // As above self.dot_receiver = method_call_expr .expr() - .map(|e| e.syntax().range()) + .map(|e| e.syntax().text_range()) .and_then(|r| find_node_with_range(original_file.syntax(), r)); self.is_call = true; } @@ -229,6 +237,6 @@ fn find_node_with_range(syntax: &SyntaxNode, range: TextRange) -> Op fn is_node(node: &SyntaxNode) -> bool { match node.ancestors().filter_map(N::cast).next() { None => false, - Some(n) => n.syntax().range() == node.range(), + Some(n) => n.syntax().text_range() == node.text_range(), } } -- cgit v1.2.3