aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTrygve Aaberge <trygveaa@gmail.com>2024-02-04 13:36:56 +0100
committerTrygve Aaberge <trygveaa@gmail.com>2024-02-18 13:01:40 +0100
commite3e901eb7375eefeba0a121ec70391a190dfe948 (patch)
tree2bdff4ca9c07d28676118827feffd398fbd81dca
parenta38b434301f109a27ce829558f8d0fa881e00b03 (diff)
downloadwee-slack-e3e901eb7375eefeba0a121ec70391a190dfe948.tar.gz
Include all workspace nicks in nick completion
-rw-r--r--slack/commands.py28
1 files changed, 23 insertions, 5 deletions
diff --git a/slack/commands.py b/slack/commands.py
index 985aa92..70eb8aa 100644
--- a/slack/commands.py
+++ b/slack/commands.py
@@ -582,19 +582,37 @@ def completion_nicks_cb(
if slack_buffer is None:
return weechat.WEECHAT_RC_OK
- buffer_nicks = [nick.raw_nick for nick in slack_buffer.members]
+ all_users = get_resolved_futures(slack_buffer.workspace.users.values())
+ all_nicks = sorted([user.nick.raw_nick for user in all_users], key=str.casefold)
+ for nick in all_nicks:
+ weechat.completion_list_add(
+ completion,
+ f"@{nick}",
+ 1,
+ weechat.WEECHAT_LIST_POS_END,
+ )
+ weechat.completion_list_add(
+ completion,
+ nick,
+ 1,
+ weechat.WEECHAT_LIST_POS_END,
+ )
+
+ buffer_nicks = sorted(
+ [nick.raw_nick for nick in slack_buffer.members], key=str.casefold, reverse=True
+ )
for nick in buffer_nicks:
weechat.completion_list_add(
completion,
nick,
1,
- weechat.WEECHAT_LIST_POS_SORT,
+ weechat.WEECHAT_LIST_POS_BEGINNING,
)
weechat.completion_list_add(
completion,
f"@{nick}",
1,
- weechat.WEECHAT_LIST_POS_SORT,
+ weechat.WEECHAT_LIST_POS_BEGINNING,
)
senders = [
@@ -624,13 +642,13 @@ def completion_nicks_cb(
my_user_nick = slack_buffer.workspace.my_user.nick.raw_nick
weechat.completion_list_add(
completion,
- my_user_nick,
+ f"@{my_user_nick}",
1,
weechat.WEECHAT_LIST_POS_END,
)
weechat.completion_list_add(
completion,
- f"@{my_user_nick}",
+ my_user_nick,
1,
weechat.WEECHAT_LIST_POS_END,
)