terminal/doc
Danny Weinberg 282670a092
Allow copying with ANSI escape code control sequences (#17059)
## Summary of the Pull Request

This extends the copy command to be able to include control sequences,
for use in tools that subsequently know how to parse and display that.

## References and Relevant Issues

https://github.com/microsoft/terminal/issues/15703

## Detailed Description of the Pull Request / Additional comments

At a high level, this:
- Expands the `CopyTextArgs` to have a `withControlSequences` bool.
- Plumbs that bool down through many layers to where we actuall get
  data out of the text buffer.
- Modifies the existing `TextBuffer::Serialize` to be more generic
  and renames it to `TextBuffer::ChunkedSerialize`.
- Uses the new `ChunkedSerialize` to generate the data for the copy
  request.

## Validation Steps Performed

To test this I've manually:
- Generated some styled terminal contents, copied it with the control
  sequences, pasted it into a file, `cat`ed the file and seen that it
  looks the same.
- Set `"firstWindowPreference": "persistedWindowLayout"` and
  validated that the contents of windows are saved and
  restored with styling intact.

I also checked that `Invoke-OpenConsoleTests` passed.

## PR Checklist
- [x] Closes #15703
- [ ] Tests added/passed
- [x] Documentation updated
- If checked, please file a pull request on [our docs
repo](https://github.com/MicrosoftDocs/terminal) and link it here:
https://github.com/MicrosoftDocs/terminal/pull/756
- [x] Schema updated (if necessary)
2024-11-20 17:03:04 +01:00
..
cascadia Allow copying with ANSI escape code control sequences (#17059) 2024-11-20 17:03:04 +01:00
images Run all images through ImgBot (#8169) 2020-11-05 18:03:40 -08:00
reference Fix the spellbot (#8259) 2020-11-13 09:45:08 -08:00
specs Add a spec for an In-process ConPTY (#17387) 2024-07-30 11:35:42 -05:00
user-docs doc: add a link to MSYS2's WT profiles page (#8060) 2020-10-27 13:27:00 -07:00
AddASetting.md Minor grammar fixes for the vintage AddASetting.md doc (#16188) 2023-12-05 15:39:00 -06:00
COOKED_READ_DATA.md Use VT for COOKED_READ_DATA (#17445) 2024-07-11 20:11:44 +00:00
ConsoleCtrlEvent.md Fixed typo's and improved consistency. (#704) 2019-05-15 21:02:42 -07:00
ConsoleHostSettings.md Update to check-spelling v0.0.21 (#14455) 2022-11-28 13:35:07 -06:00
Debugging.md doc: Add debugging notes on DebugBreak (#4163) 2020-01-09 17:56:05 -08:00
EXCEPTIONS.md Fixed grammatical error (#11604) 2021-10-25 06:16:30 -05:00
Niksa.md Check spelling 0.0.22 (#16127) 2023-12-05 15:40:23 -08:00
ORGANIZATION.md A minor TSF refactoring (#17067) 2024-04-18 17:47:28 +00:00
STYLE.md Converts Dispatcher().RunAsync to WinRT Coroutines (#4051) 2020-01-10 03:29:49 +00:00
TAEF.md doc: fix typo in TAEF.md (#10424) 2021-06-14 10:06:01 -07:00
UniversalTest.md Fixed typo's and improved consistency. (#704) 2019-05-15 21:02:42 -07:00
WIL.md Change backslashes in include statements to forward slashes (#8205) 2020-11-25 21:02:10 +00:00
WindowsTestPasses.md Fixed typo's and improved consistency. (#704) 2019-05-15 21:02:42 -07:00
bot.md Fix link to Fabric Bot (#9988) 2021-04-30 13:09:22 +00:00
building.md Add some docs on how to resolve `DEP0700` errors in VS (#16997) 2024-04-02 10:07:33 -07:00
color_nudging.html Use Oklab for text and cursor contrast adjustments (#15283) 2023-05-08 19:16:26 +00:00
creating_a_new_project.md Remove all our path antics; force native projects to bin/, obj/ (#8062) 2020-10-27 15:00:41 -07:00
feature_flags.md Make ToolsVersion more consistent in our project files (#13535) 2022-07-26 22:31:42 +00:00
fuzzing.md Setup OneFuzz for CI (#10431) 2022-01-21 18:24:06 +00:00
roadmap-2022.md Update paths to use linking within repo instead of github URL (#16358) 2023-11-27 15:41:17 -08:00
roadmap-2023.md Update paths to use linking within repo instead of github URL (#16358) 2023-11-27 15:41:17 -08:00
submitting_code.md Prepare for the primary branch name to change to main (#7985) 2020-10-21 17:29:36 -07:00
terminal-a11y-2023.md Introduce WT A11y Proposal 2023 (#14319) 2022-12-13 10:22:29 -08:00
terminal-v1-roadmap.md doc: update roadmap with proper v1 release date (#4860) 2020-03-09 17:04:54 -07:00
terminal-v2-roadmap.md Update paths to use linking within repo instead of github URL (#16358) 2023-11-27 15:41:17 -08:00
virtual-dtors.md Fix a bunch of spelling errors across the project (#4295) 2020-02-10 20:40:01 +00:00