Browse Source

Fixed intentation after "if constexpr" and "else if constexpr"

merge-requests/388/head
eidheim 8 years ago
parent
commit
2a62ca69b7
  1. 4
      src/source.cc
  2. 16
      tests/source_key_test.cc

4
src/source.cc

@ -1827,8 +1827,8 @@ bool Source::View::on_key_press_event_basic(GdkEventKey* key) {
//Bracket language indentation //Bracket language indentation
bool Source::View::on_key_press_event_bracket_language(GdkEventKey* key) { bool Source::View::on_key_press_event_bracket_language(GdkEventKey* key) {
const static std::regex no_bracket_statement_regex("^ *(if|for|while) *\\(.*[^;}{] *$|" const static std::regex no_bracket_statement_regex("^ *(if( +constexpr)?|for|while) *\\(.*[^;}{] *$|"
"^[}]? *else if *\\(.*[^;}{] *$|" "^[}]? *else if( +constexpr)? *\\(.*[^;}{] *$|"
"^[}]? *else *$", std::regex::extended); "^[}]? *else *$", std::regex::extended);
auto iter=get_buffer()->get_insert()->get_iter(); auto iter=get_buffer()->get_insert()->get_iter();

16
tests/source_key_test.cc

@ -317,6 +317,13 @@ int main() {
" "); " ");
g_assert(view.get_buffer()->get_insert()->get_iter() == view.get_buffer()->end()); g_assert(view.get_buffer()->get_insert()->get_iter() == view.get_buffer()->end());
} }
{
view.get_buffer()->set_text(" else if constexpr(true)");
view.on_key_press_event(&event);
g_assert(view.get_buffer()->get_text() == " else if constexpr(true)\n"
" ");
g_assert(view.get_buffer()->get_insert()->get_iter() == view.get_buffer()->end());
}
{ {
view.get_buffer()->set_text(" } else if(true)//comment"); view.get_buffer()->set_text(" } else if(true)//comment");
while(Gtk::Main::events_pending()) while(Gtk::Main::events_pending())
@ -386,6 +393,15 @@ int main() {
" "); " ");
g_assert(view.get_buffer()->get_insert()->get_iter() == view.get_buffer()->end()); g_assert(view.get_buffer()->get_insert()->get_iter() == view.get_buffer()->end());
} }
{
view.get_buffer()->set_text(" if constexpr(true &&\n"
" false)");
view.on_key_press_event(&event);
g_assert(view.get_buffer()->get_text() == " if constexpr(true &&\n"
" false)\n"
" ");
g_assert(view.get_buffer()->get_insert()->get_iter() == view.get_buffer()->end());
}
{ {
view.get_buffer()->set_text(" if(true &&\n" view.get_buffer()->set_text(" if(true &&\n"
" false) {"); " false) {");

Loading…
Cancel
Save