From 5bc8dde6de4cf90e203e9bf0c65068f1ed9e83c8 Mon Sep 17 00:00:00 2001 From: eidheim Date: Tue, 28 May 2024 13:19:18 +0200 Subject: [PATCH] Language protocol: added sorting for rename items in case server does not return sorted changes --- src/source_language_protocol.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/source_language_protocol.cpp b/src/source_language_protocol.cpp index 1d26e22..aab236e 100644 --- a/src/source_language_protocol.cpp +++ b/src/source_language_protocol.cpp @@ -1245,6 +1245,10 @@ void Source::LanguageProtocolView::setup_navigation_and_refactoring() { }; std::list terminal_output_list; + sort(edit->text_edits.begin(), edit->text_edits.end(), [](const LanguageProtocol::TextEdit &a, LanguageProtocol::TextEdit &b) { + return a.range.start < b.range.start; + }); + for(auto text_edit_it = edit->text_edits.rbegin(); text_edit_it != edit->text_edits.rend(); ++text_edit_it) { auto start_iter = view->get_iter_at_line_pos(text_edit_it->range.start.line, text_edit_it->range.start.character); auto end_iter = view->get_iter_at_line_pos(text_edit_it->range.end.line, text_edit_it->range.end.character);