From 702bdacb03b498f36ed9ccf4f37ca923affb1e9c Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Tue, 8 Jan 2019 20:44:31 +0300 Subject: move node at offset to aglo already --- crates/ra_analysis/src/call_info.rs | 2 +- crates/ra_analysis/src/completion/completion_context.rs | 3 +-- crates/ra_analysis/src/goto_defenition.rs | 7 ++++--- crates/ra_analysis/src/hover.rs | 3 +-- crates/ra_analysis/src/imp.rs | 3 ++- crates/ra_editor/src/assists.rs | 4 +--- crates/ra_editor/src/lib.rs | 4 ---- crates/ra_editor/src/typing.rs | 4 ++-- crates/ra_hir/src/code_model_impl/function/scope.rs | 3 +-- crates/ra_hir/src/source_binder.rs | 2 +- crates/ra_syntax/src/algo.rs | 6 +++++- 11 files changed, 19 insertions(+), 22 deletions(-) (limited to 'crates') diff --git a/crates/ra_analysis/src/call_info.rs b/crates/ra_analysis/src/call_info.rs index 1dac95584..27b760780 100644 --- a/crates/ra_analysis/src/call_info.rs +++ b/crates/ra_analysis/src/call_info.rs @@ -5,8 +5,8 @@ use ra_syntax::{ AstNode, SyntaxNode, TextUnit, TextRange, SyntaxKind::FN_DEF, ast::{self, ArgListOwner, DocCommentsOwner}, + algo::find_node_at_offset, }; -use ra_editor::find_node_at_offset; use crate::{FilePosition, CallInfo, db::RootDatabase}; diff --git a/crates/ra_analysis/src/completion/completion_context.rs b/crates/ra_analysis/src/completion/completion_context.rs index 988c21c58..01786bb69 100644 --- a/crates/ra_analysis/src/completion/completion_context.rs +++ b/crates/ra_analysis/src/completion/completion_context.rs @@ -1,9 +1,8 @@ -use ra_editor::find_node_at_offset; use ra_text_edit::AtomTextEdit; use ra_syntax::{ AstNode, SyntaxNode, SourceFile, TextUnit, TextRange, ast, - algo::{find_leaf_at_offset, find_covering_node}, + algo::{find_leaf_at_offset, find_covering_node, find_node_at_offset}, SyntaxKind::*, }; use hir::source_binder; diff --git a/crates/ra_analysis/src/goto_defenition.rs b/crates/ra_analysis/src/goto_defenition.rs index 0bcf13ebd..fcd8d315e 100644 --- a/crates/ra_analysis/src/goto_defenition.rs +++ b/crates/ra_analysis/src/goto_defenition.rs @@ -1,7 +1,8 @@ use ra_db::{FileId, Cancelable, SyntaxDatabase}; -use ra_syntax::{TextRange, AstNode, ast, SyntaxKind::{NAME, MODULE}}; - -use ra_editor::find_node_at_offset; +use ra_syntax::{ + TextRange, AstNode, ast, SyntaxKind::{NAME, MODULE}, + algo::find_node_at_offset, +}; use crate::{FilePosition, NavigationTarget, db::RootDatabase}; diff --git a/crates/ra_analysis/src/hover.rs b/crates/ra_analysis/src/hover.rs index 5607c3ef3..475524ee1 100644 --- a/crates/ra_analysis/src/hover.rs +++ b/crates/ra_analysis/src/hover.rs @@ -1,9 +1,8 @@ use ra_db::{Cancelable, SyntaxDatabase}; -use ra_editor::find_node_at_offset; use ra_syntax::{ AstNode, SyntaxNode, TreePtr, ast::{self, NameOwner}, - algo::{find_covering_node, find_leaf_at_offset, visit::{visitor, Visitor}}, + algo::{find_covering_node, find_node_at_offset, find_leaf_at_offset, visit::{visitor, Visitor}}, }; use crate::{db::RootDatabase, RangeInfo, FilePosition, FileRange, NavigationTarget}; diff --git a/crates/ra_analysis/src/imp.rs b/crates/ra_analysis/src/imp.rs index b3f75fdbe..2b9963b3c 100644 --- a/crates/ra_analysis/src/imp.rs +++ b/crates/ra_analysis/src/imp.rs @@ -6,10 +6,11 @@ use hir::{ self, Problem, source_binder, }; use ra_db::{FilesDatabase, SourceRoot, SourceRootId, SyntaxDatabase}; -use ra_editor::{self, find_node_at_offset, assists, LocalEdit, Severity}; +use ra_editor::{self, assists, LocalEdit, Severity}; use ra_syntax::{ TextRange, AstNode, SourceFile, ast::{self, NameOwner}, + algo::find_node_at_offset, SyntaxKind::*, }; diff --git a/crates/ra_editor/src/assists.rs b/crates/ra_editor/src/assists.rs index f839f6a7a..83eabfc85 100644 --- a/crates/ra_editor/src/assists.rs +++ b/crates/ra_editor/src/assists.rs @@ -14,13 +14,11 @@ mod replace_if_let_with_match; use ra_text_edit::{TextEdit, TextEditBuilder}; use ra_syntax::{ Direction, SyntaxNode, TextUnit, TextRange, SourceFile, AstNode, - algo::{find_leaf_at_offset, find_covering_node, LeafAtOffset}, + algo::{find_leaf_at_offset, find_node_at_offset, find_covering_node, LeafAtOffset}, ast::{self, AstToken}, }; use itertools::Itertools; -use crate::find_node_at_offset; - pub use self::{ flip_comma::flip_comma, add_derive::add_derive, diff --git a/crates/ra_editor/src/lib.rs b/crates/ra_editor/src/lib.rs index 6731260a3..5a6af19b7 100644 --- a/crates/ra_editor/src/lib.rs +++ b/crates/ra_editor/src/lib.rs @@ -120,10 +120,6 @@ pub fn syntax_tree(file: &SourceFile) -> String { ::ra_syntax::utils::dump_tree(file.syntax()) } -pub fn find_node_at_offset(syntax: &SyntaxNode, offset: TextUnit) -> Option<&N> { - find_leaf_at_offset(syntax, offset).find_map(|leaf| leaf.ancestors().find_map(N::cast)) -} - #[cfg(test)] mod tests { use ra_syntax::AstNode; diff --git a/crates/ra_editor/src/typing.rs b/crates/ra_editor/src/typing.rs index 5b260d2ac..576caf6be 100644 --- a/crates/ra_editor/src/typing.rs +++ b/crates/ra_editor/src/typing.rs @@ -2,7 +2,7 @@ use std::mem; use itertools::Itertools; use ra_syntax::{ - algo::{find_covering_node, find_leaf_at_offset, LeafAtOffset}, + algo::{find_node_at_offset, find_covering_node, find_leaf_at_offset, LeafAtOffset}, ast, text_utils::intersect, AstNode, Direction, SourceFile, SyntaxKind, @@ -11,7 +11,7 @@ use ra_syntax::{ }; use ra_text_edit::text_utils::contains_offset_nonstrict; -use crate::{find_node_at_offset, LocalEdit, TextEditBuilder}; +use crate::{LocalEdit, TextEditBuilder}; pub fn join_lines(file: &SourceFile, range: TextRange) -> LocalEdit { let range = if range.is_empty() { diff --git a/crates/ra_hir/src/code_model_impl/function/scope.rs b/crates/ra_hir/src/code_model_impl/function/scope.rs index 699784f71..ebf6edc1b 100644 --- a/crates/ra_hir/src/code_model_impl/function/scope.rs +++ b/crates/ra_hir/src/code_model_impl/function/scope.rs @@ -308,8 +308,7 @@ pub struct ReferenceDescriptor { #[cfg(test)] mod tests { - use ra_editor::find_node_at_offset; - use ra_syntax::SourceFile; + use ra_syntax::{SourceFile, algo::find_node_at_offset}; use test_utils::{extract_offset, assert_eq_text}; use crate::expr; diff --git a/crates/ra_hir/src/source_binder.rs b/crates/ra_hir/src/source_binder.rs index 59a803761..4b0400cd0 100644 --- a/crates/ra_hir/src/source_binder.rs +++ b/crates/ra_hir/src/source_binder.rs @@ -6,10 +6,10 @@ /// So, this modules should not be used during hir construction, it exists /// purely for "IDE needs". use ra_db::{FileId, FilePosition, Cancelable}; -use ra_editor::find_node_at_offset; use ra_syntax::{ SmolStr, TextRange, SyntaxNode, ast::{self, AstNode, NameOwner}, + algo::find_node_at_offset, }; use crate::{ diff --git a/crates/ra_syntax/src/algo.rs b/crates/ra_syntax/src/algo.rs index 13f50d2ef..2826ec7f2 100644 --- a/crates/ra_syntax/src/algo.rs +++ b/crates/ra_syntax/src/algo.rs @@ -2,7 +2,7 @@ pub mod visit; use rowan::TransparentNewType; -use crate::{SyntaxNode, TextRange, TextUnit}; +use crate::{SyntaxNode, TextRange, TextUnit, AstNode}; pub use rowan::LeafAtOffset; @@ -16,6 +16,10 @@ pub fn find_leaf_at_offset(node: &SyntaxNode, offset: TextUnit) -> LeafAtOffset< } } +pub fn find_node_at_offset(syntax: &SyntaxNode, offset: TextUnit) -> Option<&N> { + find_leaf_at_offset(syntax, offset).find_map(|leaf| leaf.ancestors().find_map(N::cast)) +} + pub fn find_covering_node(root: &SyntaxNode, range: TextRange) -> &SyntaxNode { SyntaxNode::from_repr(root.0.covering_node(range)) } -- cgit v1.2.3