diff options
author | Trygve Aaberge <trygveaa@gmail.com> | 2023-01-20 01:14:37 +0100 |
---|---|---|
committer | Trygve Aaberge <trygveaa@gmail.com> | 2024-02-18 11:32:53 +0100 |
commit | c1c8035fe22f3e98e18dbaa95178e84d600a1218 (patch) | |
tree | de1b16656aee42bcb94ed17205440e11610c8e35 /slack/commands.py | |
parent | 694917083a7eacab68f4257e6bf63c711863b9fc (diff) | |
download | wee-slack-c1c8035fe22f3e98e18dbaa95178e84d600a1218.tar.gz |
Fix bugs when changing input while completing
Diffstat (limited to 'slack/commands.py')
-rw-r--r-- | slack/commands.py | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/slack/commands.py b/slack/commands.py index 6e84536..6f06146 100644 --- a/slack/commands.py +++ b/slack/commands.py @@ -304,7 +304,7 @@ def completion_irc_channels_cb( def complete_input(conversation: SlackConversation, query: str): - if conversation.completion_context: + if conversation.completion_context == "ACTIVE_COMPLETION": input_value = weechat.buffer_get_string(conversation.buffer_pointer, "input") input_pos = weechat.buffer_get_integer(conversation.buffer_pointer, "input_pos") result = conversation.completion_values[conversation.completion_index] @@ -319,15 +319,18 @@ def complete_input(conversation: SlackConversation, query: str): async def complete_user_next(conversation: SlackConversation, query: str): - if not conversation.completion_context: - conversation.completion_context = 1 + if conversation.completion_context == "NO_COMPLETION": + conversation.completion_context = "PENDING_COMPLETION" search = await conversation.workspace.api.fetch_users_search(query) + if conversation.completion_context != "PENDING_COMPLETION": + return + conversation.completion_context = "ACTIVE_COMPLETION" conversation.completion_values = [ name_from_user_info_without_spaces(conversation.workspace, user) for user in search["results"] ] conversation.completion_index = 0 - else: + elif conversation.completion_context == "ACTIVE_COMPLETION": conversation.completion_index += 1 if conversation.completion_index >= len(conversation.completion_values): conversation.completion_index = 0 @@ -336,7 +339,7 @@ async def complete_user_next(conversation: SlackConversation, query: str): def complete_previous(conversation: SlackConversation, query: str): - if conversation.completion_context: + if conversation.completion_context == "ACTIVE_COMPLETION": conversation.completion_index -= 1 if conversation.completion_index < 0: conversation.completion_index = len(conversation.completion_values) - 1 |