init: Extensions are recorded as CLI entities

This commit is contained in:
Paul Beckingham 2016-04-09 10:44:38 -04:00
parent 6814c3d13b
commit 340b55e8bc
3 changed files with 7 additions and 4 deletions

View file

@ -79,8 +79,6 @@ void initializeEntities (CLI& cli)
cli.entity ("hint", ":quarter");
cli.entity ("hint", ":year");
cli.entity ("hint", ":fill");
// TODO Extension names.
}
////////////////////////////////////////////////////////////////////////////////
@ -163,6 +161,7 @@ void initializeDataAndRules (
////////////////////////////////////////////////////////////////////////////////
void initializeExtensions (
CLI& cli,
const Rules& rules,
Extensions& extensions)
{
@ -171,6 +170,10 @@ void initializeExtensions (
extensions.initialize (extDir._data);
// Add extensions as CLI entities.
for (auto& ext : extensions.all ())
cli.entity ("extension", File (ext).name ());
// Extensions have a debug mode.
if (rules.getBoolean ("debug"))
extensions.debug ();

View file

@ -72,7 +72,7 @@ int main (int argc, const char** argv)
// Load extension script info.
Extensions extensions;
initializeExtensions (rules, extensions);
initializeExtensions (cli, rules, extensions);
// Dispatch to commands.
status = dispatchCommand (cli, database, rules, extensions);

View file

@ -40,7 +40,7 @@
bool lightweightVersionCheck (int, const char**);
void initializeEntities (CLI&);
void initializeDataAndRules (const CLI&, Database&, Rules&);
void initializeExtensions (const Rules&, Extensions&);
void initializeExtensions (CLI&, const Rules&, Extensions&);
int dispatchCommand (const CLI&, Database&, Rules&, const Extensions&);
// helper.cpp