diff options
Diffstat (limited to 'plugins/degesch')
| -rw-r--r-- | plugins/degesch/slack.lua | 15 | 
1 files changed, 10 insertions, 5 deletions
diff --git a/plugins/degesch/slack.lua b/plugins/degesch/slack.lua index 456d3b0..87786da 100644 --- a/plugins/degesch/slack.lua +++ b/plugins/degesch/slack.lua @@ -85,12 +85,17 @@ degesch.hook_completion (function (hook, data, word)  	local needle = word:gsub ("^@", ""):lower ()  	local t = {} -	for i, chan_user in ipairs (chan.users) do -		local nick = chan_user.user.nickname -		if data.location == 0 then nick = nick .. ":" end -		if nick:sub (1, #needle):lower () == needle then -			table.insert (t, "@" .. nick) +	local try = function (name) +		if data.location == 0 then name = name .. ":" end +		if name:sub (1, #needle):lower () == needle then +			table.insert (t, "@" .. name)  		end  	end +	for _, chan_user in ipairs (chan.users) do +		try (chan_user.user.nickname) +	end +	for _, special in ipairs { "channel", "here" } do +		try (special) +	end  	return t  end)  | 
