awful: add done_callback
Always called when the prompt ends, regardless of whether it was cancelled, to prompt.run. Signed-off-by: Julien Danjou <julien@danjou.info>
This commit is contained in:
parent
651479f254
commit
f99dd800ec
|
@ -935,7 +935,8 @@ end
|
||||||
-- @param completion_callback The callback function to call to get completion.
|
-- @param completion_callback The callback function to call to get completion.
|
||||||
-- @param history_path Optional parameter: file path where the history should be saved, set nil to disable history
|
-- @param history_path Optional parameter: file path where the history should be saved, set nil to disable history
|
||||||
-- @param history_max Optional parameter: set the maximum entries in history file, 50 by default
|
-- @param history_max Optional parameter: set the maximum entries in history file, 50 by default
|
||||||
function prompt.run(args, textbox, exe_callback, completion_callback, history_path, history_max)
|
-- @param done_callback Optional parameter: the callback function to always call without arguments, regardless of whether the prompt was cancelled.
|
||||||
|
function prompt.run(args, textbox, exe_callback, completion_callback, history_path, history_max, done_callback)
|
||||||
if not args then args = {} end
|
if not args then args = {} end
|
||||||
local command = ""
|
local command = ""
|
||||||
local command_before_comp
|
local command_before_comp
|
||||||
|
@ -967,10 +968,12 @@ function prompt.run(args, textbox, exe_callback, completion_callback, history_pa
|
||||||
if has_ctrl then
|
if has_ctrl then
|
||||||
if key == "c" or key == "g" then
|
if key == "c" or key == "g" then
|
||||||
textbox.text = ""
|
textbox.text = ""
|
||||||
|
if done_callback then done_callback() end
|
||||||
return false
|
return false
|
||||||
elseif key == "j" or key == "m" then
|
elseif key == "j" or key == "m" then
|
||||||
textbox.text = ""
|
textbox.text = ""
|
||||||
exec_callback(command)
|
exec_callback(command)
|
||||||
|
if done_callback then done_callback() end
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
|
@ -978,9 +981,11 @@ function prompt.run(args, textbox, exe_callback, completion_callback, history_pa
|
||||||
textbox.text = ""
|
textbox.text = ""
|
||||||
prompt_history_add(history_path, command)
|
prompt_history_add(history_path, command)
|
||||||
exe_callback(command)
|
exe_callback(command)
|
||||||
|
if done_callback then done_callback() end
|
||||||
return false
|
return false
|
||||||
elseif key == "Escape" then
|
elseif key == "Escape" then
|
||||||
textbox.text = ""
|
textbox.text = ""
|
||||||
|
if done_callback then done_callback() end
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue