diff options
Diffstat (limited to 'crates/ra_syntax/src/parsing.rs')
-rw-r--r-- | crates/ra_syntax/src/parsing.rs | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/crates/ra_syntax/src/parsing.rs b/crates/ra_syntax/src/parsing.rs index 941ec501e..138d1394a 100644 --- a/crates/ra_syntax/src/parsing.rs +++ b/crates/ra_syntax/src/parsing.rs | |||
@@ -9,7 +9,7 @@ mod grammar; | |||
9 | mod reparsing; | 9 | mod reparsing; |
10 | 10 | ||
11 | use crate::{ | 11 | use crate::{ |
12 | SyntaxError, SyntaxKind, SmolStr, | 12 | SyntaxKind, SmolStr, SyntaxError, |
13 | parsing::{ | 13 | parsing::{ |
14 | builder::GreenBuilder, | 14 | builder::GreenBuilder, |
15 | input::ParserInput, | 15 | input::ParserInput, |
@@ -21,11 +21,14 @@ use crate::{ | |||
21 | 21 | ||
22 | pub use self::lexer::{tokenize, Token}; | 22 | pub use self::lexer::{tokenize, Token}; |
23 | 23 | ||
24 | #[derive(Debug, Clone, PartialEq, Eq, Hash)] | ||
25 | pub struct ParseError(pub String); | ||
26 | |||
24 | pub(crate) use self::reparsing::incremental_reparse; | 27 | pub(crate) use self::reparsing::incremental_reparse; |
25 | 28 | ||
26 | pub(crate) fn parse_text(text: &str) -> (GreenNode, Vec<SyntaxError>) { | 29 | pub(crate) fn parse_text(text: &str) -> (GreenNode, Vec<SyntaxError>) { |
27 | let tokens = tokenize(&text); | 30 | let tokens = tokenize(&text); |
28 | parse_with(GreenBuilder::new(), text, &tokens, grammar::root) | 31 | parse_with(GreenBuilder::default(), text, &tokens, grammar::root) |
29 | } | 32 | } |
30 | 33 | ||
31 | fn parse_with<S: TreeSink>( | 34 | fn parse_with<S: TreeSink>( |
@@ -57,7 +60,7 @@ trait TreeSink { | |||
57 | /// branch as current. | 60 | /// branch as current. |
58 | fn finish_branch(&mut self); | 61 | fn finish_branch(&mut self); |
59 | 62 | ||
60 | fn error(&mut self, error: SyntaxError); | 63 | fn error(&mut self, error: ParseError); |
61 | 64 | ||
62 | /// Complete tree building. Make sure that | 65 | /// Complete tree building. Make sure that |
63 | /// `start_branch` and `finish_branch` calls | 66 | /// `start_branch` and `finish_branch` calls |