awful.completion: callback functions return table of matches
Signed-off-by: koniu <gkusnierz@gmail.com> Signed-off-by: Uli Schlachter <psychon@znc.in>
This commit is contained in:
parent
4429bea62f
commit
dc6a2c6b0d
|
@ -56,7 +56,7 @@ end
|
||||||
-- @param cur_pos The cursor position.
|
-- @param cur_pos The cursor position.
|
||||||
-- @param ncomp The element number to complete.
|
-- @param ncomp The element number to complete.
|
||||||
-- @param shell The shell to use for completion (bash (default) or zsh).
|
-- @param shell The shell to use for completion (bash (default) or zsh).
|
||||||
-- @return The new command and the new cursor position.
|
-- @return The new command, the new cursor position, the table of all matches.
|
||||||
function shell(command, cur_pos, ncomp, shell)
|
function shell(command, cur_pos, ncomp, shell)
|
||||||
local wstart = 1
|
local wstart = 1
|
||||||
local wend = 1
|
local wend = 1
|
||||||
|
@ -146,7 +146,7 @@ function shell(command, cur_pos, ncomp, shell)
|
||||||
local str = command:sub(1, cword_start - 1) .. output[ncomp] .. command:sub(cword_end)
|
local str = command:sub(1, cword_start - 1) .. output[ncomp] .. command:sub(cword_end)
|
||||||
cur_pos = cword_end + #output[ncomp] + 1
|
cur_pos = cword_end + #output[ncomp] + 1
|
||||||
|
|
||||||
return str, cur_pos
|
return str, cur_pos, output
|
||||||
end
|
end
|
||||||
|
|
||||||
--- Run a generic completion.
|
--- Run a generic completion.
|
||||||
|
@ -156,7 +156,7 @@ end
|
||||||
-- @param cur_pos The current cursor position.
|
-- @param cur_pos The current cursor position.
|
||||||
-- @param ncomp The number of yet requested completion using current text.
|
-- @param ncomp The number of yet requested completion using current text.
|
||||||
-- @param keywords The keywords table uised for completion.
|
-- @param keywords The keywords table uised for completion.
|
||||||
-- @return The new match and the new cursor position.
|
-- @return The new match, the new cursor position, the table of all matches.
|
||||||
function generic(text, cur_pos, ncomp, keywords)
|
function generic(text, cur_pos, ncomp, keywords)
|
||||||
-- The keywords table may be empty
|
-- The keywords table may be empty
|
||||||
if #keywords == 0 then
|
if #keywords == 0 then
|
||||||
|
@ -180,12 +180,12 @@ function generic(text, cur_pos, ncomp, keywords)
|
||||||
|
|
||||||
-- if there are no matches just leave out with the current text and position
|
-- if there are no matches just leave out with the current text and position
|
||||||
if #matches == 0 then
|
if #matches == 0 then
|
||||||
return text, #text + 1
|
return text, #text + 1, matches
|
||||||
end
|
end
|
||||||
|
|
||||||
-- cycle around all matches
|
-- cycle around all matches
|
||||||
ncomp = math.mod(ncomp - 1, #matches) + 1
|
ncomp = math.mod(ncomp - 1, #matches) + 1
|
||||||
return matches[ncomp], #matches[ncomp] + 1
|
return matches[ncomp], #matches[ncomp] + 1, matches
|
||||||
end
|
end
|
||||||
|
|
||||||
-- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=80
|
-- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=80
|
||||||
|
|
Loading…
Reference in New Issue