aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_parser
diff options
context:
space:
mode:
authorEdwin Cheng <[email protected]>2019-04-19 14:38:26 +0100
committerEdwin Cheng <[email protected]>2019-04-19 14:38:26 +0100
commit87ff908135a28115593f8cf895d176aef331347c (patch)
tree5dd5b02918f9abbd3be1d6071ae266db63add4c6 /crates/ra_parser
parentc5983b85fc9e520208684a8c625cdb96bb219b31 (diff)
Add vis matcher
Diffstat (limited to 'crates/ra_parser')
-rw-r--r--crates/ra_parser/src/grammar.rs2
-rw-r--r--crates/ra_parser/src/lib.rs7
2 files changed, 8 insertions, 1 deletions
diff --git a/crates/ra_parser/src/grammar.rs b/crates/ra_parser/src/grammar.rs
index 13c50c79c..67eae749d 100644
--- a/crates/ra_parser/src/grammar.rs
+++ b/crates/ra_parser/src/grammar.rs
@@ -167,7 +167,7 @@ impl BlockLike {
167 } 167 }
168} 168}
169 169
170fn opt_visibility(p: &mut Parser) -> bool { 170pub(crate) fn opt_visibility(p: &mut Parser) -> bool {
171 match p.current() { 171 match p.current() {
172 PUB_KW => { 172 PUB_KW => {
173 let m = p.start(); 173 let m = p.start();
diff --git a/crates/ra_parser/src/lib.rs b/crates/ra_parser/src/lib.rs
index 4787b5b9e..970d699c0 100644
--- a/crates/ra_parser/src/lib.rs
+++ b/crates/ra_parser/src/lib.rs
@@ -107,6 +107,13 @@ pub fn parse_item(token_source: &dyn TokenSource, tree_sink: &mut dyn TreeSink)
107 parse_from_tokens(token_source, tree_sink, grammar::item); 107 parse_from_tokens(token_source, tree_sink, grammar::item);
108} 108}
109 109
110/// Parse given tokens into the given sink as an visibility qualifier
111pub fn parse_vis(token_source: &dyn TokenSource, tree_sink: &mut dyn TreeSink) {
112 parse_from_tokens(token_source, tree_sink, |p| {
113 grammar::opt_visibility(p);
114 });
115}
116
110pub fn parse_macro_items(token_source: &dyn TokenSource, tree_sink: &mut dyn TreeSink) { 117pub fn parse_macro_items(token_source: &dyn TokenSource, tree_sink: &mut dyn TreeSink) {
111 parse_from_tokens(token_source, tree_sink, grammar::macro_items); 118 parse_from_tokens(token_source, tree_sink, grammar::macro_items);
112} 119}