From 06b9f63ad5b42198dfed4e3ddc68039a885c9154 Mon Sep 17 00:00:00 2001 From: eidheim Date: Thu, 26 Aug 2021 12:54:48 +0200 Subject: [PATCH] Language client: no longer save after code action, and saving after rename is now performed after all rename edits --- src/source_language_protocol.cpp | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/source_language_protocol.cpp b/src/source_language_protocol.cpp index f3890f7..7f012de 100644 --- a/src/source_language_protocol.cpp +++ b/src/source_language_protocol.cpp @@ -596,10 +596,6 @@ void LanguageProtocol::Client::handle_server_request(const boost::variantend_user_action(); - if(!view->save()) { - applied = false; - return; - } } } @@ -1111,6 +1107,7 @@ void Source::LanguageProtocolView::setup_navigation_and_refactoring() { auto current_view = Notebook::get().get_current_view(); + std::set views_to_be_saved; std::set views_to_be_closed; bool update_directories = false; @@ -1180,8 +1177,7 @@ void Source::LanguageProtocolView::setup_navigation_and_refactoring() { } buffer->end_user_action(); - if(!view->save()) - return; + views_to_be_saved.emplace(view); } else if(auto rename_file = boost::get(&document_change)) { Source::View *view = nullptr; @@ -1210,6 +1206,10 @@ void Source::LanguageProtocolView::setup_navigation_and_refactoring() { update_directories = true; } } + + for(auto &view : views_to_be_saved) + view->save(); + if(update_directories) Directories::get().update(); @@ -1382,8 +1382,6 @@ void Source::LanguageProtocolView::setup_navigation_and_refactoring() { } buffer->end_user_action(); - if(!view->save()) - return; } }