summaryrefslogtreecommitdiff
path: root/xmake/plugins/macro/main.lua
diff options
context:
space:
mode:
authorOpportunity <[email protected]>2020-01-20 20:30:31 +0800
committerOpportunity <[email protected]>2020-01-20 22:21:47 +0800
commit3364333877dc8a579f08b54099fda653948e07ab (patch)
tree2c2d5b6dabd5937827f9ae0cbc511b8a2f16f5d4 /xmake/plugins/macro/main.lua
parent5f96933d1ad672cc5b29df88a78b32ff4cdd3ebc (diff)
improve tab complete
Diffstat (limited to 'xmake/plugins/macro/main.lua')
-rw-r--r--xmake/plugins/macro/main.lua30
1 files changed, 21 insertions, 9 deletions
diff --git a/xmake/plugins/macro/main.lua b/xmake/plugins/macro/main.lua
index 0bbbaa53b..c55b4f680 100644
--- a/xmake/plugins/macro/main.lua
+++ b/xmake/plugins/macro/main.lua
@@ -75,12 +75,10 @@ function _wfile(macroname)
return path.join(path.join(config.directory(), "macros"), macroname .. ".lua")
end
--- list macros
-function _list()
-
- -- trace
- cprint("${bright}macros:")
+-- get all macros
+function macros(anonymousname)
+ local results = {}
-- find all macros
for _, dir in ipairs(_directories()) do
local macrofiles = os.match(path.join(dir, "*.lua"))
@@ -88,14 +86,28 @@ function _list()
-- get macro name
local macroname = path.basename(macrofile)
- if macroname == "anonymous" then
- macroname = ".<anonymous>"
+
+ if macroname == "anonymous" and anonymousname then
+ macroname = anonymousname
end
- -- show it
- print(" " .. macroname)
+ table.insert(results, macroname)
end
end
+ return results
+end
+
+-- list macros
+function _list()
+
+ -- trace
+ cprint("${bright}macros:")
+
+ -- find all macros
+ for _, macroname in ipairs(macros(".<anonymous>")) do
+ -- show it
+ print(" " .. macroname)
+ end
end
-- show macro