Non-silent version of Lua's run_command

develop
lethosor 2014-06-27 21:58:36 -04:00
parent 17ed08cfe5
commit 830b39e13b
1 changed files with 18 additions and 3 deletions

@ -387,7 +387,7 @@ function dfhack.run_script(name,...)
return f(...) return f(...)
end end
function dfhack.run_command(...) local function _run_command(...)
args = {...} args = {...}
if type(args[1]) == 'table' then if type(args[1]) == 'table' then
command = args[1] command = args[1]
@ -402,8 +402,12 @@ function dfhack.run_command(...)
else else
error('Invalid arguments') error('Invalid arguments')
end end
result = internal.runCommand(command) return internal.runCommand(command)
output = "" end
function dfhack.run_command_silent(...)
local result = _run_command(...)
local output = ""
for i, f in pairs(result) do for i, f in pairs(result) do
if type(f) == 'table' then if type(f) == 'table' then
output = output .. f[2] output = output .. f[2]
@ -412,6 +416,17 @@ function dfhack.run_command(...)
return output, result.status return output, result.status
end end
function dfhack.run_command(...)
local output, status = _run_command(...)
for i, fragment in pairs(output) do
if type(fragment) == 'table' then
dfhack.color(fragment[1])
dfhack.print(fragment[2])
end
end
dfhack.color(COLOR_RESET)
end
-- Per-save init file -- Per-save init file
function dfhack.getSavePath() function dfhack.getSavePath()