Browse Source

Fixed position of text after { when pressing Enter after {

merge-requests/365/head
eidheim 9 years ago
parent
commit
8b7004065c
  1. 14
      src/source.cc

14
src/source.cc

@ -1378,12 +1378,16 @@ bool Source::View::on_key_press_event_bracket_language(GdkEventKey* key) {
if(token=="class" || token=="struct")
add_semicolon=true;
}
get_buffer()->insert_at_cursor("\n"+tabs+tab+"\n"+tabs+(add_semicolon?"};":"}"));
auto insert_it = get_buffer()->get_insert()->get_iter();
if(insert_it.backward_chars(tabs.size()+(add_semicolon?3:2))) {
scroll_to(get_buffer()->get_insert());
get_buffer()->place_cursor(insert_it);
get_buffer()->insert_at_cursor("\n"+tabs+tab);
auto mark=get_buffer()->create_mark(get_buffer()->get_insert()->get_iter());
if(!mark->get_iter().ends_line()) {
auto iter=get_iter_at_line_end(get_buffer()->get_insert()->get_iter().get_line());
get_buffer()->place_cursor(iter);
}
get_buffer()->insert_at_cursor("\n"+tabs+(add_semicolon?"};":"}"));
scroll_to(mark);
get_buffer()->place_cursor(mark->get_iter());
get_buffer()->delete_mark(mark);
get_buffer()->end_user_action();
return true;
}

Loading…
Cancel
Save