479ef264b2
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 |
||
---|---|---|
.. | ||
Resources/en-US | ||
AzureClient.h | ||
AzureClientID.h | ||
AzureConnection.cpp | ||
AzureConnection.h | ||
AzureConnection.idl | ||
ConnectionInformation.cpp | ||
ConnectionInformation.h | ||
ConnectionInformation.idl | ||
ConnectionStateHolder.h | ||
ConptyConnection.cpp | ||
ConptyConnection.h | ||
ConptyConnection.idl | ||
CTerminalHandoff.cpp | ||
CTerminalHandoff.h | ||
EchoConnection.cpp | ||
EchoConnection.h | ||
EchoConnection.idl | ||
init.cpp | ||
ITerminalConnection.idl | ||
packages.config | ||
pch.cpp | ||
pch.h | ||
TerminalConnection.def | ||
TerminalConnection.vcxproj | ||
TerminalConnection.vcxproj.filters |