summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSebastien Helleu <flashcode@flashtux.org>2007-09-19 18:15:41 +0200
committerSebastien Helleu <flashcode@flashtux.org>2007-09-19 18:15:41 +0200
commitf24034ba30791bf0bfc28e1c4f5145eb3394541e (patch)
treef2dd2c49d65d09dc960a31fd0646589e6411be82 /src
parentbeb0c9b6457873238ae8768fbf98f1802c5b175a (diff)
downloadweechat-f24034ba30791bf0bfc28e1c4f5145eb3394541e.zip
Fixed nick completion bug (missing space after nick)
Diffstat (limited to 'src')
-rw-r--r--src/gui/gui-common.c50
1 files changed, 23 insertions, 27 deletions
diff --git a/src/gui/gui-common.c b/src/gui/gui-common.c
index 6acdff69e..a988726f7 100644
--- a/src/gui/gui-common.c
+++ b/src/gui/gui-common.c
@@ -608,38 +608,34 @@ gui_input_complete (t_gui_window *window)
window->buffer->completion.position =
utf8_real_pos (window->buffer->input_buffer,
window->buffer->input_buffer_pos);
-
- /* add space or completor to the end of completion, if needed */
- if ((window->buffer->completion.context == COMPLETION_COMMAND)
- || (window->buffer->completion.context == COMPLETION_COMMAND_ARG))
+
+ /* add nick completor if position 0 and completing nick */
+ if ((window->buffer->completion.base_word_pos == 0)
+ && (window->buffer->completion.context == COMPLETION_NICK))
{
- if (window->buffer->completion.add_space)
- {
- if (window->buffer->input_buffer[utf8_real_pos (window->buffer->input_buffer,
- window->buffer->input_buffer_pos)] != ' ')
- gui_insert_string_input (window, " ",
- window->buffer->input_buffer_pos);
- else
- window->buffer->input_buffer_pos++;
- if (window->buffer->completion.position >= 0)
- window->buffer->completion.position++;
- }
+ if (strncmp (utf8_add_offset (window->buffer->input_buffer,
+ window->buffer->input_buffer_pos),
+ cfg_look_nick_completor, strlen (cfg_look_nick_completor)) != 0)
+ gui_insert_string_input (window, cfg_look_nick_completor,
+ window->buffer->input_buffer_pos);
+ else
+ window->buffer->input_buffer_pos += utf8_strlen (cfg_look_nick_completor);
+ if (window->buffer->completion.position >= 0)
+ window->buffer->completion.position += strlen (cfg_look_nick_completor);
+ if (window->buffer->input_buffer[utf8_real_pos (window->buffer->input_buffer,
+ window->buffer->input_buffer_pos)] != ' ')
+ gui_insert_string_input (window, " ",
+ window->buffer->input_buffer_pos);
+ else
+ window->buffer->input_buffer_pos++;
+ if (window->buffer->completion.position >= 0)
+ window->buffer->completion.position++;
}
else
{
- /* add nick completor if position 0 and completing nick */
- if ((window->buffer->completion.base_word_pos == 0)
- && (window->buffer->completion.context == COMPLETION_NICK))
+ /* add space or completor to the end of completion, if needed */
+ if (window->buffer->completion.add_space)
{
- if (strncmp (utf8_add_offset (window->buffer->input_buffer,
- window->buffer->input_buffer_pos),
- cfg_look_nick_completor, strlen (cfg_look_nick_completor)) != 0)
- gui_insert_string_input (window, cfg_look_nick_completor,
- window->buffer->input_buffer_pos);
- else
- window->buffer->input_buffer_pos += utf8_strlen (cfg_look_nick_completor);
- if (window->buffer->completion.position >= 0)
- window->buffer->completion.position += strlen (cfg_look_nick_completor);
if (window->buffer->input_buffer[utf8_real_pos (window->buffer->input_buffer,
window->buffer->input_buffer_pos)] != ' ')
gui_insert_string_input (window, " ",