The ostream previous settings should be rolled back after current style rendering.
Currently we use rang::style::reset after rendering which works fine for serialized styles but not work for embedded styles:
serialize rendering:
ostream << style-1 << style-2 << ...
embedded rendering:
ostream << style-1(style-2(style-3("hello"), "world"), "!");
The ostream setting PUSH / POP should be used to make sure the setting of outer style won't be destroyed by inner style.
The ostream previous settings should be rolled back after current style rendering.
Currently we use rang::style::reset after rendering which works fine for serialized styles but not work for embedded styles:
serialize rendering:
ostream << style-1 << style-2 << ...
embedded rendering:
ostream << style-1(style-2(style-3("hello"), "world"), "!");
The ostream setting PUSH / POP should be used to make sure the setting of outer style won't be destroyed by inner style.