private Node parseMixin() { Mixin mixinToken = (Mixin)expect(typeof(Mixin)); MixinNode node = new MixinNode(); node.setName(mixinToken.getValue()); node.setLineNumber(mixinToken.getLineNumber()); node.setFileName(filename); if (StringUtils.isNotBlank(mixinToken.getArguments())) { node.setArguments(mixinToken.getArguments()); } if (peek() is Indent) { node.setBlock(block()); } return(node); }
private Node parseMixin() { Mixin mixinToken = (Mixin) expect(typeof (Mixin)); MixinNode node = new MixinNode(); node.setName(mixinToken.getValue()); node.setLineNumber(mixinToken.getLineNumber()); node.setFileName(filename); if (StringUtils.isNotBlank(mixinToken.getArguments())) { node.setArguments(mixinToken.getArguments()); } if (peek() is Indent) { node.setBlock(block()); } return node; }
public void setMixin(String name, MixinNode node) { mixins.Add(name, node); }
/* @mixin left($dist) { float: left; margin-left: $dist; } */ public MixinNode ReadMixinBody() { var name = Read(); // name or string ReadTrivia(); var parameters = new List<CssParameter>(); if (current.Kind == TokenKind.LeftParenthesis) { parameters = ReadParameterList(); } var mixin = new MixinNode(name.Text, parameters); ReadBlock(mixin); return mixin; }
private void writeVariables(JadeModel model, MixinNode mixin, JadeTemplate template) { List<String> names = mixin.getArguments(); List<String> values = arguments; if (names == null) { return; } for (int i = 0; i < names.Count; i++) { String key = names[i]; Object value = null; if (i < values.Count) { value = values[i]; } if (value != null) { try { value = ExpressionHandler.evaluateExpression(values[i], model); } catch (Exception e) { throw new JadeCompilerException(this, template.getTemplateLoader(), e); } } if (key != null) { model.put(key, value); } } }
private void writeAttributes(JadeModel model, MixinNode mixin, JadeTemplate template) { model.put("attributes", mergeInheritedAttributes(model)); }