summaryrefslogtreecommitdiff
path: root/lib/lace/builtin.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lib/lace/builtin.lua')
-rw-r--r--lib/lace/builtin.lua9
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/lace/builtin.lua b/lib/lace/builtin.lua
index e99105b..289f688 100644
--- a/lib/lace/builtin.lua
+++ b/lib/lace/builtin.lua
@@ -16,6 +16,7 @@ end
--[ Allow and Deny ]------------------------------------------------
local unconditional_result = nil
+local last_result = nil
local function get_set_last_unconditional_result(newv)
local ret = unconditional_result
@@ -23,6 +24,12 @@ local function get_set_last_unconditional_result(newv)
return ret
end
+local function get_set_last_result(newv)
+ local ret = last_result
+ last_result = newv
+ return ret
+end
+
local function _do_return(exec_context, result, reason, cond)
if #cond > 0 then
-- Run the conditions
@@ -42,6 +49,7 @@ local function _return(compcontext, result, reason, ...)
if #cond == 0 then
unconditional_result = result
end
+ last_result = result
return {
fn = _do_return,
@@ -84,4 +92,5 @@ end
return {
commands = builtin,
get_set_last_unconditional_result = get_set_last_unconditional_result,
+ get_set_last_result = get_set_last_result,
}