summaryrefslogtreecommitdiff
path: root/src/command_manager.hh
AgeCommit message (Collapse)Author
2018-07-05Make expansion of strings support quoting of % by doubling upMaxime Coste
2018-02-15CommandManager: refactor parsing of commands to iterate through tokensMaxime Coste
Avoid storing a big vector of tokens, read them one by one, and store only the current command.
2018-02-09CommandManager: Use byte rather than columns for token positionsMaxime Coste
Not only are display columns rarely used to give error positions, but they make the parsing much slower as for each token we need to compute the column in the line.
2017-11-04CommandManager: tweak namingMaxime Coste
2017-09-01Make Token a simple aggregateMaxime Coste
2017-06-29Remove some dead codeMaxime Coste
2017-04-10Remove some now unneeded uses of const String& paramsMaxime Coste
HashMap supports finding String from StringView.
2017-03-16Fixes some clang-tidy warning and add a few missing meta.hh includeMaxime Coste
2017-03-15Small code tweaks regarding flags handlingMaxime Coste
2017-03-15Migrate WithBitOps template specialization to with_bit_ops functionMaxime Coste
This way we dont depend on knowing the base template to enable bit ops on an enum type.
2017-03-07Replace uses of UnorderedMap with HashMapMaxime Coste
2017-01-29Detect too deep command call stackMaxime Coste
Fixes #1163
2016-12-23Display the command prompt in error face when the command is not foundMaxime Coste
Fixes #1021
2016-12-07Ensure content of expanded strings in modelinefmt is not interpreted as markupMaxime Coste
2016-10-01Support codepoints of variable widthMaxime Coste
Add a ColumnCount type and use it in place of CharCount whenever more appropriate, take column size of codepoints into account for vertical movements and docstring wrapping. Fixes #811
2016-09-18Rewrite PerArgumentCommandCompleter to use compile time dispatchingMaxime Coste
No need to store these vectors of std::functions around anymore.
2016-08-05Regenerate shell-candidates for each completion sessionsMaxime Coste
That should allow fixing the #665 issue while still avoiding to run a potentially long shell command on each keystroke.
2016-03-24Add completion support for alias/unalias commandsMaxime Coste
2016-03-08Use ranked match based completion for command namesMaxime Coste
2015-12-12Optimize the dynregex case where the expression refers directly to a regex ↵Maxime Coste
option
2015-10-23Fix optimized linkageMaxime Coste
2015-10-22Pass ShellContext to commandsMaxime Coste
Fix #427
2015-10-22Wrap the shell params en env vars in a ShellContext structMaxime Coste
2015-09-19Initial support for user configurable modeline with the modelinefmt optionMaxime Coste
modelinefmt is first sent through a command line expander (so %sh{...}, %val{...} et al. are expanded), then through markup expand (so that {face} are interpreted as well)
2015-06-26Add support for command completion on commands, use it for :newMaxime Coste
That means commands can be completed using other commands and their completers. Yes that does makes sense. Closes #296
2015-05-04Make expand function (that expand %...{} tokens) publicMaxime Coste
2015-03-09ArrayView content is not const anymoreMaxime Coste
As in upcoming std c++ array_view, ArrayView<T> points to mutable data, use ArrayView<const T> or alias ConstArrayView<T> for const data.
2015-02-08Add optional helper for commands, to get parameter dependent helpMaxime Coste
Use for the set command to document options.
2015-01-12Yet more trackingMaxime Coste
2015-01-06Rename memoryview to ArrayViewMaxime Coste
2014-12-16Rework hashing, use a more extensible framework similar to n3876 proposalMaxime Coste
std::hash specialization is a pain to work with, stop using that, and just specialize a 'size_t hash_value(const T&)' free function.
2014-10-30Add scoped aliasesMaxime Coste
aliases are now stored in window, buffer, or globally.
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