[geany/geany] 9fad7a: Hide autocompletion when the only entry has been typed
Nick Treleaven
git-noreply at xxxxx
Thu Apr 12 16:51:16 UTC 2012
Branch: refs/heads/master
Author: Nick Treleaven <nick.treleaven at btinternet.com>
Committer: Nick Treleaven <nick.treleaven at btinternet.com>
Date: Thu, 12 Apr 2012 16:51:16
Commit: 9fad7aaa55bbe4eeef6e4fd89ea6767c0325d846
https://github.com/geany/geany/commit/9fad7aaa55bbe4eeef6e4fd89ea6767c0325d846
Log Message:
-----------
Hide autocompletion when the only entry has been typed
Fixes #3516212.
Modified Paths:
--------------
src/editor.c
Modified: src/editor.c
17 files changed, 12 insertions(+), 5 deletions(-)
===================================================================
@@ -594,11 +594,18 @@ static void check_line_breaking(GeanyEditor *editor, gint pos, gchar c)
}
-static void show_autocomplete(ScintillaObject *sci, gsize rootlen, const gchar *words)
+static void show_autocomplete(ScintillaObject *sci, gsize rootlen, GString *words)
{
+ /* hide autocompletion if only option is already typed */
+ if (rootlen >= words->len ||
+ (words->str[rootlen] == '?' && rootlen >= words->len - 2))
+ {
+ sci_send_command(sci, SCI_AUTOCCANCEL);
+ return;
+ }
/* store whether a calltip is showing, so we can reshow it after autocompletion */
calltip.set = (gboolean) SSM(sci, SCI_CALLTIPACTIVE, 0, 0);
- SSM(sci, SCI_AUTOCSHOW, rootlen, (sptr_t) words);
+ SSM(sci, SCI_AUTOCSHOW, rootlen, (sptr_t) words->str);
}
@@ -633,7 +640,7 @@ static void show_tags_list(GeanyEditor *editor, const GPtrArray *tags, gsize roo
else
g_string_append(words, "?1");
}
- show_autocomplete(sci, rootlen, words->str);
+ show_autocomplete(sci, rootlen, words);
g_string_free(words, TRUE);
}
}
@@ -1994,7 +2001,7 @@ gboolean editor_show_calltip(GeanyEditor *editor, gint pos)
}
}
if (found)
- show_autocomplete(sci, rootlen, words->str);
+ show_autocomplete(sci, rootlen, words);
g_string_free(words, TRUE);
return found;
@@ -2128,7 +2135,7 @@ static gboolean autocomplete_doc_word(GeanyEditor *editor, gchar *root, gsize ro
g_slist_free(words);
- show_autocomplete(sci, rootlen, str->str);
+ show_autocomplete(sci, rootlen, str);
g_string_free(str, TRUE);
return TRUE;
}
@@ Diff output truncated at 100000 characters. @@
--------------
This E-Mail was brought to you by github_commit_mail.py (Source: TBD).
More information about the Commits
mailing list