[TextEdit] Update syntax highlighting when IME composition string is updated.

This commit is contained in:
Pāvels Nadtočajevs
2025-02-05 18:37:53 +02:00
parent 06acfccf89
commit 7da0767f35
5 changed files with 66 additions and 29 deletions

View File

@ -152,6 +152,9 @@ private:
Array bidi_override;
Ref<TextParagraph> data_buf;
String ime_data;
Array ime_bidi_override;
Color background_color = Color(0, 0, 0, 0);
bool hidden = false;
int line_count = 0;
@ -228,6 +231,7 @@ private:
const Ref<TextParagraph> get_line_data(int p_line) const;
void set(int p_line, const String &p_text, const Array &p_bidi_override);
void set_ime(int p_line, const String &p_text, const Array &p_bidi_override);
void set_hidden(int p_line, bool p_hidden);
bool is_hidden(int p_line) const;
void insert(int p_at, const Vector<String> &p_text, const Vector<Array> &p_bidi_override);
@ -235,12 +239,13 @@ private:
int size() const { return text.size(); }
void clear();
void invalidate_cache(int p_line, int p_column = -1, bool p_text_changed = false, const String &p_ime_text = String(), const Array &p_bidi_override = Array());
void invalidate_cache(int p_line, bool p_text_changed = false);
void invalidate_font();
void invalidate_all();
void invalidate_all_lines();
_FORCE_INLINE_ String operator[](int p_line) const;
_FORCE_INLINE_ const String &get_text_with_ime(int p_line) const;
/* Gutters. */
void add_gutter(int p_at);
@ -794,6 +799,7 @@ public:
void set_line(int p_line, const String &p_new_text);
String get_line(int p_line) const;
String get_line_with_ime(int p_line) const;
int get_line_width(int p_line, int p_wrap_index = -1) const;
int get_line_height() const;