Parse semicolons
This commit is contained in:
parent
f8a8e89a30
commit
d8a2aedbd7
1 changed files with 7 additions and 0 deletions
|
@ -45,6 +45,9 @@ pub enum Escape {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn parse(cx: &mut ExtCtxt, mut args: &[TokenTree]) -> Option<Vec<Markup>> {
|
pub fn parse(cx: &mut ExtCtxt, mut args: &[TokenTree]) -> Option<Vec<Markup>> {
|
||||||
|
macro_rules! semi {
|
||||||
|
() => (TtToken(_, token::Semi))
|
||||||
|
}
|
||||||
macro_rules! minus {
|
macro_rules! minus {
|
||||||
() => (TtToken(_, token::BinOp(token::Minus)))
|
() => (TtToken(_, token::BinOp(token::Minus)))
|
||||||
}
|
}
|
||||||
|
@ -55,6 +58,10 @@ pub fn parse(cx: &mut ExtCtxt, mut args: &[TokenTree]) -> Option<Vec<Markup>> {
|
||||||
let mut result = vec![];
|
let mut result = vec![];
|
||||||
loop {
|
loop {
|
||||||
match match args {
|
match match args {
|
||||||
|
[semi!(), ..] => {
|
||||||
|
args.shift(1);
|
||||||
|
continue
|
||||||
|
},
|
||||||
[minus!(), ref tt @ literal!(), ..] => {
|
[minus!(), ref tt @ literal!(), ..] => {
|
||||||
args.shift(2);
|
args.shift(2);
|
||||||
parse_literal(cx, tt, true)
|
parse_literal(cx, tt, true)
|
||||||
|
|
Loading…
Add table
Reference in a new issue