From 4247c21cb0ab579a0ba490b858daa3404967f5ce Mon Sep 17 00:00:00 2001 From: PouleyKetchoupp Date: Sun, 20 Oct 2019 14:37:36 +0200 Subject: TextEdit syntax highlighting fixes - Fixed visual update when using add_keyword_color(), add_color_region(), clear_colors() in scripts - More accurate description for clear_colors() in TextEdit documentation --- doc/classes/TextEdit.xml | 2 +- scene/gui/text_edit.cpp | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/doc/classes/TextEdit.xml b/doc/classes/TextEdit.xml index 8a114efd34..27eab85301 100644 --- a/doc/classes/TextEdit.xml +++ b/doc/classes/TextEdit.xml @@ -54,7 +54,7 @@ - Clears all the syntax coloring information. + Clears all custom syntax coloring information previously added with [method add_color_region] or [method add_keyword_color]. diff --git a/scene/gui/text_edit.cpp b/scene/gui/text_edit.cpp index 5f9b913e8c..03c8640cc1 100644 --- a/scene/gui/text_edit.cpp +++ b/scene/gui/text_edit.cpp @@ -5052,15 +5052,18 @@ Map TextEdit::_get_line_color_region_info( void TextEdit::clear_colors() { keywords.clear(); + member_keywords.clear(); color_regions.clear(); color_region_cache.clear(); syntax_highlighting_cache.clear(); text.clear_width_cache(); + update(); } void TextEdit::add_keyword_color(const String &p_keyword, const Color &p_color) { keywords[p_keyword] = p_color; + syntax_highlighting_cache.clear(); update(); } @@ -5077,12 +5080,14 @@ Color TextEdit::get_keyword_color(String p_keyword) const { void TextEdit::add_color_region(const String &p_begin_key, const String &p_end_key, const Color &p_color, bool p_line_only) { color_regions.push_back(ColorRegion(p_begin_key, p_end_key, p_color, p_line_only)); + syntax_highlighting_cache.clear(); text.clear_width_cache(); update(); } void TextEdit::add_member_keyword(const String &p_keyword, const Color &p_color) { member_keywords[p_keyword] = p_color; + syntax_highlighting_cache.clear(); update(); } @@ -5096,6 +5101,7 @@ Color TextEdit::get_member_color(String p_member) const { void TextEdit::clear_member_keywords() { member_keywords.clear(); + syntax_highlighting_cache.clear(); update(); } -- cgit v1.2.3