terminal/src/cascadia/LocalTests_SettingsModel
Leonard Hecker 479ef264b2
Implement basic profile matching (#11390)
This implements command line matching for `CascadiaSettings::GetProfileForArgs`.
The command lines for all user profiles are resolved to absolute file paths,
argument quotes are standardized ("canonicalized") and the results are cached.

When `GetProfileForArgs` is called with a Commandline() value, we "canonicalize"
the argument as well and find the profile that is the longest prefix.
If none could be found the default profile is returned.

## PR Checklist
* [x] Closes #9458
* [x] Closes #10952
* [x] I work here
* [ ] Tests added/passed

## Validation Steps Performed

* Open a `cmd.exe` tab in the store-version of WT
* Run `start cmd`
  --> A tab with the `cmd.exe` profile opens
* Run `start pwsh.exe`
  --> A tab with the PowerShell 7 profile opens
* Run PowerShell 7 from the start menu
  --> A tab with the PowerShell 7 profile opens
* Create a symlink for PowerShell 7 and launch `pwsh.exe` from there
  --> A tab with the PowerShell 7 profile opens
2021-10-08 00:40:10 +00:00
..
ColorSchemeTests.cpp Reduce usage of Json::Value throughout Terminal.Settings.Model (#11184) 2021-09-22 16:27:31 +00:00
CommandTests.cpp Properly escape constructed wt command-lines (#11314) 2021-09-24 16:17:16 +00:00
DeserializationTests.cpp Fix failing TestHostApp unit tests (#11394) 2021-10-05 18:21:03 +00:00
JsonTestClass.h Reduce usage of Json::Value throughout Terminal.Settings.Model (#11184) 2021-09-22 16:27:31 +00:00
KeyBindingsTests.cpp Reduce usage of Json::Value throughout Terminal.Settings.Model (#11184) 2021-09-22 16:27:31 +00:00
LocalTests_SettingsModel.def Introduce TerminalSettingsModel project (#7667) 2020-10-06 09:56:59 -07:00
pch.cpp Introduce TerminalSettingsModel project (#7667) 2020-10-06 09:56:59 -07:00
pch.h Introduce MS.Term.Core.Color to replace W.U.Color for Core/Control/TSM (#9658) 2021-03-30 20:15:49 +00:00
ProfileTests.cpp Fix layering issues with CascadiaSettings::_createNewProfile (#11447) 2021-10-07 16:30:34 +00:00
SerializationTests.cpp Fix failing TestHostApp unit tests (#11394) 2021-10-05 18:21:03 +00:00
SettingsModel.LocalTests.vcxproj Update to MUX 2.7 (#11240) 2021-09-20 22:08:55 +00:00
TerminalSettingsTests.cpp Implement basic profile matching (#11390) 2021-10-08 00:40:10 +00:00
TestUtils.h Use WinRT VirtualKeyModifiers instead of a custom enum (#10603) 2021-07-12 21:24:26 +00:00