terminal/src/inc/til
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
..
at.h Add support for more OSC color formats (#7578) 2020-10-14 17:29:10 -07:00
atomic.h Fix output stuttering using a ticket lock (#10653) 2021-07-14 23:41:22 +00:00
bitmap.h Eliminate more transient allocations: Titles and invalid rectangles and bitmap runs and utf8 conversions (#8621) 2021-02-16 20:52:33 +00:00
coalesce.h Make Global and Profile settings inheritable (#7923) 2020-10-27 17:35:09 +00:00
color.h Reduce usage of Json::Value throughout Terminal.Settings.Model (#11184) 2021-09-22 16:27:31 +00:00
enumset.h Add an enum-compatible bitset class. (#10492) 2021-09-27 13:27:29 +00:00
latch.h Introduce til/latch.h, til/mutex.h and til/throttled_func.h (#10403) 2021-06-22 20:16:31 +00:00
math.h add til::math, use it for float conversions to point, size (#5150) 2020-03-27 22:48:49 +00:00
mutex.h Introduce til/latch.h, til/mutex.h and til/throttled_func.h (#10403) 2021-06-22 20:16:31 +00:00
operators.h Render row-by-row instead of invalidating entire screen (#5185) 2020-04-13 20:09:02 +00:00
pmr.h Merged PR 5770253: [Git2Git] Merged PR 5760120: Add propsheet chooser to Windows 2021-03-10 01:19:04 +00:00
point.h Only access ControlInteractivity through the projection (#10051) 2021-07-19 11:59:30 -05:00
rand.h Implement basic profile matching (#11390) 2021-10-08 00:40:10 +00:00
rectangle.h Only access ControlInteractivity through the projection (#10051) 2021-07-19 11:59:30 -05:00
replace.h Fix typo in replace.h (#9679) 2021-04-06 10:38:51 -05:00
rle.h rle: fix build with clang by adding a deduction guide (#10154) 2021-05-24 13:33:43 +00:00
size.h Make the window name _quake special (#9785) 2021-04-26 19:36:23 +00:00
some.h Move ConPTY to use til::bitmap (#5024) 2020-03-23 15:57:54 +00:00
spsc.h Fix #8695: til::spsc assignment operators don't return anything (#8811) 2021-01-19 11:41:08 +00:00
static_map.h Clean up KeyChordSerialization (#10654) 2021-07-14 21:22:24 +00:00
string.h Introduce vk() and sc() key chord specifiers (#10666) 2021-07-20 22:34:51 +00:00
throttled_func.h Introduce til/latch.h, til/mutex.h and til/throttled_func.h (#10403) 2021-06-22 20:16:31 +00:00
ticket_lock.h Fix output stuttering using a ticket lock (#10653) 2021-07-14 23:41:22 +00:00
u8u16convert.h Refactor u8u16 and u16u8 conversion functions (#10966) 2021-08-23 23:48:13 +00:00