diff --git a/src/libs/utils/filepath.cpp b/src/libs/utils/filepath.cpp index 8252825d9e9..d52b6fea04c 100644 --- a/src/libs/utils/filepath.cpp +++ b/src/libs/utils/filepath.cpp @@ -1949,6 +1949,13 @@ std::optional FilePath::tailRemoved(const QString &str) const return {}; } +std::optional FilePath::prefixRemoved(const QString &str) const +{ + if (pathView().startsWith(str)) + return withNewPath(pathView().mid(str.size()).toString()); + return {}; +} + QDateTime FilePath::lastModified() const { return fileAccess()->lastModified(*this); diff --git a/src/libs/utils/filepath.h b/src/libs/utils/filepath.h index 8c24e956fff..dd0e4c9f4c3 100644 --- a/src/libs/utils/filepath.h +++ b/src/libs/utils/filepath.h @@ -140,6 +140,7 @@ public: [[nodiscard]] FilePath pathAppended(const QString &str) const; [[nodiscard]] FilePath stringAppended(const QString &str) const; [[nodiscard]] std::optional tailRemoved(const QString &str) const; + [[nodiscard]] std::optional prefixRemoved(const QString &str) const; bool startsWith(const QString &s) const; bool endsWith(const QString &s) const; bool contains(const QString &s) const;