trun

Script for parsing any output. Yes, it is all it does.
git clone git://gtms.dev/trun.git
Log | Files | Refs | README | LICENSE

commit 6ead87f844737d523fbedbba538e0a62f7f2f497
parent ba7f4fe8dfac4a0bdb0ae9a9f010cfa2f072ce6f
Author: tms <nemi@skaut.cz>
Date:   Fri, 11 Jun 2021 14:00:04 +0200

refactor

Diffstat:
Mtrun_status.lua | 46+++++++++++++++++++++++++++++-----------------
1 file changed, 29 insertions(+), 17 deletions(-)

diff --git a/trun_status.lua b/trun_status.lua @@ -6,6 +6,11 @@ if not io.open(status_dir) then end local name = arg[1] +local raw +if arg[1] == '-' then + raw = true + name = arg[2] +end local ds = {[0] = 'ffa500', [1] = '00ff00', [-1] = 'ff0000'} @@ -15,6 +20,23 @@ for f in list:lines() do table.insert(files, f) end +local function format(file, fname) + local result = {} + if not file then + table.insert(result, '') + else + if raw then + local status = file:read('*a') + table.insert(result, status) + else + local status = file:read('*n') + table.insert(result, '%{F#' .. ds[tonumber(status)] .. '} ' .. fname:upper() .. ' %{F-}') + file:close() + end + end + return result +end + local result = {} for _, f in pairs(files) do local fname, _ = f:match('(.*)%.(.*)') @@ -23,30 +45,20 @@ for _, f in pairs(files) do if fname == name then local status_file = status_dir .. '/' .. f local file = io.open(status_file, 'r') - - if not file then - table.insert(result, '') - else - local status = file:read('*n') - table.insert(result, '%{F#' .. ds[tonumber(status)] .. '} ' .. fname:upper() .. ' %{F-}') - file:close() - end + result = format(file, fname) end else local status_file = status_dir .. '/' .. f local file = io.open(status_file, 'r') - - if not file then - table.insert(result, '') - else - local status = file:read('*n') - table.insert(result, '%{F#' .. ds[tonumber(status)] .. '} ' .. fname:upper() .. ' %{F-}') - file:close() - end + result = format(file, fname) end end end if #result > 0 then - print('[' .. table.concat(result, ',') .. ']') + if raw then + print(table.concat(result)) + else + print('[' .. table.concat(result, ',') .. ']') + end end