[QScintilla] Strange behaviour in Autocompletion
Phil Thompson
phil at riverbankcomputing.com
Tue Dec 21 18:35:25 GMT 2010
On Fri, 17 Dec 2010 17:23:32 +0100, Vincent Renaudineau
<vincent.renaudineau at lip6.fr> wrote:
> Hi !
>
> I have a strange behaviour when using autoCompleteFromAll with my custom
> lexer : keywords are displayed twice !
>
> Indeed, they are in my API, and in my document.
> So when I want autocomplete "impo" (for "import"), it finds "import" in
> the API and in the document.
>
> The problem come from QsciAPIs::updateAutoCompletionList()
> qsciapis.cpp, line 445-453
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> // Get the word we are interested in (ie. the one after the
> // current origin in path).
> QString w = base.mid(origin_len + wsep.length()).split(wsep).first();
>
> // Append the space, we know the origin is unambiguous.
> w.append(' ');
>
> if (!list.contains(w))
> list << w;
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> It appends a whitespace so "import " is different of "import" when it
> searches if "import" is not already in wlist in
> QsciScintilla::startAutoCompletion().
>
> I propose to remove the whitespace at a time, or had a whitespace for
> the comparison.
>
> Thanks
Should be fixed in tonight's snapshot.
Thanks,
Phil
More information about the QScintilla
mailing list