Merge pull request #26224 from hilfazer/autocomplete

Working autocomplete for $" and $'
This commit is contained in:
Rémi Verschelde 2019-04-30 13:32:37 +02:00 committed by GitHub
commit 2cc8848c3c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -5849,6 +5849,7 @@ void TextEdit::_update_completion_candidates() {
bool inquote = false;
int first_quote = -1;
int restore_quotes = -1;
int c = cofs - 1;
while (c >= 0) {
@ -5856,6 +5857,11 @@ void TextEdit::_update_completion_candidates() {
inquote = !inquote;
if (first_quote == -1)
first_quote = c;
restore_quotes = 0;
} else if (restore_quotes == 0 && l[c] == '$') {
restore_quotes = 1;
} else if (restore_quotes == 0 && !_is_whitespace(l[c])) {
restore_quotes = -1;
}
c--;
}
@ -5923,6 +5929,11 @@ void TextEdit::_update_completion_candidates() {
completion_strings.write[i] = completion_strings[i].unquote().quote("'");
}
if (inquote && restore_quotes == 1 && !completion_strings[i].is_quoted()) {
String quote = single_quote ? "'" : "\"";
completion_strings.write[i] = completion_strings[i].quote(quote);
}
if (completion_strings[i].begins_with(s)) {
completion_options.push_back(completion_strings[i]);
} else if (completion_strings[i].to_lower().begins_with(s.to_lower())) {