terminal/src
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
..
buffer Add support for passing through extended text attributes, like… (#2917) 2019-10-04 15:53:54 -05:00
cascadia Add support for passing through extended text attributes, like… (#2917) 2019-10-04 15:53:54 -05:00
host Add support for passing through extended text attributes, like… (#2917) 2019-10-04 15:53:54 -05:00
inc Add support for passing through extended text attributes, like… (#2917) 2019-10-04 15:53:54 -05:00
interactivity Add support for passing through extended text attributes, like… (#2917) 2019-10-04 15:53:54 -05:00
internal add clang-format conf to the project, format the c++ code (#1141) 2019-06-11 13:27:09 -07:00
propsheet Prevent the v1 propsheet from zeroing colors, causing black text on black background. (#2651) 2019-10-02 16:04:59 -07:00
propslib Prevent the v1 propsheet from zeroing colors, causing black text on black background. (#2651) 2019-10-02 16:04:59 -07:00
renderer Add support for passing through extended text attributes, like… (#2917) 2019-10-04 15:53:54 -05:00
server Rework locking and eventing during startup and shutdown to alleviate some VT issues (#2525) 2019-09-20 15:43:11 -07:00
terminal Add support for passing through extended text attributes, like… (#2917) 2019-10-04 15:53:54 -05:00
testlist inbox: Merge accumulated build fixes from RS_ONECORE_DEP_ACIOSS (#1002) 2019-05-24 12:28:30 -07:00
tools Retarget VtPipeTerm & terminalcore-lib to 18362 (#2885) 2019-09-25 15:09:56 -07:00
tsf Reflect inbox changes in 8c63dff 2019-09-03 13:32:31 -07:00
types Add support for passing through extended text attributes, like… (#2917) 2019-10-04 15:53:54 -05:00
winconpty Combined changes to make the build work again (see inside) (#2945) 2019-09-30 10:39:55 -07:00
common.build.dll.props Initial release of the Windows Terminal source code 2019-05-02 15:29:04 -07:00
common.build.exe.or.dll.props Switch to v5 UUIDs as profile GUIDs for the default profiles (#913) 2019-05-21 13:29:16 -07:00
common.build.exe.props Initial release of the Windows Terminal source code 2019-05-02 15:29:04 -07:00
common.build.lib.props Initial release of the Windows Terminal source code 2019-05-02 15:29:04 -07:00
common.build.post.props Attempt to clean up PCHs as we build to leave more Hosted Agent disk space (#2271) 2019-08-06 06:51:50 -05:00
common.build.pre.props Set utf-8 for the entire project (#1929) 2019-07-11 13:13:10 -07:00
common.build.tests.props Refactor TerminalApp and Add Tests for Xaml Content (#1164) 2019-07-15 14:27:56 -05:00
ConsolePerf.regions.xml Tab to spaces (#578) 2019-05-13 18:06:36 -07:00
ConsolePerf.wprp Tab to spaces (#578) 2019-05-13 18:06:36 -07:00
cppwinrt.build.post.props Update a number of our dependencies (#2301) 2019-08-07 16:43:49 -07:00
cppwinrt.build.pre.props warnings as errors for cppwinrt projects, then fix the warnings (#2660) 2019-09-04 16:43:45 -07:00
dirs Initial release of the Windows Terminal source code 2019-05-02 15:29:04 -07:00
project.inc inbox: merge refactoring payload from FI 2019-06-11 17:01:26 -07:00
project.unittest.inc inbox: merge refactoring payload from FI 2019-06-11 17:01:26 -07:00
StaticAnalysis.ruleset Combined changes to make the build work again (see inside) (#2945) 2019-09-30 10:39:55 -07:00
unit.tests.x64.runsettings Initial release of the Windows Terminal source code 2019-05-02 15:29:04 -07:00
unit.tests.x86.runsettings Initial release of the Windows Terminal source code 2019-05-02 15:29:04 -07:00
wap-common.build.post.props Initial release of the Windows Terminal source code 2019-05-02 15:29:04 -07:00
wap-common.build.pre.props Initial release of the Windows Terminal source code 2019-05-02 15:29:04 -07:00