From 14d7e02285857226e26288c1ac83a14eb4fbd478 Mon Sep 17 00:00:00 2001 From: Li Jin <dragon-fly@qq.com> Date: Mon, 23 Mar 2020 10:45:24 +0800 Subject: add support for macro system expanding to Lua codes directly. --- spec/inputs/macro.moon | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'spec') diff --git a/spec/inputs/macro.moon b/spec/inputs/macro.moon index 9083449..47e5a26 100644 --- a/spec/inputs/macro.moon +++ b/spec/inputs/macro.moon @@ -102,5 +102,38 @@ do a += $get_inner_hygienic! print a +macro lua lua = (codes)-> "#{codes}" + +x = 0 + +$lua [[ +local function f(a) + return a + 1 +end +x = x + f(3) +]] + +print x + +macro lua def = (fname, ...)-> + args = {...} + last = table.remove args + $showMacro "def", "local function #{fname}(#{table.concat args, ', '}) + #{last} +end" + +sel = (a, b, c)-> if a then b else c + +$def sel, a, b, c, [[ + if a then + return b + else + return c + end +]] + +$def dummy,[[ +]] + nil -- cgit v1.2.3-55-g6feb