diff --git a/wcclparser/main.cpp b/wcclparser/main.cpp index c048ec83d51f0d002a710b34f804af51966c185d..359ea6a1bfbd2eef67b9464921a4b5e10c7b310b 100644 --- a/wcclparser/main.cpp +++ b/wcclparser/main.cpp @@ -136,6 +136,7 @@ bool process_line(const std::string& line, Parser& parser) int main(int argc, char** argv) { std::string tagset_load = "kipi"; + std::string query = ""; bool quiet = false; using boost::program_options::value; @@ -143,13 +144,15 @@ int main(int argc, char** argv) desc.add_options() ("tagset,t", value(&tagset_load), "Tagset to use\n") + ("query,Q", value(&query), + "Query to run (disables interactive mode)\n") ("quiet,q", value(&quiet)->zero_tokens(), "Suppress messages\n") ("help,h", "Show help") ; boost::program_options::variables_map vm; boost::program_options::positional_options_description p; - p.add("tagset", -1); + p.add("query", -1); try { boost::program_options::store( @@ -176,6 +179,11 @@ int main(int argc, char** argv) Parser parser(tagset); + if (!query.empty()) { + process_line(query, parser); + return 0; + } + if (clear_screen()) { // }