Add coloring for completion of vector components

This commit is contained in:
Yuri Rubinsky
2023-03-12 10:33:38 +03:00
committed by Yuri Roubinski
parent f7c48cf803
commit 35802374ac
8 changed files with 34 additions and 5 deletions

View File

@@ -1207,6 +1207,9 @@ static void _find_identifiers_in_base(const GDScriptCompletionIdentifier &p_base
for (const PropertyInfo &E : members) {
if (!String(E.name).contains("/")) {
ScriptLanguage::CodeCompletionOption option(E.name, ScriptLanguage::CODE_COMPLETION_KIND_MEMBER);
if (GDScriptParser::theme_color_names.has(E.name)) {
option.theme_color_name = GDScriptParser::theme_color_names[E.name];
}
r_result.insert(option.display, option);
}
}

View File

@@ -66,6 +66,10 @@ Variant::Type GDScriptParser::get_builtin_type(const StringName &p_type) {
return Variant::VARIANT_MAX;
}
#ifdef TOOLS_ENABLED
HashMap<String, String> GDScriptParser::theme_color_names;
#endif
void GDScriptParser::cleanup() {
builtin_types.clear();
}
@@ -121,6 +125,15 @@ GDScriptParser::GDScriptParser() {
#ifdef DEBUG_ENABLED
is_ignoring_warnings = !(bool)GLOBAL_GET("debug/gdscript/warnings/enable");
#endif
#ifdef TOOLS_ENABLED
if (theme_color_names.is_empty()) {
theme_color_names.insert("x", "axis_x_color");
theme_color_names.insert("y", "axis_y_color");
theme_color_names.insert("z", "axis_z_color");
theme_color_names.insert("w", "axis_w_color");
}
#endif
}
GDScriptParser::~GDScriptParser() {

View File

@@ -1540,6 +1540,10 @@ public:
int get_last_line_number() const { return current.end_line; }
#endif
#ifdef TOOLS_ENABLED
static HashMap<String, String> theme_color_names;
#endif // TOOLS_ENABLED
GDScriptParser();
~GDScriptParser();