Add support for closures
This commit is contained in:
@@ -366,6 +366,8 @@ class LessParser(object):
|
||||
""" variable_decl : variable ':' style_list ';'
|
||||
"""
|
||||
p[0] = Variable(list(p)[1:-1], p.lineno(4))
|
||||
p[0].parse(self.scope)
|
||||
self.scope.add_variable(p[0])
|
||||
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
@@ -60,6 +60,7 @@ class Deferred(Node):
|
||||
res = mixin.call(scope, args)
|
||||
if res: break
|
||||
if res:
|
||||
[scope.add_variable(v) for v in mixin.vars]
|
||||
scope.deferred = ident
|
||||
res = [p.parse(scope) for p in res if p]
|
||||
while(any(t for t in res if type(t) is Deferred)):
|
||||
|
||||
@@ -30,7 +30,9 @@ class Mixin(Node):
|
||||
self.name, args, self.guards = self.tokens[0]
|
||||
self.args = [a for a in utility.flatten(args) if a]
|
||||
self.body = Block([None, self.tokens[1]], 0)
|
||||
self.scope = scope
|
||||
self.vars = list(utility.flatten([list(v.values())
|
||||
for v in [s['__variables__']
|
||||
for s in scope]]))
|
||||
return self
|
||||
|
||||
def raw(self):
|
||||
|
||||
Reference in New Issue
Block a user