MCPcopy Create free account
hub / github.com/Redot-Engine/redot-engine / _update_cache

Method _update_cache

modules/gdscript/editor/gdscript_highlighter.cpp:710–936  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

708}
709
710void GDScriptSyntaxHighlighter::_update_cache() {
711 class_names.clear();
712 reserved_keywords.clear();
713 member_keywords.clear();
714 global_functions.clear();
715 color_regions.clear();
716 color_region_cache.clear();
717
718 font_color = text_edit->get_theme_color(SceneStringName(font_color));
719 symbol_color = EDITOR_GET("text_editor/theme/highlighting/symbol_color");
720 function_color = EDITOR_GET("text_editor/theme/highlighting/function_color");
721 number_color = EDITOR_GET("text_editor/theme/highlighting/number_color");
722 member_variable_color = EDITOR_GET("text_editor/theme/highlighting/member_variable_color");
723
724 /* Engine types. */
725 const Color types_color = EDITOR_GET("text_editor/theme/highlighting/engine_type_color");
726 List<StringName> types;
727 ClassDB::get_class_list(&types);
728 for (const StringName &E : types) {
729 if (ClassDB::is_class_exposed(E)) {
730 class_names[E] = types_color;
731 }
732 }
733
734 /* Global enums. */
735 List<StringName> global_enums;
736 CoreConstants::get_global_enums(&global_enums);
737 for (const StringName &enum_name : global_enums) {
738 class_names[enum_name] = types_color;
739 }
740
741 /* User types. */
742 const Color usertype_color = EDITOR_GET("text_editor/theme/highlighting/user_type_color");
743 List<StringName> global_classes;
744 ScriptServer::get_global_class_list(&global_classes);
745 for (const StringName &E : global_classes) {
746 class_names[E] = usertype_color;
747 }
748
749 /* Autoloads. */
750 for (const KeyValue<StringName, ProjectSettings::AutoloadInfo> &E : ProjectSettings::get_singleton()->get_autoload_list()) {
751 const ProjectSettings::AutoloadInfo &info = E.value;
752 if (info.is_singleton) {
753 class_names[info.name] = usertype_color;
754 }
755 }
756
757 const GDScriptLanguage *gdscript = GDScriptLanguage::get_singleton();
758
759 /* Core types. */
760 const Color basetype_color = EDITOR_GET("text_editor/theme/highlighting/base_type_color");
761 List<String> core_types;
762 gdscript->get_core_type_words(&core_types);
763 for (const String &E : core_types) {
764 class_names[StringName(E)] = basetype_color;
765 }
766 class_names[SNAME("Variant")] = basetype_color;
767 class_names[SNAME("void")] = basetype_color;

Callers

nothing calls this directly

Calls 15

get_property_listFunction · 0.85
get_method_listFunction · 0.85
get_core_type_wordsMethod · 0.80
get_slicecMethod · 0.80
get_slice_countMethod · 0.80
contains_charMethod · 0.80
splitMethod · 0.80
sizeMethod · 0.65
StringNameClass · 0.50
StringClass · 0.50
ColorClass · 0.50
clearMethod · 0.45

Tested by

no test coverage detected