Fix bad autocomplete of partially written node paths when using syntactic sugar notation ($)

If you had a tree like Node2D->Sprite->Camera2D and you write a
code like $Node2D/Spr and chose the autocompletion sugested
Node2D/Sprite, the resulting string was $Node2D/Node2D/Sprite
instead $Node2D/Sprite. If you chose Node2D/Sprite/Camera2D, then
you ended with $Node2D/Node2D/Sprite/Camera2D.

Fix #15813.

(cherry picked from commit 95f186b621)
This commit is contained in:
robfram 2018-03-06 19:25:14 +01:00 committed by Hein-Pieter van Braam
parent 4c8c383876
commit bffd4f0548

View file

@ -5238,7 +5238,7 @@ void TextEdit::_update_completion_candidates() {
} else {
while (cofs > 0 && l[cofs - 1] > 32 && _is_completable(l[cofs - 1])) {
while (cofs > 0 && l[cofs - 1] > 32 && (l[cofs - 1] == '/' || _is_completable(l[cofs - 1]))) {
s = String::chr(l[cofs - 1]) + s;
if (l[cofs - 1] == '\'' || l[cofs - 1] == '"' || l[cofs - 1] == '$')
break;