trun-status.lua (825B)
1 #!/usr/bin/env lua 2 3 -- print content of status_file for trun 4 -- 5 -- Usage: trun-status.lua <name> 6 -- 7 local status_dir_def = os.getenv('XDG_CACHE_HOME') .. '/trun' 8 local status_dir = os.getenv('TRUN_STATUS_DIR') or status_dir_def 9 10 -- silent fail if dir not exists 11 if not io.open(status_dir) then 12 return '' 13 end 14 15 local trun_name = arg[1] 16 17 -- get all status files 18 local status_files = {} 19 local list = io.popen('ls ' .. status_dir) 20 for f in list:lines() do 21 table.insert(status_files, f) 22 end 23 24 for _, status_file_name in ipairs(status_files) do 25 local name, _ = status_file_name:match('(.*)%.(.*)') 26 if trun_name == name then 27 local status_file_path = status_dir .. '/' .. status_file_name 28 local status_file = io.open(status_file_path, 'r') 29 local status = status_file:read('*a') 30 io.write(status, '\n') 31 end 32 end