cli: search: implement -r, cleanup of options that don't belong there
This commit is contained in:
부모
014a31fa3c
커밋
f64362ac63
@ -7,25 +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)
|
||||
{
|
||||
|
@ -23,6 +23,11 @@ QueryType QSSQuery::getQueryType()
|
||||
return static_cast<QueryType>(tokensMask & COMBINED);
|
||||
}
|
||||
|
||||
void QSSQuery::addSortCondition(SortCondition sc)
|
||||
{
|
||||
this->sortConditions.append(sc);
|
||||
}
|
||||
|
||||
bool QSSQuery::checkParanthesis(QString expression)
|
||||
{
|
||||
QStack<QChar> open;
|
||||
|
@ -52,6 +52,7 @@ class QSSQuery
|
||||
{
|
||||
return tokensMask;
|
||||
}
|
||||
void addSortCondition(SortCondition sc);
|
||||
static bool checkParanthesis(QString query);
|
||||
static QSSQuery build(QString query);
|
||||
};
|
||||
|
불러오는 중...
Reference in New Issue
Block a user