Fix highlight color for class attributes that are also keywords
Fixes #45338. This PR also makes any word after a "." not highlight as a keyword, i.e. the cos in Color.cos will highlight the same as any other class constant. Additionally, trying to do things like ".print()" will not highlight print as a keyword but as a class function.
This commit is contained in:
parent
c97837d0ee
commit
6742f6894e
@ -191,19 +191,21 @@ Map<int, TextEdit::HighlighterInfo> GDScriptSyntaxHighlighter::_get_line_syntax_
|
||||
col = text_editor->get_keyword_color(word);
|
||||
} else if (text_editor->has_member_color(word)) {
|
||||
col = text_editor->get_member_color(word);
|
||||
}
|
||||
|
||||
if (col != Color()) {
|
||||
for (int k = j - 1; k >= 0; k--) {
|
||||
if (str[k] == '.') {
|
||||
col = Color(); //member indexing not allowed
|
||||
col = Color(); // keyword & member indexing not allowed
|
||||
break;
|
||||
} else if (str[k] > 32) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (col != Color()) {
|
||||
in_keyword = true;
|
||||
keyword_color = col;
|
||||
if (col != Color()) {
|
||||
in_keyword = true;
|
||||
keyword_color = col;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user