list command current state

This commit is contained in:
Albert S. 2019-09-22 16:13:13 +02:00
parent de04264eb5
commit ff0a4ecfbe
2 changed files with 47 additions and 0 deletions

33
cli/commandlist.cpp Normal file
View File

@ -0,0 +1,33 @@
#include <QCommandLineParser>
#include "commandlist.h"
#include "databasefactory.h"
#include "logger.h"
int CommandList::handle(QStringList arguments)
{
QCommandLineParser parser;
parser.addOptions({
{{"r", "reverse"}, "Print most-recent changed files first"},
{{"c", "count"}, "Counts the number of paths listed"},
{"pattern", "Only list files from index matching the pattern, e. g. */.git/*", "pattern"},
});
parser.addHelpOption();
parser.addPositionalArgument("list", "Lists paths in the index", "list [options]");
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));
for(SearchResult &result : results)
{
Logger::info() << result.fileData.absPath << endl;
}
}

14
cli/commandlist.h Normal file
View File

@ -0,0 +1,14 @@
#ifndef COMMANDSEARCH_H
#define COMMANDSEARCH_H
#include "command.h"
#include "../shared/sqlitesearch.h"
class CommandList : public Command
{
public:
using Command::Command;
int handle(QStringList arguments) override;
};
#endif // COMMANDSEARCH_H