@@ -818,17 +818,9 @@ const std::unordered_map<std::string, std::string> &Source::ClangViewAutocomplet
818818
819819Source::ClangViewRefactor::ClangViewRefactor (const boost::filesystem::path &file_path, const Glib::RefPtr<Gsv::Language> &language) :
820820 BaseView(file_path, language), Source::ClangViewParse(file_path, language) {
821- similar_identifiers_tag=get_buffer ()->create_tag ();
822- similar_identifiers_tag->property_weight ()=Pango::WEIGHT_ULTRAHEAVY;
823-
824821 get_buffer ()->signal_changed ().connect ([this ]() {
825822 if (last_tagged_identifier) {
826- for (auto &mark: similar_identifiers_marks) {
827- get_buffer ()->remove_tag (similar_identifiers_tag, mark.first ->get_iter (), mark.second ->get_iter ());
828- get_buffer ()->delete_mark (mark.first );
829- get_buffer ()->delete_mark (mark.second );
830- }
831- similar_identifiers_marks.clear ();
823+ get_buffer ()->remove_tag (similar_symbol_tag, get_buffer ()->begin (), get_buffer ()->end ());
832824 last_tagged_identifier=Identifier ();
833825 }
834826 });
@@ -1722,29 +1714,18 @@ void Source::ClangViewRefactor::wait_parsing() {
17221714void Source::ClangViewRefactor::tag_similar_identifiers (const Identifier &identifier) {
17231715 if (parsed) {
17241716 if (identifier && last_tagged_identifier!=identifier) {
1725- for (auto &mark: similar_identifiers_marks) {
1726- get_buffer ()->remove_tag (similar_identifiers_tag, mark.first ->get_iter (), mark.second ->get_iter ());
1727- get_buffer ()->delete_mark (mark.first );
1728- get_buffer ()->delete_mark (mark.second );
1729- }
1730- similar_identifiers_marks.clear ();
1717+ get_buffer ()->remove_tag (similar_symbol_tag, get_buffer ()->begin (), get_buffer ()->end ());
17311718 auto offsets=clang_tokens->get_similar_token_offsets (identifier.kind , identifier.spelling , identifier.cursor .get_all_usr_extended ());
17321719 for (auto &offset: offsets) {
17331720 auto start_iter=get_buffer ()->get_iter_at_line_index (offset.first .line -1 , offset.first .index -1 );
17341721 auto end_iter=get_buffer ()->get_iter_at_line_index (offset.second .line -1 , offset.second .index -1 );
1735- get_buffer ()->apply_tag (similar_identifiers_tag, start_iter, end_iter);
1736- similar_identifiers_marks.emplace_back (get_buffer ()->create_mark (start_iter), get_buffer ()->create_mark (end_iter));
1722+ get_buffer ()->apply_tag (similar_symbol_tag, start_iter, end_iter);
17371723 }
17381724 last_tagged_identifier=identifier;
17391725 }
17401726 }
17411727 if (!identifier && last_tagged_identifier) {
1742- for (auto &mark: similar_identifiers_marks) {
1743- get_buffer ()->remove_tag (similar_identifiers_tag, mark.first ->get_iter (), mark.second ->get_iter ());
1744- get_buffer ()->delete_mark (mark.first );
1745- get_buffer ()->delete_mark (mark.second );
1746- }
1747- similar_identifiers_marks.clear ();
1728+ get_buffer ()->remove_tag (similar_symbol_tag, get_buffer ()->begin (), get_buffer ()->end ());
17481729 last_tagged_identifier=Identifier ();
17491730 }
17501731}
0 commit comments