Commit 4576338f by Aaron Leung

Mixin stuff.

parent 93d29fee
...@@ -74,7 +74,6 @@ namespace Sass { ...@@ -74,7 +74,6 @@ namespace Sass {
{ {
lex< exactly<'('> >(); lex< exactly<'('> >();
if (lex< sequence < variable, spaces_and_comments, exactly<':'> > >()) { // check for keyword arg
lex< exactly<')'> )(); lex< exactly<')'> )();
...@@ -106,25 +105,29 @@ namespace Sass { ...@@ -106,25 +105,29 @@ namespace Sass {
{ {
Node params(line_number, Node::parameters); Node params(line_number, Node::parameters);
lex< exactly<'('> >(); lex< exactly<'('> >();
if (lex< variable >()) { if (peek< variable >()) {
params << parse_parameter();
while (lex< exactly<','> >()) {
params << parse_parameter();
}
}
lex< exactly<')'> >();
return params;
}
Node Document::parse_parameter() {
lex< variable >();
Node var(line_number, Node::variable, lexed); Node var(line_number, Node::variable, lexed);
if (lex< exactly<':'> >()) { // default value if (lex< exactly<':'> >()) { // default value
Node val(parse_space_list(true)); Node val(parse_space_list(true));
Node par_val(line_number, Node::assignment, 2); Node par_and_val(line_number, Node::assignment, 2);
par_val << var << val; par_and_val << var << val;
params << par_val; return par_and_val;
} }
else { else {
params << var; return var;
}
while (lex< exactly<','> >()) {
lex< variable >();
params << Node(line_number, Node::variable, lexed);
} }
} }
lex< exactly<')'> >();
return params;
}
Node Document::parse_var_def(bool delay) Node Document::parse_var_def(bool delay)
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment