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

Method _update_cache

editor/script/script_editor_plugin.cpp:123–237  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

121////
122
123void EditorStandardSyntaxHighlighter::_update_cache() {
124 highlighter->set_text_edit(text_edit);
125 highlighter->clear_keyword_colors();
126 highlighter->clear_member_keyword_colors();
127 highlighter->clear_color_regions();
128
129 highlighter->set_symbol_color(EDITOR_GET("text_editor/theme/highlighting/symbol_color"));
130 highlighter->set_function_color(EDITOR_GET("text_editor/theme/highlighting/function_color"));
131 highlighter->set_number_color(EDITOR_GET("text_editor/theme/highlighting/number_color"));
132 highlighter->set_member_variable_color(EDITOR_GET("text_editor/theme/highlighting/member_variable_color"));
133
134 /* Engine types. */
135 const Color type_color = EDITOR_GET("text_editor/theme/highlighting/engine_type_color");
136 List<StringName> types;
137 ClassDB::get_class_list(&types);
138 for (const StringName &E : types) {
139 highlighter->add_keyword_color(E, type_color);
140 }
141
142 /* User types. */
143 const Color usertype_color = EDITOR_GET("text_editor/theme/highlighting/user_type_color");
144 List<StringName> global_classes;
145 ScriptServer::get_global_class_list(&global_classes);
146 for (const StringName &E : global_classes) {
147 highlighter->add_keyword_color(E, usertype_color);
148 }
149
150 /* Autoloads. */
151 HashMap<StringName, ProjectSettings::AutoloadInfo> autoloads = ProjectSettings::get_singleton()->get_autoload_list();
152 for (const KeyValue<StringName, ProjectSettings::AutoloadInfo> &E : autoloads) {
153 const ProjectSettings::AutoloadInfo &info = E.value;
154 if (info.is_singleton) {
155 highlighter->add_keyword_color(info.name, usertype_color);
156 }
157 }
158
159 const ScriptLanguage *scr_lang = script_language;
160 StringName instance_base;
161
162 if (scr_lang == nullptr) {
163 const Ref<Script> scr = _get_edited_resource();
164 if (scr.is_valid()) {
165 scr_lang = scr->get_language();
166 instance_base = scr->get_instance_base_type();
167 }
168 }
169
170 if (scr_lang != nullptr) {
171 /* Core types. */
172 const Color basetype_color = EDITOR_GET("text_editor/theme/highlighting/base_type_color");
173 List<String> core_types;
174 scr_lang->get_core_type_words(&core_types);
175 for (const String &E : core_types) {
176 highlighter->add_keyword_color(E, basetype_color);
177 }
178
179 /* Reserved words. */
180 const Color keyword_color = EDITOR_GET("text_editor/theme/highlighting/keyword_color");

Callers 1

_get_highlight_dataMethod · 0.45

Calls 15

get_property_listFunction · 0.85
clear_keyword_colorsMethod · 0.80
clear_color_regionsMethod · 0.80
set_symbol_colorMethod · 0.80
set_function_colorMethod · 0.80
set_number_colorMethod · 0.80
add_keyword_colorMethod · 0.80
get_core_type_wordsMethod · 0.80
contains_charMethod · 0.80

Tested by

no test coverage detected