From 376ff468cf0a59bee094c897ba949d4c0e0f6014 Mon Sep 17 00:00:00 2001 From: eidheim Date: Fri, 21 Aug 2015 12:44:24 +0200 Subject: [PATCH] Fixed a couple indenting issues around brackets. --- src/source.cc | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/source.cc b/src/source.cc index 06672c8..fb223b8 100644 --- a/src/source.cc +++ b/src/source.cc @@ -874,7 +874,9 @@ bool Source::ClangViewParse::on_key_press_event(GdkEventKey* key) { return true; } } - if(next_line!=sm[1].str()+"}") { + auto next_char=*get_buffer()->get_insert()->get_iter(); + auto next_line_with_end_bracket=sm[1].str()+"}"; + if(next_char!='}' && next_line.substr(0, next_line_with_end_bracket.size())!=next_line_with_end_bracket) { get_source_buffer()->insert_at_cursor("\n"+sm[1].str()+tab+"\n"+sm[1].str()+"}"); auto insert_it = get_source_buffer()->get_insert()->get_iter(); for(size_t c=0;cend_user_action(); return true; } + else if(next_char=='}') { + get_source_buffer()->insert_at_cursor("\n"+sm[1].str()+tab+"\n"+sm[1].str()); + auto insert_it = get_source_buffer()->get_insert()->get_iter(); + for(size_t c=0;cget_insert()); + get_source_buffer()->place_cursor(insert_it); + get_source_buffer()->end_user_action(); + return true; + } else { get_source_buffer()->insert_at_cursor("\n"+sm[1].str()+tab); scroll_to(get_source_buffer()->get_insert());