terminal/src/cascadia/TerminalCore
Dustin L. Howett 104a4e48bd
Refactor DEC/ANSI modes to avoid duplication when we add SM/RM (#8469)
I was about to add `SetAnsiMode`/`ResetAnsiMode` for `SM` and `RM` when I
realized that we probably don't need yet another enum of mode types, set and
reset functions, and a mode helper for ANSI standard modes when we already have
one for DEC Private modes.

This commit:

1. Changes the enum `PrivateModeParams` to just be `ModeParams`
2. Differentiates ANSI Standard modes (IRM, KAM, SRM, ...) from DEC
   Private modes (DECCOLM, DECCKM, ...) using a flag bit set in the enum
   value.
3. Introduces a helper class for constructing these values much like
   `VTID`. That helper takes a bitmask and applies it to an input to
   produce the final enum value.
4. Dispatches all mode set/reset through a common Set/Reset and
   `_ModeHelper` that uses the existing enum values.

[1] These modes are in separate namespaces with some overlap. We want to
differentiate them at dispatch time to ensure that `\e[2h` and `\e[?2h` are
given different treatment, and ensure that `\e[1000h` doesn't activate xterm
mouse mode.

Fixes #8457.
2020-12-03 21:51:59 +00:00
..
lib Remove all our path antics; force native projects to bin/, obj/ (#8062) 2020-10-27 15:00:41 -07:00
ControlKeyStates.hpp Manually pass mouse wheel messages to TermControls (#5131) 2020-04-01 16:58:16 +00:00
ICoreSettings.idl Add support for setting tabColor on the command line (#8102) 2020-11-19 20:36:18 -08:00
ITerminalApi.hpp Implement ConEmu's OSC 9;4 to set the taskbar progress indicator (#8055) 2020-11-18 14:24:11 -08:00
ITerminalInput.hpp Pass mouse button state into HandleMouse instead of asking win32 (#6765) 2020-08-07 16:21:09 -07:00
packages.config Update C++/WinRT to 2.0.201017.1 (#8061) 2020-10-27 20:15:30 +00:00
pch.cpp Initial release of the Windows Terminal source code 2019-05-02 15:29:04 -07:00
pch.h Add support for per-profile tab colors (#7162) 2020-08-07 16:07:42 -07:00
Terminal.cpp Add support for setting tabColor on the command line (#8102) 2020-11-19 20:36:18 -08:00
Terminal.hpp Add support for setting tabColor on the command line (#8102) 2020-11-19 20:36:18 -08:00
TerminalApi.cpp Implement ConEmu's OSC 9;4 to set the taskbar progress indicator (#8055) 2020-11-18 14:24:11 -08:00
terminalcore-common.vcxitems Unify and clean up the common build properties (#3429) 2019-11-05 14:29:11 -08:00
TerminalDispatch.cpp Refactor DEC/ANSI modes to avoid duplication when we add SM/RM (#8469) 2020-12-03 21:51:59 +00:00
TerminalDispatch.hpp Refactor DEC/ANSI modes to avoid duplication when we add SM/RM (#8469) 2020-12-03 21:51:59 +00:00
TerminalDispatchGraphics.cpp Refactor VT parameter handling (#7799) 2020-10-15 16:12:52 +00:00
terminalrenderdata.cpp Add support for autodetecting URLs and making hyperlinks (#7691) 2020-10-28 20:24:43 +00:00
TerminalSelection.cpp Refactor the renderer color calculations (#6853) 2020-07-10 22:26:34 +00:00