terminal/src/cascadia/UnitTests_TerminalCore
Leonard Hecker a8e4bedae3
Introduce til::rle - a run length encoded vector (#10099)
## Summary of the Pull Request

Introduces `til::rle`, a vector-like container which stores elements of
type T in a run length encoded format. This allows efficient compaction
of repeated elements within the vector.

## References

* #8000 - Supports buffer rewrite work. A re-use of `til::rle` will be
  useful as a column counter as we pursue NxM storage and presentation.
* #3075 - The new iterators allow skipping forward by multiple units,
  which wasn't possible under `TextBuffer-/OutputCellIterator`.
  Additionally it also allows a bulk insertions.
* #8787 and #410 - High probability this should be `pmr`-ified
  like `bitmap` for things like `chafa` and `cacafire`
  which are changing the run length frequently.

## PR Checklist

* [x] Closes #8741
* [x] I work here.
* [x] Tests added.
* [x] Tests passed.

## Validation Steps Performed

* [x] Ran `cacafire` in `OpenConsole.exe` and it looked beautiful
* [x] Ran new suite of `RunLengthEncodingTests.cpp`

Co-authored-by: Michael Niksa <miniksa@microsoft.com>
2021-05-20 17:27:50 +00:00
..
ConptyRoundtripTests.cpp Introduce til::rle - a run length encoded vector (#10099) 2021-05-20 17:27:50 +00:00
InputTest.cpp Fix SendInput handling (#7900) 2020-10-27 19:06:29 +00:00
MockTermSettings.h Add a setting to disable URL detection (#10022) 2021-05-17 04:20:09 +00:00
pch.cpp Move ICore/ControlSettings to TerminalControl project (#7167) 2020-08-07 14:46:52 +00:00
pch.h Introduce MS.Term.Core.Color to replace W.U.Color for Core/Control/TSM (#9658) 2021-03-30 20:15:49 +00:00
ScreenSizeLimitsTest.cpp Rename Microsoft.Terminal.TerminalControl to .Control; Split into dll & lib (#9472) 2021-03-17 20:47:24 +00:00
ScrollTest.cpp Fix TerminalControl crash on exit (#10031) 2021-05-04 21:17:37 +00:00
SelectionTest.cpp Rename Microsoft.Terminal.TerminalControl to .Control; Split into dll & lib (#9472) 2021-03-17 20:47:24 +00:00
TerminalApiTest.cpp Allow trailing semicolon when parsing OSC 9;4 (#10024) 2021-05-05 18:12:55 +00:00
TerminalBufferTests.cpp Initial Implementation for tab stops in TerminalDispatch (#9597) 2021-04-16 16:26:28 +00:00
TestUtils.h Fix wrapped lines in less in Git for Windows (#5771) 2020-05-08 21:22:09 +00:00
UnitTests.vcxproj Link to WinMM.Lib for PlaySound with 19041 (#9624) 2021-03-26 11:35:17 -05:00