summaryrefslogtreecommitdiff
path: root/editor/plugins/visual_shader_editor_plugin.cpp
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2020-07-14 09:49:02 +0200
committerGitHub <noreply@github.com>2020-07-14 09:49:02 +0200
commitca5958d1806d96e2d54e8b3336a96f0a02381a86 (patch)
treec738df29c03b2f056d7d15aea9fe7b5a4ad46cd4 /editor/plugins/visual_shader_editor_plugin.cpp
parent28e8347d6cb1e5e8945ba62b9678849046038bb6 (diff)
parentbc4cee44582d2a90d0792d6b213f00be1043000b (diff)
Merge pull request #38440 from Paulb23/syntax_highlighter_refactor
Syntax highlighter refactor
Diffstat (limited to 'editor/plugins/visual_shader_editor_plugin.cpp')
-rw-r--r--editor/plugins/visual_shader_editor_plugin.cpp23
1 files changed, 13 insertions, 10 deletions
diff --git a/editor/plugins/visual_shader_editor_plugin.cpp b/editor/plugins/visual_shader_editor_plugin.cpp
index c19140ae7c..ea6c5edcef 100644
--- a/editor/plugins/visual_shader_editor_plugin.cpp
+++ b/editor/plugins/visual_shader_editor_plugin.cpp
@@ -824,6 +824,8 @@ void VisualShaderEditor::_update_graph() {
if (is_expression) {
TextEdit *expression_box = memnew(TextEdit);
+ Ref<CodeHighlighter> expression_syntax_highlighter;
+ expression_syntax_highlighter.instance();
expression_node->set_control(expression_box, 0);
node->add_child(expression_box);
@@ -833,18 +835,18 @@ void VisualShaderEditor::_update_graph() {
Color comment_color = EDITOR_GET("text_editor/highlighting/comment_color");
Color symbol_color = EDITOR_GET("text_editor/highlighting/symbol_color");
- expression_box->set_syntax_coloring(true);
+ expression_box->set_syntax_highlighter(expression_syntax_highlighter);
expression_box->add_theme_color_override("background_color", background_color);
for (List<String>::Element *E = keyword_list.front(); E; E = E->next()) {
- expression_box->add_keyword_color(E->get(), keyword_color);
+ expression_syntax_highlighter->add_keyword_color(E->get(), keyword_color);
}
expression_box->add_theme_font_override("font", get_theme_font("expression", "EditorFonts"));
expression_box->add_theme_color_override("font_color", text_color);
- expression_box->add_theme_color_override("symbol_color", symbol_color);
- expression_box->add_color_region("/*", "*/", comment_color, false);
- expression_box->add_color_region("//", "", comment_color, false);
+ expression_syntax_highlighter->set_symbol_color(symbol_color);
+ expression_syntax_highlighter->add_color_region("/*", "*/", comment_color, false);
+ expression_syntax_highlighter->add_color_region("//", "", comment_color, false);
expression_box->set_text(expression);
expression_box->set_context_menu_enabled(false);
@@ -1703,14 +1705,14 @@ void VisualShaderEditor::_notification(int p_what) {
preview_text->add_theme_color_override("background_color", background_color);
for (List<String>::Element *E = keyword_list.front(); E; E = E->next()) {
- preview_text->add_keyword_color(E->get(), keyword_color);
+ syntax_highlighter->add_keyword_color(E->get(), keyword_color);
}
preview_text->add_theme_font_override("font", get_theme_font("expression", "EditorFonts"));
preview_text->add_theme_color_override("font_color", text_color);
- preview_text->add_theme_color_override("symbol_color", symbol_color);
- preview_text->add_color_region("/*", "*/", comment_color, false);
- preview_text->add_color_region("//", "", comment_color, false);
+ syntax_highlighter->set_symbol_color(symbol_color);
+ syntax_highlighter->add_color_region("/*", "*/", comment_color, false);
+ syntax_highlighter->add_color_region("//", "", comment_color, false);
error_text->add_theme_font_override("font", get_theme_font("status_source", "EditorFonts"));
error_text->add_theme_color_override("font_color", get_theme_color("error_color", "Editor"));
@@ -2369,11 +2371,12 @@ VisualShaderEditor::VisualShaderEditor() {
preview_vbox->set_visible(preview_showed);
main_box->add_child(preview_vbox);
preview_text = memnew(TextEdit);
+ syntax_highlighter.instance();
preview_vbox->add_child(preview_text);
preview_text->set_h_size_flags(SIZE_EXPAND_FILL);
preview_text->set_v_size_flags(SIZE_EXPAND_FILL);
preview_text->set_custom_minimum_size(Size2(400 * EDSCALE, 0));
- preview_text->set_syntax_coloring(true);
+ preview_text->set_syntax_highlighter(syntax_highlighter);
preview_text->set_show_line_numbers(true);
preview_text->set_readonly(true);