init: Initalizeѕ CLI entities

This commit is contained in:
Paul Beckingham 2016-04-02 13:09:53 -04:00
parent 370c024409
commit b624aee186
3 changed files with 35 additions and 1 deletions

View file

@ -25,6 +25,7 @@
////////////////////////////////////////////////////////////////////////////////
#include <cmake.h>
#include <CLI.h>
#include <Database.h>
#include <Rules.h>
#include <Extensions.h>
@ -52,6 +53,31 @@ bool lightweightVersionCheck (int argc, const char** argv)
return false;
}
////////////////////////////////////////////////////////////////////////////////
void initializeEntities (CLI& cli)
{
// Command entities.
cli.entity ("command", "clear");
cli.entity ("command", "config");
cli.entity ("command", "continue");
cli.entity ("command", "define");
cli.entity ("command", "diagnostics");
cli.entity ("command", "export");
cli.entity ("command", "extensions");
cli.entity ("command", "gaps");
cli.entity ("command", "help");
cli.entity ("command", "import");
cli.entity ("command", "log");
cli.entity ("command", "report");
cli.entity ("command", "start");
cli.entity ("command", "stop");
cli.entity ("command", "tags");
cli.entity ("command", "track");
cli.entity ("command", "undo");
// TODO Keyword entities.
}
////////////////////////////////////////////////////////////////////////////////
void initializeDataAndRules (
Database& database,

View file

@ -25,10 +25,11 @@
////////////////////////////////////////////////////////////////////////////////
#include <cmake.h>
#include <Log.h>
#include <CLI.h>
#include <Database.h>
#include <Rules.h>
#include <Extensions.h>
#include <Log.h>
#include <shared.h>
#include <commands.h>
#include <timew.h>
@ -49,6 +50,11 @@ int main (int argc, const char** argv)
Log log;
CmdLog ({"timew", "log", "mark"}, log);
// Add entities so that command line tokens such as 'help' are recognized as
// commands.
CLI cli;
initializeEntities (cli);
// Make a vector of args, instead of argc/argv.
std::vector <std::string> args;
for (int i = 0; i < argc; i++)

View file

@ -27,6 +27,7 @@
#ifndef INCLUDED_TIMEW
#define INCLUDED_TIMEW
#include <CLI.h>
#include <Database.h>
#include <Rules.h>
#include <Extensions.h>
@ -36,6 +37,7 @@
// init.cpp
bool lightweightVersionCheck (int, const char**);
void initializeEntities (CLI&);
void initializeDataAndRules (Database&, Rules&, Log&);
void initializeExtensions (Rules&, Extensions&, Log&);
int dispatchCommand (const std::vector <std::string>&, Database&, Rules&, Extensions&, Log&);