aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_syntax/src/parsing/reparsing.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_syntax/src/parsing/reparsing.rs')
-rw-r--r--crates/ra_syntax/src/parsing/reparsing.rs8
1 files changed, 5 insertions, 3 deletions
diff --git a/crates/ra_syntax/src/parsing/reparsing.rs b/crates/ra_syntax/src/parsing/reparsing.rs
index a88f53dae..edf3fa291 100644
--- a/crates/ra_syntax/src/parsing/reparsing.rs
+++ b/crates/ra_syntax/src/parsing/reparsing.rs
@@ -79,10 +79,12 @@ fn is_contextual_kw(text: &str) -> bool {
79 } 79 }
80} 80}
81 81
82type ParseFn = fn(&mut Parser); 82fn find_reparsable_node(
83fn find_reparsable_node(node: &SyntaxNode, range: TextRange) -> Option<(&SyntaxNode, ParseFn)> { 83 node: &SyntaxNode,
84 range: TextRange,
85) -> Option<(&SyntaxNode, fn(&mut Parser))> {
84 let node = algo::find_covering_node(node, range); 86 let node = algo::find_covering_node(node, range);
85 node.ancestors().find_map(grammar::reparser).map(|r| (node, r)) 87 node.ancestors().find_map(|node| grammar::reparser(node).map(|r| (node, r)))
86} 88}
87 89
88fn is_balanced(tokens: &[Token]) -> bool { 90fn is_balanced(tokens: &[Token]) -> bool {