summaryrefslogtreecommitdiff
path: root/src/command_manager.hh
AgeCommit message (Collapse)Author
2012-11-22code style cleanup in CommandManagerMaxime Coste
2012-11-21CommandManager: diagnose unterminated stringsMaxime Coste
2012-11-21move wrong_argument_count to commands.cc, where it is usedMaxime Coste
2012-10-11use ByteCount instead of CharCount when we are really counting bytesMaxime Coste
(that is most of the time when we are not concerned with displaying)
2012-09-09Add support for shell script parametersMaxime Coste
Now %sh{ ... } can access positional parameters through standard shell construct, allowing simple handling of variable parameters. def command accepts -shell-params flag to use this facility.
2012-08-23use a strongly typed int CharCount for character countsMaxime Coste
2012-08-06Commands take a mutable context, main_context is gone !Maxime Coste
2012-08-06Completions functions take a Context parameterMaxime Coste
2012-08-06command_manager: cleanup command execution, lazy exec shell commandsMaxime Coste
2012-08-01Tokens are CommandManager implementation detailsMaxime Coste
CommandParameters go back to memoryview<String>
2012-07-31CommandManager: rework command parserMaxime Coste
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 } }
2012-07-31CommandParameters is a list of Tokens instead of StringsMaxime Coste
CommandManager string parsing is less ad-hoc.
2012-06-02The def command do not override commands by default, use -allow-overrideMaxime Coste
2012-05-29CommandManager::execute can take an optional EnvVarMap argument which is ↵Maxime Coste
used for shell evaluation
2012-04-14replace std::string references with StringMaxime Coste
2012-02-13Support `shell commands` expansion in CommandManagerMaxime Coste
2012-02-03use memoryview instead of std::vector where applicableMaxime Coste
2012-01-15CommandManager: add flags support and IgnoreSemiColons flagMaxime Coste
commands are now registred with flags, and the IgnoreSemiColons flag permit to specify a command which needs all the parameters on the line, bypassing the command sequence operator ';'. the hook command is tagged as such.
2012-01-14CommandManager: use directly first command parameter as the command nameMaxime Coste
2011-11-26Add a Context parameter to commandsMaxime Coste
2011-09-23CommandManager: now a singletonMaxime Coste
2011-09-16CommandManager: support per command configurable completionMaxime Coste
2011-09-14Completion: dedicated completion header and basic filename completionMaxime Coste
2011-09-13CommandManager: basic command name completion supportMaxime Coste
2011-09-09exception: refactoringMaxime Coste
2011-09-07Refactor commands handling and parsing in a CommandManager classMaxime Coste