diff --git a/scene/gui/text_edit.cpp b/scene/gui/text_edit.cpp index a68d3c13a70..f1a2823e8f6 100644 --- a/scene/gui/text_edit.cpp +++ b/scene/gui/text_edit.cpp @@ -693,6 +693,8 @@ void TextEdit::_notification(int p_what) { // get the highlighted words String highlighted_text = get_selection_text(); + String line_num_padding = line_numbers_zero_padded ? "0" : " "; + for (int i=0;idraw(ci,Point2(cache.style_normal->get_margin(MARGIN_LEFT)+cache.breakpoint_gutter_width,ofs_y+cache.font->get_ascent()),fc,cache.line_number_color); @@ -4520,6 +4522,12 @@ void TextEdit::set_show_line_numbers(bool p_show) { update(); } +void TextEdit::set_line_numbers_zero_padded(bool p_zero_padded) { + + line_numbers_zero_padded=p_zero_padded; + update(); +} + bool TextEdit::is_show_line_numbers_enabled() const { return line_numbers; } @@ -4811,6 +4819,7 @@ TextEdit::TextEdit() { completion_line_ofs=0; tooltip_obj=NULL; line_numbers=false; + line_numbers_zero_padded=false; line_length_guideline=false; line_length_guideline_col=80; draw_breakpoint_gutter=false; diff --git a/scene/gui/text_edit.h b/scene/gui/text_edit.h index e6401e2b92d..7820fefdd22 100644 --- a/scene/gui/text_edit.h +++ b/scene/gui/text_edit.h @@ -232,6 +232,7 @@ class TextEdit : public Control { bool text_changed_dirty; bool undo_enabled; bool line_numbers; + bool line_numbers_zero_padded; bool line_length_guideline; int line_length_guideline_col; bool draw_breakpoint_gutter; @@ -489,6 +490,8 @@ public: void set_show_line_numbers(bool p_show); bool is_show_line_numbers_enabled() const; + void set_line_numbers_zero_padded(bool p_zero_padded); + void set_show_line_length_guideline(bool p_show); void set_line_length_guideline_column(int p_column); diff --git a/tools/editor/code_editor.cpp b/tools/editor/code_editor.cpp index ffcb3444973..626f86d33d9 100644 --- a/tools/editor/code_editor.cpp +++ b/tools/editor/code_editor.cpp @@ -1112,6 +1112,7 @@ void CodeTextEditor::update_editor_settings() { text_editor->set_tab_size(EditorSettings::get_singleton()->get("text_editor/tab_size")); text_editor->set_draw_tabs(EditorSettings::get_singleton()->get("text_editor/draw_tabs")); text_editor->set_show_line_numbers(EditorSettings::get_singleton()->get("text_editor/show_line_numbers")); + text_editor->set_line_numbers_zero_padded(EditorSettings::get_singleton()->get("text_editor/line_numbers_zero_padded")); text_editor->set_show_line_length_guideline(EditorSettings::get_singleton()->get("text_editor/show_line_length_guideline")); text_editor->set_line_length_guideline_column(EditorSettings::get_singleton()->get("text_editor/line_length_guideline_column")); text_editor->set_syntax_coloring(EditorSettings::get_singleton()->get("text_editor/syntax_highlighting")); diff --git a/tools/editor/editor_settings.cpp b/tools/editor/editor_settings.cpp index 0ab42c5adb7..bdbf20e3487 100644 --- a/tools/editor/editor_settings.cpp +++ b/tools/editor/editor_settings.cpp @@ -546,6 +546,8 @@ void EditorSettings::_load_defaults(Ref p_extra_config) { hints["text_editor/tab_size"]=PropertyInfo(Variant::INT,"text_editor/tab_size",PROPERTY_HINT_RANGE,"1, 64, 1"); // size of 0 crashes. set("text_editor/draw_tabs", true); + set("text_editor/line_numbers_zero_padded", false); + set("text_editor/show_line_numbers", true); set("text_editor/show_breakpoint_gutter", true);