Add line_callback and edit async helpers

This commit is contained in:
cool-cool-sweat 2018-01-22 12:55:37 -05:00
parent d99ce8fdba
commit 35856d49a2
1 changed files with 12 additions and 3 deletions

View File

@ -5,7 +5,7 @@
--]] --]]
local spawn = require("awful.spawn") local spawn = require("awful.spawn")
local timer = require("gears.timer") local timer = require("gears.timer")
local debug = require("debug") local debug = require("debug")
local io = { lines = io.lines, local io = { lines = io.lines,
@ -112,7 +112,7 @@ end
function helpers.async(cmd, callback) function helpers.async(cmd, callback)
return spawn.easy_async(cmd, return spawn.easy_async(cmd,
function (stdout, stderr, reason, exit_code) function (stdout, stderr, reason, exit_code)
callback(stdout) callback(stdout, exit_code)
end) end)
end end
@ -120,10 +120,19 @@ end
function helpers.async_with_shell(cmd, callback) function helpers.async_with_shell(cmd, callback)
return spawn.easy_async_with_shell(cmd, return spawn.easy_async_with_shell(cmd,
function (stdout, stderr, reason, exit_code) function (stdout, stderr, reason, exit_code)
callback(stdout) callback(stdout, exit_code)
end) end)
end end
-- run a command and execute a function on its output line by line
function helpers.line_callback(cmd, callback)
return spawn.with_line_callback(cmd, {
stdout = function (line)
callback(line)
end,
})
end
-- }}} -- }}}
-- {{{ A map utility -- {{{ A map utility