From 3b967f1ea5a9b5cfade86c5e7ec20630ea6fdd27 Mon Sep 17 00:00:00 2001 From: eidheim Date: Thu, 6 Aug 2020 20:12:24 +0200 Subject: [PATCH] Improvements to std::string simplifications in tooltips --- src/source_clang.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/source_clang.cpp b/src/source_clang.cpp index 7cd4618..1e9e1fc 100644 --- a/src/source_clang.cpp +++ b/src/source_clang.cpp @@ -516,20 +516,20 @@ void Source::ClangViewParse::show_type_tooltips(const Gdk::Rectangle &rectangle) size_t pos = 0; // Simplify std::basic_string types while((pos = type_description.find("std::basic_string') { - pos -= 5; - type_description.erase(pos, 5 + 1); - type_description.erase(pos - 12, 6); // Remove: basic_ + pos -= 17; // Move to after std:: + type_description.replace(pos, 17 + 1, "string"); + pos += 6; // Move to after std::string // Remove space before ending angle bracket if(pos + 1 < type_description.size() && type_description[pos] == ' ' && type_description[pos + 1] == '>') type_description.erase(pos, 1); } else if((starts_with(type_description, pos, ", std::char_traits, std::allocator >"))) { - pos -= 5; - type_description.erase(pos, 5 + 48); - type_description.erase(pos - 12, 6); // Remove: basic_ + pos -= 17; // Move to after std:: + type_description.replace(pos, 17 + 48, "string"); + pos += 6; // Move to after std::string // Remove space before ending angle bracket if(pos + 1 < type_description.size() && type_description[pos] == ' ' && type_description[pos + 1] == '>') type_description.erase(pos, 1);