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 <cmake.h>
#include <CLI.h>
#include <Database.h> #include <Database.h>
#include <Rules.h> #include <Rules.h>
#include <Extensions.h> #include <Extensions.h>
@ -52,6 +53,31 @@ bool lightweightVersionCheck (int argc, const char** argv)
return false; 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 ( void initializeDataAndRules (
Database& database, Database& database,

View file

@ -25,10 +25,11 @@
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
#include <cmake.h> #include <cmake.h>
#include <Log.h>
#include <CLI.h>
#include <Database.h> #include <Database.h>
#include <Rules.h> #include <Rules.h>
#include <Extensions.h> #include <Extensions.h>
#include <Log.h>
#include <shared.h> #include <shared.h>
#include <commands.h> #include <commands.h>
#include <timew.h> #include <timew.h>
@ -49,6 +50,11 @@ int main (int argc, const char** argv)
Log log; Log log;
CmdLog ({"timew", "log", "mark"}, 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. // Make a vector of args, instead of argc/argv.
std::vector <std::string> args; std::vector <std::string> args;
for (int i = 0; i < argc; i++) for (int i = 0; i < argc; i++)

View file

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