diff options
Diffstat (limited to 'crates/ra_syntax/src/parsing')
-rw-r--r-- | crates/ra_syntax/src/parsing/reparsing.rs | 8 |
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 | ||
82 | type ParseFn = fn(&mut Parser); | 82 | fn find_reparsable_node( |
83 | fn 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 | ||
88 | fn is_balanced(tokens: &[Token]) -> bool { | 90 | fn is_balanced(tokens: &[Token]) -> bool { |