diff options
Diffstat (limited to 'editor/code_editor.cpp')
-rw-r--r-- | editor/code_editor.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/editor/code_editor.cpp b/editor/code_editor.cpp index ee0108df8e..253157a561 100644 --- a/editor/code_editor.cpp +++ b/editor/code_editor.cpp @@ -1124,6 +1124,31 @@ void CodeTextEditor::trim_trailing_whitespace() { } } +void CodeTextEditor::trim_final_newlines() { + int final_line = text_editor->get_line_count() - 1; + int check_line = final_line; + + String line = text_editor->get_line(check_line); + + while (line.is_empty() && check_line > -1) { + --check_line; + + line = text_editor->get_line(check_line); + } + + ++check_line; + + if (check_line < final_line) { + text_editor->begin_complex_operation(); + + text_editor->remove_text(check_line, 0, final_line, 0); + + text_editor->merge_overlapping_carets(); + text_editor->end_complex_operation(); + text_editor->queue_redraw(); + } +} + void CodeTextEditor::insert_final_newline() { int final_line = text_editor->get_line_count() - 1; String line = text_editor->get_line(final_line); |