diff options
-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) |