summaryrefslogtreecommitdiff
path: root/src/option_types.hh
AgeCommit message (Collapse)Author
2024-08-14Remove unused wrap_to and reduce string_utils headersMaxime Coste
2024-08-12Reduce headers dependency graphMaxime Coste
Move more code into the implementation files to reduce the amount of code pulled by headers.
2021-11-21Replace std::enable_if with requiresMaxime Coste
Introduce some concepts for enum and flags handling, goodbye and thanks for all the fish std::enable_if.
2020-09-09Add support for removing from optionsMaxime Coste
`set -remove ...` will remove from the current option value, substracting from int, removing elements from vectors and maps.
2019-06-27Fix quoting of tuple optionsMaxime Coste
Fixes #2990
2019-06-19Refactor option_to_string quoting support, introduce Quoting::RawMaxime Coste
2018-08-30Fix setting a prefix list option with an empty listMaxime Coste
Fixes #2335
2018-08-29Use shell specific quoting for env varsMaxime Coste
Add a test case to validate roundtrips between Kakoune and the shell.
2018-07-26Cleanup some trailing whitespaces and double semicolonMaxime Coste
2018-07-22Opt-in types for quoting of option listsMaxime Coste
This avoid quoting ints in int-lists for example, as they do not risk containing whitespaces. Fixes #2223
2018-07-05Make selection lists use the option list syntaxMaxime Coste
2018-07-05Change option lists to be specified as separate arguments on commands lineMaxime Coste
Option lists and maps are specified using separate arguments, avoiding the need for additional escaping of their separator and reusing the existing command line spliting logic instead. As discussed on #2087, this should make it much easier to work with list options, and make the general option system feel cleaner.
2018-05-28Fix clang compilationMaxime Coste
2018-05-27Refactor option_from_string to return directly the option valueMaxime Coste
2018-03-30Make set -add replace existing value when applied to a map optionMaxime Coste
2018-03-13ranges: Add transform overload taking directly a pointer to memberMaxime Coste
This overload will forward to the general transform implementation using std::mem_fn to generate a callable.
2018-01-18Use the _str and _sv string literals more oftenMaxime Coste
2017-12-06Remove Vector returning split functions, use range adaptorMaxime Coste
Do not allocate temporary vectors to store splitted data, use the 'split' range adaptor along with transform(unescape) to provide the same feature with less allocations.
2017-11-13Options: rework conversion to string of prefixed listsMaxime Coste
* use the list_separator variable instead of hard coding ':' * fix trailing separator when converting empty prefixed list to string * correctly escape the prefix in case it contains a separator
2017-11-13option_types.hh: fix unfulfilled dependencies of the headerMaxime Coste
2017-11-02Ensure line-specs and range-specs options are sorted internallyMaxime Coste
2017-09-07Fix typo: to many → too manyDelapouite
2017-08-29Rename containers.hh to ranges.hh (and Container to Range)Maxime Coste
2017-07-19More uses of standard type traits aliasesMaxime Coste
2017-07-19Cleanup some code with C++14 featuresMaxime Coste
2017-06-26Change completion_extra_word_char to be a list of codepoints instead of a stringMaxime Coste
2017-06-24Slight code refactoring and perf improvement in vector option to stringMaxime Coste
2017-06-03Support option_add for HashMap optionsMaxime Coste
Fixes #1407
2017-05-25Add an update-option command to update range-descs/line-descs optionsMaxime Coste
update-option will make the range-descs and line-descs option up to date with the latest buffer modfications, changing the ranges/lines to where they moved according the modifications since the timestamp on the option.
2017-05-24Small code tweakMaxime Coste
2017-03-16Fixes some clang-tidy warning and add a few missing meta.hh includeMaxime Coste
2017-03-16Try to clean up option include a bitMaxime Coste
2017-03-15Move enum/flags option functions to option_types.hhMaxime Coste
2017-03-15Remove unneeded 'valid' helper templateMaxime 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-15Migrate to a more value based meta programming modelMaxime Coste
Introduce Meta::Type<T> to store a type as value, and pass it around, migrate enum_desc and option_type_name to this.
2017-03-07Replace IdMap with HashMapMaxime Coste
2017-03-06Add support for HashMap options typesMaxime Coste
2016-12-30Use a struct WorstMatch instead of varargs for the fallback option_addMaxime Coste
varargs cannot handle non pod types.
2016-12-27Support set -add on flag typesMaxime Coste
Fixes #1082
2016-11-26Add a 'keys' debug flag, showing the keystrokes comming to clientsMaxime Coste
2016-10-10Convert some uses of lambda to more concise std::mem_fnMaxime Coste
2016-08-06Add information of types of optionsMaxime Coste
2016-04-04Use a specific option type completions for insert completionMaxime Coste
Fix escaping in jedi.kak as well
2015-12-12Use markup for line-flags instead of a single faceMaxime Coste
2015-12-12Store the buffer timestamp in line flags options respect it for highlightingMaxime Coste
Option content is auto updated to match current buffer, so that line flags are updated according to buffer modifications.
2015-12-12Pass directly the StringView to option_add and let it do the option parsingMaxime Coste
2015-11-21Add a profiling debug flag to get timings for hooks/shell evalMaxime Coste
2015-11-20Move enum option handling in enum.hh and refactor enum optionsMaxime Coste
2015-11-19Introduce a debug flags option to control some tracingMaxime Coste
Support shell|hooks and write traces in debug buffer