#ifndef highlighters_hh_INCLUDED #define highlighters_hh_INCLUDED #include "color.hh" #include "highlighter.hh" #include "option.hh" namespace Kakoune { void register_highlighters(); struct InclusiveBufferRange{ BufferCoord first, last; }; inline bool operator==(const InclusiveBufferRange& lhs, const InclusiveBufferRange& rhs) { return lhs.first == rhs.first and lhs.last == rhs.last; } String option_to_string(InclusiveBufferRange range); InclusiveBufferRange option_from_string(Meta::Type, StringView str); using LineAndSpec = std::tuple; using LineAndSpecList = TimestampedList; constexpr StringView option_type_name(Meta::Type) { return "line-specs"; } void option_update(LineAndSpecList& opt, const Context& context); void option_list_postprocess(Vector& opt); using RangeAndString = std::tuple; using RangeAndStringList = TimestampedList; constexpr StringView option_type_name(Meta::Type) { return "range-specs"; } void option_update(RangeAndStringList& opt, const Context& context); void option_list_postprocess(Vector& opt); bool option_add_from_strings(Vector& opt, ConstArrayView strs); } #endif // highlighters_hh_INCLUDED