Browse Source

Minor fix to shift-tab indentation.

merge-requests/365/head
eidheim 10 years ago
parent
commit
a69e7a8dd0
  1. 20
      src/source.cc

20
src/source.cc

@ -1025,21 +1025,19 @@ bool Source::View::on_key_press_event(GdkEventKey* key) {
auto line_it = get_source_buffer()->get_iter_at_line(line_nr); auto line_it = get_source_buffer()->get_iter_at_line(line_nr);
if(!get_buffer()->get_has_selection() || line_it!=selection_end) { if(!get_buffer()->get_has_selection() || line_it!=selection_end) {
auto tabs_end_iter=get_tabs_end_iter(line_nr); auto tabs_end_iter=get_tabs_end_iter(line_nr);
auto line_tabs=get_line_before(tabs_end_iter); if(tabs_end_iter.starts_line() && tabs_end_iter.ends_line())
ignore_line.push_back(true);
else {
auto line_tabs=get_line_before(tabs_end_iter);
if(line_tabs.size()>0 || tabs_end_iter.ends_line()) { if(line_tabs.size()>0) {
if(!tabs_end_iter.ends_line()) {
indent_left_steps=std::min(indent_left_steps, static_cast<unsigned>(line_tabs.size())); indent_left_steps=std::min(indent_left_steps, static_cast<unsigned>(line_tabs.size()));
ignore_line.push_back(false); ignore_line.push_back(false);
} }
else if(static_cast<unsigned>(line_tabs.size())<indent_left_steps) else {
ignore_line.push_back(true); get_source_buffer()->end_user_action();
else return true;
ignore_line.push_back(false); }
}
else {
get_source_buffer()->end_user_action();
return true;
} }
} }
} }

Loading…
Cancel
Save