Added setting to toggle current line highlighting
This commit is contained in:
parent
50306041e5
commit
45670df354
@ -1089,6 +1089,7 @@ void CodeTextEditor::update_editor_settings() {
|
|||||||
text_editor->set_line_length_guideline_column(EditorSettings::get_singleton()->get("text_editor/line_numbers/line_length_guideline_column"));
|
text_editor->set_line_length_guideline_column(EditorSettings::get_singleton()->get("text_editor/line_numbers/line_length_guideline_column"));
|
||||||
text_editor->set_syntax_coloring(EditorSettings::get_singleton()->get("text_editor/highlighting/syntax_highlighting"));
|
text_editor->set_syntax_coloring(EditorSettings::get_singleton()->get("text_editor/highlighting/syntax_highlighting"));
|
||||||
text_editor->set_highlight_all_occurrences(EditorSettings::get_singleton()->get("text_editor/highlighting/highlight_all_occurrences"));
|
text_editor->set_highlight_all_occurrences(EditorSettings::get_singleton()->get("text_editor/highlighting/highlight_all_occurrences"));
|
||||||
|
text_editor->set_highlight_current_line(EditorSettings::get_singleton()->get("text_editor/highlighting/highlight_current_line"));
|
||||||
text_editor->cursor_set_blink_enabled(EditorSettings::get_singleton()->get("text_editor/cursor/caret_blink"));
|
text_editor->cursor_set_blink_enabled(EditorSettings::get_singleton()->get("text_editor/cursor/caret_blink"));
|
||||||
text_editor->cursor_set_blink_speed(EditorSettings::get_singleton()->get("text_editor/cursor/caret_blink_speed"));
|
text_editor->cursor_set_blink_speed(EditorSettings::get_singleton()->get("text_editor/cursor/caret_blink_speed"));
|
||||||
text_editor->set_draw_breakpoint_gutter(EditorSettings::get_singleton()->get("text_editor/line_numbers/show_breakpoint_gutter"));
|
text_editor->set_draw_breakpoint_gutter(EditorSettings::get_singleton()->get("text_editor/line_numbers/show_breakpoint_gutter"));
|
||||||
|
@ -632,6 +632,7 @@ void EditorSettings::_load_defaults(Ref<ConfigFile> p_extra_config) {
|
|||||||
_initial_set("text_editor/highlighting/syntax_highlighting", true);
|
_initial_set("text_editor/highlighting/syntax_highlighting", true);
|
||||||
|
|
||||||
_initial_set("text_editor/highlighting/highlight_all_occurrences", true);
|
_initial_set("text_editor/highlighting/highlight_all_occurrences", true);
|
||||||
|
_initial_set("text_editor/highlighting/highlight_current_line", true);
|
||||||
_initial_set("text_editor/cursor/scroll_past_end_of_file", false);
|
_initial_set("text_editor/cursor/scroll_past_end_of_file", false);
|
||||||
|
|
||||||
_initial_set("text_editor/indent/type", 0);
|
_initial_set("text_editor/indent/type", 0);
|
||||||
|
@ -348,6 +348,7 @@ void ShaderEditor::_editor_settings_changed() {
|
|||||||
shader_editor->get_text_edit()->set_show_line_numbers(EditorSettings::get_singleton()->get("text_editor/line_numbers/show_line_numbers"));
|
shader_editor->get_text_edit()->set_show_line_numbers(EditorSettings::get_singleton()->get("text_editor/line_numbers/show_line_numbers"));
|
||||||
shader_editor->get_text_edit()->set_syntax_coloring(EditorSettings::get_singleton()->get("text_editor/highlighting/syntax_highlighting"));
|
shader_editor->get_text_edit()->set_syntax_coloring(EditorSettings::get_singleton()->get("text_editor/highlighting/syntax_highlighting"));
|
||||||
shader_editor->get_text_edit()->set_highlight_all_occurrences(EditorSettings::get_singleton()->get("text_editor/highlighting/highlight_all_occurrences"));
|
shader_editor->get_text_edit()->set_highlight_all_occurrences(EditorSettings::get_singleton()->get("text_editor/highlighting/highlight_all_occurrences"));
|
||||||
|
shader_editor->get_text_edit()->set_highlight_current_line(EditorSettings::get_singleton()->get("text_editor/highlighting/highlight_current_line"));
|
||||||
shader_editor->get_text_edit()->cursor_set_blink_enabled(EditorSettings::get_singleton()->get("text_editor/cursor/caret_blink"));
|
shader_editor->get_text_edit()->cursor_set_blink_enabled(EditorSettings::get_singleton()->get("text_editor/cursor/caret_blink"));
|
||||||
shader_editor->get_text_edit()->cursor_set_blink_speed(EditorSettings::get_singleton()->get("text_editor/cursor/caret_blink_speed"));
|
shader_editor->get_text_edit()->cursor_set_blink_speed(EditorSettings::get_singleton()->get("text_editor/cursor/caret_blink_speed"));
|
||||||
shader_editor->get_text_edit()->add_constant_override("line_spacing", EditorSettings::get_singleton()->get("text_editor/theme/line_spacing"));
|
shader_editor->get_text_edit()->add_constant_override("line_spacing", EditorSettings::get_singleton()->get("text_editor/theme/line_spacing"));
|
||||||
|
@ -734,7 +734,7 @@ void TextEdit::_notification(int p_what) {
|
|||||||
|
|
||||||
if (str.length() == 0) {
|
if (str.length() == 0) {
|
||||||
// draw line background if empty as we won't loop at at all
|
// draw line background if empty as we won't loop at at all
|
||||||
if (line == cursor.line) {
|
if (line == cursor.line && highlight_current_line) {
|
||||||
VisualServer::get_singleton()->canvas_item_add_rect(ci, Rect2(0, ofs_y, xmargin_end, get_row_height()), cache.current_line_color);
|
VisualServer::get_singleton()->canvas_item_add_rect(ci, Rect2(0, ofs_y, xmargin_end, get_row_height()), cache.current_line_color);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -965,7 +965,7 @@ void TextEdit::_notification(int p_what) {
|
|||||||
//current line highlighting
|
//current line highlighting
|
||||||
bool in_selection = (selection.active && line >= selection.from_line && line <= selection.to_line && (line > selection.from_line || j >= selection.from_column) && (line < selection.to_line || j < selection.to_column));
|
bool in_selection = (selection.active && line >= selection.from_line && line <= selection.to_line && (line > selection.from_line || j >= selection.from_column) && (line < selection.to_line || j < selection.to_column));
|
||||||
|
|
||||||
if (line == cursor.line) {
|
if (line == cursor.line && highlight_current_line) {
|
||||||
// if its the first char draw behind line numbers
|
// if its the first char draw behind line numbers
|
||||||
if (j == 0) {
|
if (j == 0) {
|
||||||
VisualServer::get_singleton()->canvas_item_add_rect(ci, Rect2(0, ofs_y, (char_ofs + char_margin), get_row_height()), cache.current_line_color);
|
VisualServer::get_singleton()->canvas_item_add_rect(ci, Rect2(0, ofs_y, (char_ofs + char_margin), get_row_height()), cache.current_line_color);
|
||||||
@ -4732,6 +4732,15 @@ int TextEdit::get_breakpoint_gutter_width() const {
|
|||||||
return cache.breakpoint_gutter_width;
|
return cache.breakpoint_gutter_width;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TextEdit::set_highlight_current_line(bool p_enabled) {
|
||||||
|
highlight_current_line = p_enabled;
|
||||||
|
update();
|
||||||
|
}
|
||||||
|
|
||||||
|
bool TextEdit::is_highlight_current_line_enabled() const {
|
||||||
|
return highlight_current_line;
|
||||||
|
}
|
||||||
|
|
||||||
bool TextEdit::is_text_field() const {
|
bool TextEdit::is_text_field() const {
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
@ -4859,6 +4868,9 @@ void TextEdit::_bind_methods() {
|
|||||||
ClassDB::bind_method(D_METHOD("set_syntax_coloring", "enable"), &TextEdit::set_syntax_coloring);
|
ClassDB::bind_method(D_METHOD("set_syntax_coloring", "enable"), &TextEdit::set_syntax_coloring);
|
||||||
ClassDB::bind_method(D_METHOD("is_syntax_coloring_enabled"), &TextEdit::is_syntax_coloring_enabled);
|
ClassDB::bind_method(D_METHOD("is_syntax_coloring_enabled"), &TextEdit::is_syntax_coloring_enabled);
|
||||||
|
|
||||||
|
ClassDB::bind_method(D_METHOD("set_highlight_current_line", "enabled"), &TextEdit::set_highlight_current_line);
|
||||||
|
ClassDB::bind_method(D_METHOD("is_highlight_current_line_enabled"), &TextEdit::is_highlight_current_line_enabled);
|
||||||
|
|
||||||
ClassDB::bind_method(D_METHOD("set_smooth_scroll_enable", "enable"), &TextEdit::set_smooth_scroll_enabled);
|
ClassDB::bind_method(D_METHOD("set_smooth_scroll_enable", "enable"), &TextEdit::set_smooth_scroll_enabled);
|
||||||
ClassDB::bind_method(D_METHOD("is_smooth_scroll_enabled"), &TextEdit::is_smooth_scroll_enabled);
|
ClassDB::bind_method(D_METHOD("is_smooth_scroll_enabled"), &TextEdit::is_smooth_scroll_enabled);
|
||||||
ClassDB::bind_method(D_METHOD("set_v_scroll_speed", "speed"), &TextEdit::set_v_scroll_speed);
|
ClassDB::bind_method(D_METHOD("set_v_scroll_speed", "speed"), &TextEdit::set_v_scroll_speed);
|
||||||
@ -4870,6 +4882,7 @@ void TextEdit::_bind_methods() {
|
|||||||
ClassDB::bind_method(D_METHOD("menu_option", "option"), &TextEdit::menu_option);
|
ClassDB::bind_method(D_METHOD("menu_option", "option"), &TextEdit::menu_option);
|
||||||
ClassDB::bind_method(D_METHOD("get_menu"), &TextEdit::get_menu);
|
ClassDB::bind_method(D_METHOD("get_menu"), &TextEdit::get_menu);
|
||||||
|
|
||||||
|
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "highlight_current_line"), "set_highlight_current_line", "is_highlight_current_line_enabled");
|
||||||
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "syntax_highlighting"), "set_syntax_coloring", "is_syntax_coloring_enabled");
|
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "syntax_highlighting"), "set_syntax_coloring", "is_syntax_coloring_enabled");
|
||||||
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "show_line_numbers"), "set_show_line_numbers", "is_show_line_numbers_enabled");
|
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "show_line_numbers"), "set_show_line_numbers", "is_show_line_numbers_enabled");
|
||||||
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "highlight_all_occurrences"), "set_highlight_all_occurrences", "is_highlight_all_occurrences_enabled");
|
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "highlight_all_occurrences"), "set_highlight_all_occurrences", "is_highlight_all_occurrences_enabled");
|
||||||
@ -4991,6 +5004,7 @@ TextEdit::TextEdit() {
|
|||||||
auto_brace_completion_enabled = false;
|
auto_brace_completion_enabled = false;
|
||||||
brace_matching_enabled = false;
|
brace_matching_enabled = false;
|
||||||
highlight_all_occurrences = false;
|
highlight_all_occurrences = false;
|
||||||
|
highlight_current_line = false;
|
||||||
indent_using_spaces = false;
|
indent_using_spaces = false;
|
||||||
space_indent = " ";
|
space_indent = " ";
|
||||||
auto_indent = false;
|
auto_indent = false;
|
||||||
|
@ -253,6 +253,7 @@ class TextEdit : public Control {
|
|||||||
bool scroll_past_end_of_file_enabled;
|
bool scroll_past_end_of_file_enabled;
|
||||||
bool auto_brace_completion_enabled;
|
bool auto_brace_completion_enabled;
|
||||||
bool brace_matching_enabled;
|
bool brace_matching_enabled;
|
||||||
|
bool highlight_current_line;
|
||||||
bool auto_indent;
|
bool auto_indent;
|
||||||
bool cut_copy_line;
|
bool cut_copy_line;
|
||||||
bool insert_mode;
|
bool insert_mode;
|
||||||
@ -514,6 +515,9 @@ public:
|
|||||||
void set_show_line_numbers(bool p_show);
|
void set_show_line_numbers(bool p_show);
|
||||||
bool is_show_line_numbers_enabled() const;
|
bool is_show_line_numbers_enabled() const;
|
||||||
|
|
||||||
|
void set_highlight_current_line(bool p_enabled);
|
||||||
|
bool is_highlight_current_line_enabled() const;
|
||||||
|
|
||||||
void set_line_numbers_zero_padded(bool p_zero_padded);
|
void set_line_numbers_zero_padded(bool p_zero_padded);
|
||||||
|
|
||||||
void set_show_line_length_guideline(bool p_show);
|
void set_show_line_length_guideline(bool p_show);
|
||||||
|
Loading…
Reference in New Issue
Block a user