summaryrefslogtreecommitdiffhomepage
path: root/src/ffluci/util.lua
diff options
context:
space:
mode:
Diffstat (limited to 'src/ffluci/util.lua')
-rw-r--r--src/ffluci/util.lua16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/ffluci/util.lua b/src/ffluci/util.lua
index 6e0d8675a3..4f0551e694 100644
--- a/src/ffluci/util.lua
+++ b/src/ffluci/util.lua
@@ -92,6 +92,7 @@ function exec(command)
return data
end
+
-- Runs "command" and returns its output as a array of lines
function execl(command)
local pp = io.popen(command)
@@ -108,6 +109,7 @@ function execl(command)
return data
end
+
-- Populate obj in the scope of f as key
function extfenv(f, key, obj)
local scope = getfenv(f)
@@ -116,6 +118,19 @@ function extfenv(f, key, obj)
end
+-- Checks whether an object is an instanceof class
+function instanceof(object, class)
+ local meta = getmetatable(object)
+ while meta and meta.__index do
+ if meta.__index == class then
+ return true
+ end
+ meta = getmetatable(meta.__index)
+ end
+ return false
+end
+
+
-- Updates the scope of f with "extscope"
function updfenv(f, extscope)
local scope = getfenv(f)
@@ -125,6 +140,7 @@ function updfenv(f, extscope)
setfenv(f, scope)
end
+
-- Returns the filename of the calling script
function __file__()
return debug.getinfo(2, 'S').source:sub(2)