1
0
mirror of https://github.com/weechat/weechat.git synced 2026-07-09 11:13:12 +02:00

Fixed "%C" completion: now completes with all channels of all servers

This commit is contained in:
Sebastien Helleu
2007-05-22 14:46:59 +00:00
parent 5332d2ba27
commit e339e9020d
10 changed files with 36 additions and 22 deletions
+13 -8
View File
@@ -340,21 +340,26 @@ completion_list_add_channel (t_completion *completion)
}
/*
* completion_list_add_server_channels: add server channels to completion list
* completion_list_add_channels: add server channels to completion list
*/
void
completion_list_add_server_channels (t_completion *completion)
completion_list_add_channels (t_completion *completion)
{
t_irc_server *ptr_server;
t_irc_channel *ptr_channel;
if (completion->server)
{
for (ptr_channel = ((t_irc_server *)(completion->server))->channels;
ptr_channel; ptr_channel = ptr_channel->next_channel)
for (ptr_server = irc_servers; ptr_server;
ptr_server = ptr_server->next_server)
{
completion_list_add (completion, ptr_channel->name,
0, WEELIST_POS_SORT);
for (ptr_channel = ptr_server->channels;
ptr_channel; ptr_channel = ptr_channel->next_channel)
{
completion_list_add (completion, ptr_channel->name,
0, WEELIST_POS_SORT);
}
}
}
}
@@ -969,7 +974,7 @@ completion_build_list_template (t_completion *completion, char *template)
completion_list_add_channel (completion);
break;
case 'C': /* all channels */
completion_list_add_server_channels (completion);
completion_list_add_channels (completion);
break;
case 'f': /* filename */
completion_list_add_filename (completion);
@@ -1521,7 +1526,7 @@ completion_auto (t_completion *completion)
if (irc_channel_is_channel (completion->base_word))
{
if (!completion->completion_list)
completion_list_add_server_channels (completion);
completion_list_add_channels (completion);
completion_command_arg (completion, 0);
return;
}