summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2016-02-13 20:08:54 +0800
committerruki <[email protected]>2016-02-15 19:10:27 +0800
commit271a251ea5ead16ac3cf20a522a8fc910b3dcc85 (patch)
tree37bf84eb84f3a552d3915e0deed4d8684b0a4e3d
parentbee6cc1eb08ce7f48b4f58b04effbdd707fc44b3 (diff)
fix template filter
-rw-r--r--xmake/core/base/interpreter.lua15
-rw-r--r--xmake/core/base/template.lua5
2 files changed, 10 insertions, 10 deletions
diff --git a/xmake/core/base/interpreter.lua b/xmake/core/base/interpreter.lua
index 30e79e907..61f2f0270 100644
--- a/xmake/core/base/interpreter.lua
+++ b/xmake/core/base/interpreter.lua
@@ -29,7 +29,6 @@ local path = require("base/path")
local table = require("base/table")
local utils = require("base/utils")
local string = require("base/string")
-local filter = require("base/filter")
local sandbox = require("base/sandbox")
-- traceback
@@ -262,8 +261,8 @@ function interpreter._filter(self, values)
assert(self and values)
-- return values directly if no filter
- local _filter = self._PRIVATE._FILTER
- if _filter == nil then
+ local filter = self._PRIVATE._FILTER
+ if filter == nil then
return values
end
@@ -272,7 +271,7 @@ function interpreter._filter(self, values)
if table.is_dictionary(values) then
-- filter keyvalues
for key, value in pairs(values) do
- results[_filter:handle(key)] = _filter:handle(value)
+ results[filter:handle(key)] = filter:handle(value)
end
else
for _, value in ipairs(utils.wrap(values)) do
@@ -281,7 +280,7 @@ function interpreter._filter(self, values)
if type(value) == "string" then
-- filter value
- value = _filter:handle(value)
+ value = filter:handle(value)
-- array?
elseif table.is_array(value) then
@@ -289,7 +288,7 @@ function interpreter._filter(self, values)
-- replace values
local values = {}
for _, v in ipairs(value) do
- table.insert(values, _filter:handle(v))
+ table.insert(values, filter:handle(v))
end
value = values
end
@@ -484,13 +483,13 @@ function interpreter.mtimes(self)
end
-- set filter
-function interpreter.filter_set(self, _filter)
+function interpreter.filter_set(self, filter)
-- check
assert(self and self._PRIVATE)
-- set filter
- self._PRIVATE._FILTER = _filter
+ self._PRIVATE._FILTER = filter
end
-- set root directory
diff --git a/xmake/core/base/template.lua b/xmake/core/base/template.lua
index ab2f400dc..19e347e20 100644
--- a/xmake/core/base/template.lua
+++ b/xmake/core/base/template.lua
@@ -30,6 +30,7 @@ local path = require("base/path")
local table = require("base/table")
local utils = require("base/utils")
local string = require("base/string")
+local filter = require("base/filter")
local interpreter = require("base/interpreter")
-- get interpreter
@@ -205,7 +206,7 @@ function template.create(language, templateid, targetname)
assert(interp)
-- set filter
- interp:filter_set(function (variable)
+ interp:filter_set(filter.init(function (variable)
-- replace targetname
if variable == "targetname" then
@@ -218,7 +219,7 @@ function template.create(language, templateid, targetname)
-- ok?
return variable
- end)
+ end))
-- load all templates for the given language
local templates = template.loadall(language)