From d366618adf8c08c9b27296c3ffdfc62fbd99d1ec Mon Sep 17 00:00:00 2001 From: eidheim Date: Sun, 6 Mar 2016 15:37:37 +0100 Subject: [PATCH] Yet another smart indentation cleanup --- src/source.cc | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/source.cc b/src/source.cc index 79f9bff..6a7d4ee 100644 --- a/src/source.cc +++ b/src/source.cc @@ -1064,6 +1064,10 @@ bool Source::View::on_key_press_event(GdkEventKey* key) { if(get_buffer()->get_has_selection()) return on_key_press_event_basic(key); + auto iter=get_buffer()->get_insert()->get_iter(); + if(iter.backward_char() && (get_source_buffer()->iter_has_context_class(iter, "comment") || get_source_buffer()->iter_has_context_class(iter, "string"))) + return on_key_press_event_basic(key); + if(is_bracket_language) return on_key_press_event_bracket_language(key); else @@ -1287,12 +1291,8 @@ bool Source::View::on_key_press_event_basic(GdkEventKey* key) { //Bracket language indentation bool Source::View::on_key_press_event_bracket_language(GdkEventKey* key) { - auto iter=get_buffer()->get_insert()->get_iter(); - if(iter.backward_char() && (get_source_buffer()->iter_has_context_class(iter, "comment") || get_source_buffer()->iter_has_context_class(iter, "string"))) - return on_key_press_event_basic(key); - get_source_buffer()->begin_user_action(); - iter=get_buffer()->get_insert()->get_iter(); + auto iter=get_buffer()->get_insert()->get_iter(); //Indent depending on if/else/etc and brackets if(key->keyval==GDK_KEY_Return && !iter.starts_line()) { //First remove spaces or tabs around cursor