aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_syntax/src/parsing.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_syntax/src/parsing.rs')
-rw-r--r--crates/ra_syntax/src/parsing.rs25
1 files changed, 25 insertions, 0 deletions
diff --git a/crates/ra_syntax/src/parsing.rs b/crates/ra_syntax/src/parsing.rs
new file mode 100644
index 000000000..761accd7b
--- /dev/null
+++ b/crates/ra_syntax/src/parsing.rs
@@ -0,0 +1,25 @@
1#[macro_use]
2mod token_set;
3mod builder;
4mod lexer;
5mod parser_impl;
6mod parser_api;
7mod grammar;
8mod reparsing;
9
10use crate::{
11 SyntaxError,
12 parsing::builder::GreenBuilder,
13 syntax_node::GreenNode,
14};
15
16pub use self::lexer::{tokenize, Token};
17
18pub(crate) use self::reparsing::incremental_reparse;
19
20pub(crate) fn parse_text(text: &str) -> (GreenNode, Vec<SyntaxError>) {
21 let tokens = tokenize(&text);
22 let (green, errors) =
23 parser_impl::parse_with(GreenBuilder::new(), text, &tokens, grammar::root);
24 (green, errors)
25}