diff options
Diffstat (limited to 'src/libs/utils/filesearch.h')
-rw-r--r-- | src/libs/utils/filesearch.h | 70 |
1 files changed, 19 insertions, 51 deletions
diff --git a/src/libs/utils/filesearch.h b/src/libs/utils/filesearch.h index 9d427f5946..fc6ce62ab0 100644 --- a/src/libs/utils/filesearch.h +++ b/src/libs/utils/filesearch.h @@ -6,8 +6,8 @@ #include "utils_global.h" #include "filepath.h" +#include "searchresultitem.h" -#include <QDir> #include <QMap> #include <QSet> #include <QStack> @@ -24,10 +24,6 @@ QT_END_NAMESPACE namespace Utils { QTCREATOR_UTILS_EXPORT -std::function<bool(const FilePath &)> filterFileFunction(const QStringList &filterRegs, - const QStringList &exclusionRegs); - -QTCREATOR_UTILS_EXPORT std::function<FilePaths(const FilePaths &)> filterFilesFunction(const QStringList &filters, const QStringList &exclusionFilters); @@ -40,8 +36,13 @@ QString msgFilePatternLabel(); QTCREATOR_UTILS_EXPORT QString msgExclusionPatternLabel(); +enum class InclusionType { + Included, + Excluded +}; + QTCREATOR_UTILS_EXPORT -QString msgFilePatternToolTip(); +QString msgFilePatternToolTip(InclusionType inclusionType = InclusionType::Included); class QTCREATOR_UTILS_EXPORT FileIterator { @@ -107,7 +108,8 @@ protected: class QTCREATOR_UTILS_EXPORT FileListIterator : public FileIterator { public: - explicit FileListIterator(const FilePaths &fileList, const QList<QTextCodec *> encodings); + explicit FileListIterator(const FilePaths &fileList = {}, + const QList<QTextCodec *> &encodings = {}); int maxProgress() const override; int currentProgress() const override; @@ -118,8 +120,8 @@ protected: const Item &itemAt(int index) const override; private: - QVector<Item> m_items; - int m_maxIndex; + const QList<Item> m_items; + int m_maxIndex = -1; }; class QTCREATOR_UTILS_EXPORT SubDirFileIterator : public FileIterator @@ -151,54 +153,20 @@ private: QList<Item *> m_items; }; -class QTCREATOR_UTILS_EXPORT FileSearchResult -{ -public: - FileSearchResult() = default; - FileSearchResult(const FilePath &fileName, int lineNumber, const QString &matchingLine, - int matchStart, int matchLength, - const QStringList ®expCapturedTexts) - : fileName(fileName), - lineNumber(lineNumber), - matchingLine(matchingLine), - matchStart(matchStart), - matchLength(matchLength), - regexpCapturedTexts(regexpCapturedTexts) - {} - - bool operator==(const FileSearchResult &o) const - { - return fileName == o.fileName && lineNumber == o.lineNumber - && matchingLine == o.matchingLine && matchStart == o.matchStart - && matchLength == o.matchLength && regexpCapturedTexts == o.regexpCapturedTexts; - } - bool operator!=(const FileSearchResult &o) const { return !(*this == o); } - - FilePath fileName; - int lineNumber; - QString matchingLine; - int matchStart; - int matchLength; - QStringList regexpCapturedTexts; -}; - -using FileSearchResultList = QList<FileSearchResult>; - -QTCREATOR_UTILS_EXPORT QFuture<FileSearchResultList> findInFiles( - const QString &searchTerm, +QTCREATOR_UTILS_EXPORT QFuture<SearchResultItems> findInFiles(const QString &searchTerm, FileIterator *files, QTextDocument::FindFlags flags, - const QMap<FilePath, QString> &fileToContentsMap = QMap<FilePath, QString>()); + const QMap<FilePath, QString> &fileToContentsMap = {}); -QTCREATOR_UTILS_EXPORT QFuture<FileSearchResultList> findInFilesRegExp( +QTCREATOR_UTILS_EXPORT QFuture<SearchResultItems> findInFilesRegExp( const QString &searchTerm, FileIterator *files, QTextDocument::FindFlags flags, - const QMap<FilePath, QString> &fileToContentsMap = QMap<FilePath, QString>()); + const QMap<FilePath, QString> &fileToContentsMap = {}); -QTCREATOR_UTILS_EXPORT QString expandRegExpReplacement(const QString &replaceText, const QStringList &capturedTexts); -QTCREATOR_UTILS_EXPORT QString matchCaseReplacement(const QString &originalText, const QString &replaceText); +QTCREATOR_UTILS_EXPORT QString expandRegExpReplacement(const QString &replaceText, + const QStringList &capturedTexts); +QTCREATOR_UTILS_EXPORT QString matchCaseReplacement(const QString &originalText, + const QString &replaceText); } // namespace Utils - -Q_DECLARE_METATYPE(Utils::FileSearchResultList) |