diff --git a/src/Cmd.cpp b/src/Cmd.cpp index a68a4cd0c..457f11f04 100644 --- a/src/Cmd.cpp +++ b/src/Cmd.cpp @@ -109,6 +109,7 @@ void Cmd::load () commands.push_back ("_tags"); commands.push_back ("_commands"); commands.push_back ("_ids"); + commands.push_back ("_config"); commands.push_back (context.stringtable.get (CMD_ADD, "add")); commands.push_back (context.stringtable.get (CMD_APPEND, "append")); commands.push_back (context.stringtable.get (CMD_ANNOTATE, "annotate")); @@ -189,6 +190,7 @@ bool Cmd::isReadOnlyCommand () command == "_tags" || command == "_commands" || command == "_ids" || + command == "_config" || command == context.stringtable.get (CMD_CALENDAR, "calendar") || command == context.stringtable.get (CMD_COLORS, "colors") || command == context.stringtable.get (CMD_EXPORT, "export") || diff --git a/src/Context.cpp b/src/Context.cpp index f2012f4b5..179d218c7 100644 --- a/src/Context.cpp +++ b/src/Context.cpp @@ -202,6 +202,7 @@ std::string Context::dispatch () else if (cmd.command == "_tags") { out = handleCompletionTags (); } else if (cmd.command == "_commands") { out = handleCompletionCommands (); } else if (cmd.command == "_ids") { out = handleCompletionIDs (); } + else if (cmd.command == "_config") { out = handleCompletionConfig (); } else if (cmd.command == "" && sequence.size ()) { out = handleModify (); } diff --git a/src/command.cpp b/src/command.cpp index 76af86638..b15d8dde8 100644 --- a/src/command.cpp +++ b/src/command.cpp @@ -330,6 +330,20 @@ std::string handleCompletionCommands () return out.str (); } +//////////////////////////////////////////////////////////////////////////////// +std::string handleCompletionConfig () +{ + std::vector configs; + context.config.all (configs); + std::sort (configs.begin (), configs.end ()); + + std::stringstream out; + foreach (config, configs) + out << *config << std::endl; + + return out.str (); +} + //////////////////////////////////////////////////////////////////////////////// std::string handleCompletionIDs () { diff --git a/src/main.h b/src/main.h index f049738b8..81ef9c85d 100644 --- a/src/main.h +++ b/src/main.h @@ -66,6 +66,7 @@ std::string handleTags (); std::string handleCompletionTags (); std::string handleCompletionCommands (); std::string handleCompletionIDs (); +std::string handleCompletionConfig (); std::string handleVersion (); std::string handleDelete (); std::string handleStart ();