[3.2] Shows ColorRect in Color constants autocompletion

This commit is contained in:
Yuri Roubinsky 2020-10-28 09:35:21 +03:00
parent 318ae4d047
commit 374253242d
3 changed files with 28 additions and 1 deletions

View file

@ -1881,6 +1881,12 @@ static void _find_identifiers_in_class(const GDScriptCompletionContext &p_contex
if (!p_only_functions) {
for (Map<StringName, GDScriptParser::ClassNode::Constant>::Element *E = p_context._class->constant_expressions.front(); E; E = E->next()) {
ScriptCodeCompletionOption option(E->key(), ScriptCodeCompletionOption::KIND_CONSTANT);
if (E->get().expression && E->get().expression->type == GDScriptParser::Node::TYPE_CONSTANT) {
GDScriptParser::ConstantNode *cnode = (GDScriptParser::ConstantNode *)E->get().expression;
if (cnode) {
option.default_value = cnode->value;
}
}
r_result.insert(option.display, option);
}
for (int i = 0; i < p_context._class->subclasses.size(); i++) {
@ -2572,6 +2578,11 @@ Error GDScriptLanguage::complete_code(const String &p_code, const String &p_path
Variant::get_constants_for_type(parser.get_completion_built_in_constant(), &constants);
for (List<StringName>::Element *E = constants.front(); E; E = E->next()) {
ScriptCodeCompletionOption option(E->get().operator String(), ScriptCodeCompletionOption::KIND_CONSTANT);
bool valid = false;
Variant default_value = Variant::get_constant_value(parser.get_completion_built_in_constant(), E->get(), &valid);
if (valid) {
option.default_value = default_value;
}
options.insert(option.display, option);
}
} break;