terminal/src/cascadia/ShellExtension
Ian O'Neill 9708a75131
Properly escape constructed wt command-lines (#11314)
Ensures that command-lines constructed to invoke `wt` are escaped properly.

## PR Checklist
* [x] Closes #11273
* [x] CLA signed. If not, go over [here](https://cla.opensource.microsoft.com/microsoft/Terminal) and sign the CLA
* [x] Tests added/passed

## Detailed Description of the Pull Request / Additional comments
This was broken in two places - when constructing the command-line in the shell extension and in `NewTerminalArgs::ToCommandline()`.

Both places now invoke a shared method to escape the command-line arguments that require it.

## Validation Steps Performed
Added a test and additionally:
* Invoked the shell extension from `D:\Downloads\With;Semicolon`.
* Added a `newWindow` action to `settings.json` as below and ensured the new window opened without erroring.
  ```json
  {
    "command": 
    {
      "action": "newWindow",
      "tabTitle": "\";foo\\"
    },
    "keys": "ctrl+shift+s"
  }
  ```
2021-09-24 16:17:16 +00:00
..
dllmain.cpp Localize the shell extension's menu item (#10446) 2021-06-17 21:49:56 +00:00
OpenTerminalHere.cpp Properly escape constructed wt command-lines (#11314) 2021-09-24 16:17:16 +00:00
OpenTerminalHere.h Disambiguate the shell extension CLSIDs to allow usage SXS (#9510) 2021-03-17 20:32:45 +00:00
packages.config Upgrade to C++/WinRT 2.0.210825.3 (#11188) 2021-09-10 21:33:13 +00:00
pch.cpp Add a context menu entry to "Open Windows Terminal here" (#6100) 2020-05-28 15:42:13 +00:00
pch.h Exclude more rarely-used stuff from Windows headers (#8513) 2020-12-11 19:35:23 +00:00
WindowsTerminalShellExt.def Shell Extension: Remove C++/WinRT authoring dependency (#9525) 2021-03-17 21:52:32 +00:00
WindowsTerminalShellExt.vcxproj Move Branding into common props (#9668) 2021-03-30 18:08:53 -05:00