Replace # -> @ and remove from else
This commit is contained in:
parent
831df66cdb
commit
bd0b135a0d
2 changed files with 17 additions and 17 deletions
|
@ -23,8 +23,8 @@ macro_rules! parse_error {
|
||||||
($self_:expr, $sp:expr, $msg:expr) => (error!($self_.render.cx, $sp, $msg))
|
($self_:expr, $sp:expr, $msg:expr) => (error!($self_.render.cx, $sp, $msg))
|
||||||
}
|
}
|
||||||
|
|
||||||
macro_rules! pound {
|
macro_rules! at {
|
||||||
() => (TokenTree::Token(_, Token::Pound))
|
() => (TokenTree::Token(_, Token::At))
|
||||||
}
|
}
|
||||||
macro_rules! dot {
|
macro_rules! dot {
|
||||||
() => (TokenTree::Token(_, Token::Dot))
|
() => (TokenTree::Token(_, Token::Dot))
|
||||||
|
@ -156,17 +156,17 @@ impl<'cx, 'i> Parser<'cx, 'i> {
|
||||||
try!(self.literal(tt, false))
|
try!(self.literal(tt, false))
|
||||||
},
|
},
|
||||||
// If
|
// If
|
||||||
[pound!(), keyword!(sp, k), ..] if k.is_keyword(Keyword::If) => {
|
[at!(), keyword!(sp, k), ..] if k.is_keyword(Keyword::If) => {
|
||||||
self.shift(2);
|
self.shift(2);
|
||||||
try!(self.if_expr(sp));
|
try!(self.if_expr(sp));
|
||||||
},
|
},
|
||||||
// For
|
// For
|
||||||
[pound!(), keyword!(sp, k), ..] if k.is_keyword(Keyword::For) => {
|
[at!(), keyword!(sp, k), ..] if k.is_keyword(Keyword::For) => {
|
||||||
self.shift(2);
|
self.shift(2);
|
||||||
try!(self.for_expr(sp));
|
try!(self.for_expr(sp));
|
||||||
},
|
},
|
||||||
// Call
|
// Call
|
||||||
[pound!(), ident!(sp, name), ..] if name.name.as_str() == "call" => {
|
[at!(), ident!(sp, name), ..] if name.name.as_str() == "call" => {
|
||||||
self.shift(2);
|
self.shift(2);
|
||||||
let func = try!(self.splice(sp));
|
let func = try!(self.splice(sp));
|
||||||
self.render.emit_call(func);
|
self.render.emit_call(func);
|
||||||
|
@ -235,8 +235,8 @@ impl<'cx, 'i> Parser<'cx, 'i> {
|
||||||
}}
|
}}
|
||||||
// Parse the (optional) else
|
// Parse the (optional) else
|
||||||
let else_body = match self.input {
|
let else_body = match self.input {
|
||||||
[pound!(), keyword!(_, k), ..] if k.is_keyword(Keyword::Else) => {
|
[keyword!(_, k), ..] if k.is_keyword(Keyword::Else) => {
|
||||||
self.shift(2);
|
self.shift(1);
|
||||||
match self.input {
|
match self.input {
|
||||||
[keyword!(sp, k), ..] if k.is_keyword(Keyword::If) => {
|
[keyword!(sp, k), ..] if k.is_keyword(Keyword::If) => {
|
||||||
self.shift(1);
|
self.shift(1);
|
||||||
|
|
|
@ -205,13 +205,13 @@ mod control {
|
||||||
for (number, &name) in (1..4).zip(["one", "two", "three"].iter()) {
|
for (number, &name) in (1..4).zip(["one", "two", "three"].iter()) {
|
||||||
let mut s = String::new();
|
let mut s = String::new();
|
||||||
html!(s, {
|
html!(s, {
|
||||||
#if number == 1 {
|
@if number == 1 {
|
||||||
"one"
|
"one"
|
||||||
} #else if number == 2 {
|
} else if number == 2 {
|
||||||
"two"
|
"two"
|
||||||
} #else if number == 3 {
|
} else if number == 3 {
|
||||||
"three"
|
"three"
|
||||||
} #else {
|
} else {
|
||||||
"oh noes"
|
"oh noes"
|
||||||
}
|
}
|
||||||
}).unwrap();
|
}).unwrap();
|
||||||
|
@ -224,9 +224,9 @@ mod control {
|
||||||
for &(input, output) in [(Some("yay"), "yay"), (None, "oh noes")].iter() {
|
for &(input, output) in [(Some("yay"), "yay"), (None, "oh noes")].iter() {
|
||||||
let mut s = String::new();
|
let mut s = String::new();
|
||||||
html!(s, {
|
html!(s, {
|
||||||
#if let Some(value) = input {
|
@if let Some(value) = input {
|
||||||
^value
|
^value
|
||||||
} #else {
|
} else {
|
||||||
"oh noes"
|
"oh noes"
|
||||||
}
|
}
|
||||||
}).unwrap();
|
}).unwrap();
|
||||||
|
@ -239,7 +239,7 @@ mod control {
|
||||||
let ponies = ["Apple Bloom", "Scootaloo", "Sweetie Belle"];
|
let ponies = ["Apple Bloom", "Scootaloo", "Sweetie Belle"];
|
||||||
let mut s = String::new();
|
let mut s = String::new();
|
||||||
html!(s, {
|
html!(s, {
|
||||||
ul #for pony in &ponies {
|
ul @for pony in &ponies {
|
||||||
li ^pony
|
li ^pony
|
||||||
}
|
}
|
||||||
}).unwrap();
|
}).unwrap();
|
||||||
|
@ -288,9 +288,9 @@ fn call() {
|
||||||
panic!("oh noes")
|
panic!("oh noes")
|
||||||
};
|
};
|
||||||
html!(s, {
|
html!(s, {
|
||||||
#call ducks
|
@call ducks
|
||||||
#call (|w: &mut fmt::Write| write!(w, "Geese"))
|
@call (|w: &mut fmt::Write| write!(w, "Geese"))
|
||||||
#call swans(true)
|
@call swans(true)
|
||||||
}).unwrap();
|
}).unwrap();
|
||||||
assert_eq!(s, "DucksGeeseSwans");
|
assert_eq!(s, "DucksGeeseSwans");
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue