From b624aee186b5a7726c7930b19c3848245632f76e Mon Sep 17 00:00:00 2001 From: Paul Beckingham Date: Sat, 2 Apr 2016 13:09:53 -0400 Subject: [PATCH] =?UTF-8?q?init:=20Initalize=D1=95=20CLI=20entities?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/init.cpp | 26 ++++++++++++++++++++++++++ src/timew.cpp | 8 +++++++- src/timew.h | 2 ++ 3 files changed, 35 insertions(+), 1 deletion(-) diff --git a/src/init.cpp b/src/init.cpp index 95bf627f..3d87ff87 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -25,6 +25,7 @@ //////////////////////////////////////////////////////////////////////////////// #include +#include #include #include #include @@ -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, diff --git a/src/timew.cpp b/src/timew.cpp index ca13347d..5dd5e815 100644 --- a/src/timew.cpp +++ b/src/timew.cpp @@ -25,10 +25,11 @@ //////////////////////////////////////////////////////////////////////////////// #include +#include +#include #include #include #include -#include #include #include #include @@ -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 args; for (int i = 0; i < argc; i++) diff --git a/src/timew.h b/src/timew.h index 5e4b2ef3..60a0b6ab 100644 --- a/src/timew.h +++ b/src/timew.h @@ -27,6 +27,7 @@ #ifndef INCLUDED_TIMEW #define INCLUDED_TIMEW +#include #include #include #include @@ -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 &, Database&, Rules&, Extensions&, Log&);