Description
Both these classes are doing a lot of the nearly same work at this point. We should probably not, and have more common implementations somehow.
IIRC, when I was writing it, I think part of the idea was to move ITerminalApi
up and out of the Terminal to be shared, then have one Dispatch that calls into the API, then an adapter between that API and the conhost API
This is a super crude diagram
+------------------+
| OutputEngine |
+---------+--------+
|
+---------v--------+
| OutputDispatch |
+--------+---------+
|
+--------v---------+
| ITerminalApi |
+---+------------+-+
| |
| |
+------------v--+ +---v------------+
| Terminal | | HostAdapter |
+---------------+ +-------+--------+
|
+-------v--------+
| outputStream |
| + |
| | |
| v |
| getset |
+----------------+
In this model, Terminal
and HostAdapter
both implement ITerminalApi
, so there only needs to be one Dispatcher. HostAdapter
then calls into the conGetSet
API we already have.
This would pretty horribly break tests that test the existing structure :/
I could be horribly off base with this though. I came up with this idea like 9 months ago and never wrote it down.
- Should the bold/bright attribute apply to SGR 38/48 indexed colors? #5384 (xterm indexed color problem)