Highlight control flow keywords with a different color

This makes them easier to distinguish from other keywords.
This commit is contained in:
Hugo Locurcio 2019-11-12 17:08:07 +01:00
parent 130ecf0c9f
commit a38b447413
No known key found for this signature in database
GPG key ID: 39E8F8BE30B0A49C
24 changed files with 119 additions and 8 deletions

View file

@ -232,6 +232,7 @@ void ScriptTextEditor::_load_theme_settings() {
Color search_result_border_color = EDITOR_GET("text_editor/highlighting/search_result_border_color");
Color symbol_color = EDITOR_GET("text_editor/highlighting/symbol_color");
Color keyword_color = EDITOR_GET("text_editor/highlighting/keyword_color");
Color control_flow_keyword_color = EDITOR_GET("text_editor/highlighting/control_flow_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");
@ -271,6 +272,7 @@ void ScriptTextEditor::_load_theme_settings() {
colors_cache.symbol_color = symbol_color;
colors_cache.keyword_color = keyword_color;
colors_cache.control_flow_keyword_color = control_flow_keyword_color;
colors_cache.basetype_color = basetype_color;
colors_cache.type_color = type_color;
colors_cache.usertype_color = usertype_color;
@ -294,7 +296,12 @@ void ScriptTextEditor::_set_theme_for_script() {
script->get_language()->get_reserved_words(&keywords);
for (List<String>::Element *E = keywords.front(); E; E = E->next()) {
text_edit->add_keyword_color(E->get(), colors_cache.keyword_color);
if (script->get_language()->is_control_flow_keyword(E->get())) {
// Use a different color for control flow keywords to make them easier to distinguish.
text_edit->add_keyword_color(E->get(), colors_cache.control_flow_keyword_color);
} else {
text_edit->add_keyword_color(E->get(), colors_cache.keyword_color);
}
}
//colorize core types