summaryrefslogtreecommitdiff
path: root/src/command_manager.hh
AgeCommit message (Collapse)Author
2014-10-23centralize bit operation support for enum used as flagsMaxime Coste
2014-06-06Replace CommandManager::register_command*s* with register_aliasMaxime Coste
2014-05-07Improve error reporting when parsing commandsMaxime Coste
*debug* will contain line and column informations along with the responsible command name.
2014-04-21Use StringView in CommandManagerMaxime Coste
2014-04-08formatting changes in command_manager.ccMaxime Coste
2014-03-02Add a docstring to commandsMaxime Coste
2014-03-02Add command switches information, and automatically display itMaxime Coste
2014-03-02All commands now take directly a parameter parserMaxime Coste
The command parameters description are now stored in a ParameterDesc structure.
2014-01-27Fix compilation with clang 3.4Maxime Coste
2014-01-27Rework command completion to allow partial token completionMaxime Coste
Implement hook completion. fixes #44
2013-12-24CommandManager: use aliases for commands rather than duplicating dataMaxime Coste
Completion now only proposes full command names
2013-11-12Add support for hidden commands, that will not show on completionMaxime Coste
2013-11-04Add automatic completion display in prompt modeMaxime Coste
Controlled by the autoshowcompl option Completers now take a CompletionFlag parameter, used to specify we want fast completion (tag completion can be slow, we do not want to run it if not explicitely wanted by the user).
2013-07-28Minor code cleanupsMaxime Coste
2013-07-26memoryview: always pass by valueMaxime Coste
2013-04-09sort includes directivesMaxime Coste
2013-04-03fix compilation with clang++Maxime Coste
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