summaryrefslogtreecommitdiff
path: root/src/command_manager.hh
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2012-07-31 14:22:57 +0200
committerMaxime Coste <frrrwww@gmail.com>2012-07-31 14:22:57 +0200
commit36070dd429af69f1042f4ee56488a960c4d8e7ef (patch)
treebdf9ab393e5b8e632a46319d4d3923fe19608e37 /src/command_manager.hh
parentac2676cbcfa3be81b6136efc28b009bc25489c30 (diff)
CommandManager: rework command parser
a new type of strings is supported inspired by the ruby strings. %<delimiter>content<delimiter>, if opening delimiter is one of ([{<, then closing delimiter is the matching )]}> and balanced delimiters in the string needs not to be escaped, else the closing delimiter is the same as the opening one. shell expansion is available through %sh<delimiter>command<delimiter> syntax. Command flags have been removed, as these strings provide proper nesting support, so now, you can for example do: def command %{ echo %sh{ ls } }
Diffstat (limited to 'src/command_manager.hh')
-rw-r--r--src/command_manager.hh10
1 files changed, 0 insertions, 10 deletions
diff --git a/src/command_manager.hh b/src/command_manager.hh
index 134dbd48..a0609c5e 100644
--- a/src/command_manager.hh
+++ b/src/command_manager.hh
@@ -72,13 +72,6 @@ private:
class CommandManager : public Singleton<CommandManager>
{
public:
- enum Flags
- {
- None = 0,
- IgnoreSemiColons = 1,
- DeferredShellEval = 2,
- };
-
void execute(const String& command_line, const Context& context,
const EnvVarMap& env_vars = EnvVarMap());
void execute(const CommandParameters& params, const Context& context,
@@ -90,19 +83,16 @@ public:
void register_command(const String& command_name,
Command command,
- unsigned flags = None,
const CommandCompleter& completer = CommandCompleter());
void register_commands(const memoryview<String>& command_names,
Command command,
- unsigned flags = None,
const CommandCompleter& completer = CommandCompleter());
private:
struct CommandDescriptor
{
Command command;
- unsigned flags;
CommandCompleter completer;
};
std::unordered_map<String, CommandDescriptor> m_commands;