You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-05 12:10:55 +00:00
Highlight singletons and class_names in GDScript
Also, implement a small QoL change for auto-typed variables. Closes #5739
This commit is contained in:
@@ -224,6 +224,7 @@ void ScriptTextEditor::_load_theme_settings() {
|
||||
Color keyword_color = EDITOR_GET("text_editor/highlighting/keyword_color");
|
||||
Color basetype_color = EDITOR_GET("text_editor/highlighting/base_type_color");
|
||||
Color type_color = EDITOR_GET("text_editor/highlighting/engine_type_color");
|
||||
Color usertype_color = EDITOR_GET("text_editor/highlighting/user_type_color");
|
||||
Color comment_color = EDITOR_GET("text_editor/highlighting/comment_color");
|
||||
Color string_color = EDITOR_GET("text_editor/highlighting/string_color");
|
||||
|
||||
@@ -262,6 +263,7 @@ void ScriptTextEditor::_load_theme_settings() {
|
||||
colors_cache.keyword_color = keyword_color;
|
||||
colors_cache.basetype_color = basetype_color;
|
||||
colors_cache.type_color = type_color;
|
||||
colors_cache.usertype_color = usertype_color;
|
||||
colors_cache.comment_color = comment_color;
|
||||
colors_cache.string_color = string_color;
|
||||
|
||||
@@ -325,6 +327,29 @@ void ScriptTextEditor::_set_theme_for_script() {
|
||||
}
|
||||
_update_member_keywords();
|
||||
|
||||
//colorize user types
|
||||
List<StringName> global_classes;
|
||||
ScriptServer::get_global_class_list(&global_classes);
|
||||
|
||||
for (List<StringName>::Element *E = global_classes.front(); E; E = E->next()) {
|
||||
|
||||
text_edit->add_keyword_color(E->get(), colors_cache.usertype_color);
|
||||
}
|
||||
|
||||
//colorize singleton autoloads (as types, just as engine singletons are)
|
||||
List<PropertyInfo> props;
|
||||
ProjectSettings::get_singleton()->get_property_list(&props);
|
||||
for (List<PropertyInfo>::Element *E = props.front(); E; E = E->next()) {
|
||||
String s = E->get().name;
|
||||
if (!s.begins_with("autoload/")) {
|
||||
continue;
|
||||
}
|
||||
String path = ProjectSettings::get_singleton()->get(s);
|
||||
if (path.begins_with("*")) {
|
||||
text_edit->add_keyword_color(s.get_slice("/", 1), colors_cache.usertype_color);
|
||||
}
|
||||
}
|
||||
|
||||
//colorize comments
|
||||
List<String> comments;
|
||||
script->get_language()->get_comment_delimiters(&comments);
|
||||
|
||||
Reference in New Issue
Block a user