diff options
author | 2016-03-12 12:31:13 +0100 | |
---|---|---|
committer | 2016-03-12 12:31:13 +0100 | |
commit | a026a582f1a0ea8c1ede3acaddacef506ef3f3b0 (patch) | |
tree | e31573822f2359677de519f9f3b600d98e8764cd /3rdparty/luv/lib/utils.lua | |
parent | 477d2abd43984f076b7e45f5527591fa8fd0d241 (diff) | |
parent | dcab55bf53b94713a6f72e9633f5101c8dd6c08c (diff) |
Merge pull request #15 from mamedev/master
Sync to base master
Diffstat (limited to '3rdparty/luv/lib/utils.lua')
-rw-r--r-- | 3rdparty/luv/lib/utils.lua | 165 |
1 files changed, 0 insertions, 165 deletions
diff --git a/3rdparty/luv/lib/utils.lua b/3rdparty/luv/lib/utils.lua deleted file mode 100644 index 777879ec28c..00000000000 --- a/3rdparty/luv/lib/utils.lua +++ /dev/null @@ -1,165 +0,0 @@ - -local uv = require('luv') -local utils = {} -local usecolors - -if uv.guess_handle(1) == "tty" then - utils.stdout = uv.new_tty(1, false) - usecolors = true -else - utils.stdout = uv.new_pipe(false) - uv.pipe_open(utils.stdout, 1) - usecolors = false -end - -local colors = { - black = "0;30", - red = "0;31", - green = "0;32", - yellow = "0;33", - blue = "0;34", - magenta = "0;35", - cyan = "0;36", - white = "0;37", - B = "1;", - Bblack = "1;30", - Bred = "1;31", - Bgreen = "1;32", - Byellow = "1;33", - Bblue = "1;34", - Bmagenta = "1;35", - Bcyan = "1;36", - Bwhite = "1;37" -} - -function utils.color(color_name) - if usecolors then - return "\27[" .. (colors[color_name] or "0") .. "m" - else - return "" - end -end - -function utils.colorize(color_name, string, reset_name) - return utils.color(color_name) .. tostring(string) .. utils.color(reset_name) -end - -local backslash, null, newline, carriage, tab, quote, quote2, obracket, cbracket - -function utils.loadColors(n) - if n ~= nil then usecolors = n end - backslash = utils.colorize("Bgreen", "\\\\", "green") - null = utils.colorize("Bgreen", "\\0", "green") - newline = utils.colorize("Bgreen", "\\n", "green") - carriage = utils.colorize("Bgreen", "\\r", "green") - tab = utils.colorize("Bgreen", "\\t", "green") - quote = utils.colorize("Bgreen", '"', "green") - quote2 = utils.colorize("Bgreen", '"') - obracket = utils.colorize("B", '[') - cbracket = utils.colorize("B", ']') -end - -utils.loadColors() - -function utils.dump(o, depth) - local t = type(o) - if t == 'string' then - return quote .. o:gsub("\\", backslash):gsub("%z", null):gsub("\n", newline):gsub("\r", carriage):gsub("\t", tab) .. quote2 - end - if t == 'nil' then - return utils.colorize("Bblack", "nil") - end - if t == 'boolean' then - return utils.colorize("yellow", tostring(o)) - end - if t == 'number' then - return utils.colorize("blue", tostring(o)) - end - if t == 'userdata' then - return utils.colorize("magenta", tostring(o)) - end - if t == 'thread' then - return utils.colorize("Bred", tostring(o)) - end - if t == 'function' then - return utils.colorize("cyan", tostring(o)) - end - if t == 'cdata' then - return utils.colorize("Bmagenta", tostring(o)) - end - if t == 'table' then - if type(depth) == 'nil' then - depth = 0 - end - if depth > 1 then - return utils.colorize("yellow", tostring(o)) - end - local indent = (" "):rep(depth) - - -- Check to see if this is an array - local is_array = true - local i = 1 - for k,v in pairs(o) do - if not (k == i) then - is_array = false - end - i = i + 1 - end - - local first = true - local lines = {} - i = 1 - local estimated = 0 - for k,v in (is_array and ipairs or pairs)(o) do - local s - if is_array then - s = "" - else - if type(k) == "string" and k:find("^[%a_][%a%d_]*$") then - s = k .. ' = ' - else - s = '[' .. utils.dump(k, 100) .. '] = ' - end - end - s = s .. utils.dump(v, depth + 1) - lines[i] = s - estimated = estimated + #s - i = i + 1 - end - if estimated > 200 then - return "{\n " .. indent .. table.concat(lines, ",\n " .. indent) .. "\n" .. indent .. "}" - else - return "{ " .. table.concat(lines, ", ") .. " }" - end - end - -- This doesn't happen right? - return tostring(o) -end - - - --- Print replacement that goes through libuv. This is useful on windows --- to use libuv's code to translate ansi escape codes to windows API calls. -function print(...) - local n = select('#', ...) - local arguments = {...} - for i = 1, n do - arguments[i] = tostring(arguments[i]) - end - uv.write(utils.stdout, table.concat(arguments, "\t") .. "\n") -end - --- A nice global data dumper -function utils.prettyPrint(...) - local n = select('#', ...) - local arguments = { ... } - - for i = 1, n do - arguments[i] = utils.dump(arguments[i]) - end - - print(table.concat(arguments, "\t")) -end - -return utils - |