update string search logic to use brute-force for a full string, not just a single char
(ref. c++17/c++20 algorithm std::search defaults)
original code mixed lineview/buffer logic outside of the terminal parser
instead, make sure that delimited classes never return delimiter itself
line classes do so as well, equaly handling both '\n' and '\r\n'
existing terminal api now handles implicitly terminated strings by default
reworked linebuffer initialization order to use inheritance in place of
plain member init. as a bonus, its main methods are no longer templated
reducing the resulting code size per linebuffer specialization (not by very much, though)
- extra flag to include new-line after the input ends
- keep tokens sv to the original string.
unless escaped characters appear, prefer to not make extra buffers
(only matters for >12byte tokens; smaller strings do not allocate)
- keep remaining sv, after line break encountered by the parser.
update api caller to re-use the parser, no need for a separate line delim class
Deprecated flag `color_mode` used in MQTT JSON light config , the `color_mode` flag is not used anymore and should be removed.
...
This will stop working in Home Assistant Core 2025.3
- halt methods when reset() does not result in PRESENCE pulse
clear up naming, separate reset() and presence() check
- port search, writes and requests are logged
- wire reset is logged
as usual with older code, use global namespace { ... } instead of static
public functions from .h moved to the very end of the file
fixup module:: and keys:: references
broken in c45a1ec097 converting from ptr to sv
point to the null char, not the actual buffer storage end
resulting sv length is off-by-one, unless converted to a string obj
update tests & externalize event hanlding implementation
prevent spurious .last == .next when .next never did or cannot happen
ref. 758ff844, in case update routine is called repeatedly
ref. #2629, 'event' should output coherent values
de-hardcode sch and led enumeration types from .html
publish raw type & pretty-string from .cpp indexed settings
de-fpstr string view references, use the object directly
publish 'faulty' schedule specs indexes, focus & report elems
ref. #2626
should fix faulty enum<->number references in selects
ref. #2628 - schedule types were numeric, while websocket delivered strings