Most of this was a straightforward replacement of our code with theirs
but I also removed `getDefaultShellAndArgs` since it seems the reference
implementation no longer does that either.
Fixes#2276.
cfa2e218100 Make sure we actually update the local resource roots (#122957)
206524cbf6f Merge pull request #122941 from microsoft/roblou/fix122701
0ce07162f07 Use the scoped context key service for notebook editor context keys Fix#122701
4fbe56e36b3 Merge pull request #122933 from microsoft/aeschli/122466
32a743d2af9 [JSON] Schema not found error on opening package.json. For #122279
0676e9a727e Fix port theme color typo (#122915)
85f8ebf1687 Fix context on LabelTunnelAction (#122856)
5913f53cab5 Block windows/iframes from preventing the unload (#122835) (#122869)
acd78c82ac6 Ensure that notebook cell URIs work (#122747)
4e185d89863 Merge pull request #122764 from microsoft/roblou/fix122407
7eb7814b56c Try to block webviews from cancelling unloads (#122758)
25092105030 Hardcode keybinding string to fix#122407
b084e6f4a73 Fix currently active indicator preventing editor switching (#122742)
bc2373aaa54 Merge pull request #122732 from microsoft/r156_tabs
d7a86f269a8 Disable tabs by default
git-subtree-dir: lib/vscode
git-subtree-split: cfa2e218100323074ac1948c885448fdf4de2a7f
- Moved everything I could into the class itself.
- Improve the logging situation a bit.
- Switch some trace logs to debug.
- Get debug port from message arguments.
- Move destroy logic into the class itself
- Improve logging a bit
- Remove the record option; we should always do this when using
permessage-deflate.
- Let debug port be null (it can be null in the message args).
- Add setSocket so we don't have to initiate a connection to set it.
- Move inflate bytes logic into the class itself.
- Instead of a single listener per terminal that handles all events VS
Code now has a single listener per event that handles that event for
all terminals.
- Refactor Terminal to extend TerminalProcess to avoid duplicating
methods. This required some modifications to TerminalProcess to access
the pid and title and to set the ID.
- Remove our async change to shutdown. This was necessary to avoid
disposing too early but shutdown already calls dispose so it turns out
we didn't need to call it ourselves.
- Rename methods to match the command strings.
- Fix getting system shell (uses process.env).
- Use a single bufferer. Since it already supports buffering for
multiple terminals there's no need to have one per terminal.
- Remove replay/reconnect logic. It's broken and unused so there doesn't
seem much point in trying to refactor it to fit the changes right now.
While terminals work now there are still a lot of todos.
It seems reaching into lib/vscode for the types caused tsc to establish
watches that caused it to restart over and over while vscode was
building.
The strategy used here is to symlink it instead which is the same thing
we do for the proxy agent.
native-keymap and keytar are only used in the electron process,
so we don't need them. This allows us to drop our dependencies on
libx11-dev, libxkbfile-dev, and libsecret-dev.