diff options
author | bors[bot] <bors[bot]@users.noreply.github.com> | 2019-04-18 13:00:16 +0100 |
---|---|---|
committer | bors[bot] <bors[bot]@users.noreply.github.com> | 2019-04-18 13:00:16 +0100 |
commit | 403cd78baee7e9c2410d04ca0304575e7bbab16d (patch) | |
tree | 9e7ff9215e3490169c63c12e03c2eb03ca59ba20 /crates/ra_mbe/src/subtree_parser.rs | |
parent | 112fd0ec7d65b5f23865410fd3e188e761d97110 (diff) | |
parent | e944fd059de93f305d6a8c40cfac5ebe84548771 (diff) |
Merge #1161
1161: Add mbe 'item' matcher r=matklad a=edwin0cheng
Add `item` matcher in `ra_mbe` , and added corresponding `item()` parser in `ra_syntax`.
This PR also help PR #1148 for `Items` parsing.
And hopefully fix #1149 ?!
Co-authored-by: Edwin Cheng <[email protected]>
Diffstat (limited to 'crates/ra_mbe/src/subtree_parser.rs')
-rw-r--r-- | crates/ra_mbe/src/subtree_parser.rs | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/crates/ra_mbe/src/subtree_parser.rs b/crates/ra_mbe/src/subtree_parser.rs index f075ce245..195e4c3ac 100644 --- a/crates/ra_mbe/src/subtree_parser.rs +++ b/crates/ra_mbe/src/subtree_parser.rs | |||
@@ -46,6 +46,10 @@ impl<'a> Parser<'a> { | |||
46 | self.parse(|src, sink| ra_parser::parse_stmt(src, sink, false)) | 46 | self.parse(|src, sink| ra_parser::parse_stmt(src, sink, false)) |
47 | } | 47 | } |
48 | 48 | ||
49 | pub fn parse_item(self) -> Option<tt::TokenTree> { | ||
50 | self.parse(ra_parser::parse_item) | ||
51 | } | ||
52 | |||
49 | fn parse<F>(self, f: F) -> Option<tt::TokenTree> | 53 | fn parse<F>(self, f: F) -> Option<tt::TokenTree> |
50 | where | 54 | where |
51 | F: FnOnce(&dyn TokenSource, &mut dyn TreeSink), | 55 | F: FnOnce(&dyn TokenSource, &mut dyn TreeSink), |