From a3a36aa683c3d0e33a9a379675fc4b75585bf130 Mon Sep 17 00:00:00 2001 From: eidheim Date: Sun, 3 Sep 2017 09:08:40 +0200 Subject: [PATCH] Minor improvement to smart backspace key: tabs are now kept if previous line is empty --- src/source.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/source.cc b/src/source.cc index 7532999..88e3339 100644 --- a/src/source.cc +++ b/src/source.cc @@ -1768,7 +1768,10 @@ bool Source::View::on_key_press_event_basic(GdkEventKey* key) { if(previous_line_end_iter.backward_chars(line.size()+1)) { if(!previous_line_end_iter.ends_line()) // For CR+LF previous_line_end_iter.backward_char(); - get_buffer()->erase(previous_line_end_iter, iter); + if(previous_line_end_iter.starts_line()) // When previous line is empty, keep tabs in current line + get_buffer()->erase(previous_line_end_iter, get_buffer()->get_iter_at_line(iter.get_line())); + else + get_buffer()->erase(previous_line_end_iter, iter); return true; } }