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 |
||
---|---|---|
.. | ||
at.h | ||
atomic.h | ||
bitmap.h | ||
coalesce.h | ||
color.h | ||
enumset.h | ||
latch.h | ||
math.h | ||
mutex.h | ||
operators.h | ||
pmr.h | ||
point.h | ||
rand.h | ||
rectangle.h | ||
replace.h | ||
rle.h | ||
size.h | ||
some.h | ||
spsc.h | ||
static_map.h | ||
string.h | ||
throttled_func.h | ||
ticket_lock.h | ||
u8u16convert.h |