terminal/src/terminal/adapter
Mike Griese dec5c11e19
Add support for passing through extended text attributes, like… (#2917)
## Summary of the Pull Request
Adds support for Italics, Blinking, Invisible, CrossedOut text, THROUGH CONPTY. This does **NOT** add support for those styles to conhost or the terminal.

We will store these "Extended Text Attributes" in a `TextAttribute`. When we go to render a line, we'll see if the state has changed from our previous state, and if so, we'll appropriately toggle that state with VT. Boldness has been moved from a `bool` to a single bit in these flags.

Technically, now that these are stored in the buffer, we only need to make changes to the renderers to be able to support them. That's not being done as a part of this PR however.

## References
See also #2915 and #2916, which are some follow-up tasks from this fix. I thought them too risky for 20H1.

## PR Checklist
* [x] Closes #2554
* [x] I work here
* [x] Tests added/passed
* [n/a] Requires documentation to be updated


<hr>

* store text with extended attributes too

* Plumb attributes through all the renderers

* parse extended attrs, though we're not renderering them right

* Render these states correctly

* Add a very extensive test

* Cleanup for PR

* a block of PR feedback

* add 512 test cases

* Fix the build

* Fix @carlos-zamora's suggestions

* @miniksa's PR feedback
2019-10-04 15:53:54 -05:00
..
lib Initial release of the Windows Terminal source code 2019-05-02 15:29:04 -07:00
ut_adapter Add support for passing through extended text attributes, like… (#2917) 2019-10-04 15:53:54 -05:00
adaptDefaults.hpp Initial release of the Windows Terminal source code 2019-05-02 15:29:04 -07:00
adaptDispatch.cpp Add support for passing through extended text attributes, like… (#2917) 2019-10-04 15:53:54 -05:00
adaptDispatch.hpp Add support for passing through extended text attributes, like… (#2917) 2019-10-04 15:53:54 -05:00
adaptDispatchGraphics.cpp Add support for passing through extended text attributes, like… (#2917) 2019-10-04 15:53:54 -05:00
conGetSet.hpp Add support for passing through extended text attributes, like… (#2917) 2019-10-04 15:53:54 -05:00
dirs Initial release of the Windows Terminal source code 2019-05-02 15:29:04 -07:00
DispatchCommon.cpp add clang-format conf to the project, format the c++ code (#1141) 2019-06-11 13:27:09 -07:00
DispatchCommon.hpp add clang-format conf to the project, format the c++ code (#1141) 2019-06-11 13:27:09 -07:00
DispatchTypes.hpp Add support for passing through extended text attributes, like… (#2917) 2019-10-04 15:53:54 -05:00
IInteractDispatch.hpp add clang-format conf to the project, format the c++ code (#1141) 2019-06-11 13:27:09 -07:00
InteractDispatch.cpp Fix a crash on restore down (#2149) 2019-07-30 17:01:27 -05:00
InteractDispatch.hpp add clang-format conf to the project, format the c++ code (#1141) 2019-06-11 13:27:09 -07:00
ITermDispatch.hpp Support VT100 DECOM Origin Mode (#1331) 2019-07-02 11:17:04 -07:00
MouseInput.cpp add clang-format conf to the project, format the c++ code (#1141) 2019-06-11 13:27:09 -07:00
MouseInput.hpp add clang-format conf to the project, format the c++ code (#1141) 2019-06-11 13:27:09 -07:00
precomp.cpp Initial release of the Windows Terminal source code 2019-05-02 15:29:04 -07:00
precomp.h Initial release of the Windows Terminal source code 2019-05-02 15:29:04 -07:00
runtest.bat Initial release of the Windows Terminal source code 2019-05-02 15:29:04 -07:00
sources.inc inbox: merge refactoring payload from FI 2019-06-11 17:01:26 -07:00
telemetry.cpp Initial release of the Windows Terminal source code 2019-05-02 15:29:04 -07:00
telemetry.hpp Initial release of the Windows Terminal source code 2019-05-02 15:29:04 -07:00
termDispatch.hpp Support VT100 DECOM Origin Mode (#1331) 2019-07-02 11:17:04 -07:00
terminalOutput.cpp Fix a couple of the DEC Special Graphics characters (#2081) 2019-07-24 21:55:59 -07:00
terminalOutput.hpp add clang-format conf to the project, format the c++ code (#1141) 2019-06-11 13:27:09 -07:00
tracing.cpp Initial release of the Windows Terminal source code 2019-05-02 15:29:04 -07:00
tracing.hpp Initial release of the Windows Terminal source code 2019-05-02 15:29:04 -07:00