cli: search: implement -r, cleanup of options that don't belong there
This commit is contained in:
		| @@ -7,24 +7,26 @@ int CommandSearch::handle(QStringList arguments) | ||||
| { | ||||
|     QCommandLineParser parser; | ||||
|     parser.addOptions({ | ||||
|                           { { "r", "reverse" }, "Print most-recent changed files first" }, | ||||
|                           { "pattern", "Only delete files from index matching the pattern, e. g. */.git/*. Only applies to --deleted or standalone.", "pattern" }, | ||||
|                           { { "r", "reverse" }, "Print most-recent changed files first. This is short for adding \"sort:(mtime asc)\" to the query." }, | ||||
|                       }); | ||||
|  | ||||
|     parser.addHelpOption(); | ||||
|     parser.addPositionalArgument("delete", "Delete paths from the index", "delete [paths...]"); | ||||
|  | ||||
|     parser.process(arguments); | ||||
|     bool reverse = parser.isSet("reverse"); | ||||
|     if(reverse) | ||||
|     { | ||||
|         throw QSSGeneralException("Reverse option to be implemented"); | ||||
|     } | ||||
|  | ||||
|  | ||||
|     QStringList files = parser.positionalArguments(); | ||||
|     QString queryStrings = files.join(' '); | ||||
|     auto results = dbService->search(QSSQuery::build(queryStrings)); | ||||
|     QSSQuery query = QSSQuery::build(queryStrings); | ||||
|     bool reverse = parser.isSet("reverse"); | ||||
|     if(reverse) | ||||
|     { | ||||
|         SortCondition sc; | ||||
|         sc.field = FILE_MTIME; | ||||
|         sc.order = ASC; | ||||
|         query.addSortCondition(sc); | ||||
|     } | ||||
|  | ||||
|     auto results = dbService->search(query); | ||||
|  | ||||
|     for(SearchResult &result : results) | ||||
|     { | ||||
|   | ||||
| @@ -21,7 +21,12 @@ const QVector<SortCondition> &QSSQuery::getSortConditions() const | ||||
|  | ||||
| QueryType QSSQuery::getQueryType() | ||||
| { | ||||
|    return static_cast<QueryType>(tokensMask & COMBINED); | ||||
|     return static_cast<QueryType>(tokensMask & COMBINED); | ||||
| } | ||||
|  | ||||
| void QSSQuery::addSortCondition(SortCondition sc) | ||||
| { | ||||
|     this->sortConditions.append(sc); | ||||
| } | ||||
|  | ||||
| bool QSSQuery::checkParanthesis(QString expression) | ||||
|   | ||||
| @@ -48,6 +48,7 @@ public: | ||||
|     const QVector<SortCondition> & getSortConditions() const; | ||||
|     QueryType getQueryType(); | ||||
|     int getTokensMask() const { return tokensMask; } | ||||
|     void addSortCondition(SortCondition sc); | ||||
|     static bool checkParanthesis(QString query); | ||||
|     static QSSQuery build(QString query); | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user