* move encoding.ts to common for #79275
* load iconv-lite-umd and jschardet in web version for #79275
* move EncodingOracle to the AbstractTextFileService for #79275
* review
* update to new iconv-lite-umd
* add workaround for jschardet types
* fix indentation
* add iconv-lite-umd and jschardet to workbench.html
* fix paths for modules
Co-authored-by: Benjamin Pasero <benjpas@microsoft.com>
* Add CoreCommandService
For #90110
This change introduce a new service (`ICoreCommandService`) that lets high levels parts of the editor (such as webviews) hook into core commands such as undo and redo that are fired from the editor menus.
## Why is this needed?
To implement undo/redo in custom editors / webviews, we currently register special commands (`editor.action.customEditor.undo` and `editor.action.customEditor.redo`). This is not ideal since it means that users have to update multiple commands if they wish to rebind undo/redo
These custom command also are not invoked when the user goes to the `edit` menu and select `undo` or `redo`. Instead, the edit menu always calls the core `UndoCommand`
We cannot make `UndoCommand` know about custom editors because it lives in `base`
## What this change does?
This change adds a new `ICoreCommandService` that lets higher level parts of the editor override core commands such as undo and redo. We use a similar approach in the `IOpenerService`.
Right now only `undo` and `redo` are overridable. If this approach looks ok, we could also extend it to `copy`, `paste`, `cut`, and `select all`
* Add docs and clean up types
* Rework implementation
Switch from using a command service to having each command state if is overrideable or not.
This hooks up overrides for:
- Undo/redo
- cut/copy/paste
for webviews, custom editors, and notebooks
* Add ProxyCommand so that multiple registered commands can share a single implementation
* Fix compilation & missing file being referenced
* Introduce and adopt MultiCommand for Undo
* Adopt MultiCommand for Redo and SelectAll
* Adopt MultiCommand for Cut, Copy and Paste
Co-authored-by: Alex Dima <alexdima@microsoft.com>
- Add package nls url to scanned extension
- Introduce scanner service for builtin extensions
- Introduce scanner service for web extensions
- Use web extensions scanner service in management and runtime
- Apply default translation inside management service
For #100442
When we moved the webview resource protocol to the main process, I updated the uri normalization logic so that it could load remote resources properly. This however broke VSO since their resources are still loaded from the renderer process.
This change restores the old normalization for the renderer side resource loader.