@lvce-editor/server 0.0.29 → 0.0.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ThirdPartyNotices.txt +2 -2
- package/package.json +2 -2
- package/src/server.js +21 -7
- package/static/{bf7d47a → 56ac02a}/config/builtinCommands.json +0 -0
- package/static/{bf7d47a → 56ac02a}/config/colorTheme.json +0 -0
- package/static/{bf7d47a → 56ac02a}/config/defaultKeyBindings.json +0 -0
- package/static/{bf7d47a → 56ac02a}/config/defaultSettings.json +0 -0
- package/static/{bf7d47a → 56ac02a}/css/App.css +12 -12
- package/static/{bf7d47a → 56ac02a}/fonts/FiraCode-VariableFont.ttf +0 -0
- package/static/{bf7d47a → 56ac02a}/icons/arrow-right.svg +0 -0
- package/static/{bf7d47a → 56ac02a}/icons/check.svg +0 -0
- package/static/{bf7d47a → 56ac02a}/icons/chevron-right.svg +0 -0
- package/static/{bf7d47a → 56ac02a}/icons/debug-alt-2.svg +0 -0
- package/static/{bf7d47a → 56ac02a}/icons/ellipsis.svg +0 -0
- package/static/{bf7d47a → 56ac02a}/icons/extensionDefaultIcon.png +0 -0
- package/static/{bf7d47a → 56ac02a}/icons/extensions.svg +0 -0
- package/static/{bf7d47a → 56ac02a}/icons/files.svg +0 -0
- package/static/{bf7d47a → 56ac02a}/icons/icon-close.svg +0 -0
- package/static/{bf7d47a → 56ac02a}/icons/icon-source-control.svg +0 -0
- package/static/{bf7d47a → 56ac02a}/icons/icon-sync.svg +0 -0
- package/static/{bf7d47a → 56ac02a}/icons/icon.png +0 -0
- package/static/{bf7d47a → 56ac02a}/icons/language-icon.svg +0 -0
- package/static/{bf7d47a → 56ac02a}/icons/pwa-icon-192.png +0 -0
- package/static/{bf7d47a → 56ac02a}/icons/pwa-icon-512.png +0 -0
- package/static/{bf7d47a → 56ac02a}/icons/search.svg +0 -0
- package/static/{bf7d47a → 56ac02a}/icons/settings-gear.svg +0 -0
- package/static/{bf7d47a → 56ac02a}/icons/source-control.svg +0 -0
- package/static/{bf7d47a → 56ac02a}/icons/symbol-array.svg +0 -0
- package/static/{bf7d47a → 56ac02a}/icons/symbol-boolean.svg +0 -0
- package/static/{bf7d47a → 56ac02a}/icons/symbol-class.svg +0 -0
- package/static/{bf7d47a → 56ac02a}/icons/symbol-color.svg +0 -0
- package/static/{bf7d47a → 56ac02a}/icons/symbol-constant.svg +0 -0
- package/static/{bf7d47a → 56ac02a}/icons/symbol-enum-member.svg +0 -0
- package/static/{bf7d47a → 56ac02a}/icons/symbol-enum.svg +0 -0
- package/static/{bf7d47a → 56ac02a}/icons/symbol-event.svg +0 -0
- package/static/{bf7d47a → 56ac02a}/icons/symbol-field.svg +0 -0
- package/static/{bf7d47a → 56ac02a}/icons/symbol-file.svg +0 -0
- package/static/{bf7d47a → 56ac02a}/icons/symbol-interface.svg +0 -0
- package/static/{bf7d47a → 56ac02a}/icons/symbol-key.svg +0 -0
- package/static/{bf7d47a → 56ac02a}/icons/symbol-keyword.svg +0 -0
- package/static/{bf7d47a → 56ac02a}/icons/symbol-method.svg +0 -0
- package/static/{bf7d47a → 56ac02a}/icons/symbol-misc.svg +0 -0
- package/static/{bf7d47a → 56ac02a}/icons/symbol-namespace.svg +0 -0
- package/static/{bf7d47a → 56ac02a}/icons/symbol-numeric.svg +0 -0
- package/static/{bf7d47a → 56ac02a}/icons/symbol-operator.svg +0 -0
- package/static/{bf7d47a → 56ac02a}/icons/symbol-parameter.svg +0 -0
- package/static/{bf7d47a → 56ac02a}/icons/symbol-property.svg +0 -0
- package/static/{bf7d47a → 56ac02a}/icons/symbol-ruler.svg +0 -0
- package/static/{bf7d47a → 56ac02a}/icons/symbol-snippet.svg +0 -0
- package/static/{bf7d47a → 56ac02a}/icons/symbol-string.svg +0 -0
- package/static/{bf7d47a → 56ac02a}/icons/symbol-structure.svg +0 -0
- package/static/{bf7d47a → 56ac02a}/icons/symbol-variable.svg +0 -0
- package/static/{bf7d47a → 56ac02a}/icons/theme-icon.png +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/Audio.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/Audio.ipc.js.map +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/ClipBoard.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/ClipBoard.ipc.js.map +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/Developer.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/Developer.ipc.js.map +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/Dialog.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/Dialog.ipc.js.map +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/Download.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/Download.ipc.js.map +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/EditorError.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/EditorError.ipc.js.map +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/EditorHover.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/EditorHover.ipc.js.map +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/EditorRename.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/EditorRename.ipc.js.map +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/FindWidget.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/FindWidget.ipc.js.map +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/ImagePreview.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/ImagePreview.ipc.js.map +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/ImagePreview.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/ImagePreview.js.map +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/InitData.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/InitData.ipc.js.map +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/InputBox.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/InputBox.js.map +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/Menu.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/Menu.ipc.js.map +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/Meta.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/Meta.ipc.js.map +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/Notification.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/Notification.ipc.js.map +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/Open.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/Open.ipc.js.map +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/TestFrameWork.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/TestFrameWork.ipc.js.map +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/ViewletClock.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/ViewletClock.js.map +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/ViewletDebugConsole.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/ViewletDebugConsole.js.map +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/ViewletEditorCompletion.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/ViewletEditorCompletion.js.map +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/ViewletEditorImage.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/ViewletEditorImage.js.map +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/ViewletEditorPlainText.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/ViewletEditorPlainText.js.map +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/ViewletEditorText.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/ViewletEditorText.js.map +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/ViewletEmpty.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/ViewletEmpty.js.map +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/ViewletExplorer.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/ViewletExplorer.js.map +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/ViewletExtensions.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/ViewletExtensions.js.map +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/ViewletImplementations.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/ViewletImplementations.js.map +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/ViewletLocations.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/ViewletLocations.js.map +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/ViewletMain.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/ViewletMain.js.map +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/ViewletOutput.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/ViewletOutput.js.map +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/ViewletPanel.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/ViewletPanel.js.map +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/ViewletProblems.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/ViewletProblems.js.map +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/ViewletQuickPick.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/ViewletQuickPick.js.map +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/ViewletReferences.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/ViewletReferences.js.map +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/ViewletRunAndDebug.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/ViewletRunAndDebug.js.map +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/ViewletSearch.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/ViewletSearch.js.map +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/ViewletSideBar.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/ViewletSideBar.js.map +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/ViewletSourceControl.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/ViewletSourceControl.js.map +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/ViewletTerminal.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/ViewletTerminal.js.map +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/WebStorage.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/WebStorage.ipc.js.map +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/renderer-process.modern.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/renderer-process.modern.js.map +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/rendererProcessMain.js +1 -1
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/rendererProcessMain.js.map +1 -1
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/AriaAlert/AriaAlert.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Assert/Assert.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Audio/Audio.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Audio/Audio.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/BackDrop/BackDrop.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Callback/Callback.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/ClipBoard/ClipBoard.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/ClipBoard/ClipBoard.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Command/Command.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Context/Context.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Css/Css.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Css/Css.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Developer/Developer.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Developer/Developer.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Dialog/Dialog.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Dialog/Dialog.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Download/Download.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Download/Download.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Editor/Editor.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Editor/EditorHelper.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Editor/LayerCursor.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Editor/LayerDecoration2.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Editor/LayerDiagnostics.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Editor/LayerLineNumbers.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Editor/LayerMarker.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Editor/LayerScreenReader.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Editor/LayerScrollBar.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Editor/LayerSelections.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Editor/LayerText.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/EditorError/EditorError.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/EditorError/EditorError.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/EditorGroup/EditorGroup.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/EditorHover/EditorHover.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/EditorHover/EditorHover.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/EditorRename/EditorRename.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/EditorRename/EditorRename.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/EditorTab/EditorTab.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Errors/JsonRpcError.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/FindWidget/FindWidget.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/FindWidget/FindWidget.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Focus/Focus.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/ImagePreview/ImagePreview.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/ImagePreview/ImagePreview.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/InitData/InitData.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/InitData/InitData.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/InputBox/InputBox.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/IpcClient/IpcClient.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/IpcParent/IpcParent.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/IpcParent/IpcParentWithMessagePort.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/IpcParent/IpcParentWithModuleWorker.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/IpcParent/IpcParentWithReferencePort.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/KeyBindings/KeyBindings.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/KeyBindings/KeyBindings.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Layout/Layout.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Layout/Layout.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Location/Location.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Location/Location.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/MenuItem/MenuItem.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Meta/Meta.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Meta/Meta.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Notification/Notification.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Notification/Notification.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/OldMenu/Menu.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/OldMenu/Menu.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/OldMenu/Menu2.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Open/Open.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Open/Open.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Platform/Platform.js +2 -2
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Renderer/Renderer.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Renderer/RendererExtension.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Renderer/RendererQuickPick.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Renderer/RendererSearchResult.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Renderer/RendererSuggestWidget.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Renderer/RendererTree.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/RendererWorker/RendererWorker.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/ServiceWorker/ServiceWorker.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/ServiceWorker/ServiceWorker.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Terminal/Terminal.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Terminal/Terminal.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/TestFrameWork/ConditionErrors.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/TestFrameWork/ElementActions.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/TestFrameWork/HtmlElements.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/TestFrameWork/KeyBoardActions.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/TestFrameWork/MultiElementConditions.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/TestFrameWork/QuerySelector.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/TestFrameWork/SingleElementConditions.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/TestFrameWork/TestFrameWork.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/TestFrameWork/TestFrameWork.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/TitleBarMenuBar/TitleBarMenuBar.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/VError/VError.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Viewlet/ExplorerModel.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Viewlet/TreeProviderJson.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Viewlet/TreeProviderNpm.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Viewlet/TreeView.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Viewlet/TreeView2.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Viewlet/TreeViewClass.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Viewlet/TreeViewNumber.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Viewlet/Viewlet.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Viewlet/Viewlet.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Viewlet/ViewletDebugConsole.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Viewlet/ViewletEditorImage.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Viewlet/ViewletEditorPlainText.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Viewlet/ViewletEditorText.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Viewlet/ViewletEmpty.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Viewlet/ViewletIframe.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Viewlet/ViewletList.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/ViewletActivityBar/ViewletActivityBar.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/ViewletClock/ViewletClock.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/ViewletController/ViewletProblems.controller.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/ViewletEditorCompletion/ViewletEditorCompletion.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/ViewletExplorer/ViewletExplorer.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/ViewletExtensions/ViewletExtensions.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/ViewletImplementations/ViewletImplementations.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/ViewletLocations/ViewletLocations.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/ViewletMain/ViewletMain.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/ViewletOutput/ViewletOutput.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/ViewletPanel/ViewletPanel.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/ViewletProblems/ViewletProblems.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/ViewletQuickPick/ViewletQuickPick.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/ViewletReferences/ViewletReferences.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/ViewletRunAndDebug/ViewletRunAndDebug.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/ViewletSearch/ViewletSearch.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/ViewletSideBar/ViewletSideBar.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/ViewletSourceControl/ViewletSourceControl.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/ViewletStatusBar/ViewletStatusBar.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/ViewletTerminal/ViewletTerminal.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/ViewletTitleBar/ViewletTitleBar.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/WebStorage/WebStorage.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/WebStorage/WebStorage.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Widget/Widget.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/WidgetManager/WidgetManager.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Window/Window.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/parts/Window/Window.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/rendererProcessMain.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-process/src/shared/findIndex.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/dist/rendererWorkerMain.js +5 -3
- package/static/56ac02a/packages/renderer-worker/dist/rendererWorkerMain.js.map +1 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Ajax/Ajax.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Ajax/Ajax.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Arrays/Arrays.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Assert/Assert.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Audio/Audio.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Audio/Audio.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Base64/Base64.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Base64/Base64.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Blob/Blob.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Blob/Blob.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/CacheStorage/CacheStorage.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/CacheStorage/CacheStorage.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Callback/Callback.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Callback/Callback.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ClipBoard/ClipBoard.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ClipBoard/ClipBoard.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ColorPicker/ColorPicker.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ColorPicker/ColorPicker.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ColorTheme/Color.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ColorTheme/ColorTheme.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ColorTheme/ColorTheme.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ColorThemeFromJson/ColorThemeFromJson.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ColorThemeFromJson/ColorThemeFromJson.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Command/Command.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Context/ContextImpl.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ContextMenu/ContextMenu.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ContextMenu/ContextMenu.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Css/Css.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/CustomEditor/CustomEditor.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/CustomEditor/CustomEditorExtension.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Developer/Developer.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Developer/Developer.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Dialog/Dialog.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Dialog/Dialog.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Download/Download.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Download/Download.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Editor/Editor.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Editor/EditorCursor.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Editor/EditorScrolling.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Editor/EditorSelection.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Editor/EditorText.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandApplyEdit.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandBlur.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandBraceCompletion.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandCancelSelection.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandCompletion.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandComposition.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandCopy.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandCopyLineDown.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandCopyLineUp.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandCursorCharacterLeft.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandCursorCharacterRight.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandCursorDown.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandCursorEnd.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandCursorHome.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandCursorHorizontalLeft.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandCursorHorizontalRight.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandCursorSet.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandCursorUp.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandCursorVertical.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandCursorWordLeft.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandCursorWordPartLeft.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandCursorWordPartRight.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandCursorWordRight.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandCut.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandDeleteAllLeft.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandDeleteAllRight.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandDeleteCharacterLeft.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandDeleteCharacterRight.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandDeleteHorizontal.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandDeleteHorizontalLeft.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandDeleteHorizontalRight.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandDeleteSelection.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandDeleteWordLeft.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandDeleteWordPartLeft.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandDeleteWordPartRight.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandDeleteWordRight.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandDelta.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandFormat.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandGetPositionLeft.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandGetPositionRight.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandGetSelectionFromNativeRange.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandGoToDefinition.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandGoToTypeDefinition.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandHandleContextMenu.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandHandleDoubleClick.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandHandleMouseMove.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandHandleMouseMoveWithAltKey.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandHandleNativeBeforeInputFromContentEditable.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandHandleNativeSelectionChange.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandHandleScrollBarClick.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandHandleScrollBarMove.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandHandleSingleClick.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandHandleTab.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandHandleTouchEnd.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandHandleTouchMove.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandHandleTouchStart.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandHandleTripleClick.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandHandleWheel.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandIndent.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandIndentLess.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandIndentMore.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandIndentSelection.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandInsertLineBreak.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandMoveLineDown.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandMoveLineUp.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandMoveRectangleSelection.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandMoveRectangleSelectionPx.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandMoveSelection.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandMoveSelectionPx.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandPaste.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandPasteText.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandPosition.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandReplaceRange.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandReplaceSelection.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandSave.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandSelectAll.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandSelectAllLeft.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandSelectAllOccurrences.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandSelectAllRight.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandSelectCharacterLeft.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandSelectCharacterRight.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandSelectHorizontalLeft.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandSelectHorizontalRight.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandSelectInsideString.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandSelectLine.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandSelectNextOccurrence.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandSelectPreviousOccurrence.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandSelectWord.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandSelectWordLeft.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandSelectWordRight.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandSelection.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandSetDecorations.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandSetDeltaY.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandSetLanguageId.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandShowMessage.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandSnippet.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandTabCompletion.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandToggleBlockComment.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandToggleComment.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandToggleLineComment.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandType.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandUndo.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandUnindent.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorCommand/EditorIndent.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorDiagnostics/EditorDiagnostics.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorDiagnostics/EditorDiagnostics.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorError/EditorError.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorError/EditorError.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorRename/EditorRename.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorRename/EditorRename.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/EditorSelection/EditorSelection.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ErrorHandling/ErrorHandling.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ErrorHandling/ErrorHandling.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Errors/CancelationError.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Errors/Errors.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ExtensionHost/ExtensionHostBraceCompletion.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ExtensionHost/ExtensionHostClosingTagCompletion.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ExtensionHost/ExtensionHostCommands.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ExtensionHost/ExtensionHostCompletion.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ExtensionHost/ExtensionHostCore.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ExtensionHost/ExtensionHostCore.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ExtensionHost/ExtensionHostDefinition.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ExtensionHost/ExtensionHostDiagnostic.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ExtensionHost/ExtensionHostFileSystem.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ExtensionHost/ExtensionHostFormatting.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ExtensionHost/ExtensionHostHover.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ExtensionHost/ExtensionHostImplementation.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ExtensionHost/ExtensionHostLanguages.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ExtensionHost/ExtensionHostOutput.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ExtensionHost/ExtensionHostQuickPick.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ExtensionHost/ExtensionHostReference.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ExtensionHost/ExtensionHostRename.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ExtensionHost/ExtensionHostSemanticTokens.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ExtensionHost/ExtensionHostShared.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ExtensionHost/ExtensionHostSourceControl.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ExtensionHost/ExtensionHostStatusBarItems.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ExtensionHost/ExtensionHostTabCompletion.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ExtensionHost/ExtensionHostTextDocument.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ExtensionHost/ExtensionHostTypeDefinition.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ExtensionHost/shared.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ExtensionHostIpc/ExtensionHostIpc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ExtensionHostIpc/ExtensionHostIpcWithMessagePort.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ExtensionHostIpc/ExtensionHostIpcWithModuleWorker.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ExtensionHostIpc/ExtensionHostIpcWithReferencePort.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ExtensionHostIpc/ExtensionHostIpcWithSharedProcess.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ExtensionHostIpc/ExtensionHostIpcWithWebSocket.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ExtensionHostManagement/ExtensionHostManagement.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ExtensionHostManagement/ExtensionHostManagementBrowser.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ExtensionHostManagement/ExtensionHostManagementNode.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ExtensionHostManagement/ExtensionHostManagementShared.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ExtensionManagement/ExtensionManagement.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ExtensionMarketplace/ExtensionMarketplace.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ExtensionMeta/ExtensionMeta.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ExtensionMeta/ExtensionMeta.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Extensions/Extensions.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Extensions/Extensions.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ExtensionsSomething/ExtensionsSomething.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/FileSystem/FileSystem.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/FileSystem/FileSystem.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/FileSystem/FileSystemApp.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/FileSystem/FileSystemAppMemoryUsage.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/FileSystem/FileSystemAppRecentlyOpened.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/FileSystem/FileSystemAppSession.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/FileSystem/FileSystemAppSettings.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/FileSystem/FileSystemAppShared.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/FileSystem/FileSystemAppStartupPerformance.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/FileSystem/FileSystemData.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/FileSystem/FileSystemDisk.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/FileSystem/FileSystemGitHub.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/FileSystem/FileSystemMemory.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/FileSystem/FileSystemWeb.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/FindInWorkspace/FindInWorkspace.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/FindInWorkspace/FindInWorkspace.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/FindWidget/FindWidget.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/FindWidget/FindWidget.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Focus/Focus.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Format/Format.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Format/Format.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/FuzzySearch/FuzzySearch.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/FuzzySearch/FuzzySearchMrAleph.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/GitHubRestApi/GitHubRestApi.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/GlobalEventBus/GlobalEventBus.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Highlight/Highlight.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/History/History.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/IconTheme/IconTheme.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/IconTheme/IconTheme.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Id/Id.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ImagePreview/ImagePreview.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ImagePreview/ImagePreview.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/IndexedDb/IndexedDb.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/InitData/InitData.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/IpcChild/IpcChild.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/IpcChild/IpcChildWithMessagePort.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/IpcChild/IpcChildWithModuleWorker.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/IpcChild/IpcChildWithReferencePort.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/IpcParent/IpcParent.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/IpcParent/IpcParentWithElectron.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/IpcParent/IpcParentWithMessagePort.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/IpcParent/IpcParentWithModuleWorker.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/IpcParent/IpcParentWithReferencePort.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/IpcParent/IpcParentWithWebSocket.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Json/Json.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/JsonRpc/JsonRpc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/KeyBindings/KeyBindings.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/KeyBindings/KeyBindings.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/KeyBindingsInitial/KeyBindingsInitial.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/KeyBindingsInitial/KeyBindingsInitial.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/LanguageFeatures/LanguageFeatures.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Languages/Languages.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Layout/Layout.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Layout/Layout.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/LifeCycle/LifeCycle.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/List/List.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Listener/Listener.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Listener/Listener.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/LocalStorage/LocalStorage.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/LocalStorage/LocalStorage.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Location/Location.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Main/Main.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Main/MainCloseActiveEditor.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Main/MainCloseAllEditors.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Main/MainCloseEditorsToTheLeft.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Main/MainCloseEditorsToTheRight.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Main/MainFocusFirst.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Main/MainFocusIndex.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Main/MainFocusLast.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Main/MainFocusNext.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Main/MainFocusPrevious.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Menu/Menu.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Menu/Menu.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/MenuCore/MenuCore.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/MenuEntries/MenuEntries.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/MenuEntries/MenuEntriesActivityBar.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/MenuEntries/MenuEntriesActivityBarAdditionalViews.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/MenuEntries/MenuEntriesEdit.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/MenuEntries/MenuEntriesEditor.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/MenuEntries/MenuEntriesExplorer.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/MenuEntries/MenuEntriesExplorerFile.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/MenuEntries/MenuEntriesExplorerFolder.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/MenuEntries/MenuEntriesFile.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/MenuEntries/MenuEntriesGo.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/MenuEntries/MenuEntriesHelp.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/MenuEntries/MenuEntriesManageExtension.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/MenuEntries/MenuEntriesOpenRecent.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/MenuEntries/MenuEntriesRun.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/MenuEntries/MenuEntriesSelection.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/MenuEntries/MenuEntriesSettings.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/MenuEntries/MenuEntriesTab.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/MenuEntries/MenuEntriesTerminal.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/MenuEntries/MenuEntriesTitleBar.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/MenuEntries/MenuEntriesView.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Meta/Meta.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Navigation/Navigation.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Navigation/Navigation.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/NestedError/NestedError.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Notification/Notification.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Notification/Notification.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Open/Open.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Open/Open.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Performance/Performance.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Platform/Platform.js +2 -2
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Preferences/Preferences.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Preferences/Preferences.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/QuickPick/QuickPickColorTheme.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/QuickPick/QuickPickCommand.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/QuickPick/QuickPickEverything.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/QuickPick/QuickPickFile.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/QuickPick/QuickPickGoToLine.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/QuickPick/QuickPickNoop.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/QuickPick/QuickPickNumber.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/QuickPick/QuickPickOpenRecent.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/QuickPick/QuickPickSymbol.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/QuickPick/QuickPickView.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/QuickPick/QuickPickWorkspaceSymbol.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/RecentlyOpened/RecentlyOpened.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/RecentlyOpened/RecentlyOpened.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/RendererProcess/RendererProcess.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/SaveState/SaveState.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/SaveState/SaveState.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ServiceWorker/ServiceWorker.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ServiceWorker/ServiceWorker.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/SessionReplay/SessionReplay.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/SessionReplay/SessionReplay.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/SessionStorage/SessionStorage.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/SessionStorage/SessionStorage.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/SharedProcess/SharedProcess.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/SourceControl/SourceControl.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/SourceControl/SourceControl.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Storage/Storage.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/SyntaxHighlightingWorker/SyntaxHighlightingWorker.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Test/Test.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Test/Test.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/TestFrameWork/Locator.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/TestFrameWork/TestFrameWork.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/TestFrameWorkComponent/TestFrameWorkComponent.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/TestFrameWorkComponent/TestFrameWorkComponentContextMenu.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/TestFrameWorkComponent/TestFrameWorkComponentEditor.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/TestFrameWorkComponent/TestFrameWorkComponentExplorer.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/TestFrameWorkComponent/TestFrameWorkComponentExtension.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/TestFrameWorkComponent/TestFrameWorkComponentFileSystem.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/TestFrameWorkComponent/TestFrameWorkComponentKeyBoard.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/TestFrameWorkComponent/TestFrameWorkComponentMain.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/TestFrameWorkComponent/TestFrameWorkComponentWorkspace.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/TextDocument/TextDocument.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/TextSegmenter/TextSegmenter.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Timers/Timers.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/TitleBarMenuBar/TitleBarMenuBar.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/TitleBarMenuBar/TitleBarMenuBar.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Tokenizer/TokenizePlainText.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Tokenizer/Tokenizer.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/VError/VError.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Viewlet/Viewlet.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Viewlet/Viewlet.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Viewlet/ViewletExtension.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Viewlet/ViewletExtensionsHeader.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Viewlet/ViewletExtensionsList.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ViewletActivityBar/ViewletActivityBar.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ViewletActivityBar/ViewletActivityBar.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ViewletClock/ViewletClock.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ViewletClock/ViewletClock.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ViewletContextMenu/ViewletContextMenu.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ViewletCounter/ViewletCounter.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ViewletDebugConsole/ViewletDebugConsole.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ViewletDebugConsole/ViewletDebugConsole.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ViewletEditorCompletion/ViewletEditorCompletion.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ViewletEditorCompletion/ViewletEditorCompletion.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ViewletEditorImage/ViewletEditorImage.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ViewletEditorImage/ViewletEditorImage.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ViewletEditorPlainText/ViewletEditorPlainText.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ViewletEditorPlainText/ViewletEditorPlainText.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ViewletEditorText/ViewletEditorText.ipc.js +5 -2
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ViewletEditorText/ViewletEditorText.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ViewletEmpty/ViewletEmpty.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ViewletExplorer/ViewletExplorer.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ViewletExplorer/ViewletExplorer.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ViewletExtensions/ViewletExtensions.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ViewletExtensions/ViewletExtensions.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ViewletIframe/ViewletIframe.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ViewletImplementations/ViewletImplementations.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ViewletImplementations/ViewletImplementations.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ViewletList/ViewletList.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ViewletList/ViewletList.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ViewletLocations/ViewletLocations.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ViewletLocations/ViewletLocations.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ViewletMain/ViewletMain.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ViewletMain/ViewletMain.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ViewletManager/ViewletManager.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ViewletNoop/ViewletNoop.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ViewletNoop/ViewletNoop.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ViewletOutput/ViewletOutput.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ViewletOutput/ViewletOutput.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ViewletPanel/ViewletPanel.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ViewletPanel/ViewletPanel.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ViewletProblems/ViewletProblems.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ViewletProblems/ViewletProblems.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ViewletQuickPick/ViewletQuickPick.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ViewletQuickPick/ViewletQuickPick.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ViewletReferences/ViewletReferences.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ViewletReferences/ViewletReferences.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ViewletRunAndDebug/ViewletRunAndDebug.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ViewletRunAndDebug/ViewletRunAndDebug.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ViewletSearch/ViewletSearch.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ViewletSearch/ViewletSearch.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ViewletSideBar/ViewletSideBar.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ViewletSideBar/ViewletSideBar.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ViewletSourceControl/ViewletSourceControl.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ViewletSourceControl/ViewletSourceControl.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ViewletStates/ViewletStates.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ViewletStatusBar/ViewletStatusBar.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ViewletStatusBar/ViewletStatusBar.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ViewletTerminal/ViewletTerminal.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ViewletTerminal/ViewletTerminal.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ViewletTitleBar/ViewletTitleBar.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ViewletTitleBar/ViewletTitleBar.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/ViewletTodoList/ViewletTodoList.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/WebSocket/WebSocket.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/WebSocket/WebSocketNew.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/WebStorage/WebStorage.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Window/Window.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Window/Window.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Workbench/Workbench.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Workbench/Workbench.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Worker/Worker.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Workspace/Workspace.ipc.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/parts/Workspace/Workspace.js +0 -0
- package/static/{bf7d47a → 56ac02a}/packages/renderer-worker/src/rendererWorkerMain.js +0 -0
- package/static/{bf7d47a → 56ac02a}/sounds/bell.oga +0 -0
- package/static/{bf7d47a → 56ac02a}/static/js/blob-util.js +0 -0
- package/static/{bf7d47a → 56ac02a}/static/js/idb/build/async-iterators.js +0 -0
- package/static/{bf7d47a → 56ac02a}/static/js/idb/build/index.js +0 -0
- package/static/{bf7d47a → 56ac02a}/static/js/idb/build/wrap-idb-value.js +0 -0
- package/static/{bf7d47a → 56ac02a}/static/js/idb/with-async-ittr.js +0 -0
- package/static/{bf7d47a → 56ac02a}/static/js/js-base64.js +0 -0
- package/static/{bf7d47a → 56ac02a}/static/js/ky.js +0 -0
- package/static/{bf7d47a → 56ac02a}/static/js/p-min-delay.js +0 -0
- package/static/{bf7d47a → 56ac02a}/static/js/pretty-bytes.js +0 -0
- package/static/{bf7d47a → 56ac02a}/static/js/termterm.js +0 -0
- package/static/{bf7d47a → 56ac02a}/static/js/yoctodelay.js +0 -0
- package/static/index.html +7 -7
- package/static/manifest.json +2 -2
- package/static/serviceWorker.js +1 -1
- package/static/bf7d47a/packages/renderer-worker/dist/rendererWorkerMain.js.map +0 -1
package/static/{bf7d47a → 56ac02a}/packages/renderer-process/dist/rendererProcessMain.js.map
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rendererProcessMain.js","sources":["../src/parts/Command/Command.js","../src/parts/Css/Css.js","../src/parts/Css/Css.ipc.js","../src/parts/Callback/Callback.js","../src/parts/Errors/JsonRpcError.js","../src/parts/Assert/Assert.js","../src/parts/IpcParent/IpcParentWithMessagePort.js","../src/parts/IpcParent/IpcParentWithModuleWorker.js","../src/parts/IpcParent/IpcParentWithReferencePort.js","../src/parts/IpcParent/IpcParent.js","../src/parts/Platform/Platform.js","../src/parts/RendererWorker/RendererWorker.js","../src/parts/Layout/Layout.js","../src/parts/Layout/Layout.ipc.js","../src/parts/Context/Context.js","../src/parts/Focus/Focus.js","../src/parts/Editor/LayerCursor.js","../src/parts/Editor/LayerDiagnostics.js","../src/parts/Editor/LayerScrollBar.js","../src/parts/Editor/LayerSelections.js","../src/parts/Editor/LayerText.js","../src/parts/Editor/Editor.js","../src/parts/Viewlet/Viewlet.js","../src/parts/Viewlet/Viewlet.ipc.js","../src/parts/KeyBindings/KeyBindings.js","../src/parts/KeyBindings/KeyBindings.ipc.js","../src/parts/Widget/Widget.js","../src/parts/ServiceWorker/ServiceWorker.js","../src/parts/ServiceWorker/ServiceWorker.ipc.js","../src/parts/Location/Location.js","../src/parts/Location/Location.ipc.js","../src/shared/findIndex.js","../src/parts/MenuItem/MenuItem.js","../src/parts/BackDrop/BackDrop.js","../src/parts/OldMenu/Menu.js","../src/parts/ViewletActivityBar/ViewletActivityBar.js","../src/parts/ViewletStatusBar/ViewletStatusBar.js","../src/parts/TitleBarMenuBar/TitleBarMenuBar.js","../src/parts/ViewletTitleBar/ViewletTitleBar.js","../src/parts/Window/Window.js","../src/parts/Window/Window.ipc.js","../src/rendererProcessMain.js"],"sourcesContent":["const MODULE_MAIN = 1\nconst MODULE_NOTIFICATION = 2\nconst MODULE_TEST = 3\nconst MODULE_VIEW_SERVICE = 9\nconst MODULE_WINDOW = 14\nconst MODULE_DEVELOPER = 15\nconst MODULE_LAYOUT = 16\nconst MODULE_PANEL = 18\nconst MODULE_WORKBENCH = 20\nconst MODULE_VIEWLET = 21\nconst MODULE_FIND_WIDGET = 23\nconst MODULE_KEYBINDINGS = 26\nconst MODULE_MENU = 31\nconst MODULE_DIALOG = 36\nconst MODULE_EDITOR_HOVER = 37\nconst MODULE_CSS = 38\nconst MODULE_EDITOR_RENAME = 39\nconst MODULE_EDITOR_ERROR = 40\nconst MODULE_EDITOR_CONTROLLER = 41\nconst MODULE_SERVICE_WORKER = 42\nconst MODULE_IMAGE_PREVIEW = 43\nconst MODULE_LOCATION = 44\nconst MODULE_AUDIO = 45\nconst MODULE_META = 46\nconst MODULE_DOWNLOAD = 47\nconst MODULE_OPEN = 48\nconst MODULE_CLIPBOARD = 49\nconst MODULE_INIT_DATA = 50\nconst MODULE_TEST_FRAME_WORK = 51\nconst MODULE_WEB_STORAGE = 52\n\nexport const state = {\n commands: Object.create(null),\n pendingModules: Object.create(null),\n}\n\nconst loadModule = (moduleId) => {\n switch (moduleId) {\n case MODULE_NOTIFICATION:\n return import('../Notification/Notification.ipc.js')\n case MODULE_WINDOW:\n return import('../Window/Window.ipc.js')\n case MODULE_DEVELOPER:\n return import('../Developer/Developer.ipc.js')\n case MODULE_LAYOUT:\n return import('../Layout/Layout.ipc.js')\n case MODULE_VIEWLET:\n return import('../Viewlet/Viewlet.ipc.js')\n case MODULE_FIND_WIDGET:\n return import('../FindWidget/FindWidget.ipc.js')\n case MODULE_KEYBINDINGS:\n return import('../KeyBindings/KeyBindings.ipc.js')\n case MODULE_MENU:\n return import('../OldMenu/Menu.ipc.js')\n case MODULE_WEB_STORAGE:\n return import('../WebStorage/WebStorage.ipc.js')\n case MODULE_DIALOG:\n return import('../Dialog/Dialog.ipc.js')\n case MODULE_EDITOR_HOVER:\n return import('../EditorHover/EditorHover.ipc.js')\n case MODULE_CSS:\n return import('../Css/Css.ipc.js')\n case MODULE_EDITOR_RENAME:\n return import('../EditorRename/EditorRename.ipc.js')\n case MODULE_EDITOR_ERROR:\n return import('../EditorError/EditorError.ipc.js')\n case MODULE_SERVICE_WORKER:\n return import('../ServiceWorker/ServiceWorker.ipc.js')\n case MODULE_IMAGE_PREVIEW:\n return import('../ImagePreview/ImagePreview.ipc.js')\n case MODULE_LOCATION:\n return import('../Location/Location.ipc.js')\n case MODULE_AUDIO:\n return import('../Audio/Audio.ipc.js')\n case MODULE_META:\n return import('../Meta/Meta.ipc.js')\n case MODULE_DOWNLOAD:\n return import('../Download/Download.ipc.js')\n case MODULE_OPEN:\n return import('../Open/Open.ipc.js')\n case MODULE_CLIPBOARD:\n return import('../ClipBoard/ClipBoard.ipc.js')\n case MODULE_INIT_DATA:\n return import('../InitData/InitData.ipc.js')\n case MODULE_TEST_FRAME_WORK:\n return import('../TestFrameWork/TestFrameWork.ipc.js')\n default:\n throw new Error('unknown module')\n }\n}\n\nconst getOrLoadModule = (moduleId) => {\n if (!state.pendingModules[moduleId]) {\n const importPromise = loadModule(moduleId)\n state.pendingModules[moduleId] = importPromise.then((module) =>\n module.__initialize__()\n )\n }\n return state.pendingModules[moduleId]\n}\n\nconst getModuleId = (commandId) => {\n switch (commandId) {\n case 'TestFrameWork.showOverlay':\n case 'TestFrameWork.performAction':\n case 'TestFrameWork.checkSingleElementCondition':\n case 'TestFrameWork.checkMultiElementCondition':\n case 'TestFrameWork.performKeyBoardAction':\n return MODULE_TEST_FRAME_WORK\n case 'ClipBoard.readText':\n case 'ClipBoard.writeText':\n return MODULE_CLIPBOARD\n case 'Developer.showState':\n case 'Developer.getMemoryUsage':\n return MODULE_DEVELOPER\n case 'Download.downloadFile':\n return MODULE_DOWNLOAD\n case 'Open.openUrl':\n return MODULE_OPEN\n case 'InitData.getInitData':\n return MODULE_INIT_DATA\n case 549:\n case 550:\n case 551:\n return MODULE_VIEW_SERVICE\n case 'KeyBindings.hydrate':\n return MODULE_KEYBINDINGS\n case 764:\n case 765:\n case 766:\n case 767:\n case 768:\n case 769:\n case 770:\n case 771:\n case 772:\n case 773:\n case 774:\n case 775:\n case 776:\n case 777:\n return MODULE_EDITOR_CONTROLLER\n case 'Notification.create':\n case 'Notification.dispose':\n case 'Notification.createWithOptions':\n return MODULE_NOTIFICATION\n case 'Layout.update':\n case 'Layout.hydrate':\n case 'Layout.hide':\n case 'Layout.getBounds':\n case 'Layout.show':\n return MODULE_LAYOUT\n case 'Viewlet.refresh':\n case 'Viewlet.invoke':\n case 'Viewlet.send':\n case 'Viewlet.focus':\n case 'Viewlet.dispose':\n case 'Viewlet.appendViewlet':\n case 'Viewlet.load':\n case 'Viewlet.handleError':\n case 'Viewlet.sendMultiple':\n return MODULE_VIEWLET\n case 'Audio.play':\n return MODULE_AUDIO\n case 'ImagePreview.create':\n case 'ImagePreview.dispose':\n case 'ImagePreview.update':\n case 'ImagePreview.showError':\n return MODULE_IMAGE_PREVIEW\n case 'EditorError.create':\n return MODULE_EDITOR_ERROR\n\n case 'FindWidget.create':\n case 'FindWidget.dispose':\n case 'FindWidget.setResults':\n return MODULE_FIND_WIDGET\n case 'EditorRename.create':\n case 'EditorRename.finish':\n case 'EditorRename.dispose':\n return MODULE_EDITOR_RENAME\n case 'Css.setInlineStyle':\n return MODULE_CSS\n case 'Location.getPathName':\n case 'Location.setPathName':\n case 'Location.hydrate':\n case 'Location.getHref':\n return MODULE_LOCATION\n case 'EditorHover.create':\n return MODULE_EDITOR_HOVER\n case 6661:\n case 6662:\n case 6663:\n case 6664:\n return MODULE_PANEL\n case 33111:\n return MODULE_WORKBENCH\n case 'Dialog.prompt':\n case 'Dialog.alert':\n case 'Dialog.showErrorDialogWithOptions':\n case 'Dialog.close':\n return MODULE_DIALOG\n case 'Menu.showControlled':\n case 'Menu.hide':\n case 'Menu.focusIndex':\n case 'Menu.showSubMenu':\n case 'Menu.hideSubMenu':\n case 'Menu.showMenu':\n case 'Menu.showContextMenu':\n case 'Menu.show':\n return MODULE_MENU\n case 'Window.reload':\n case 'Window.minimize':\n case 'Window.maximize':\n case 'Window.unmaximize':\n case 'Window.close':\n case 'Window.setTitle':\n case 'Window.onVisibilityChange':\n return MODULE_WINDOW\n case 'StorageBrowser.clear':\n case 'StorageBrowser.getItem':\n case 'StorageBrowser.setItem':\n return MODULE_WEB_STORAGE\n case 'Meta.setThemeColor':\n return MODULE_META\n case 'ServiceWorker.register':\n case 'ServiceWorker.uninstall':\n return MODULE_SERVICE_WORKER\n default:\n throw new Error(`command ${commandId} not found`)\n }\n}\n\nconst loadCommand = async (command) => {\n await getOrLoadModule(getModuleId(command))\n}\n\nexport const register = (commandId, listener) => {\n state.commands[commandId] = listener\n}\n\nconst hasThrown = new Set()\n\nconst executeCommandAsync = async (command, ...args) => {\n try {\n await loadCommand(command)\n } catch (error) {\n // @ts-ignore\n throw new Error(`Failed to load command ${command}`, {\n cause: error,\n })\n }\n if (!(command in state.commands)) {\n if (hasThrown.has(command)) {\n return\n }\n hasThrown.add(command)\n throw new Error(`Command did not register \"${command}\"`)\n }\n return execute(command, ...args)\n}\n\nexport const execute = (command, ...args) => {\n if (command in state.commands) {\n return state.commands[command](...args)\n }\n return executeCommandAsync(command, ...args)\n}\n","export const setInlineStyle = (id, css) => {\n const $ExistingStyle = document.getElementById(id)\n if ($ExistingStyle) {\n $ExistingStyle.textContent = css\n } else {\n const $Style = document.createElement('style')\n $Style.id = id\n $Style.textContent = css\n document.head.append($Style)\n }\n}\n","import * as Command from '../Command/Command.js'\nimport * as Css from './Css.js'\n\nexport const __initialize__ = () => {\n Command.register('Css.setInlineStyle', Css.setInlineStyle)\n}\n","const callbacks = Object.create(null)\n\nexport const state = {\n id: 0,\n}\n\nexport const register = (resolve, reject) => {\n callbacks[++state.id] = { resolve, reject }\n return state.id\n}\n\nexport const unregister = (id) => {\n delete callbacks[id]\n}\n\nexport const resolve = (id, result) => {\n if (!(id in callbacks)) {\n console.warn(`callback ${id} may already be disposed`)\n return\n }\n callbacks[id].resolve(result)\n}\n\nexport const reject = (id, error) => {\n if (!(id in callbacks)) {\n console.warn(`callback ${id} may already be disposed`)\n return\n }\n callbacks[id].reject(error)\n}\n","export class JsonRpcError extends Error {\n constructor(message) {\n super(message)\n this.name = 'JsonRpcError'\n }\n}\n","// TODO treeshake out this whole module in production\n\nconst getType = (value) => {\n switch (typeof value) {\n case 'number':\n return 'number'\n case 'function':\n return 'function'\n case 'string':\n return 'string'\n case 'object':\n if (value === null) {\n return 'null'\n }\n if (Array.isArray(value)) {\n return 'array'\n }\n return 'object'\n case 'boolean':\n return 'boolean'\n default:\n return 'unknown'\n }\n}\n\nexport const object = (value) => {\n const type = getType(value)\n if (type !== 'object') {\n throw new Error('expected value to be of type object')\n }\n}\n\nexport const number = (value) => {\n const type = getType(value)\n if (type !== 'number') {\n throw new Error('expected value to be of type number')\n }\n}\n\nexport const array = (value) => {\n const type = getType(value)\n if (type !== 'array') {\n throw new Error('expected value to be of type array')\n }\n}\n\nexport const string = (value) => {\n const type = getType(value)\n if (type !== 'string') {\n throw new Error('expected value to be of type string')\n }\n}\n\nexport const null_ = (value) => {\n const type = getType(value)\n if (type !== 'null') {\n throw new Error('expected value to be of type null')\n }\n}\n\nexport const boolean = (value) => {\n const type = getType(value)\n if (type !== 'boolean') {\n throw new Error('expected value to be of type boolean')\n }\n}\n","import * as Assert from '../Assert/Assert.js'\n\nexport const create = async ({ url }) => {\n Assert.string(url)\n const port = await new Promise((resolve) => {\n globalThis.acceptPort = resolve\n import(url)\n })\n delete globalThis.acceptPort\n return port\n}\n","const getDisplayName = (name) => {\n if (!name) {\n return '<unknown> worker'\n }\n if (name.endsWith('Worker')) {\n return name.toLowerCase()\n }\n return `${name} worker`\n}\n\nconst tryToGetActualErrorMessage = async ({ url, name }) => {\n const displayName = getDisplayName(name)\n try {\n await import(url)\n return `Failed to start ${displayName}: Unknown Error`\n } catch (error) {\n if (\n error &&\n error instanceof Error &&\n error.message.startsWith('Failed to fetch dynamically imported module')\n ) {\n try {\n const response = await fetch(url)\n switch (response.status) {\n case 404:\n return `Failed to start ${displayName}: Not found (404)`\n default:\n return `Failed to start ${displayName}: Unknown Network Error`\n }\n } catch {\n return `Failed to start ${displayName}: Unknown Network Error`\n }\n }\n return `Failed to start ${displayName}: ${error}`\n }\n}\n\nconst isFirefoxError = (message) => {\n return [\n 'SyntaxError: import declarations may only appear at top level of a module',\n 'SyntaxError: export declarations may only appear at top level of a module',\n ].includes(message)\n}\n\nexport const create = async ({ url, name }) => {\n try {\n const worker = new Worker(url, {\n type: 'module',\n name,\n })\n await new Promise((resolve, reject) => {\n const cleanup = () => {\n worker.onmessage = null\n worker.onerror = null\n }\n const handleFirstMessage = (event) => {\n cleanup()\n if (event.data === 'ready') {\n resolve(undefined)\n } else {\n reject(new Error('unexpected first message from renderer worker'))\n }\n }\n const handleFirstError = async (event) => {\n cleanup()\n if (isFirefoxError(event.message)) {\n event.preventDefault()\n reject(new Error('module workers are not supported in firefox'))\n } else {\n const actualErrorMessage = await tryToGetActualErrorMessage({\n url,\n name,\n })\n reject(new Error(actualErrorMessage))\n }\n }\n worker.onmessage = handleFirstMessage\n worker.onerror = handleFirstError\n })\n return worker\n } catch (error) {\n if (\n error &&\n error instanceof Error &&\n error.message === 'module workers are not supported in firefox'\n ) {\n const IpcParentWithMessagePort = await import(\n './IpcParentWithMessagePort.js'\n )\n return IpcParentWithMessagePort.create({ url })\n }\n throw error\n }\n}\n","export const create = async (url) => {\n const referencePort = await new Promise((resolve) => {\n globalThis.acceptReferencePort = resolve\n import(url)\n })\n delete globalThis.acceptReferencePort\n return referencePort\n}\n","// TODO lazyload these files\nimport * as IpcParentWithMessagePort from './IpcParentWithMessagePort.js'\nimport * as IpcParentWithModuleWorker from './IpcParentWithModuleWorker.js'\nimport * as IpcParentWithReferencePort from './IpcParentWithReferencePort.js'\n\n/* istanbul ignore file */\n\nexport const Methods = {\n MessagePort: 1,\n ModuleWorker: 2,\n ReferencePort: 3,\n}\n\n/**\n * @type {number}\n */\nconst METHOD_PREFERRED = Methods.ModuleWorker\n\nexport const create = async ({ method, ...options }) => {\n switch (METHOD_PREFERRED) {\n case Methods.ModuleWorker:\n return IpcParentWithModuleWorker.create(options)\n case Methods.MessagePort:\n return IpcParentWithMessagePort.create(options)\n case Methods.ReferencePort:\n return IpcParentWithReferencePort.create(options)\n default:\n throw new Error('unknown method')\n }\n}\n","/* istanbul ignore file */\n\n// TODO this should always be completely tree shaken out during build\n\n/**\n * @returns {'electron'|'remote'|'web'}\n */\nconst getPlatform = () => {\n // @ts-ignore\n if (typeof 'remote' !== 'undefined') {\n // @ts-ignore\n return 'remote'\n }\n if (typeof process !== 'undefined' && process.env.NODE_ENV === 'test') {\n return 'remote'\n }\n // @ts-ignore\n const userAgentData = navigator.userAgentData\n // TODO this is probably a bad check but electron doesn't deliver anything and\n // this will be tree shaken out anyway during build\n if (userAgentData && userAgentData.brands.length === 0) {\n return 'electron'\n }\n return 'remote'\n}\n\nexport const platform = getPlatform()\n\n// TODO treeshake this function out when targeting electron\n\nexport const state = {\n cachedIsMobileOrTablet: undefined,\n isMobileOrTablet() {\n // @ts-ignore\n const userAgentData = navigator.userAgentData\n if (userAgentData && userAgentData.mobile) {\n return true\n }\n // copied from https://stackoverflow.com/questions/11381673/detecting-a-mobile-browser\n let check = false\n ;(function (a) {\n if (\n /(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(\n a\n ) ||\n /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\\/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do(c|p)o|ds(12|-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(-|_)|g1 u|g560|gene|gf-5|g-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd-(m|p|t)|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c(-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac( |-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|-[a-w])|libw|lynx|m1-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[23]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|-([1-8]|c))|phil|pire|pl(ay|uc)|pn-2|po(ck|rt|se)|prox|psio|pt-g|qa-a|qc(07|12|21|32|60|-[2-7]|i-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h-|oo|p-)|sdk\\/|se(c(-|0|1)|47|mc|nd|ri)|sgh-|shar|sie(-|m)|sk-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h-|v-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl-|tdg-|tel(i|m)|tim-|t-mo|to(pl|sh)|ts(70|m-|m3|m5)|tx-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas-|your|zeto|zte-/i.test(\n a.slice(0, 4)\n )\n ) {\n check = true\n }\n // @ts-ignore\n })(navigator.userAgent || navigator.vendor || window.opera)\n return check\n },\n getAssetDir() {\n // @ts-ignore\n if (typeof '/bf7d47a' !== 'undefined') {\n // @ts-ignore\n return '/bf7d47a'\n }\n if (platform === 'electron') {\n return '../../../../..'\n }\n return ''\n },\n supportsHtml5Dialog() {\n const $Dialog = document.createElement('dialog')\n // @ts-ignore\n return typeof $Dialog.showModal === 'function'\n },\n isElectron() {\n return (\n // @ts-ignore\n window.myApi &&\n // @ts-ignore\n window.myApi.ipcConnect &&\n // @ts-ignore\n typeof window.myApi.ipcConnect === 'function'\n )\n },\n}\n\nexport const isMobileOrTablet = () => {\n return state.isMobileOrTablet()\n}\n\n// TODO if necessary support more browser detection\nexport const getBrowser = () => {\n if (platform === 'electron') {\n return 'electron'\n }\n // @ts-ignore\n const userAgentData = navigator.userAgentData\n if (userAgentData) {\n for (const brand of userAgentData.brands) {\n const actualBrand = brand.brand.toLowerCase()\n switch (actualBrand) {\n case 'firefox':\n return 'firefox'\n case 'chromium':\n return 'chromium'\n default:\n break\n }\n }\n }\n const userAgent = navigator.userAgent.toLowerCase()\n if (userAgent.includes('firefox')) {\n return 'firefox'\n }\n if (userAgent.includes('Electron')) {\n return 'electron'\n }\n return 'chromium'\n}\n\nexport const getAssetDir = () => {\n return state.getAssetDir()\n}\n\nexport const supportsHtml5Dialog = () => {\n return state.supportsHtml5Dialog()\n}\n\nexport const isElectron = () => {\n return state.isElectron()\n}\n\nexport const getRendererWorkerUrl = () => {\n const assetDir = getAssetDir()\n const urlRendererWorker = `${assetDir}/packages/renderer-worker/src/rendererWorkerMain.js`\n return urlRendererWorker\n}\n","import * as Callback from '../Callback/Callback.js'\nimport * as Command from '../Command/Command.js'\nimport { JsonRpcError } from '../Errors/JsonRpcError.js'\nimport * as IpcParent from '../IpcParent/IpcParent.js'\nimport * as Platform from '../Platform/Platform.js'\n\n// const URL_RENDERER_WORKER =\n// '/packages/renderer-worker/distmin/rendererWorkerMain-0ead0bed.js'\n\nexport const state = {\n /**\n * @type {any}\n */\n ipc: undefined,\n}\n\nclass NonError extends Error {\n name = 'NonError'\n\n constructor(message) {\n super(message)\n }\n}\n\n// ensureError based on https://github.com/sindresorhus/ensure-error/blob/main/index.js (License MIT)\nconst ensureError = (input) => {\n if (!(input instanceof Error)) {\n return new NonError(input)\n }\n return input\n}\n\nconst serializeError = (error) => {\n error = ensureError(error)\n return {\n stack: error.stack,\n message: error.message,\n }\n}\n\nconst handleMessageFromRendererWorker = async (event) => {\n const message = event.data\n if ('id' in message) {\n if ('method' in message) {\n try {\n const result = await Command.execute(message.method, ...message.params)\n state.ipc.send({\n jsonrpc: '2.0',\n id: message.id,\n result,\n })\n return\n } catch (error) {\n const serializedError = serializeError(error)\n state.ipc.send({\n jsonrpc: '2.0',\n id: message.id,\n error: {\n message: serializedError.message,\n stack: serializedError.stack,\n },\n })\n }\n return\n }\n Callback.resolve(message.id, message)\n return\n }\n throw new JsonRpcError('unexpected message from renderer process')\n}\n\nconst getIpc = async () => {\n const rendererWorker = await IpcParent.create({\n method: IpcParent.Methods.ModuleWorker,\n url: Platform.getRendererWorkerUrl(),\n name: 'Renderer Worker',\n })\n return {\n send(message) {\n rendererWorker.postMessage(message)\n },\n sendAndTransfer(message, transferables) {\n rendererWorker.postMessage(message, transferables)\n },\n get onmessage() {\n return rendererWorker.onmessage\n },\n set onmessage(listener) {\n rendererWorker.onmessage = listener\n },\n }\n}\n\nexport const hydrate = async (config) => {\n const ipc = await getIpc()\n\n // setup electron message port\n if (Platform.isElectron()) {\n await new Promise((resolve, reject) => {\n const handleIpcMessage = (event) => {\n if (event.data !== 'get-port') {\n reject(new Error('unexpected message from renderer worker'))\n return\n }\n const handleMessageFromWindow = (event) => {\n const port = event.ports[0]\n ipc.sendAndTransfer('port', [port])\n resolve()\n }\n\n // @ts-ignore\n window.addEventListener('message', handleMessageFromWindow, {\n once: true,\n })\n // @ts-ignore\n window.myApi.ipcConnect()\n }\n ipc.onmessage = handleIpcMessage\n })\n }\n ipc.onmessage = handleMessageFromRendererWorker\n state.ipc = ipc\n}\n\n// TODO needed?\nexport const dispose = () => {\n if (state.rendererWorker) {\n state.rendererWorker.terminate()\n }\n}\n\nexport const send = (method, ...params) => {\n state.ipc.send({\n jsonrpc: '2.0',\n method,\n params,\n })\n}\n\nconst deserializeError = (serializedError) => {\n const error = new Error()\n if (serializedError && serializedError.message) {\n error.message = serializedError.message\n }\n if (serializedError && serializedError.stack) {\n error.stack = serializedError.stack\n }\n return error\n}\n\nconst combineStacks = (upperStack, lowerStack) => {\n const indexNewLine = lowerStack.indexOf('\\n')\n return upperStack + lowerStack.slice(indexNewLine)\n}\n\nclass RendererWorkerError extends Error {\n constructor(serializedError) {\n const deserializedError = deserializeError(serializedError)\n super(deserializedError.message)\n if (this.stack) {\n this.stack = combineStacks(deserializedError.stack, this.stack)\n }\n }\n}\n\nexport const invoke = async (method, ...params) => {\n const responseMessage = await new Promise((resolve, reject) => {\n const callbackId = Callback.register(resolve, reject)\n state.ipc.send({\n jsonrpc: '2.0',\n method,\n params,\n id: callbackId,\n })\n })\n if ('error' in responseMessage) {\n throw new RendererWorkerError(responseMessage.error)\n }\n if ('result' in responseMessage) {\n return responseMessage.result\n }\n throw new JsonRpcError('unexpected message from renderer process')\n}\n\nexport const sendAndTransfer = (message, transfer) => {\n state.ipc.sendAndTransfer(message, transfer)\n}\n","import * as RendererWorker from '../RendererWorker/RendererWorker.js'\n\nexport const state = {\n $ActivityBar: undefined,\n $StatusBar: undefined,\n $TitleBar: undefined,\n $Main: undefined,\n $SideBar: undefined,\n $Panel: undefined,\n $Workbench: undefined,\n $SashSideBar: undefined,\n $SashPanel: undefined,\n}\n\n// TODO when nodes are not visible, they are still kept in memory as detached dom nodes\n// maybe it doesn't matter but maybe they should be garbage collected\n\nexport const update = (points) => {\n const $ActivityBar = state.$ActivityBar\n const $Main = state.$Main\n const $TitleBar = state.$TitleBar\n const $SideBar = state.$SideBar\n const $StatusBar = state.$StatusBar\n const $Panel = state.$Panel\n const $SashSideBar = state.$SashSideBar\n const $SashPanel = state.$SashPanel\n\n if (points.activityBarVisible) {\n $ActivityBar.style.top = `${points.activityBarTop}px`\n $ActivityBar.style.left = `${points.activityBarLeft}px`\n $ActivityBar.style.width = `${points.activityBarWidth}px`\n $ActivityBar.style.height = `${points.activityBarHeight}px`\n $ActivityBar.style.display = ''\n } else {\n $ActivityBar.style.display = 'none'\n }\n if (points.mainVisible) {\n $Main.style.top = `${points.mainTop}px`\n $Main.style.left = `${points.mainLeft}px`\n $Main.style.width = `${points.mainWidth}px`\n $Main.style.height = `${points.mainHeight}px`\n $Main.style.display = ''\n } else {\n $Main.style.display = 'none'\n }\n if (points.panelVisible) {\n $Panel.style.top = `${points.panelTop}px`\n $Panel.style.left = `${points.panelLeft}px`\n $Panel.style.width = `${points.panelWidth}px`\n $Panel.style.height = `${points.panelHeight}px`\n $Panel.style.display = ''\n\n $SashPanel.style.top = `${points.panelTop}px`\n $SashPanel.style.left = `${points.panelLeft}px`\n $SashPanel.style.width = `${points.panelWidth}px`\n } else {\n $Panel.style.display = 'none'\n }\n if (points.sideBarVisible) {\n $SideBar.style.top = `${points.sideBarTop}px`\n $SideBar.style.left = `${points.sideBarLeft}px`\n $SideBar.style.width = `${points.sideBarWidth}px`\n $SideBar.style.height = `${points.sideBarHeight}px`\n $SideBar.style.display = ''\n\n $SashSideBar.style.left = `${points.sideBarLeft}px`\n $SashSideBar.style.top = `${points.sideBarTop}px`\n $SashSideBar.style.height = `${points.sideBarHeight}px`\n } else {\n $SideBar.style.display = 'none'\n }\n if (points.statusBarVisible) {\n $StatusBar.style.top = `${points.statusBarTop}px`\n $StatusBar.style.left = `${points.statusBarLeft}px`\n $StatusBar.style.width = `${points.statusBarWidth}px`\n $StatusBar.style.height = `${points.statusBarHeight}px`\n $StatusBar.style.display = ''\n } else {\n $StatusBar.style.display = 'none'\n }\n if (points.titleBarVisible) {\n $TitleBar.style.top = `${points.titleBarTop}px`\n $TitleBar.style.left = `${points.titleBarLeft}px`\n $TitleBar.style.width = `${points.titleBarWidth}px`\n $TitleBar.style.height = `${points.titleBarHeight}px`\n $TitleBar.style.display = ''\n } else {\n // TODO remove elements from dom instead of hiding them\n $TitleBar.style.display = 'none'\n }\n}\n\n// export const get$ActivityBar = () => {\n// return state.$ActivityBar\n// }\n\n// export const get$SideBar = () => {\n// return state.$SideBar\n// }\n\n// export const get$Panel = () => {\n// return state.$Panel\n// }\n\n// export const get$TitleBar = () => {\n// return state.$TitleBar\n// }\n\n// export const get$Main = () => {\n// return state.$Main\n// }\n\nconst getTitleBarHeight = () => {\n if (\n // @ts-ignore\n navigator.windowControlsOverlay &&\n // @ts-ignore\n navigator.windowControlsOverlay.getTitlebarAreaRect\n ) {\n // @ts-ignore\n const titleBarRect = navigator.windowControlsOverlay.getTitlebarAreaRect()\n return titleBarRect.height\n }\n return 0\n}\n\nexport const getBounds = () => {\n return {\n windowWidth: window.innerWidth,\n windowHeight: window.innerHeight,\n titleBarHeight: getTitleBarHeight(),\n }\n}\n\nconst handleResize = (event) => {\n RendererWorker.send(\n /* Layout.handleResize */ 'Layout.handleResize',\n /* bounds */ getBounds()\n )\n}\n\nconst getSashId = ($Target) => {\n console.log({ $Target })\n if ($Target.id === 'SashPanel') {\n return 'Panel'\n }\n if ($Target.id === 'SashSideBar') {\n return 'SideBar'\n }\n return ''\n}\n\nconst handleSashPointerMove = (event) => {\n const x = event.clientX\n const y = event.clientY\n RendererWorker.send(\n /* Layout.handleSashPointerMove */ 'Layout.handleSashPointerMove',\n /* x */ x,\n /* y */ y\n )\n}\n\nconst handleSashPointerUp = () => {\n document.body.style.removeProperty('cursor')\n window.removeEventListener('pointermove', handleSashPointerMove)\n window.removeEventListener('pointerup', handleSashPointerUp)\n const $Style = document.getElementById('SashStyle')\n // @ts-ignore\n $Style.remove()\n}\n\nconst handleSashPointerDown = (event) => {\n // TODO maybe add a class to body instead?\n const $Style = document.createElement('style')\n $Style.id = 'SashStyle'\n $Style.textContent = `* {\n cursor: col-resize !important;\n pointer-events: none;\n}\n\n.SashVertical {\n pointer-events: all;\n}\n.\n`\n document.head.append($Style)\n window.addEventListener('pointermove', handleSashPointerMove)\n window.addEventListener('pointerup', handleSashPointerUp)\n const $Target = event.target\n const id = getSashId($Target)\n RendererWorker.send(\n /* Layout.handleSashPointerDown */ 'Layout.handleSashPointerDown',\n /* id */ id\n )\n}\n\nexport const show = (points) => {\n const $ActivityBar = document.createElement('div')\n $ActivityBar.id = 'ActivityBar'\n\n const $StatusBar = document.createElement('div')\n $StatusBar.id = 'StatusBar'\n\n const $TitleBar = document.createElement('div')\n $TitleBar.id = 'TitleBar'\n\n const $Main = document.createElement('main')\n $Main.id = 'Main'\n\n const $SideBar = document.createElement('div')\n $SideBar.id = 'SideBar'\n\n const $Panel = document.createElement('div')\n $Panel.id = 'Panel'\n\n // TODO use aria role splitter once supported https://github.com/w3c/aria/issues/1348\n const $SashSideBar = document.createElement('div')\n $SashSideBar.className = 'SashVertical'\n $SashSideBar.id = 'SashSideBar'\n\n // TODO use aria role splitter once supported https://github.com/w3c/aria/issues/1348\n const $SashPanel = document.createElement('div')\n $SashPanel.className = 'SashHorizontal'\n $SashPanel.id = 'SashPanel'\n\n const $Workbench = document.createElement('div')\n $Workbench.id = 'Workbench'\n $Workbench.append(\n $TitleBar,\n $Main,\n $SideBar,\n $ActivityBar,\n $Panel,\n $StatusBar,\n $SashSideBar,\n $SashPanel\n )\n // TODO don't like the random side effects here\n state.$ActivityBar = $ActivityBar\n state.$Main = $Main\n state.$Panel = $Panel\n state.$SideBar = $SideBar\n state.$StatusBar = $StatusBar\n state.$TitleBar = $TitleBar\n state.$Workbench = $Workbench\n state.$SashPanel = $SashPanel\n state.$SashSideBar = $SashSideBar\n update(points)\n // document.body.role= 'application' // TODO this doesn't seem to work\n // @ts-ignore\n $Workbench.role = 'application'\n document.body.append($Workbench)\n window.addEventListener('resize', handleResize, { passive: true })\n $SashSideBar.addEventListener('pointerdown', handleSashPointerDown)\n $SashPanel.addEventListener('pointerdown', handleSashPointerDown)\n}\n\nexport const hide = () => {\n state.$Workbench.remove()\n window.removeEventListener('resize', handleResize)\n}\n","import * as Command from '../Command/Command.js'\nimport * as Layout from './Layout.js'\n\nexport const __initialize__ = () => {\n Command.register('Layout.update', Layout.update)\n // Command.register(1101, Layout.hideSideBar)\n // Command.register(1102, Layout.toggleSideBar)\n // Command.register(1103, Layout.showPanel)\n // Command.register(1104, Layout.hidePanel)\n // Command.register(1105, Layout.togglePanel)\n // Command.register(1106, Layout.showActivityBar)\n // Command.register(1107, Layout.hideActivityBar)\n // Command.register(1108, Layout.toggleActivityBar)\n Command.register('Layout.show', Layout.show)\n Command.register('Layout.hide', Layout.hide)\n Command.register('Layout.getBounds', Layout.getBounds)\n}\n","export const state = {\n // contexts: Object.create(null),\n contexts: {},\n}\n\n// TODO all context keys should be numeric\n// comparing numbers is faster and more efficient than comparing strings every time\n// e.g. map 'focus.editor' -> 1\n// e.g. map 'focus.explorer' -> 2\n// Context.get(1), Context.get(2)\n\nexport const get = (key) => {\n return state.contexts[key]\n}\n\nexport const getAll = () => {\n return state.contexts\n}\n\nexport const set = (key, value) => {\n state.contexts[key] = value\n}\n\nexport const remove = (key) => {\n delete state.contexts[key]\n}\n","import * as Context from '../Context/Context.js'\n\n// TODO not sure if its worth to have a separate module for this or keep it inside Context.js\n// export const setFocus = (item) => {\n// if (Context.state.currentFocus) {\n// Context.remove(Context.state.currentFocus)\n// }\n// Context.set(`focus.${item}`, true)\n// }\n\nexport const state = {\n $PreviousFocusElement: undefined,\n currentFocus: '',\n}\n\nexport const setFocus = (key) => {\n if (state.currentFocus) {\n Context.remove(state.currentFocus)\n }\n // TODO could make focus key numeric enum which would be more efficient\n state.currentFocus = `focus.${key}`\n Context.set(state.currentFocus, true)\n}\n\nexport const setAdditionalFocus = (key) => {\n // TODO key should be numeric\n Context.set(`focus.${key}`, true)\n}\n\nexport const removeAdditionalFocus = (key) => {\n Context.remove(`focus.${key}`)\n}\n\nexport const focus = ($Element, key) => {\n if ($Element === document.activeElement) {\n console.log('focus return')\n return\n }\n console.log(state.$PreviousFocusElement)\n state.$PreviousFocusElement = document.activeElement\n $Element.focus({ preventScroll: true })\n setFocus(key)\n}\n\nexport const focusPrevious = () => {\n if (state.$PreviousFocusElement) {\n console.log(state.$PreviousFocusElement)\n state.$PreviousFocusElement.focus()\n }\n}\n","import * as Platform from '../Platform/Platform.js'\n\nconst create$Cursor = () => {\n const $Cursor = document.createElement('div')\n $Cursor.className = 'EditorCursor'\n return $Cursor\n}\n\nconst render$Cursor = ($Cursor, $Texts, cursor) => {\n $Cursor.style.top = `${cursor.top}px`\n const range = document.createRange()\n if (cursor.leftIndex === -1) {\n console.warn('cursor left is negative')\n $Cursor.style.left = '0px' // TODO need to compute column width, this would only work for monospace fonts\n return\n }\n const $Row = $Texts.children[cursor.topIndex]\n if (!$Row) {\n console.warn('no row', cursor, $Row)\n return\n }\n const $Node = $Row.children[cursor.leftIndex]\n if (!$Node) {\n console.warn('no node', cursor, $Row)\n return\n }\n if (cursor.leftIndex === 0 && cursor.remainingOffset === 0) {\n $Cursor.style.left = '0px'\n } else {\n const $TextNode = $Node.firstChild\n range.setStart($TextNode, cursor.remainingOffset)\n range.setEnd($TextNode, cursor.remainingOffset)\n const rect = range.getBoundingClientRect()\n const left = Math.round(rect.left)\n $Cursor.style.left = `${left}px`\n }\n}\n\nconst render$CursorsLess = ($Cursors, $Texts, cursors) => {\n for (let i = 0; i < $Cursors.children.length; i++) {\n render$Cursor($Cursors.children[i], cursors[i])\n }\n const fragment = document.createDocumentFragment()\n for (let i = $Cursors.children.length; i < cursors.length; i++) {\n const $Cursor = create$Cursor()\n render$Cursor($Cursor, $Texts, cursors[i])\n fragment.append($Cursor)\n }\n $Cursors.append(fragment)\n}\n\nconst render$CursorsEqual = ($Cursors, $Texts, cursors) => {\n for (let i = 0; i < cursors.length; i++) {\n render$Cursor($Cursors.children[i], $Texts, cursors[i])\n }\n}\n\nconst render$CursorsMore = ($Cursors, $Texts, cursors) => {\n for (let i = 0; i < cursors.length; i++) {\n render$Cursor($Cursors.children[i], $Texts, cursors[i])\n }\n const diff = $Cursors.children.length - cursors.length\n for (let i = 0; i < diff; i++) {\n $Cursors.lastChild.remove()\n }\n}\n\nconst render$Cursors = ($Cursors, $Texts, cursors) => {\n if ($Cursors.children.length < cursors.length) {\n render$CursorsLess($Cursors, $Texts, cursors)\n } else if ($Cursors.children.length === cursors.length) {\n render$CursorsEqual($Cursors, $Texts, cursors)\n } else {\n render$CursorsMore($Cursors, $Texts, cursors)\n }\n}\n\nconst renderCursorsNative = (state, cursors) => {\n if (cursors.length > 1) {\n console.warn('[editor] cannot render more than one native cursor')\n return\n }\n if (cursors.length === 0) {\n return\n }\n const cursor = cursors[0]\n const $Rows = state.$LayerText\n const $StartRow = $Rows.children[cursor.rowIndex]\n let startOffset = 0\n let $Anchor\n for (let i = 0; i < $StartRow.children.length; i++) {\n if (startOffset >= cursor.columnIndex) {\n console.log({ startOffset })\n $Anchor = $StartRow.children[i - 1].firstChild\n startOffset -= $Anchor.textContent.length\n startOffset = cursor.columnIndex - startOffset\n break\n }\n startOffset += $StartRow.children[i].textContent.length\n }\n if (!$Anchor) {\n $Anchor = $StartRow.children[$StartRow.children.length - 1].firstChild\n startOffset -= $Anchor.textContent.length\n startOffset = cursor.columnIndex - startOffset\n }\n const selection = document.getSelection()\n if (\n selection.anchorNode === $Anchor &&\n selection.focusNode === $Anchor &&\n selection.anchorOffset === startOffset &&\n selection.focusOffset === startOffset\n ) {\n return\n }\n state.shouldIgnoreSelectionChange = true\n const documentRange = document.createRange()\n documentRange.setStart($Anchor, startOffset)\n documentRange.setEnd($Anchor, startOffset)\n selection.removeAllRanges()\n selection.addRange(documentRange)\n}\n\nexport const setCursors = (state, cursors) => {\n if (Platform.isMobileOrTablet()) {\n renderCursorsNative(state, cursors)\n return\n }\n render$Cursors(state.$LayerCursor, state.$LayerText, cursors)\n}\n","const create$Diagnostic = () => {\n const $Diagnostic = document.createElement('div')\n $Diagnostic.className = 'EditorDiagnostic'\n return $Diagnostic\n}\n\nconst render$Diagnostic = ($Diagnostic, diagnostic) => {\n $Diagnostic.style.top = `${diagnostic.top}px`\n $Diagnostic.style.left = `${diagnostic.left}px`\n $Diagnostic.style.width = `${diagnostic.width}px`\n $Diagnostic.style.height = `${diagnostic.height}px`\n}\n\nconst render$DiagnosticsLess = ($Diagnostics, diagnostics) => {\n for (let i = 0; i < $Diagnostics.children.length; i++) {\n render$Diagnostic($Diagnostics.children[i], diagnostics[i])\n }\n const fragment = document.createDocumentFragment()\n for (let i = $Diagnostics.children.length; i < diagnostics.length; i++) {\n const $Diagnostic = create$Diagnostic()\n render$Diagnostic($Diagnostic, diagnostics[i])\n fragment.append($Diagnostic)\n }\n $Diagnostics.append(fragment)\n}\n\nconst render$DiagnosticsEqual = ($Diagnostics, diagnostics) => {\n for (let i = 0; i < diagnostics.length; i++) {\n render$Diagnostic($Diagnostics.children[i], diagnostics[i])\n }\n}\n\nconst render$DiagnosticsMore = ($Diagnostics, diagnostics) => {\n for (let i = 0; i < diagnostics.length; i++) {\n render$Diagnostic($Diagnostics.children[i], diagnostics[i])\n }\n const diff = $Diagnostics.children.length - diagnostics.length\n for (let i = 0; i < diff; i++) {\n $Diagnostics.lastChild.remove()\n }\n}\n\nconst render$Diagnostics = ($Diagnostics, diagnostics) => {\n if ($Diagnostics.children.length < diagnostics.length) {\n render$DiagnosticsLess($Diagnostics, diagnostics)\n } else if ($Diagnostics.children.length === diagnostics.length) {\n render$DiagnosticsEqual($Diagnostics, diagnostics)\n } else {\n render$DiagnosticsMore($Diagnostics, diagnostics)\n }\n}\n\nexport const setDiagnostics = (state, diagnostics) => {\n render$Diagnostics(state.$LayerDiagnostics, diagnostics)\n}\n","export const setPosition = (state, scrollBarY, scrollBarHeight) => {\n state.$ScrollBarThumb.style.top = `${scrollBarY}px`\n state.$ScrollBarThumb.style.height = `${scrollBarHeight}px`\n}\n\n// TODO scrollbar decorations should be own layer maybe\nconst create$ScrollBarDiagnostic = () => {\n const $ScrollBarDiagnostic = document.createElement('div')\n $ScrollBarDiagnostic.className = 'ScrollBarDiagnostic'\n return $ScrollBarDiagnostic\n}\n\nconst render$ScrollBarDiagnostic = (\n $ScrollBarDiagnostic,\n scrollBarDiagnostic\n) => {\n $ScrollBarDiagnostic.style.top = `${scrollBarDiagnostic.top}px`\n}\n\nconst render$ScrollBarDiagnosticsLess = (\n $ScrollBarDiagnostics,\n scrollBarDiagnostics\n) => {\n for (let i = 0; i < $ScrollBarDiagnostics.children.length; i++) {\n render$ScrollBarDiagnostic(\n $ScrollBarDiagnostics.children[i],\n scrollBarDiagnostics[i]\n )\n }\n const fragment = document.createDocumentFragment()\n for (\n let i = $ScrollBarDiagnostics.children.length;\n i < scrollBarDiagnostics.length;\n i++\n ) {\n const $ScrollBarDiagnostic = create$ScrollBarDiagnostic()\n render$ScrollBarDiagnostic($ScrollBarDiagnostic, scrollBarDiagnostics[i])\n fragment.append($ScrollBarDiagnostic)\n }\n $ScrollBarDiagnostics.append(fragment)\n}\n\nconst render$ScrollBarDiagnosticsEqual = (\n $ScrollBarDiagnostics,\n scrollBarDiagnostics\n) => {\n for (let i = 0; i < scrollBarDiagnostics.length; i++) {\n render$ScrollBarDiagnostic(\n $ScrollBarDiagnostics.children[i],\n scrollBarDiagnostics[i]\n )\n }\n}\n\nconst render$ScrollBarDiagnosticsMore = (\n $ScrollBarDiagnostics,\n scrollBarDiagnostics\n) => {\n for (let i = 0; i < scrollBarDiagnostics.length; i++) {\n render$ScrollBarDiagnostic(\n $ScrollBarDiagnostics.children[i],\n scrollBarDiagnostics[i]\n )\n }\n const diff =\n $ScrollBarDiagnostics.children.length - scrollBarDiagnostics.length\n for (let i = 0; i < diff; i++) {\n $ScrollBarDiagnostics.lastChild.remove()\n }\n}\n\nconst render$ScrollBarDiagnostics = (\n $ScrollBarDiagnostics,\n scrollBarDiagnostics\n) => {\n if ($ScrollBarDiagnostics.children.length < scrollBarDiagnostics.length) {\n render$ScrollBarDiagnosticsLess($ScrollBarDiagnostics, scrollBarDiagnostics)\n } else if (\n $ScrollBarDiagnostics.children.length === scrollBarDiagnostics.length\n ) {\n render$ScrollBarDiagnosticsEqual(\n $ScrollBarDiagnostics,\n scrollBarDiagnostics\n )\n } else {\n render$ScrollBarDiagnosticsMore($ScrollBarDiagnostics, scrollBarDiagnostics)\n }\n}\n\nexport const setDiagnostics = (editor, scrollBarDiagnostics) => {\n render$ScrollBarDiagnostics(\n editor.$ScrollBarDiagnostics,\n scrollBarDiagnostics\n )\n}\n","import * as Platform from '../Platform/Platform.js'\n\nconst create$Selection = () => {\n const $Selection = document.createElement('div')\n $Selection.className = 'EditorSelection'\n return $Selection\n}\n\nconst render$Selection = ($Selection, selections, i) => {\n const top = selections[i * 4]\n const left = selections[i * 4 + 1]\n const width = selections[i * 4 + 2]\n const height = selections[i * 4 + 3]\n // TODO have many decorations per row\n // no absolute positioning\n $Selection.style.top = `${top}px`\n $Selection.style.left = `${left}px`\n $Selection.style.width = `${width}px`\n $Selection.style.height = `${height}px`\n}\n\nconst render$SelectionsLess = (\n $Selections,\n childCount,\n selections,\n selectionCount\n) => {\n for (let i = 0, j = 0; i < childCount; i++, j += 4) {\n render$Selection($Selections.children[i], selections[i])\n }\n const fragment = document.createDocumentFragment()\n for (let i = childCount; i < selectionCount; i++) {\n const $Selection = create$Selection()\n render$Selection($Selection, selections, i)\n fragment.append($Selection)\n }\n $Selections.append(fragment)\n}\n\nconst render$SelectionsEqual = (\n $Selections,\n childCount,\n selections,\n selectionCount\n) => {\n for (let i = 0; i < selectionCount; i++) {\n render$Selection($Selections.children[i], selections, i)\n }\n}\n\nconst render$SelectionsMore = (\n $Selections,\n childCount,\n selections,\n selectionCount\n) => {\n for (let i = 0; i < selectionCount; i++) {\n render$Selection($Selections.children[i], selections, i)\n }\n const diff = childCount - selectionCount\n for (let i = 0; i < diff; i++) {\n $Selections.lastChild.remove()\n }\n}\n\nconst render$Selections = ($Selections, selections) => {\n const selectionsCount = selections.length / 4\n const childCount = $Selections.children.length\n if (childCount < selectionsCount) {\n render$SelectionsLess($Selections, childCount, selections, selectionsCount)\n } else if (childCount === selectionsCount) {\n render$SelectionsEqual($Selections, childCount, selections, selectionsCount)\n } else {\n render$SelectionsMore($Selections, childCount, selections, selectionsCount)\n }\n}\n\nconst renderSelectionsNative = (state, selections) => {\n if (selections.length > 1) {\n console.warn('[editor] cannot render more than one native selection')\n }\n}\n\nexport const setSelections = (state, selections) => {\n if (Platform.isMobileOrTablet()) {\n renderSelectionsNative(state, selections)\n return\n }\n render$Selections(state.$LayerSelections, selections)\n}\n","import * as Assert from '../Assert/Assert.js'\n\nconst create$Row = () => {\n const $Row = document.createElement('div')\n $Row.className = 'EditorRow'\n return $Row\n}\n\nconst create$Token = () => {\n const $Token = document.createElement('span')\n $Token.className = 'Token'\n return $Token\n}\n\n// TODO maybe use createTextNode (codeMirror uses that)\n// This function seems to be a hot spot\nconst render$Token = ($Token, text, className) => {\n $Token.className = className\n if ($Token.firstChild) {\n // recycle text node\n $Token.firstChild.nodeValue = text\n } else {\n $Token.textContent = text\n }\n}\n\nconst render$LineLess = ($Line, lineInfo) => {\n let i = 0\n while (i < $Line.children.length * 2) {\n const text = lineInfo[i++]\n const className = lineInfo[i++]\n render$Token($Line.children[i / 2 - 1], text, className)\n }\n const fragment = document.createDocumentFragment()\n while (i < lineInfo.length) {\n const text = lineInfo[i++]\n const className = lineInfo[i++]\n const $Token = create$Token()\n render$Token($Token, text, className)\n fragment.append($Token)\n }\n $Line.append(fragment)\n}\n\nconst render$LineEqual = ($Line, lineInfo) => {\n let i = 0\n while (i < lineInfo.length) {\n const text = lineInfo[i++]\n const className = lineInfo[i++]\n render$Token($Line.children[i / 2 - 1], text, className)\n }\n}\n\nconst render$LineMore = ($Line, lineInfo) => {\n let i = 0\n while (i < lineInfo.length) {\n const text = lineInfo[i++]\n const className = lineInfo[i++]\n render$Token($Line.children[i / 2 - 1], text, className)\n }\n const diff = $Line.children.length - lineInfo.length / 2\n for (let i = lineInfo.length; i < lineInfo.length + diff; i++) {\n $Line.lastChild.remove()\n }\n}\n\nconst render$Line = ($Line, lineInfo) => {\n if ($Line.children.length < lineInfo.length / 2) {\n render$LineLess($Line, lineInfo)\n } else if ($Line.children.length === lineInfo.length / 2) {\n render$LineEqual($Line, lineInfo)\n } else {\n render$LineMore($Line, lineInfo)\n }\n}\n\nconst render$LinesLess = ($Lines, lineInfos) => {\n for (let i = 0; i < $Lines.children.length; i++) {\n render$Line($Lines.children[i], lineInfos[i])\n }\n const fragment = document.createDocumentFragment()\n for (let i = $Lines.children.length; i < lineInfos.length; i++) {\n const $Line = create$Row()\n render$Line($Line, lineInfos[i])\n fragment.append($Line)\n }\n $Lines.append(fragment)\n}\n\nconst render$LinesEqual = ($Lines, lineInfos) => {\n for (let i = 0; i < lineInfos.length; i++) {\n render$Line($Lines.children[i], lineInfos[i])\n }\n}\n\nconst render$LinesMore = ($Lines, lineInfos) => {\n for (let i = 0; i < lineInfos.length; i++) {\n render$Line($Lines.children[i], lineInfos[i])\n }\n const diff = $Lines.children.length - lineInfos.length\n for (let i = lineInfos.length; i < lineInfos.length + diff; i++) {\n $Lines.lastChild.remove()\n }\n}\n\nconst render$Lines = ($Lines, lineInfos) => {\n Assert.object($Lines)\n Assert.array(lineInfos)\n if ($Lines.children.length < lineInfos.length) {\n render$LinesLess($Lines, lineInfos)\n } else if ($Lines.children.length === lineInfos.length) {\n render$LinesEqual($Lines, lineInfos)\n } else {\n render$LinesMore($Lines, lineInfos)\n }\n}\n\nexport const setLineInfos = (state, lineInfos) => {\n render$Lines(state.$LayerText, lineInfos)\n}\n","// TODO so many things in this file\n\nimport * as Focus from '../Focus/Focus.js'\nimport * as RendererWorker from '../RendererWorker/RendererWorker.js'\nimport * as Platform from '../Platform/Platform.js'\nimport * as Assert from '../Assert/Assert.js'\nimport * as EditorHelper from './EditorHelper.js'\nimport * as LayerCursor from './LayerCursor.js'\nimport * as LayerDiagnostics from './LayerDiagnostics.js'\nimport * as LayerScrollBar from './LayerScrollBar.js'\nimport * as LayerSelections from './LayerSelections.js'\nimport * as LayerText3 from './LayerText.js'\n\n// TODO go back to edit mode after pressing escape so screenreaders can navigate https://stackoverflow.com/questions/53909477/how-to-handle-tabbing-for-accessibility-with-a-textarea-that-uses-the-tab-button\n\n// TODO tree shake out mobile support when targeting electron -> less code -> less event listeners -> less memory -> less cpu\n\nconst handleContextMenu = (event) => {\n event.preventDefault()\n const x = event.clientX\n const y = event.clientY\n RendererWorker.send(\n /* ContextMenu.show */ 'ContextMenu.show',\n /* x */ x,\n /* y */ y,\n /* id */ 'editor'\n )\n}\n\nconst handleFocus = (event) => {\n Focus.setFocus('EditorText')\n}\n\nconst handleBlur = (event) => {\n // needed for save on blur\n // also needed to close completions on blur\n RendererWorker.send(/* EditorBlur.editorBlur */ 'Editor.blur')\n}\n\nconst handleBeforeInput = (event) => {\n event.preventDefault()\n switch (event.inputType) {\n case 'insertText':\n RendererWorker.send(\n /* Editor.type */ 'Editor.type',\n /* text */ event.data\n )\n break\n default:\n break\n }\n // if (!event.data) {\n // return\n // }\n}\n\n// TODO composition should be better supported,\n// for example\n// - gedit draws a line below the composed text\n// - codemirror 6 also draws that line\n// - codemirror 5 also draws that line\n// - vscode does not draw a line, but displays characters during composition\n\nconst handleCompositionStart = (event) => {\n RendererWorker.send(\n /* Editor.compositionStart */ 'Editor.compositionStart',\n /* text */ event.data\n )\n}\n\nconst handleCompositionUpdate = (event) => {\n RendererWorker.send(\n /* Editor.compositionUpdate */ 'Editor.compositionUpdate',\n /* text */ event.data\n )\n}\n\nconst handleCompositionEnd = (event) => {\n RendererWorker.send(\n /* Editor.compositionEnd */ 'Editor.compositionEnd',\n /* text */ event.data\n )\n}\n\nconst handleCut = (event) => {\n event.preventDefault()\n RendererWorker.send(/* Editor.cut */ 'Editor.cut')\n}\n\nconst handleSelectionMove = (event) => {\n const x = event.clientX\n const y = event.clientY\n const totalOffset = getTotalOffset(event)\n if (event.altKey) {\n RendererWorker.send(\n /* Editor.moveRectangleSelectionPx */ 'Editor.moveRectangleSelectionPx',\n /* x */ x,\n /* y */ y,\n /* offset */ totalOffset\n )\n } else {\n RendererWorker.send(\n /* Editor.moveSelectionPx */ 'Editor.moveSelectionPx',\n /* x */ x,\n /* y */ y,\n /* offset */ totalOffset\n )\n }\n}\n\nconst handleSelectionDone = (event) => {\n document.removeEventListener('mousemove', handleSelectionMove)\n document.removeEventListener('mouseup', handleSelectionDone)\n}\n\nconst getModifier = (event) => {\n if (event.ctrlKey) {\n return 'ctrl'\n }\n if (event.altKey) {\n return 'alt'\n }\n return ''\n}\n\nconst handleSingleClick = (event, x, y, offset) => {\n console.log('click', { x, y, offset })\n const modifier = getModifier(event)\n RendererWorker.send(\n /* Editor.handleSingleClick */ 'Editor.handleSingleClick',\n /* modifier */ modifier,\n /* x */ x,\n /* y */ y,\n /* offset */ offset\n )\n const $Target = event.target\n // const $InputBox = $Target.closest('.Editor').firstElementChild\n // $InputBox.focus()\n // TODO this logic should be in renderer worker\n document.addEventListener('mousemove', handleSelectionMove, { passive: true })\n document.addEventListener('mouseup', handleSelectionDone)\n}\n\nconst handleDoubleClick = (event, x, y, offset) => {\n RendererWorker.send(\n /* Editor.handleDoubleClick */ 'Editor.handleDoubleClick',\n /* x */ x,\n /* y */ y,\n /* offset */ offset\n )\n}\n\nconst handleTripleClick = (event, x, y, offset) => {\n RendererWorker.send(\n /* Editor.handleTripleClick */ 'Editor.handleTripleClick',\n /* x */ x,\n /* y */ y,\n /* offset */ offset\n )\n}\n\nconst isRightClick = (event) => {\n return event.button === 2\n}\n\nconst getTextNodeOffset = (textNode) => {\n let $Token = textNode.parentElement\n let offset = 0\n while ($Token.previousSibling) {\n $Token = $Token.previousSibling\n offset += $Token.textContent.length\n }\n return offset\n}\n\nconst getTotalOffset = (event) => {\n if (document.caretRangeFromPoint) {\n // chrome uses deprecated version\n const range = document.caretRangeFromPoint(event.clientX, event.clientY)\n if (!range) {\n return 0\n }\n const textNode = range.startContainer\n const textNodeOffset = getTextNodeOffset(textNode)\n const offset = range.startOffset\n const totalOffset = textNodeOffset + offset\n return totalOffset\n // @ts-ignore\n }\n // @ts-ignore\n if (document.caretPositionFromPoint) {\n // firefox uses new version\n // @ts-ignore\n const range = document.caretPositionFromPoint(event.clientX, event.clientY)\n if (!range) {\n return 0\n }\n const textNode = range.offsetNode\n const textNodeOffset = getTextNodeOffset(textNode)\n const offset = range.offset\n const totalOffset = textNodeOffset + offset\n return totalOffset\n }\n throw new Error('caret position is not supported')\n}\n\nconst handleMouseDown = (event) => {\n if (isRightClick(event)) {\n return\n }\n event.preventDefault()\n const totalOffset = getTotalOffset(event)\n const x = event.clientX\n const y = event.clientY\n console.log('detail', event.detail)\n switch (event.detail) {\n case 1:\n handleSingleClick(event, x, y, totalOffset)\n break\n case 2:\n handleDoubleClick(event, x, y, totalOffset)\n break\n case 3:\n handleTripleClick(event, x, y, totalOffset)\n break\n default:\n break\n }\n}\n\n// TODO figure out whether it is possible to register hover provider without mousemove\n// mousemove handler is called very often and could slow down editor / drain battery\n\n// disabled for now because of constant cpu usage on mousemove\n// bad for performance\nconst handleMouseMove = (event) => {\n const x = event.clientX\n const y = event.clientY\n if (event.altKey) {\n const offset = getTotalOffset(event)\n RendererWorker.send(\n /* Editor.handleMouseMoveWithAltKey */ 'Editor.handleMouseMoveWithAltKey',\n /* x */ x,\n /* y */ y,\n /* offset */ offset\n )\n }\n // console.log(event.altKey)\n // RendererWorker.send(/* Editor.handleMouseMove */ 389, /* x */ x, /* y */ y)\n}\n\nconst handleWheel = (event) => {\n // event.preventDefault()\n // const state = EditorHelper.getStateFromEvent(event)\n // TODO send editor id\n switch (event.deltaMode) {\n case event.DOM_DELTA_LINE:\n RendererWorker.send(\n /* Editor.setDeltaY */ 'Editor.setDeltaY',\n /* value */ event.deltaY\n )\n break\n case event.DOM_DELTA_PIXEL:\n RendererWorker.send(\n /* Editor.setDeltaY */ 'Editor.setDeltaY',\n /* value */ event.deltaY\n )\n break\n default:\n break\n }\n}\n\nconst handlePaste = (event) => {\n event.preventDefault()\n const text = event.clipboardData.getData('text')\n RendererWorker.send(/* Editor.paste */ 'Editor.paste', /* text */ text)\n}\n\nconst handleScrollBarThumbMouseMove = (event) => {\n const y = event.clientY\n RendererWorker.send(\n /* Editor.handleScrollBarMouseMove */ 'Editor.handleScrollBarMove',\n /* y */ y\n )\n}\n\nconst handleScrollBarThumbMouseUp = () => {\n window.removeEventListener('mousemove', handleScrollBarThumbMouseMove)\n window.removeEventListener('mouseup', handleScrollBarThumbMouseUp)\n}\n\nconst handleScrollBarThumbMouseDown = (event) => {\n window.addEventListener('mousemove', handleScrollBarThumbMouseMove)\n window.addEventListener('mouseup', handleScrollBarThumbMouseUp)\n}\n\nconst handleScrollBarMouseDown = (event) => {\n const y = event.clientY\n RendererWorker.send(\n /* EditorHandleScrollBarClick.editorHandleScrollBarClick */ 'Editor.handleScrollBarClick',\n /* y */ y\n )\n}\n\nconst toSimpleTouch = (touch) => {\n return {\n x: touch.clientX,\n y: touch.clientY,\n }\n}\n\nconst toSimpleTouchEvent = (event) => {\n const touches = Array.from(event.touches).map(toSimpleTouch)\n const changedTouches = Array.from(event.changedTouches).map(toSimpleTouch)\n return {\n touches,\n changedTouches,\n }\n}\n\n// TODO add touch cancel handler\n\n// TODO use touch events for scrolling\n\nconst handleTouchStart = (event) => {\n const touchEvent = toSimpleTouchEvent(event)\n RendererWorker.send(\n /* EditorHandleTouchStart.editorHandleTouchStart */ 'Editor.handleTouchStart',\n /* touchEvent */ touchEvent\n )\n}\n\nconst handleTouchMove = (event) => {\n const touchEvent = toSimpleTouchEvent(event)\n RendererWorker.send(\n /* EditorHandleTouchMove.editorHandleTouchMove */ 'Editor.handleTouchMove',\n /* touchEvent */ touchEvent\n )\n}\n\nconst handleTouchEnd = (event) => {\n if (event.cancelable) {\n event.preventDefault()\n }\n const touchEvent = toSimpleTouchEvent(event)\n RendererWorker.send(\n /* EditorHandleTouchEnd.editorHandleTouchEnd */ 'Editor.handleTouchEnd',\n /* touchEvent */ touchEvent\n )\n}\n\nconst getRangeFromSelection = (selection) => {\n if (!selection.anchorNode) {\n return undefined\n }\n const $StartToken = selection.anchorNode.parentNode\n const $EndToken = selection.focusNode.parentNode\n const $StartRow = $StartToken.parentNode\n const $EndRow = $EndToken.parentNode\n const $Rows = $StartRow.parentNode\n let startRowIndex = 0\n for (let i = 0; i < $Rows.children.length; i++) {\n if ($Rows.children[i] === $StartRow) {\n startRowIndex = i\n break\n }\n }\n let startColumnIndex = 0\n for (let i = 0; i < $StartRow.children.length; i++) {\n if ($StartRow.children[i] === $StartToken) {\n break\n }\n startColumnIndex += $StartRow.children[i].textContent.length\n }\n startColumnIndex += selection.anchorOffset\n let endRowIndex = 0\n for (let i = 0; i < $Rows.children.length; i++) {\n if ($Rows.children[i] === $EndRow) {\n endRowIndex = i\n break\n }\n }\n let endColumnIndex = 0\n for (let i = 0; i < $EndRow.children.length; i++) {\n if ($EndRow.children[i] === $EndToken) {\n break\n }\n endColumnIndex += $EndRow.children[i].textContent.length\n }\n endColumnIndex += selection.focusOffset\n return {\n startRowIndex,\n startColumnIndex,\n endRowIndex,\n endColumnIndex,\n }\n}\n\nconst handleContentEditableBeforeInput = (event) => {\n const selection = document.getSelection()\n const range = getRangeFromSelection(selection)\n if (!range) {\n console.error('[Editor] cannot handle input event without selection')\n return\n }\n RendererWorker.send(\n /* EditorHandleBeforeInputFromContentEditable.editorHandleBeforeInputFromContentEditable */ 'Editor.handleBeforeInputFromContentEditable',\n /* data */ event.data || '',\n /* range */ range\n )\n}\n\nconst handleNativeSelectionChange = (event) => {\n // if (state.shouldIgnoreSelectionChange) {\n // state.shouldIgnoreSelectionChange = false\n // return\n // }\n // const selection = document.getSelection()\n // const range = getRangeFromSelection(selection)\n // if (!range) {\n // return\n // }\n // RendererWorker.send(\n // /* EditorHandleNativeSelectionChange.editorHandleNativeSelectionChange */ 'Editor.handleNativeSelectionChange',\n // /* range */ range\n // )\n}\n\n// TODO all create functions should have no arguments\n// and be split into two parts\n// 1. create -> only create dom elements\n// 2. render -> fill elements with attributes and data\n// that way all dom nodes can be recycled\nexport const create = () => {\n const $EditorInput = document.createElement('textarea')\n $EditorInput.className = 'EditorInput'\n $EditorInput.ariaAutoComplete = 'list'\n $EditorInput.ariaRoleDescription = 'editor'\n $EditorInput.ariaMultiLine = 'true'\n $EditorInput.setAttribute('autocomplete', 'off')\n $EditorInput.setAttribute('autocapitalize', 'off')\n $EditorInput.setAttribute('autocorrect', 'off')\n $EditorInput.setAttribute('wrap', 'off')\n $EditorInput.setAttribute('spellcheck', 'false')\n // @ts-ignore\n $EditorInput.role= 'textbox'\n $EditorInput.onpaste = handlePaste\n // TODO where to best put listeners (side effects)\n $EditorInput.addEventListener('beforeinput', handleBeforeInput)\n $EditorInput.addEventListener('compositionstart', handleCompositionStart)\n $EditorInput.addEventListener('compositionupdate', handleCompositionUpdate)\n $EditorInput.addEventListener('compositionend', handleCompositionEnd)\n $EditorInput.onfocus = handleFocus\n $EditorInput.onblur = handleBlur\n $EditorInput.oncut = handleCut\n\n const $LayerCursor = document.createElement('div')\n $LayerCursor.className = 'LayerCursor'\n\n const $LayerText = document.createElement('div')\n $LayerText.className = 'EditorRows'\n if (Platform.isMobileOrTablet()) {\n $LayerText.setAttribute('contenteditable', 'plaintext-only')\n $LayerText.setAttribute('autocapitalize', 'off')\n $LayerText.setAttribute('spellcheck', 'false')\n $LayerText.setAttribute('autocorrect', 'off')\n $LayerText.addEventListener('beforeinput', handleContentEditableBeforeInput)\n // TODO remove listener once editor is disposed\n // TODO why is there no selection change listener for the element?\n document.addEventListener('selectionchange', handleNativeSelectionChange)\n } else {\n $LayerText.addEventListener('mousedown', handleMouseDown)\n }\n\n const $ScrollBarThumb = document.createElement('div')\n $ScrollBarThumb.className = 'ScrollBarThumb'\n $ScrollBarThumb.addEventListener('mousedown', handleScrollBarThumbMouseDown)\n\n // TODO only create $ScrollBarDiagnostics lazily when there are actually diagnostics\n const $ScrollBarDiagnostics = document.createElement('div')\n $ScrollBarDiagnostics.className = 'EditorScrollBarDiagnostics'\n\n const $ScrollBar = document.createElement('div')\n $ScrollBar.className = 'ScrollBar'\n if (!Platform.isMobileOrTablet()) {\n $ScrollBar.onmousedown = handleScrollBarMouseDown\n }\n $ScrollBar.append($ScrollBarThumb)\n\n // $EditorRows.addEventListener('mousemove', handleMouseMove, { passive: true })\n\n // TODO function should be hoisted (maybe -> one listener for all editors (definitely))\n // only problem is $EditorInput closure\n\n // TODO when mousedown on completions -> this shouldn't be called\n\n const $LayerSelections = document.createElement('div')\n $LayerSelections.className = 'Selections'\n\n // TODO maybe use css grid to position layers on top of each other\n // TODO maybe merge layerDiagnostics with LayerSelections\n // TODO maybe this should be more generic, e.g. LayerDecorations\n // where decoration = {top,left, width, height, type/className}\n const $LayerDiagnostics = document.createElement('div')\n $LayerDiagnostics.className = 'LayerDiagnostics'\n\n const $EditorLayers = document.createElement('div')\n $EditorLayers.className = 'EditorLayers'\n $EditorLayers.append(\n $LayerSelections,\n $LayerText,\n $LayerCursor,\n $LayerDiagnostics\n )\n\n const $Editor = document.createElement('div')\n $Editor.className = 'Viewlet Editor'\n $Editor.dataset.viewletId = 'EditorText'\n // @ts-ignore\n $Editor.role= 'code'\n $Editor.append($EditorInput, $EditorLayers, $ScrollBarDiagnostics, $ScrollBar)\n if (Platform.isMobileOrTablet()) {\n $Editor.addEventListener('touchstart', handleTouchStart, { passive: true })\n $Editor.addEventListener('touchmove', handleTouchMove, { passive: true })\n $Editor.addEventListener('touchend', handleTouchEnd)\n } else {\n $Editor.addEventListener('contextmenu', handleContextMenu)\n $Editor.addEventListener('wheel', handleWheel, { passive: true })\n }\n $Editor.addEventListener('mousemove', handleMouseMove, { passive: true })\n return {\n $LayerCursor,\n $LayerSelections,\n $LayerText,\n $EditorLayers,\n $Editor,\n $EditorInput,\n $ScrollBarThumb,\n $LayerDiagnostics,\n $ScrollBarDiagnostics,\n shouldIgnoreSelectionChange: false,\n $Viewlet: $Editor,\n }\n}\n\nexport const setText = (state, textInfos) => {\n LayerText3.setLineInfos(state, textInfos)\n}\n\nexport const setSettings = (state, fontSize, lineHeight, letterSpacing) => {\n // TODO many properties on <html> element in chrome devtools looks ugly\n // maybe put styles into a stylesheet instead of using inline styles?\n const root = document.documentElement\n root.style.setProperty('--EditorFontSize', `${fontSize}px`)\n root.style.setProperty('--EditorLineHeight', `${lineHeight}px`)\n root.style.setProperty('--EditorLetterSpacing', letterSpacing)\n}\n\nexport const setScrollBar = (state, scrollBarY, scrollBarHeight) => {\n LayerScrollBar.setPosition(state, scrollBarY, scrollBarHeight)\n}\n\nexport const renderCursors = (state, cursorInfos) => {\n LayerCursor.setCursors(state, cursorInfos)\n}\n\nexport const renderSelections = (state, selectionInfos) => {\n LayerSelections.setSelections(state, selectionInfos)\n}\n\nexport const renderTextAndCursors = (state, textInfos, cursorInfos) => {\n LayerText3.setLineInfos(state, textInfos)\n LayerCursor.setCursors(state, cursorInfos)\n}\n\nexport const setSelections = (state, cursorInfos, selectionInfos) => {\n LayerCursor.setCursors(state, cursorInfos)\n LayerSelections.setSelections(state, selectionInfos)\n}\n\nexport const renderTextAndCursorsAndSelections = (\n state,\n scrollBarY,\n scrollBarHeight,\n textInfos,\n cursorInfos,\n selectionInfos\n) => {\n Assert.object(state)\n Assert.number(scrollBarY)\n Assert.number(scrollBarHeight)\n Assert.array(textInfos)\n Assert.array(cursorInfos)\n Assert.array(selectionInfos)\n LayerScrollBar.setPosition(state, scrollBarY, scrollBarHeight)\n LayerText3.setLineInfos(state, textInfos)\n LayerCursor.setCursors(state, cursorInfos)\n LayerSelections.setSelections(state, selectionInfos)\n}\n\n// TODO this should be in editor\nconst getColumnWidth = () => {\n const testSpan = document.createElement('span')\n testSpan.textContent = 'a'\n testSpan.style.fontSize = '15px'\n testSpan.style.letterSpacing = '0.5px'\n testSpan.style.position = 'fixed'\n testSpan.style.fontFamily = \"'Fira Code'\"\n document.body.append(testSpan)\n const result = Number.parseFloat(getComputedStyle(testSpan).width) / 1\n testSpan.remove()\n return result\n}\n\nexport const mount = (state, $Parent) => {\n $Parent.append(state.$Editor)\n}\n\nexport const dispose = (state) => {}\n\nexport const focus = (state) => {\n const { $EditorInput } = state\n console.log('focus editor')\n $EditorInput.focus()\n}\n\nexport const setLanguageId = async (state, languageId) => {\n // state.languageId = languageId\n // state.$Editor.dataset.languageId = languageId\n // loadTokenizer(languageId)\n}\n\nexport const renderDiagnostics = (state, diagnostics, scrollBarDiagnostics) => {\n LayerDiagnostics.setDiagnostics(state, diagnostics)\n LayerScrollBar.setDiagnostics(state, scrollBarDiagnostics)\n}\n","import * as Assert from '../Assert/Assert.js'\n\nexport const state = {\n instances: Object.create(null),\n currentSideBarView: undefined,\n currentPanelView: undefined,\n modules: Object.create(null),\n}\n\nconst get = (id) => {\n switch (id) {\n case 'Explorer':\n return import('../ViewletExplorer/ViewletExplorer.js')\n case 'Run and Debug':\n return import('../ViewletRunAndDebug/ViewletRunAndDebug.js')\n case 'Search':\n return import('../ViewletSearch/ViewletSearch.js')\n case 'Source Control':\n return import('../ViewletSourceControl/ViewletSourceControl.js')\n case 'Terminal':\n return import('../ViewletTerminal/ViewletTerminal.js')\n case 'Extensions':\n return import('../ViewletExtensions/ViewletExtensions.js')\n case 'Debug Console':\n return import('./ViewletDebugConsole.js')\n case 'Output':\n return import('../ViewletOutput/ViewletOutput.js')\n case 'Problems':\n return import('../ViewletProblems/ViewletProblems.js')\n case 'Empty':\n return import('./ViewletEmpty.js')\n case 'EditorText':\n return import('./ViewletEditorText.js')\n case 'EditorPlainText':\n return import('./ViewletEditorPlainText.js')\n case 'EditorImage':\n return import('./ViewletEditorImage.js')\n case 'Clock':\n return import('../ViewletClock/ViewletClock.js')\n case 'SideBar':\n return import('../ViewletSideBar/ViewletSideBar.js')\n case 'Panel':\n return import('../ViewletPanel/ViewletPanel.js')\n case 'ActivityBar':\n return import('../ViewletActivityBar/ViewletActivityBar.js')\n case 'ImagePreview':\n return import('../ImagePreview/ImagePreview.js')\n case 'QuickPick':\n return import('../ViewletQuickPick/ViewletQuickPick.js')\n case 'StatusBar':\n return import('../ViewletStatusBar/ViewletStatusBar.js')\n case 'TitleBar':\n return import('../ViewletTitleBar/ViewletTitleBar.js')\n case 'Main':\n return import('../ViewletMain/ViewletMain.js')\n case 'EditorCompletion':\n return import('../ViewletEditorCompletion/ViewletEditorCompletion.js')\n case 'References':\n return import('../ViewletReferences/ViewletReferences.js')\n case 'Implementations':\n return import('../ViewletImplementations/ViewletImplementations.js')\n default:\n throw new Error(`unknown viewlet ${id}`)\n }\n}\n\nexport const mount = ($Parent, state) => {\n while ($Parent.firstChild) {\n $Parent.firstChild.remove()\n }\n $Parent.append(state.$Viewlet)\n}\n\nexport const load = async (id, ...args) => {\n const module = await get(id)\n state.modules[id] = module\n state.instances[id] = {\n state: module.create(...args),\n factory: module,\n }\n}\n\nexport const invoke = (viewletId, method, ...args) => {\n const instance = state.instances[viewletId]\n if (!instance) {\n console.warn(`viewlet instance ${viewletId} not found`)\n return\n }\n if (typeof instance.factory[method] !== 'function') {\n console.warn(`method ${method} in ${viewletId} not implemented`)\n console.log(instance.factory)\n return\n }\n return instance.factory[method](instance.state, ...args)\n}\n\nexport const focus = (viewletId) => {\n const instance = state.instances[viewletId]\n if (instance && instance.factory && instance.factory.focus) {\n instance.factory.focus(instance.state)\n } else {\n // TODO push focusContext\n }\n}\n\n/**\n * @deprecated\n */\nexport const refresh = (viewletId, viewletContext) => {\n console.log('REFRESH', viewletId)\n const instance = state.instances[viewletId]\n if (instance) {\n instance.factory.refresh(instance.state, viewletContext)\n } else {\n // console.warn('no instance yet of ' + viewletId)\n state.refreshContext[viewletId] = viewletContext\n }\n}\n\n// TODO handle error when viewlet creation fails\n\n// TODO remove send -> use invoke instead\nexport const send = (viewletId, method, ...args) => {\n const instance = state.instances[viewletId]\n if (instance) {\n instance.factory[method](...args)\n } else {\n // TODO\n console.warn('instance not present')\n }\n}\n\nexport const sendMultiple = (commands) => {\n for (const command of commands) {\n const [_, viewletId, method, ...args] = command\n invoke(viewletId, method, ...args)\n }\n}\n\n/**\n * @deprecated\n */\nexport const dispose = (id) => {\n Assert.string(id)\n const instance = state.instances[id]\n if (!instance) {\n console.warn(`viewlet instance ${id} not found and cannot be disposed`)\n return\n }\n try {\n instance.factory.dispose(instance.state)\n if (instance.state.$Viewlet && instance.state.$Viewlet.isConnected) {\n instance.state.$Viewlet.remove()\n }\n } catch (error) {\n console.error(error)\n }\n delete state.instances[id]\n}\n\n/**\n * @deprecated\n */\nexport const replace = () => {\n // TODO maybe check if viewlet can be recycled\n}\n\nexport const handleError = (id, parentId, message) => {\n console.log(`[viewlet-error] ${id}: ${message}`)\n const instance = state.instances[id]\n if (instance && instance.factory && instance.factory.handleError) {\n instance.factory.handleError(instance.state, message)\n return\n }\n // TODO error should bubble up to until highest possible component\n const parentInstance = state.instances[parentId]\n if (\n parentInstance &&\n parentInstance.factory &&\n parentInstance.factory.handleError\n ) {\n parentInstance.factory.handleError(instance.state, message)\n console.log('parent instance', parentInstance)\n return\n }\n if (\n instance &&\n instance.state.$Viewlet &&\n instance.state.$Viewlet.isConnected\n ) {\n instance.state.$Viewlet.textContent = `${message}`\n }\n}\n\n/**\n * @deprecated\n */\nexport const hydrate = (id, ...args) => {\n const module = state.modules[id]\n const instanceState = module.create(...args)\n state.instances[id] = { state: instanceState, factory: module }\n}\n\n/**\n * @deprecated\n */\nexport const appendViewlet = (parentId, childId, focus) => {\n if (parentId === 'Widget') {\n // TODO\n return\n }\n const parentInstanceState = state.instances[parentId] // TODO must ensure that parent is already created\n const parentModule = parentInstanceState.factory\n const childInstance = state.instances[childId]\n if (!childInstance) {\n throw new Error('child instance must be defined to be appended to parent')\n }\n parentModule.appendViewlet(\n parentInstanceState.state,\n childInstance.factory.name,\n childInstance.state.$Viewlet\n )\n if (focus) {\n childInstance.factory.focus(childInstance.state)\n }\n}\n","import * as Command from '../Command/Command.js'\nimport * as Viewlet from '../Viewlet/Viewlet.js'\n\nexport const __initialize__ = () => {\n Command.register('Viewlet.refresh', Viewlet.refresh)\n Command.register('Viewlet.invoke', Viewlet.invoke)\n Command.register('Viewlet.send', Viewlet.invoke)\n Command.register('Viewlet.focus', Viewlet.focus)\n Command.register('Viewlet.dispose', Viewlet.dispose)\n Command.register('Viewlet.appendViewlet', Viewlet.appendViewlet)\n Command.register('Viewlet.load', Viewlet.load)\n Command.register('Viewlet.handleError', Viewlet.handleError)\n Command.register('Viewlet.sendMultiple', Viewlet.sendMultiple)\n}\n","import * as Context from '../Context/Context.js'\nimport * as RendererWorker from '../RendererWorker/RendererWorker.js'\nimport * as Platform from '../Platform/Platform.js'\n\nconst RE_ASCII = /[\\p{ASCII}]+/u\n\nexport const state = {\n keyBindings: [],\n modifier: '',\n modifierTimeout: -1,\n}\n\nconst isAscii = (key) => {\n return RE_ASCII.test(key)\n}\n\nconst getIdentifier = (event) => {\n let identifier = ''\n if (event.ctrlKey) {\n identifier += 'ctrl+'\n }\n if (event.shiftKey) {\n identifier += 'shift+'\n }\n if (event.altKey) {\n identifier += 'alt+'\n }\n let key = event.key\n if (key === ' ') {\n key = 'Space'\n }\n if (key.length === 1) {\n key = key.toLowerCase()\n }\n identifier += key\n return identifier\n}\n\n// TODO store keybindings as json somewhere\n\n// TODO sort keybindings by `when` priority -> focus.editorCompletions: 10, focus.editor:9 etc.\n\n// TODO does it make sense to have all of these configurable?\n// could remove some context logic and have less user configuration when these are default\n// e.g. arrow down focuses next, arrow up always focuses previous item (like in aria spec)\n\n// TODO ui should only have keys -> commands get resolved inside renderer worker\n// TODO should toggle terminal, not only open\n\nconst matchesContext = (keybinding) => {\n if (!keybinding.when) {\n return true\n }\n return Context.get(keybinding.when)\n}\n\nconst getMatchingKeyBinding = (identifier) => {\n // TODO this could be more efficient in O(N) instead of O(2N)\n const matchesIdentifier = (keyBinding) => {\n return keyBinding.key === identifier\n }\n const matchingKeyBindings = state.keyBindings.filter(matchesIdentifier)\n const matchingKeyBinding = matchingKeyBindings.find(matchesContext)\n return matchingKeyBinding\n}\n\nconst getModifier = (event) => {\n switch (event.key) {\n case 'Control':\n return 'ctrl'\n case 'Shift':\n return 'shift'\n case 'Alt':\n return 'alt'\n }\n return ''\n}\n\nconst clearModifier = () => {\n if (!state.modifier) {\n return\n }\n if (state.modifierTimeout !== -1) {\n clearTimeout(state.modifierTimeout)\n state.modifier = ''\n state.modifierTimeout = -1\n }\n}\n\nconst handleMatchingKeyBinding = (matchingKeyBinding) => {\n // TODO execute command directly or -> executeCommand -> keybindings -> executeCommand\n // better directly\n // TODO always should be number\n // when launching keybindings -> map string command to number\n // TODO should args always be defined? (probably yes -> monomorphism & simpler code since all objects are the same)\n\n // TODO matchingKeyBinding.command should always be number\n RendererWorker.send(\n /* KeyBindings.handleKeyBinding */ 'KeyBindings.handleKeyBinding',\n /* keyBinding */ matchingKeyBinding\n )\n}\n\nconst handleKeyDown = (event) => {\n const identifier = getIdentifier(event)\n const matchingKeyBinding = getMatchingKeyBinding(identifier)\n if (!matchingKeyBinding) {\n return\n }\n event.preventDefault()\n handleMatchingKeyBinding(matchingKeyBinding)\n}\n\nconst handleKeyUp = (event) => {\n const modifier = getModifier(event)\n if (!modifier) {\n clearModifier()\n return\n }\n if (state.modifier === modifier) {\n clearModifier()\n const identifier = `${modifier} ${modifier}`\n const matchingKeyBinding = getMatchingKeyBinding(identifier)\n if (matchingKeyBinding) {\n handleMatchingKeyBinding(matchingKeyBinding)\n }\n return\n }\n\n state.modifier = modifier\n // @ts-ignore\n state.modifierTimeout = setTimeout(clearModifier, 300)\n}\n\nexport const hydrate = async (keyBindings) => {\n // TODO is this the right place for browser context ?\n // maybe in env file / env service\n const browser = Platform.getBrowser()\n Context.set(`browser.${browser}`, true)\n state.keyBindings = keyBindings\n window.addEventListener('keydown', handleKeyDown)\n // TODO only need keyup listener if keybindings include double modifier key (e.g \"shift shift\")\n window.addEventListener('keyup', handleKeyUp)\n}\n\n// TODO should be in renderer worker\nexport const lookupKeyBinding = (commandId) => {\n switch (commandId) {\n case 'scm.acceptInput':\n return 'Ctrl+Enter'\n default:\n return ''\n }\n}\n","import * as Command from '../Command/Command.js'\nimport * as KeyBindings from './KeyBindings.js'\n\nexport const __initialize__ = () => {\n Command.register('KeyBindings.hydrate', KeyBindings.hydrate)\n // Command.register(756, KeyBindings.setKeyBindings)\n}\n","export const state = {\n isInDom: false,\n $PreviousFocusElement: undefined,\n widgetSet: new Set(),\n $Widgets: undefined,\n}\n\nconst create$Widgets = () => {\n const $Widgets = document.createElement('div')\n $Widgets.id = 'Widgets'\n return $Widgets\n}\n\nexport const append = ($Element) => {\n // TODO should not call append in the first place if it is already in dom\n if (state.widgetSet.has($Element)) {\n return\n }\n state.widgetSet.add($Element)\n if (state.$Widgets) {\n state.$Widgets.append($Element)\n } else {\n state.$Widgets = create$Widgets()\n state.$Widgets.append($Element)\n document.body.append(state.$Widgets)\n }\n}\n\nexport const find = (id) => {\n for (const $Widget of state.widgetSet) {\n if ($Widget.dataset.id === id) {\n return $Widget\n }\n }\n return undefined\n}\n\nexport const remove = ($Element) => {\n if (!$Element) {\n // TODO $Element should always be defined\n return\n }\n state.widgetSet.delete($Element)\n $Element.remove()\n // TODO state.$Widgets should always be defined at this point\n if (state.widgetSet.size === 0 && state.$Widgets) {\n state.$Widgets.remove()\n state.$Widgets = undefined\n }\n}\n","const supportsServiceWorker = () => {\n return 'serviceWorker' in navigator\n}\n\nconst handleUpdateFound = () => {\n // console.info('[service-worker] update found')\n}\n\nconst handleControllerChange = () => {\n // console.info('[service-worker] controller changed - reloading page')\n location.reload()\n}\n\nexport const register = async (url) => {\n if (!supportsServiceWorker()) {\n return\n }\n const registration = await navigator.serviceWorker.register(url, {\n scope: '/',\n type: 'module',\n })\n registration.onupdatefound = handleUpdateFound\n navigator.serviceWorker.oncontrollerchange = handleControllerChange\n}\n\nconst uninstallRegistration = async (registration) => {\n await registration.unregister()\n}\n\nexport const uninstall = async () => {\n if (!supportsServiceWorker()) {\n return\n }\n const registrations = await navigator.serviceWorker.getRegistrations()\n await Promise.all(registrations.map(uninstallRegistration))\n}\n","import * as Command from '../Command/Command.js'\nimport * as ServiceWorker from './ServiceWorker.js'\n\nexport const __initialize__ = () => {\n Command.register('ServiceWorker.register', ServiceWorker.register)\n Command.register('ServiceWorker.uninstall', ServiceWorker.uninstall)\n}\n","import * as RendererWorker from '../RendererWorker/RendererWorker.js'\n\nexport const getPathName = () => {\n return location.pathname\n}\n\nexport const getHref = () => {\n return location.href\n}\n\n// TODO should do nothing if it is already at this path\nexport const setPathName = (pathName) => {\n const currentPathName = getPathName()\n if (currentPathName === pathName) {\n return\n }\n history.pushState(null, null, pathName)\n}\n\nconst handlePopState = (event) => {\n RendererWorker.send(/* Workspace.hydrate */ 'Workspace.hydrate')\n}\n\nexport const hydrate = () => {\n addEventListener('popstate', handlePopState)\n}\n","import * as Command from '../Command/Command.js'\nimport * as Location from './Location.js'\n\nexport const __initialize__ = () => {\n Command.register('Location.getHref', Location.getHref)\n Command.register('Location.getPathName', Location.getPathName)\n Command.register('Location.hydrate', Location.hydrate)\n Command.register('Location.setPathName', Location.setPathName)\n}\n","// TODO this module should be called dom or dom utils\n\n// TODO this module makes for weird code splitting chunks,\n// maybe duplicate the code per file for better chunks\n\nexport const findIndex = ($Container, $Target) => {\n while ($Target && $Target.parentNode !== $Container) {\n $Target = $Target.parentNode\n }\n if (!$Target) {\n // console.log('no target to find', $Target, event.target)\n return -1\n }\n for (let i = 0; i < $Container.children.length; i++) {\n if ($Container.children[i] === $Target) {\n return i\n }\n }\n return -1\n}\n","const getLabel = (item) => {\n if (!item || !item.label) {\n console.warn('menu item has missing label', item)\n return 'n/a'\n }\n return item.label\n}\n\nexport const create$MenuItem = (item) => {\n const $MenuItem = document.createElement('li')\n switch (item.flags) {\n case /* None */ 0:\n $MenuItem.className = 'MenuItem'\n // @ts-ignore\n $MenuItem.role = 'menuitem'\n $MenuItem.textContent = getLabel(item)\n $MenuItem.tabIndex = -1\n break\n case /* Separator */ 1:\n $MenuItem.className = 'MenuItemSeparator'\n // @ts-ignore\n $MenuItem.role = 'separator'\n break\n case /* Checked */ 2:\n $MenuItem.className = 'MenuItem'\n // @ts-ignore\n $MenuItem.role = 'menuitemcheckbox'\n $MenuItem.ariaChecked = 'true'\n $MenuItem.textContent = getLabel(item)\n $MenuItem.tabIndex = -1\n break\n case /* UnChecked */ 3:\n $MenuItem.className = 'MenuItem'\n // @ts-ignore\n $MenuItem.role = 'menuitemcheckbox'\n $MenuItem.ariaChecked = 'false'\n $MenuItem.textContent = getLabel(item)\n $MenuItem.tabIndex = -1\n break\n case /* SubMenu */ 4:\n $MenuItem.className = 'MenuItem'\n // @ts-ignore\n $MenuItem.role = 'menuitem'\n $MenuItem.textContent = getLabel(item)\n $MenuItem.tabIndex = -1\n $MenuItem.ariaHasPopup = 'true'\n $MenuItem.ariaExpanded = 'false'\n break\n case /* Disabled */ 5:\n $MenuItem.className = 'MenuItem'\n // @ts-ignore\n $MenuItem.role = 'menuitem'\n $MenuItem.textContent = getLabel(item)\n $MenuItem.tabIndex = -1\n $MenuItem.setAttribute('disabled', 'true')\n break\n default:\n $MenuItem.className = 'MenuItem'\n // @ts-ignore\n $MenuItem.role = 'menuitem'\n $MenuItem.textContent = getLabel(item)\n $MenuItem.tabIndex = -1\n console.warn('invalid menu item flags:', item)\n break\n }\n return $MenuItem\n}\n","export const create$BackDrop = () => {\n const $BackDrop = document.createElement('div')\n $BackDrop.id = 'BackDrop'\n return $BackDrop\n}\n","import * as FindIndex from '../../shared/findIndex.js'\nimport * as RendererWorker from '../RendererWorker/RendererWorker.js'\nimport * as Widget from '../Widget/Widget.js'\nimport * as MenuItem from '../MenuItem/MenuItem.js'\nimport * as BackDrop from '../BackDrop/BackDrop.js'\nimport * as Focus from '../Focus/Focus.js'\n\n// TODO when pressing tab -> focus next element in tab order and close menu\n\n// TODO menu and contextmenu should have own keybinding logic\n// seems not possible to do with just one keybinding listener\n\n// TODO similar to context menu, show sub menu entries\n// there can be multiple instances (parent -> child -> child) submenus\n\n// TODO using .style.top, .style.left causes chrome devtools to show many layout shift -> maybe use transform instead\n\n// TODO when cycling through items, recalculate style is much slower\n// than in vscode (1.49ms vs 0.33ms)\n// paint is also faster in vscode (0.32ms vs 0.14ms)\n\n// TODO focus on menu is not announced to screenreader\n\n// TODO recalculate style and paint is slow when cycling through items:\n// 0.59ms recalculate style\n// 36us update layer tree\n// 0.35ms paint\n// 0.20ms composite layer\n\n// const contextMenuWidth = 150\n// const contextMenuHeight = 150 + /* padding */ 8 * 4\n\n// TODO keyboard handling\n\nexport const state = {\n handleKeyDown(event) {},\n handleFocusOut(event) {},\n $$Menus: [],\n anchorX: 0,\n anchorY: 0,\n anchorTime: -1,\n $BackDrop: undefined,\n}\n\nconst getLevel = ($Menu) => {\n return state.$$Menus.indexOf($Menu)\n}\n\nconst handleMouseDown = (event) => {\n const $Target = event.target\n const $Menu = $Target.closest('.Menu')\n const index = FindIndex.findIndex($Menu, $Target)\n if (index === -1) {\n console.log('index is negative one')\n return\n }\n event.preventDefault()\n const level = getLevel($Menu)\n RendererWorker.send(\n /* Menu.handleClick */ 'Menu.selectIndex',\n /* level */ level,\n /* index */ index\n )\n}\n\n// const handleKeyDown = (event) => {\n// console.log({ key: event.key })\n// switch (event.key) {\n// case 'ArrowUp':\n// RendererWorker.send( /* Menu.focusPrevious */ 7405)\n// break\n// case 'ArrowLeft':\n// // TODO collapse menu maybe\n// break\n// case 'ArrowDown':\n// RendererWorker.send( /* Menu.focusNext */ 7404)\n// break\n// case 'ArrowRight':\n// // TODO expand sub menu maybe\n// break\n// case 'Home':\n// RendererWorker.send( /* Menu.focusFirst */ 7406)\n// break\n// case 'End':\n// RendererWorker.send( /* Menu.focusLast */ 7407)\n// break\n// default:\n// break\n// }\n// }\n\nconst MOUSE_LOCS_TRACKED = 3\n\n/**\n *\n * @param {MouseEvent} event\n */\nconst handleMouseEnter = (event) => {\n const $Target = event.target\n // @ts-ignore\n const $Menu = $Target.closest('.Menu')\n const x = event.clientX\n const y = event.clientY\n const timeStamp = event.timeStamp\n\n const index = FindIndex.findIndex($Menu, $Target)\n if (index === -1) {\n return\n }\n const level = getLevel($Menu)\n RendererWorker.send(\n /* Menu.handleMouseEnter */ 'Menu.handleMouseEnter',\n /* level */ level,\n /* index */ index,\n /* x */ x,\n /* y */ y,\n /* timeStamp */ timeStamp\n )\n}\n\nconst handleMouseMove = (event) => {\n // const x = event.clientX\n // const y = event.clientY\n // console.log('move', { x, y })\n}\n\nconst handleMouseLeave = (event) => {\n // const x = event.clientX\n // const y = event.clientY\n // console.log('leave', { x, y })\n}\n\n// const handleBlur = (event) => {}\nconst handleKeyDown = (event) => {\n state.handleKeyDown(event)\n}\n\nconst handleFocusOut = (event) => {\n state.handleFocusOut(event)\n}\n\nconst create$Menu = () => {\n // TODO set aria label on menu (e.g. File, Edit, Selection)\n const $Menu = document.createElement('ul')\n $Menu.className = 'Menu'\n // @ts-ignore\n $Menu.role = 'menu'\n $Menu.tabIndex = -1\n // $ContextMenu.onmousedown = contextMenuHandleMouseDown\n // TODO mousedown vs click? (click is usually better but mousedown is faster, why wait 100ms?)\n $Menu.addEventListener('mousedown', handleMouseDown)\n $Menu.addEventListener('mouseenter', handleMouseEnter, {\n capture: true,\n })\n $Menu.addEventListener('mouseleave', handleMouseLeave, {\n capture: true,\n })\n $Menu.addEventListener('mousemove', handleMouseMove, {\n passive: true,\n })\n $Menu.onkeydown = handleKeyDown\n $Menu.addEventListener('focusout', handleFocusOut)\n $Menu.oncontextmenu = handleContextMenu\n // $ContextMenu.onfocus = handleFocus\n // $ContextMenu.onblur = handleBlur\n return $Menu\n}\n\nexport const focusIndex = (level, oldFocusedIndex, newFocusedIndex) => {\n const $Menu = state.$$Menus[level]\n if (oldFocusedIndex !== -1) {\n $Menu.children[oldFocusedIndex].classList.remove('Focused')\n }\n if (newFocusedIndex !== -1) {\n $Menu.children[newFocusedIndex].classList.add('Focused')\n $Menu.children[newFocusedIndex].focus()\n }\n}\n\n// TODO replace function that recycles menu dom nodes\n\nconst handleBackDropMouseDown = () => {\n RendererWorker.send(/* Menu.hide */ 'Menu.hide')\n}\n\nconst handleContextMenu = (event) => {\n event.preventDefault()\n}\n\nexport const showMenu = (\n x,\n y,\n width,\n height,\n items,\n level,\n parentIndex = -1,\n mouseBlocking = false\n) => {\n if (mouseBlocking) {\n const $BackDrop = BackDrop.create$BackDrop()\n $BackDrop.onmousedown = handleBackDropMouseDown\n $BackDrop.oncontextmenu = handleContextMenu\n state.$BackDrop = $BackDrop\n Widget.append($BackDrop)\n }\n\n const $Menu = create$Menu()\n $Menu.append(...items.map(MenuItem.create$MenuItem))\n $Menu.style.left = `${x}px`\n $Menu.style.top = `${y}px`\n $Menu.id = `Menu-${level}`\n\n if (parentIndex !== -1) {\n const $ParentMenu = state.$$Menus[level - 1]\n const $ParentMenuItem = $ParentMenu.children[parentIndex]\n $ParentMenuItem.ariaExpanded = 'true'\n $ParentMenuItem.setAttribute('aria-owns', $Menu.id)\n }\n\n state.$$Menus.push($Menu)\n Widget.append($Menu)\n\n if (level === 0) {\n Focus.focus($Menu, 'menu')\n }\n}\n\nexport const showContextMenu = (x, y, width, height, level, items) => {\n for (const $Menu of state.$$Menus) {\n Widget.remove($Menu)\n }\n state.$$Menus = []\n while (state.$$Menus.length > 0) {\n state.$$Menus[0].remove()\n }\n const $Menu = create$Menu()\n $Menu.append(...items.map(MenuItem.create$MenuItem))\n $Menu.style.left = `${x}px`\n $Menu.style.top = `${y}px`\n $Menu.id = `Menu-${level}`\n Widget.append($Menu)\n state.$$Menus.push($Menu)\n // TODO create backdrop\n}\n\nexport const closeSubMenu = () => {\n const $SubMenu = state.$$Menus.pop()\n const $ParentMenu = state.$$Menus.at(-1)\n Widget.remove($SubMenu)\n}\n\nexport const hideSubMenu = (level) => {\n const $$ChildMenus = state.$$Menus.slice(level)\n for (const $ChildMenu of $$ChildMenus) {\n Widget.remove($ChildMenu)\n }\n}\n\n// export const showSubMenu = (level, items, parentIndex) => {\n// const $$ChildMenus = state.$$Menus.slice(level)\n// for (const $ChildMenu of $$ChildMenus) {\n// Widget.remove($ChildMenu)\n// }\n// state.$$Menus = state.$$Menus.slice(0, level)\n// const $ParentMenu = state.$$Menus[level - 1]\n// const $ParentMenuItem = $ParentMenu.children[parentIndex]\n// const rect = $ParentMenuItem.getBoundingClientRect()\n// const x = rect.right\n// const y = rect.top\n// showMenu(x, y, items, level)\n// // TODO remove aria-owns when sub-menu is closed\n// $ParentMenuItem.setAttribute('aria-owns', 'Menu')\n// }\n\n// TODO implement focusIndex like this\n// const focusIndex2=(id, index)=>{\n// const $Menu = state.menus[id]\n// $Menu.children[index].focus()\n// }\n\n// TODO support nested menus / submenus\nexport const showControlled = ({\n x,\n y,\n items,\n handleKeyDown,\n handleFocusOut,\n $Parent,\n level,\n width,\n height,\n}) => {\n showMenu(x, y, width, height, items, level)\n // TODO menu should not necessarily know about parent (titleBarMenuBar)\n // it should be the other way around\n state.$Parent = $Parent\n state.handleFocusOut = handleFocusOut\n state.handleKeyDown = handleKeyDown\n if ($Parent) {\n // state.$Menu.ariaLabel=''\n // state.$Menu.ariaLabelledBy =$Parent.id\n $Parent.setAttribute('aria-owns', 'Menu')\n } else {\n // state.$Menu.removeAttribute('aria-labelledby')\n }\n // Context.setFocus('menu') // TODO overlapping focus: titleBarMenuBar has focus (kinda) but also menu at the same time\n}\n\n// TODO have function to show submenu\n\nexport const hide = (restoreFocus = true) => {\n for (const $Menu of state.$$Menus) {\n Widget.remove($Menu)\n }\n state.$$Menus = []\n if (state.$BackDrop) {\n Widget.remove(state.$BackDrop)\n state.$BackDrop = undefined\n }\n // TODO focus previous item\n if (restoreFocus) {\n Focus.focusPrevious()\n }\n}\n\nexport const contains = ($Element) => {\n for (const $Menu of state.$$Menus) {\n if ($Menu.contains($Element)) {\n return true\n }\n }\n return false\n}\n","import * as Assert from '../Assert/Assert.js'\nimport * as Focus from '../Focus/Focus.js'\nimport * as Layout from '../Layout/Layout.js'\nimport * as Platform from '../Platform/Platform.js'\nimport * as RendererWorker from '../RendererWorker/RendererWorker.js'\n\n// TODO set aria-selected false when sidebar is collapsed\n\nconst create$ActivityBarItemIcon = (icon) => {\n const $ActivityBarItemIcon = document.createElement('div')\n $ActivityBarItemIcon.className = 'ActivityBarItemIcon'\n // @ts-ignore\n $ActivityBarItemIcon.style.maskImage = `url(${icon})`\n $ActivityBarItemIcon.style.webkitMaskImage = `url(${icon})`\n return $ActivityBarItemIcon\n}\n\n// TODO assetDir might not work with non-builtin extension icons\nconst create$ActivityBarItem = (item) => {\n const assetDir = Platform.getAssetDir()\n const $ActivityBarItemIcon = create$ActivityBarItemIcon(\n `${assetDir}/${item.icon}`\n )\n const $ActivityBarItem = document.createElement('div')\n $ActivityBarItem.className = 'ActivityBarItem'\n $ActivityBarItem.ariaLabel = '' // aria-label is determined by content TODO is empty aria-label necessary or can it be left off?\n $ActivityBarItem.title = item.id\n $ActivityBarItem.tabIndex = -1\n $ActivityBarItem.dataset.viewletId = item.id\n if (item.keyShortcuts) {\n $ActivityBarItem.ariaKeyShortcuts = item.keyShortcuts\n }\n switch (item.flags) {\n case /* Tab */ 1:\n // @ts-ignore\n $ActivityBarItem.role = 'tab'\n $ActivityBarItem.ariaSelected = 'false'\n break\n case /* Button */ 2:\n // @ts-ignore\n $ActivityBarItem.role = 'button'\n $ActivityBarItem.ariaHasPopup = 'true'\n break\n default:\n console.warn(`unknown activity bar item flags ${item.flags}`)\n break\n }\n $ActivityBarItem.append($ActivityBarItemIcon)\n return $ActivityBarItem\n}\n\nconst get$ItemFromEvent = (event) => {\n const $Target = event.target\n switch ($Target.className) {\n case 'ActivityBarItemIcon':\n return $Target.parentNode\n case 'ActivityBarItem':\n return $Target\n default:\n return undefined\n }\n}\n\nconst getNodeIndex = ($Node) => {\n let index = 0\n while (($Node = $Node.previousElementSibling)) {\n index++\n }\n return index\n}\n\nconst handleMousedown = (event) => {\n if (event.button !== 0) {\n return\n }\n const $Item = get$ItemFromEvent(event)\n if (!$Item) {\n return\n }\n event.preventDefault()\n event.stopPropagation()\n const index = getNodeIndex($Item)\n const x = event.clientX\n const y = event.clientY\n RendererWorker.send(\n /* ActivityBar.handleClick */ 'ActivityBar.handleClick',\n /* index */ index,\n /* x */ x,\n /* y */ y\n )\n}\n\nconst handleContextMenu = (event) => {\n event.preventDefault()\n // TODO also move side bar position command\n const x = event.clientX\n const y = event.clientY\n RendererWorker.send(\n /* activityBarHandleContextMenu */ 'ActivityBar.handleContextMenu',\n /* x */ x,\n /* y */ y\n )\n}\n\nconst handleBlur = () => {}\n\nexport const name = 'ActivityBar'\n\nexport const create = () => {\n const $ActivityBar = Layout.state.$ActivityBar\n $ActivityBar.role = 'toolbar'\n $ActivityBar.ariaLabel = 'Activity Bar'\n $ActivityBar.ariaOrientation = 'vertical'\n // $ActivityBar.append(...activityBarItems.map(create$ActivityBarItem))\n $ActivityBar.onmousedown = handleMousedown\n $ActivityBar.oncontextmenu = handleContextMenu\n $ActivityBar.onblur = handleBlur\n $ActivityBar.addEventListener('focusin', handleFocusIn)\n // $ActivityBar.children[focusedIndex].tabIndex = 0\n return {\n $ActivityBar,\n }\n}\n\nexport const dispose = (state) => {}\n\nexport const setItems = (state, activityBarItems) => {\n Assert.object(state)\n Assert.array(activityBarItems)\n const $ActivityBar = state.$ActivityBar\n while ($ActivityBar.firstChild) {\n $ActivityBar.firstChild.remove()\n }\n $ActivityBar.append(...activityBarItems.map(create$ActivityBarItem))\n}\n\nconst handleFocusIn = () => {\n Focus.setFocus('activityBar')\n}\n\nexport const selectIndex = (state, oldIndex, newIndex) => {\n if (oldIndex !== -1) {\n const $OldItem = state.$ActivityBar.children[oldIndex]\n $OldItem.ariaSelected = 'false'\n if (newIndex !== -1) {\n $OldItem.tabIndex = -1\n }\n }\n if (newIndex !== -1) {\n const $NewItem = state.$ActivityBar.children[newIndex]\n $NewItem.ariaSelected = 'true'\n $NewItem.tabIndex = 0\n }\n}\n\nconst focus$Item = ($Item) => {\n Focus.focus($Item, 'activityBar')\n}\n\nexport const setFocusedIndex = (state, oldIndex, newIndex) => {\n const { $ActivityBar } = state\n if (oldIndex !== -1) {\n const $OldItem = $ActivityBar.children[oldIndex]\n $OldItem.tabIndex = -1\n $OldItem.classList.remove('FocusOutline')\n }\n if (newIndex !== -1) {\n const $NewItem = $ActivityBar.children[newIndex]\n $NewItem.tabIndex = 0\n $NewItem.classList.add('FocusOutline')\n focus$Item($NewItem)\n }\n}\n\nexport const setBadgeCount = (state, index, count) => {\n const { $ActivityBar } = state\n const $Item = $ActivityBar.children[index]\n const $Badge = document.createElement('div')\n $Badge.className = 'ActivityBarItemBadge'\n $Badge.textContent = `${count}`\n // @ts-ignore\n $Item.append($Badge)\n}\n","import * as Layout from '../Layout/Layout.js'\nimport * as RendererWorker from '../RendererWorker/RendererWorker.js'\nimport * as Assert from '../Assert/Assert.js'\n\nconst getIconClassName = (icon) => {\n switch (icon) {\n case '$(sync-spin)':\n case '$(sync~spin)':\n return 'StatusBarIcon AnimationSpin'\n case '$(sync)':\n return 'StatusBarIcon'\n case '$(source-control)':\n return 'StatusBarIcon'\n default:\n console.warn(`unknown icon \"${icon}\"`)\n return ''\n }\n}\n\nconst getMaskImageUrl = (icon) => {\n switch (icon) {\n case '$(sync-spin)':\n case '$(sync~spin)':\n case '$(sync)':\n return 'url(/icons/icon-sync.svg)'\n case '$(source-control)':\n return 'url(/icons/icon-source-control.svg)'\n default:\n return ''\n }\n}\n\nconst create$StatusBarItem = (item) => {\n const $StatusBarItem = document.createElement('li')\n $StatusBarItem.className = 'StatusBarItem'\n // @ts-ignore\n $StatusBarItem.role = 'button'\n $StatusBarItem.dataset.name = item.name\n $StatusBarItem.tabIndex = -1\n $StatusBarItem.textContent = item.text\n $StatusBarItem.dataset.command = item.command\n if (item.tooltip) {\n $StatusBarItem.title = item.tooltip\n }\n if (item.icon) {\n const $StatusBarItemIcon = document.createElement('span')\n $StatusBarItemIcon.className = getIconClassName(item.icon)\n // @ts-ignore\n $StatusBarItemIcon.style.maskImage = getMaskImageUrl(item.icon)\n $StatusBarItemIcon.style.webkitMaskImage = getMaskImageUrl(item.icon)\n $StatusBarItem.prepend($StatusBarItemIcon)\n }\n return $StatusBarItem\n}\n\nconst handleClick = (event) => {\n const $Target = event.target\n if ($Target.className !== 'StatusBarItem') {\n return\n }\n const command = Number.parseInt($Target.dataset.command, 10)\n RendererWorker.send(command)\n}\n\n// TODO get items from renderer worker\n// const statusBarItemsLeft = [\n// {\n// name: 'RunTests',\n// text: 'Run Tests',\n// tooltip: '',\n// command: 909021,\n// },\n// ]\n\n// const statusBarItemsRight = []\n\nexport const create = (statusBarItemsLeft, statusBarItemsRight) => {\n const $StatusBarItemsLeft = document.createElement('ul')\n $StatusBarItemsLeft.id = 'StatusBarItemsLeft'\n\n const $StatusBarItemsRight = document.createElement('ul')\n $StatusBarItemsRight.id = 'StatusBarItemsRight'\n\n const $StatusBar = Layout.state.$StatusBar\n $StatusBar.onclick = handleClick\n $StatusBar.tabIndex = 0\n $StatusBar.role = 'status'\n $StatusBar.ariaLive = 'off' // see https://github.com/microsoft/vscode/issues/94677\n $StatusBar.append($StatusBarItemsLeft, $StatusBarItemsRight)\n\n return {\n $StatusBar,\n $StatusBarItemsLeft,\n $StatusBarItemsRight,\n }\n}\n\nconst clearNode = (node) => {\n while (node.firstChild) {\n node.firstChild.remove()\n }\n}\n\nexport const setItems = (state, statusBarItemsLeft, statusBarItemsRight) => {\n const $StatusBarItemsLeft = state.$StatusBarItemsLeft\n const $StatusBarItemsRight = state.$StatusBarItemsRight\n clearNode($StatusBarItemsLeft)\n clearNode($StatusBarItemsRight)\n $StatusBarItemsLeft.append(...statusBarItemsLeft.map(create$StatusBarItem))\n $StatusBarItemsRight.append(...statusBarItemsRight.map(create$StatusBarItem))\n}\n\nexport const focus = (state) => {\n Assert.object(state)\n state.$StatusBar.focus()\n}\n","import * as Menu from '../OldMenu/Menu.js'\nimport * as RendererWorker from '../RendererWorker/RendererWorker.js'\nimport * as Widget from '../Widget/Widget.js'\nimport * as Assert from '../Assert/Assert.js'\n\n// TODO set proper tabIndex 0 to focused item https://www.w3.org/TR/wai-aria-practices/examples/menubar/menubar-1/menubar-1.html\n\n// TODO screenreader doesn't read top level label\n// when menu is open,\n// first item is selected,\n// right is clicked it just reads\n// \"Expanded\" instead of \"Selection Expanded\"\n\n// TODO sometimes screenreader reads too much (e.g. \"File, expanded, opens menu, expanded\")\n\n// TODO don't focus on separators\n\n// TODO don't focus on hover\n// only focus on hover when it has already focus or the menu has focus\n\n// TODO title bar menu bar is very inefficient:\n\n// before: 5 times recalculate style\n// 1.37ms Recalculate style\n// 83us Update Layer tree\n// 0.34ms paint\n// 0.79ms composite layer\n// 0.23ms Hit test\n// 1.42ms Recalculate style\n// 1.44ms Recalculate style\n// 2.08ms Recalculate style\n// 0.44ms Recalculate style\n// 0.52ms Layout\n// 0.16ms Update Layer Tree\n// 48us hit test\n// 16us Update Layer Tree\n// 0.36ms paint\n// 0.33ms composite layer\n\n// now: 2 recalculate styles\n// 0.43ms recalculate style\n// 0.53ms recalculate style\n// 0.19ms layout\n// 0.16ms update layer tree\n// 30us hit test\n// 17us update layer tree\n// 0.17ms paint\n// 0.19ms composite layers\n\nconst create$TopLevelEntry = (item) => {\n const $TitleBarTopLevelEntry = document.createElement('li')\n $TitleBarTopLevelEntry.className = 'TitleBarTopLevelEntry'\n $TitleBarTopLevelEntry.tabIndex = -1\n $TitleBarTopLevelEntry.ariaHasPopup = 'true'\n $TitleBarTopLevelEntry.ariaExpanded = 'false'\n // @ts-ignore\n $TitleBarTopLevelEntry.role = 'menuitem'\n if (item.keyboardShortCut) {\n $TitleBarTopLevelEntry.ariaKeyShortcuts = item.keyboardShortCut\n }\n $TitleBarTopLevelEntry.textContent = item.name\n $TitleBarTopLevelEntry.dataset.id = item.id\n $TitleBarTopLevelEntry.id = `MenuItem-${item.id}`\n return $TitleBarTopLevelEntry\n}\n\nexport const getMenuEntryBounds = (state, index) => {\n const $MenuEntry = state.$TitleBarMenu.children[index]\n const rect = $MenuEntry.getBoundingClientRect()\n return {\n left: rect.left,\n bottom: rect.bottom,\n }\n}\n\nconst getNodeIndex = ($Node) => {\n let index = 0\n while (($Node = $Node.previousElementSibling)) {\n index++\n }\n return index\n}\n\nconst getIndex = ($Target) => {\n switch ($Target.className) {\n case 'TitleBarTopLevelEntry':\n return getNodeIndex($Target)\n default:\n return -1\n }\n}\n\nconst handleClick = (event) => {\n const $Target = event.target\n const index = getIndex($Target)\n if (index === -1) {\n return\n }\n // event.preventDefault()\n RendererWorker.send(\n /* TitleBarMenu.toggleIndex */ 'TitleBarMenuBar.toggleIndex',\n /* index */ index\n )\n}\n\nexport const focusIndex = (state, unFocusIndex, index) => {\n Assert.object(state)\n Assert.number(unFocusIndex)\n Assert.number(focusIndex)\n console.log('FOCUS ONE')\n console.log({ unFocusIndex, index })\n const $TitleBarMenu = state.$TitleBarMenu\n if (unFocusIndex !== -1) {\n $TitleBarMenu.children[unFocusIndex].ariaExpanded = 'false'\n $TitleBarMenu.children[unFocusIndex].removeAttribute('aria-owns')\n }\n $TitleBarMenu.children[index].focus()\n}\n\nconst handleMouseEnter = (event) => {\n const $Target = event.target\n const index = getIndex($Target)\n if (index === -1) {\n return\n }\n const enterX = event.clientX\n const enterY = event.clientY\n RendererWorker.send(\n /* TitleBarMenu.focusIndex */ 'TitleBarMenuBar.focusIndex',\n /* index */ index,\n /* enterX */ enterX,\n /* enterY */ enterY\n )\n}\n\n// TODO the focus variable is confusing: false means keep focus in menubar, true means focus the menu\nexport const openMenu = (\n state,\n unFocusIndex,\n index,\n level,\n menuItems,\n menuFocusedIndex,\n focus,\n x,\n y,\n width,\n height\n) => {\n Assert.object(state)\n Assert.number(unFocusIndex)\n Assert.number(index)\n Assert.number(level)\n Assert.array(menuItems)\n Assert.number(menuFocusedIndex)\n Assert.boolean(focus)\n Assert.number(x)\n Assert.number(y)\n Assert.number(width)\n Assert.number(height)\n // TODO this code is very unclean\n state.$TitleBarMenu.addEventListener('mouseenter', handleMouseEnter, {\n capture: true,\n })\n if (unFocusIndex !== -1) {\n state.$TitleBarMenu.children[unFocusIndex].ariaExpanded = 'false'\n state.$TitleBarMenu.children[unFocusIndex].removeAttribute('aria-owns')\n }\n state.$TitleBarMenu.children[index].ariaExpanded = 'true'\n const $$Menus = Menu.state.$$Menus\n Menu.state.$$Menus = []\n Menu.showControlled({\n x,\n y,\n width,\n height,\n items: menuItems,\n handleKeyDown,\n handleFocusOut,\n $Parent: state.$TitleBarMenu.children[index],\n level,\n })\n if (menuFocusedIndex !== -1) {\n Menu.focusIndex(0, -1, menuFocusedIndex)\n }\n for (const $Menu of $$Menus) {\n Widget.remove($Menu)\n }\n}\n\n// TODO there need to be two variants of closeMenu: one just closes menu, another close menu and focuses top level entry\nexport const closeMenu = (state, unFocusIndex, index) => {\n if (unFocusIndex !== -1) {\n state.$TitleBarMenu.children[unFocusIndex].ariaExpanded = 'false'\n state.$TitleBarMenu.children[unFocusIndex].removeAttribute('aria-owns')\n }\n if (index !== -1) {\n state.$TitleBarMenu.children[index].focus()\n }\n Menu.hide(/* restoreFocus */ false)\n state.$TitleBarMenu.removeEventListener('mouseenter', handleMouseEnter, {\n capture: true,\n })\n}\n\n// TODO should only have the one listener in KeyBindings.js\nconst handleKeyDown = (event) => {\n switch (event.key) {\n case 'ArrowDown':\n event.preventDefault()\n event.stopPropagation()\n RendererWorker.send(\n /* TitleBarMenu.handleKeyArrowDown */ 'TitleBarMenu.handleKeyArrowDown'\n )\n break\n case 'ArrowUp':\n event.preventDefault()\n event.stopPropagation()\n RendererWorker.send(\n /* TitleBarMenu.handleKeyArrowUp */ 'TitleBarMenu.handleKeyArrowUp'\n )\n break\n case 'ArrowRight':\n console.log('arrow right')\n event.preventDefault()\n event.stopPropagation()\n RendererWorker.send(\n /* TitleBarMenu.handleKeyArrowRight */ 'TitleBarMenu.handleKeyArrowRight'\n )\n break\n case 'ArrowLeft':\n event.preventDefault()\n event.stopPropagation()\n RendererWorker.send(\n /* TitleBarMenu.handleKeyArrowLeft */ 'TitleBarMenu.handleKeyArrowLeft'\n )\n break\n case 'Enter':\n event.preventDefault()\n event.stopPropagation()\n RendererWorker.send(\n /* TitleBarMenu.handleKeyEnter */ 'TitleBarMenu.handleKeyEnter'\n )\n break\n case ' ':\n event.preventDefault()\n event.stopPropagation()\n RendererWorker.send(\n /* TitleBarMenu.handleKeySpace */ 'TitleBarMenu.handleKeySpace'\n )\n break\n case 'Home':\n case 'PageUp':\n event.preventDefault()\n event.stopPropagation()\n RendererWorker.send(\n /* TitleBarMenu.handleKeyHome */ 'TitleBarMenu.handleKeyHome'\n )\n break\n case 'End':\n case 'PageDown':\n event.preventDefault()\n event.stopPropagation()\n RendererWorker.send(\n /* TitleBarMenu.handleKeyEnd */ 'TitleBarMenu.handleKeyEnd'\n )\n break\n case 'Escape':\n event.preventDefault()\n event.stopPropagation()\n RendererWorker.send(\n /* TitleBarMenu.handleKeyEscape */ 'TitleBarMenu.handleKeyEscape'\n )\n break\n default:\n break\n }\n}\n\nconst isInsideTitleBarMenu = ($Element) => {\n return (\n $Element.classList.contains('MenuItem') ||\n $Element.classList.contains('Menu')\n )\n}\n\nconst handleFocusOut = (event) => {\n const $ActiveElement = event.relatedTarget\n if ($ActiveElement && isInsideTitleBarMenu($ActiveElement)) {\n console.log('RETURN')\n return\n }\n RendererWorker.send(\n /* TitleBarMenu.closeMenu */ 'TitleBarMenuBar.closeMenu',\n /* keepFocus */ false\n )\n}\n\nexport const create = () => {\n const $TitleBarMenu = document.createElement('ul')\n $TitleBarMenu.id = 'TitleBarMenu'\n // @ts-ignore\n $TitleBarMenu.role = 'menubar'\n $TitleBarMenu.onkeydown = handleKeyDown\n // TODO could have one mousedown listener on titlebar that delegates to titlebarMenu if necessary\n $TitleBarMenu.onmousedown = handleClick\n $TitleBarMenu.addEventListener('focusout', handleFocusOut)\n return $TitleBarMenu\n}\n\nexport const setEntries = (state, titleBarEntries) => {\n const $TitleBarMenu = state.$TitleBarMenu\n $TitleBarMenu.append(...titleBarEntries.map(create$TopLevelEntry))\n}\n","import * as Layout from '../Layout/Layout.js'\nimport * as TitleBarMenu from '../TitleBarMenuBar/TitleBarMenuBar.js'\nimport * as Assert from '../Assert/Assert.js'\n\nexport const create = () => {\n const $TitleBarMenu = TitleBarMenu.create()\n // TODO set aria label for title bar menu\n // TODO add tests for aria properties\n const $TitleBar = Layout.state.$TitleBar\n $TitleBar.ariaLabel = 'Title Bar'\n $TitleBar.role = 'contentinfo'\n $TitleBar.append($TitleBarMenu)\n return {\n $TitleBar,\n $TitleBarMenu,\n }\n}\n\nexport const dispose = (state) => {}\n\nexport const focus = (state) => {\n state.$TitleBarMenu.firstChild.focus()\n}\n\nexport const menuSetEntries = TitleBarMenu.setEntries\n\nexport const menuFocusIndex = TitleBarMenu.focusIndex\n\nexport const menuOpen = TitleBarMenu.openMenu\n\nexport const menuClose = TitleBarMenu.closeMenu\n\nexport const menuGetEntryBounds = TitleBarMenu.getMenuEntryBounds\n","import * as RendererWorker from '../RendererWorker/RendererWorker.js'\n\nexport const reload = () => {\n location.reload()\n}\n\nexport const minimize = () => {}\n\nexport const maximize = () => {}\n\nexport const unmaximize = () => {}\n\nexport const close = () => {\n // window.close()\n}\n\nexport const setTitle = (title) => {\n document.title = title\n}\n\n// cannot use visibilty change event because worker cannot process events when page closes\n// https://stackoverflow.com/questions/20084348/what-happens-to-a-web-worker-if-i-close-the-page-that-created-this-web-worker/20105455#20105455\nexport const onVisibilityChange = () => {\n const handleVisibilityChange = async () => {\n RendererWorker.send(\n /* SaveState.handleVisibilityChange */ 'SaveState.handleVisibilityChange',\n /* visibilityState */ document.visibilityState\n )\n await new Promise((resolve, reject) => {\n setTimeout(resolve, 100)\n })\n console.log('timeout done')\n }\n // document.addEventListener('visibilitychange', handleVisibilityChange)\n const handleBeforeUnload = async () => {\n RendererWorker.send(\n /* SaveState.handleVisibilityChange */ 'SaveState.handleVisibilityChange',\n /* visibilityState */ 'hidden'\n )\n // setTimeout(() => {\n // console.log('in timeout 1')\n // }, 3)\n // await new Promise((resolve, reject) => {\n // setTimeout(resolve, 100)\n // })\n // console.log('timeout done')\n }\n window.addEventListener('beforeunload', handleBeforeUnload)\n // document.addEventListener('visibilitychange', handleVisibilityChange)\n\n // const handlePageHide = () => {\n // console.log('page hide')\n // RendererWorker.send(\n // /* SaveState.handleVisibilityChange */ 'SaveState.handleVisibilityChange',\n // /* visibilityState */ 'hidden'\n // )\n // }\n // window.addEventListener('pagehide', handlePageHide)\n}\n","import * as Command from '../Command/Command.js'\nimport * as Window from './Window.js'\n\nexport const __initialize__ = () => {\n Command.register('Window.reload', Window.reload)\n Command.register('Window.minimize', Window.minimize)\n Command.register('Window.maximize', Window.maximize)\n Command.register('Window.unmaximize', Window.unmaximize)\n Command.register('Window.close', Window.close)\n Command.register('Window.setTitle', Window.setTitle)\n Command.register('Window.onVisibilityChange', Window.onVisibilityChange)\n}\n","// files that should be in initial chunk\nimport * as M1 from '../src/parts/Css/Css.ipc.js'\nimport * as M2 from '../src/parts/Layout/Layout.ipc.js'\nimport * as M4 from '../src/parts/Editor/Editor.js'\nimport * as M5 from '../src/parts/Focus/Focus.js'\nimport * as M6 from '../src/parts/Viewlet/Viewlet.ipc.js'\nimport * as M7 from '../src/parts/KeyBindings/KeyBindings.ipc.js'\nimport * as M14 from '../src/parts/Widget/Widget.js'\nimport * as M18 from '../src/parts/Platform/Platform.js'\nimport * as M22 from '../src/parts/ServiceWorker/ServiceWorker.ipc.js'\nimport * as M26 from '../src/parts/Location/Location.ipc.js'\nimport * as M13 from './parts/OldMenu/Menu.js'\nimport * as M27 from './parts/ViewletActivityBar/ViewletActivityBar.js'\nimport * as M28 from './parts/ViewletStatusBar/ViewletStatusBar.js'\nimport * as M29 from './parts/ViewletTitleBar/ViewletTitleBar.js'\nimport * as M30 from './parts/Window/Window.ipc.js'\nimport * as RendererWorker from './parts/RendererWorker/RendererWorker.js'\nimport * as Platform from './parts/Platform/Platform.js'\n\n// hack so that rollup doesn't tree-shake out these modules\nglobalThis.M = [\n M1,\n M2,\n M4,\n M5,\n M6,\n M7,\n M13,\n M14,\n M18,\n M22,\n M26,\n M27,\n M28,\n M29,\n M30,\n]\n\nconst handleError = (error) => {\n console.info(`[renderer-process] Unhandled Error: ${error}`)\n alert(error)\n}\n\nconst handleUnhandledRejection = (event) => {\n console.info(`[renderer-process] Unhandled Rejection: ${event.reason}`)\n alert(event.reason)\n}\n\nconst main = async () => {\n onerror = handleError\n onunhandledrejection = handleUnhandledRejection\n\n if (Platform.platform === 'web') {\n // disable prompt to download app as pwa\n // @ts-ignore\n window.onbeforeinstallprompt = (event) => {\n event.preventDefault()\n }\n }\n // TODO this is discovered very late\n await RendererWorker.hydrate()\n dispatchEvent(new CustomEvent('code/ready'))\n // TODO avoid creating global variables\n globalThis.__codeLoaded = true\n}\n\nmain()\n\n// 1. invoke shared process to read file\n// 2. display file\n// 3. optimize\n\n// DEBUG\n\n// globalThis.Panel = Panel\n// globalThis.Context = Context\n// globalThis.StatusBar = StatusBar\n// globalThis.ViewService = ViewService\n// globalThis.SideBar = SideBar\n// globalThis.FileSystem = FileSystem\n\nexport const send = RendererWorker.send\n"],"names":["state","register","__initialize__","Command.register","Css.setInlineStyle","create","Assert.string","IpcParentWithMessagePort","IpcParentWithModuleWorker.create","IpcParentWithMessagePort.create","IpcParentWithReferencePort.create","Command.execute","Callback.resolve","IpcParent.create","IpcParent.Methods","Platform.getRendererWorkerUrl","hydrate","Platform.isElectron","send","RendererWorker.send","hide","Layout.update","Layout.show","Layout.hide","Layout.getBounds","get","remove","Context.remove","Context.set","focus","Platform.isMobileOrTablet","setDiagnostics","setSelections","Assert.object","Assert.array","handleContextMenu","Focus.setFocus","handleBlur","getModifier","handleMouseDown","handleMouseMove","LayerText3.setLineInfos","LayerScrollBar.setPosition","LayerCursor.setCursors","LayerSelections.setSelections","Assert.number","dispose","LayerDiagnostics.setDiagnostics","LayerScrollBar.setDiagnostics","handleError","Viewlet.refresh","Viewlet.invoke","Viewlet.focus","Viewlet.dispose","Viewlet.appendViewlet","Viewlet.load","Viewlet.handleError","Viewlet.sendMultiple","Context.get","handleKeyDown","Platform.getBrowser","KeyBindings.hydrate","ServiceWorker.register","ServiceWorker.uninstall","Location.getHref","Location.getPathName","Location.hydrate","Location.setPathName","FindIndex.findIndex","handleMouseEnter","handleFocusOut","focusIndex","BackDrop.create$BackDrop","Widget.append","MenuItem.create$MenuItem","Focus.focus","Widget.remove","Focus.focusPrevious","Platform.getAssetDir","getNodeIndex","Layout.state","setItems","handleClick","Assert.boolean","Menu.state","Menu.showControlled","Menu.focusIndex","Menu.hide","TitleBarMenu.create","TitleBarMenu.setEntries","TitleBarMenu.focusIndex","TitleBarMenu.openMenu","TitleBarMenu.closeMenu","TitleBarMenu.getMenuEntryBounds","Window.reload","Window.minimize","Window.maximize","Window.unmaximize","Window.close","Window.setTitle","Window.onVisibilityChange","Platform.platform","RendererWorker.hydrate"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rendererProcessMain.js","sources":["../src/parts/Command/Command.js","../src/parts/Css/Css.js","../src/parts/Css/Css.ipc.js","../src/parts/Callback/Callback.js","../src/parts/Errors/JsonRpcError.js","../src/parts/Assert/Assert.js","../src/parts/IpcParent/IpcParentWithMessagePort.js","../src/parts/IpcParent/IpcParentWithModuleWorker.js","../src/parts/IpcParent/IpcParentWithReferencePort.js","../src/parts/IpcParent/IpcParent.js","../src/parts/Platform/Platform.js","../src/parts/RendererWorker/RendererWorker.js","../src/parts/Layout/Layout.js","../src/parts/Layout/Layout.ipc.js","../src/parts/Context/Context.js","../src/parts/Focus/Focus.js","../src/parts/Editor/LayerCursor.js","../src/parts/Editor/LayerDiagnostics.js","../src/parts/Editor/LayerScrollBar.js","../src/parts/Editor/LayerSelections.js","../src/parts/Editor/LayerText.js","../src/parts/Editor/Editor.js","../src/parts/Viewlet/Viewlet.js","../src/parts/Viewlet/Viewlet.ipc.js","../src/parts/KeyBindings/KeyBindings.js","../src/parts/KeyBindings/KeyBindings.ipc.js","../src/parts/Widget/Widget.js","../src/parts/ServiceWorker/ServiceWorker.js","../src/parts/ServiceWorker/ServiceWorker.ipc.js","../src/parts/Location/Location.js","../src/parts/Location/Location.ipc.js","../src/shared/findIndex.js","../src/parts/MenuItem/MenuItem.js","../src/parts/BackDrop/BackDrop.js","../src/parts/OldMenu/Menu.js","../src/parts/ViewletActivityBar/ViewletActivityBar.js","../src/parts/ViewletStatusBar/ViewletStatusBar.js","../src/parts/TitleBarMenuBar/TitleBarMenuBar.js","../src/parts/ViewletTitleBar/ViewletTitleBar.js","../src/parts/Window/Window.js","../src/parts/Window/Window.ipc.js","../src/rendererProcessMain.js"],"sourcesContent":["const MODULE_MAIN = 1\nconst MODULE_NOTIFICATION = 2\nconst MODULE_TEST = 3\nconst MODULE_VIEW_SERVICE = 9\nconst MODULE_WINDOW = 14\nconst MODULE_DEVELOPER = 15\nconst MODULE_LAYOUT = 16\nconst MODULE_PANEL = 18\nconst MODULE_WORKBENCH = 20\nconst MODULE_VIEWLET = 21\nconst MODULE_FIND_WIDGET = 23\nconst MODULE_KEYBINDINGS = 26\nconst MODULE_MENU = 31\nconst MODULE_DIALOG = 36\nconst MODULE_EDITOR_HOVER = 37\nconst MODULE_CSS = 38\nconst MODULE_EDITOR_RENAME = 39\nconst MODULE_EDITOR_ERROR = 40\nconst MODULE_EDITOR_CONTROLLER = 41\nconst MODULE_SERVICE_WORKER = 42\nconst MODULE_IMAGE_PREVIEW = 43\nconst MODULE_LOCATION = 44\nconst MODULE_AUDIO = 45\nconst MODULE_META = 46\nconst MODULE_DOWNLOAD = 47\nconst MODULE_OPEN = 48\nconst MODULE_CLIPBOARD = 49\nconst MODULE_INIT_DATA = 50\nconst MODULE_TEST_FRAME_WORK = 51\nconst MODULE_WEB_STORAGE = 52\n\nexport const state = {\n commands: Object.create(null),\n pendingModules: Object.create(null),\n}\n\nconst loadModule = (moduleId) => {\n switch (moduleId) {\n case MODULE_NOTIFICATION:\n return import('../Notification/Notification.ipc.js')\n case MODULE_WINDOW:\n return import('../Window/Window.ipc.js')\n case MODULE_DEVELOPER:\n return import('../Developer/Developer.ipc.js')\n case MODULE_LAYOUT:\n return import('../Layout/Layout.ipc.js')\n case MODULE_VIEWLET:\n return import('../Viewlet/Viewlet.ipc.js')\n case MODULE_FIND_WIDGET:\n return import('../FindWidget/FindWidget.ipc.js')\n case MODULE_KEYBINDINGS:\n return import('../KeyBindings/KeyBindings.ipc.js')\n case MODULE_MENU:\n return import('../OldMenu/Menu.ipc.js')\n case MODULE_WEB_STORAGE:\n return import('../WebStorage/WebStorage.ipc.js')\n case MODULE_DIALOG:\n return import('../Dialog/Dialog.ipc.js')\n case MODULE_EDITOR_HOVER:\n return import('../EditorHover/EditorHover.ipc.js')\n case MODULE_CSS:\n return import('../Css/Css.ipc.js')\n case MODULE_EDITOR_RENAME:\n return import('../EditorRename/EditorRename.ipc.js')\n case MODULE_EDITOR_ERROR:\n return import('../EditorError/EditorError.ipc.js')\n case MODULE_SERVICE_WORKER:\n return import('../ServiceWorker/ServiceWorker.ipc.js')\n case MODULE_IMAGE_PREVIEW:\n return import('../ImagePreview/ImagePreview.ipc.js')\n case MODULE_LOCATION:\n return import('../Location/Location.ipc.js')\n case MODULE_AUDIO:\n return import('../Audio/Audio.ipc.js')\n case MODULE_META:\n return import('../Meta/Meta.ipc.js')\n case MODULE_DOWNLOAD:\n return import('../Download/Download.ipc.js')\n case MODULE_OPEN:\n return import('../Open/Open.ipc.js')\n case MODULE_CLIPBOARD:\n return import('../ClipBoard/ClipBoard.ipc.js')\n case MODULE_INIT_DATA:\n return import('../InitData/InitData.ipc.js')\n case MODULE_TEST_FRAME_WORK:\n return import('../TestFrameWork/TestFrameWork.ipc.js')\n default:\n throw new Error('unknown module')\n }\n}\n\nconst getOrLoadModule = (moduleId) => {\n if (!state.pendingModules[moduleId]) {\n const importPromise = loadModule(moduleId)\n state.pendingModules[moduleId] = importPromise.then((module) =>\n module.__initialize__()\n )\n }\n return state.pendingModules[moduleId]\n}\n\nconst getModuleId = (commandId) => {\n switch (commandId) {\n case 'TestFrameWork.showOverlay':\n case 'TestFrameWork.performAction':\n case 'TestFrameWork.checkSingleElementCondition':\n case 'TestFrameWork.checkMultiElementCondition':\n case 'TestFrameWork.performKeyBoardAction':\n return MODULE_TEST_FRAME_WORK\n case 'ClipBoard.readText':\n case 'ClipBoard.writeText':\n return MODULE_CLIPBOARD\n case 'Developer.showState':\n case 'Developer.getMemoryUsage':\n return MODULE_DEVELOPER\n case 'Download.downloadFile':\n return MODULE_DOWNLOAD\n case 'Open.openUrl':\n return MODULE_OPEN\n case 'InitData.getInitData':\n return MODULE_INIT_DATA\n case 549:\n case 550:\n case 551:\n return MODULE_VIEW_SERVICE\n case 'KeyBindings.hydrate':\n return MODULE_KEYBINDINGS\n case 764:\n case 765:\n case 766:\n case 767:\n case 768:\n case 769:\n case 770:\n case 771:\n case 772:\n case 773:\n case 774:\n case 775:\n case 776:\n case 777:\n return MODULE_EDITOR_CONTROLLER\n case 'Notification.create':\n case 'Notification.dispose':\n case 'Notification.createWithOptions':\n return MODULE_NOTIFICATION\n case 'Layout.update':\n case 'Layout.hydrate':\n case 'Layout.hide':\n case 'Layout.getBounds':\n case 'Layout.show':\n return MODULE_LAYOUT\n case 'Viewlet.refresh':\n case 'Viewlet.invoke':\n case 'Viewlet.send':\n case 'Viewlet.focus':\n case 'Viewlet.dispose':\n case 'Viewlet.appendViewlet':\n case 'Viewlet.load':\n case 'Viewlet.handleError':\n case 'Viewlet.sendMultiple':\n return MODULE_VIEWLET\n case 'Audio.play':\n return MODULE_AUDIO\n case 'ImagePreview.create':\n case 'ImagePreview.dispose':\n case 'ImagePreview.update':\n case 'ImagePreview.showError':\n return MODULE_IMAGE_PREVIEW\n case 'EditorError.create':\n return MODULE_EDITOR_ERROR\n\n case 'FindWidget.create':\n case 'FindWidget.dispose':\n case 'FindWidget.setResults':\n return MODULE_FIND_WIDGET\n case 'EditorRename.create':\n case 'EditorRename.finish':\n case 'EditorRename.dispose':\n return MODULE_EDITOR_RENAME\n case 'Css.setInlineStyle':\n return MODULE_CSS\n case 'Location.getPathName':\n case 'Location.setPathName':\n case 'Location.hydrate':\n case 'Location.getHref':\n return MODULE_LOCATION\n case 'EditorHover.create':\n return MODULE_EDITOR_HOVER\n case 6661:\n case 6662:\n case 6663:\n case 6664:\n return MODULE_PANEL\n case 33111:\n return MODULE_WORKBENCH\n case 'Dialog.prompt':\n case 'Dialog.alert':\n case 'Dialog.showErrorDialogWithOptions':\n case 'Dialog.close':\n return MODULE_DIALOG\n case 'Menu.showControlled':\n case 'Menu.hide':\n case 'Menu.focusIndex':\n case 'Menu.showSubMenu':\n case 'Menu.hideSubMenu':\n case 'Menu.showMenu':\n case 'Menu.showContextMenu':\n case 'Menu.show':\n return MODULE_MENU\n case 'Window.reload':\n case 'Window.minimize':\n case 'Window.maximize':\n case 'Window.unmaximize':\n case 'Window.close':\n case 'Window.setTitle':\n case 'Window.onVisibilityChange':\n return MODULE_WINDOW\n case 'StorageBrowser.clear':\n case 'StorageBrowser.getItem':\n case 'StorageBrowser.setItem':\n return MODULE_WEB_STORAGE\n case 'Meta.setThemeColor':\n return MODULE_META\n case 'ServiceWorker.register':\n case 'ServiceWorker.uninstall':\n return MODULE_SERVICE_WORKER\n default:\n throw new Error(`command ${commandId} not found`)\n }\n}\n\nconst loadCommand = async (command) => {\n await getOrLoadModule(getModuleId(command))\n}\n\nexport const register = (commandId, listener) => {\n state.commands[commandId] = listener\n}\n\nconst hasThrown = new Set()\n\nconst executeCommandAsync = async (command, ...args) => {\n try {\n await loadCommand(command)\n } catch (error) {\n // @ts-ignore\n throw new Error(`Failed to load command ${command}`, {\n cause: error,\n })\n }\n if (!(command in state.commands)) {\n if (hasThrown.has(command)) {\n return\n }\n hasThrown.add(command)\n throw new Error(`Command did not register \"${command}\"`)\n }\n return execute(command, ...args)\n}\n\nexport const execute = (command, ...args) => {\n if (command in state.commands) {\n return state.commands[command](...args)\n }\n return executeCommandAsync(command, ...args)\n}\n","export const setInlineStyle = (id, css) => {\n const $ExistingStyle = document.getElementById(id)\n if ($ExistingStyle) {\n $ExistingStyle.textContent = css\n } else {\n const $Style = document.createElement('style')\n $Style.id = id\n $Style.textContent = css\n document.head.append($Style)\n }\n}\n","import * as Command from '../Command/Command.js'\nimport * as Css from './Css.js'\n\nexport const __initialize__ = () => {\n Command.register('Css.setInlineStyle', Css.setInlineStyle)\n}\n","const callbacks = Object.create(null)\n\nexport const state = {\n id: 0,\n}\n\nexport const register = (resolve, reject) => {\n callbacks[++state.id] = { resolve, reject }\n return state.id\n}\n\nexport const unregister = (id) => {\n delete callbacks[id]\n}\n\nexport const resolve = (id, result) => {\n if (!(id in callbacks)) {\n console.warn(`callback ${id} may already be disposed`)\n return\n }\n callbacks[id].resolve(result)\n}\n\nexport const reject = (id, error) => {\n if (!(id in callbacks)) {\n console.warn(`callback ${id} may already be disposed`)\n return\n }\n callbacks[id].reject(error)\n}\n","export class JsonRpcError extends Error {\n constructor(message) {\n super(message)\n this.name = 'JsonRpcError'\n }\n}\n","// TODO treeshake out this whole module in production\n\nconst getType = (value) => {\n switch (typeof value) {\n case 'number':\n return 'number'\n case 'function':\n return 'function'\n case 'string':\n return 'string'\n case 'object':\n if (value === null) {\n return 'null'\n }\n if (Array.isArray(value)) {\n return 'array'\n }\n return 'object'\n case 'boolean':\n return 'boolean'\n default:\n return 'unknown'\n }\n}\n\nexport const object = (value) => {\n const type = getType(value)\n if (type !== 'object') {\n throw new Error('expected value to be of type object')\n }\n}\n\nexport const number = (value) => {\n const type = getType(value)\n if (type !== 'number') {\n throw new Error('expected value to be of type number')\n }\n}\n\nexport const array = (value) => {\n const type = getType(value)\n if (type !== 'array') {\n throw new Error('expected value to be of type array')\n }\n}\n\nexport const string = (value) => {\n const type = getType(value)\n if (type !== 'string') {\n throw new Error('expected value to be of type string')\n }\n}\n\nexport const null_ = (value) => {\n const type = getType(value)\n if (type !== 'null') {\n throw new Error('expected value to be of type null')\n }\n}\n\nexport const boolean = (value) => {\n const type = getType(value)\n if (type !== 'boolean') {\n throw new Error('expected value to be of type boolean')\n }\n}\n","import * as Assert from '../Assert/Assert.js'\n\nexport const create = async ({ url }) => {\n Assert.string(url)\n const port = await new Promise((resolve) => {\n globalThis.acceptPort = resolve\n import(url)\n })\n delete globalThis.acceptPort\n return port\n}\n","const getDisplayName = (name) => {\n if (!name) {\n return '<unknown> worker'\n }\n if (name.endsWith('Worker')) {\n return name.toLowerCase()\n }\n return `${name} worker`\n}\n\nconst tryToGetActualErrorMessage = async ({ url, name }) => {\n const displayName = getDisplayName(name)\n try {\n await import(url)\n return `Failed to start ${displayName}: Unknown Error`\n } catch (error) {\n if (\n error &&\n error instanceof Error &&\n error.message.startsWith('Failed to fetch dynamically imported module')\n ) {\n try {\n const response = await fetch(url)\n switch (response.status) {\n case 404:\n return `Failed to start ${displayName}: Not found (404)`\n default:\n return `Failed to start ${displayName}: Unknown Network Error`\n }\n } catch {\n return `Failed to start ${displayName}: Unknown Network Error`\n }\n }\n return `Failed to start ${displayName}: ${error}`\n }\n}\n\nconst isFirefoxError = (message) => {\n return [\n 'SyntaxError: import declarations may only appear at top level of a module',\n 'SyntaxError: export declarations may only appear at top level of a module',\n ].includes(message)\n}\n\nexport const create = async ({ url, name }) => {\n try {\n const worker = new Worker(url, {\n type: 'module',\n name,\n })\n await new Promise((resolve, reject) => {\n const cleanup = () => {\n worker.onmessage = null\n worker.onerror = null\n }\n const handleFirstMessage = (event) => {\n cleanup()\n if (event.data === 'ready') {\n resolve(undefined)\n } else {\n reject(new Error('unexpected first message from renderer worker'))\n }\n }\n const handleFirstError = async (event) => {\n cleanup()\n if (isFirefoxError(event.message)) {\n event.preventDefault()\n reject(new Error('module workers are not supported in firefox'))\n } else {\n const actualErrorMessage = await tryToGetActualErrorMessage({\n url,\n name,\n })\n reject(new Error(actualErrorMessage))\n }\n }\n worker.onmessage = handleFirstMessage\n worker.onerror = handleFirstError\n })\n return worker\n } catch (error) {\n if (\n error &&\n error instanceof Error &&\n error.message === 'module workers are not supported in firefox'\n ) {\n const IpcParentWithMessagePort = await import(\n './IpcParentWithMessagePort.js'\n )\n return IpcParentWithMessagePort.create({ url })\n }\n throw error\n }\n}\n","export const create = async (url) => {\n const referencePort = await new Promise((resolve) => {\n globalThis.acceptReferencePort = resolve\n import(url)\n })\n delete globalThis.acceptReferencePort\n return referencePort\n}\n","// TODO lazyload these files\nimport * as IpcParentWithMessagePort from './IpcParentWithMessagePort.js'\nimport * as IpcParentWithModuleWorker from './IpcParentWithModuleWorker.js'\nimport * as IpcParentWithReferencePort from './IpcParentWithReferencePort.js'\n\n/* istanbul ignore file */\n\nexport const Methods = {\n MessagePort: 1,\n ModuleWorker: 2,\n ReferencePort: 3,\n}\n\n/**\n * @type {number}\n */\nconst METHOD_PREFERRED = Methods.ModuleWorker\n\nexport const create = async ({ method, ...options }) => {\n switch (METHOD_PREFERRED) {\n case Methods.ModuleWorker:\n return IpcParentWithModuleWorker.create(options)\n case Methods.MessagePort:\n return IpcParentWithMessagePort.create(options)\n case Methods.ReferencePort:\n return IpcParentWithReferencePort.create(options)\n default:\n throw new Error('unknown method')\n }\n}\n","/* istanbul ignore file */\n\n// TODO this should always be completely tree shaken out during build\n\n/**\n * @returns {'electron'|'remote'|'web'}\n */\nconst getPlatform = () => {\n // @ts-ignore\n if (typeof 'remote' !== 'undefined') {\n // @ts-ignore\n return 'remote'\n }\n if (typeof process !== 'undefined' && process.env.NODE_ENV === 'test') {\n return 'remote'\n }\n // @ts-ignore\n const userAgentData = navigator.userAgentData\n // TODO this is probably a bad check but electron doesn't deliver anything and\n // this will be tree shaken out anyway during build\n if (userAgentData && userAgentData.brands.length === 0) {\n return 'electron'\n }\n return 'remote'\n}\n\nexport const platform = getPlatform()\n\n// TODO treeshake this function out when targeting electron\n\nexport const state = {\n cachedIsMobileOrTablet: undefined,\n isMobileOrTablet() {\n // @ts-ignore\n const userAgentData = navigator.userAgentData\n if (userAgentData && userAgentData.mobile) {\n return true\n }\n // copied from https://stackoverflow.com/questions/11381673/detecting-a-mobile-browser\n let check = false\n ;(function (a) {\n if (\n /(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(\n a\n ) ||\n /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\\/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do(c|p)o|ds(12|-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(-|_)|g1 u|g560|gene|gf-5|g-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd-(m|p|t)|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c(-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac( |-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|-[a-w])|libw|lynx|m1-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[23]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|-([1-8]|c))|phil|pire|pl(ay|uc)|pn-2|po(ck|rt|se)|prox|psio|pt-g|qa-a|qc(07|12|21|32|60|-[2-7]|i-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h-|oo|p-)|sdk\\/|se(c(-|0|1)|47|mc|nd|ri)|sgh-|shar|sie(-|m)|sk-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h-|v-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl-|tdg-|tel(i|m)|tim-|t-mo|to(pl|sh)|ts(70|m-|m3|m5)|tx-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas-|your|zeto|zte-/i.test(\n a.slice(0, 4)\n )\n ) {\n check = true\n }\n // @ts-ignore\n })(navigator.userAgent || navigator.vendor || window.opera)\n return check\n },\n getAssetDir() {\n // @ts-ignore\n if (typeof '/56ac02a' !== 'undefined') {\n // @ts-ignore\n return '/56ac02a'\n }\n if (platform === 'electron') {\n return '../../../../..'\n }\n return ''\n },\n supportsHtml5Dialog() {\n const $Dialog = document.createElement('dialog')\n // @ts-ignore\n return typeof $Dialog.showModal === 'function'\n },\n isElectron() {\n return (\n // @ts-ignore\n window.myApi &&\n // @ts-ignore\n window.myApi.ipcConnect &&\n // @ts-ignore\n typeof window.myApi.ipcConnect === 'function'\n )\n },\n}\n\nexport const isMobileOrTablet = () => {\n return state.isMobileOrTablet()\n}\n\n// TODO if necessary support more browser detection\nexport const getBrowser = () => {\n if (platform === 'electron') {\n return 'electron'\n }\n // @ts-ignore\n const userAgentData = navigator.userAgentData\n if (userAgentData) {\n for (const brand of userAgentData.brands) {\n const actualBrand = brand.brand.toLowerCase()\n switch (actualBrand) {\n case 'firefox':\n return 'firefox'\n case 'chromium':\n return 'chromium'\n default:\n break\n }\n }\n }\n const userAgent = navigator.userAgent.toLowerCase()\n if (userAgent.includes('firefox')) {\n return 'firefox'\n }\n if (userAgent.includes('Electron')) {\n return 'electron'\n }\n return 'chromium'\n}\n\nexport const getAssetDir = () => {\n return state.getAssetDir()\n}\n\nexport const supportsHtml5Dialog = () => {\n return state.supportsHtml5Dialog()\n}\n\nexport const isElectron = () => {\n return state.isElectron()\n}\n\nexport const getRendererWorkerUrl = () => {\n const assetDir = getAssetDir()\n const urlRendererWorker = `${assetDir}/packages/renderer-worker/src/rendererWorkerMain.js`\n return urlRendererWorker\n}\n","import * as Callback from '../Callback/Callback.js'\nimport * as Command from '../Command/Command.js'\nimport { JsonRpcError } from '../Errors/JsonRpcError.js'\nimport * as IpcParent from '../IpcParent/IpcParent.js'\nimport * as Platform from '../Platform/Platform.js'\n\n// const URL_RENDERER_WORKER =\n// '/packages/renderer-worker/distmin/rendererWorkerMain-0ead0bed.js'\n\nexport const state = {\n /**\n * @type {any}\n */\n ipc: undefined,\n}\n\nclass NonError extends Error {\n name = 'NonError'\n\n constructor(message) {\n super(message)\n }\n}\n\n// ensureError based on https://github.com/sindresorhus/ensure-error/blob/main/index.js (License MIT)\nconst ensureError = (input) => {\n if (!(input instanceof Error)) {\n return new NonError(input)\n }\n return input\n}\n\nconst serializeError = (error) => {\n error = ensureError(error)\n return {\n stack: error.stack,\n message: error.message,\n }\n}\n\nconst handleMessageFromRendererWorker = async (event) => {\n const message = event.data\n if ('id' in message) {\n if ('method' in message) {\n try {\n const result = await Command.execute(message.method, ...message.params)\n state.ipc.send({\n jsonrpc: '2.0',\n id: message.id,\n result,\n })\n return\n } catch (error) {\n const serializedError = serializeError(error)\n state.ipc.send({\n jsonrpc: '2.0',\n id: message.id,\n error: {\n message: serializedError.message,\n stack: serializedError.stack,\n },\n })\n }\n return\n }\n Callback.resolve(message.id, message)\n return\n }\n throw new JsonRpcError('unexpected message from renderer process')\n}\n\nconst getIpc = async () => {\n const rendererWorker = await IpcParent.create({\n method: IpcParent.Methods.ModuleWorker,\n url: Platform.getRendererWorkerUrl(),\n name: 'Renderer Worker',\n })\n return {\n send(message) {\n rendererWorker.postMessage(message)\n },\n sendAndTransfer(message, transferables) {\n rendererWorker.postMessage(message, transferables)\n },\n get onmessage() {\n return rendererWorker.onmessage\n },\n set onmessage(listener) {\n rendererWorker.onmessage = listener\n },\n }\n}\n\nexport const hydrate = async (config) => {\n const ipc = await getIpc()\n\n // setup electron message port\n if (Platform.isElectron()) {\n await new Promise((resolve, reject) => {\n const handleIpcMessage = (event) => {\n if (event.data !== 'get-port') {\n reject(new Error('unexpected message from renderer worker'))\n return\n }\n const handleMessageFromWindow = (event) => {\n const port = event.ports[0]\n ipc.sendAndTransfer('port', [port])\n resolve()\n }\n\n // @ts-ignore\n window.addEventListener('message', handleMessageFromWindow, {\n once: true,\n })\n // @ts-ignore\n window.myApi.ipcConnect()\n }\n ipc.onmessage = handleIpcMessage\n })\n }\n ipc.onmessage = handleMessageFromRendererWorker\n state.ipc = ipc\n}\n\n// TODO needed?\nexport const dispose = () => {\n if (state.rendererWorker) {\n state.rendererWorker.terminate()\n }\n}\n\nexport const send = (method, ...params) => {\n state.ipc.send({\n jsonrpc: '2.0',\n method,\n params,\n })\n}\n\nconst deserializeError = (serializedError) => {\n const error = new Error()\n if (serializedError && serializedError.message) {\n error.message = serializedError.message\n }\n if (serializedError && serializedError.stack) {\n error.stack = serializedError.stack\n }\n return error\n}\n\nconst combineStacks = (upperStack, lowerStack) => {\n const indexNewLine = lowerStack.indexOf('\\n')\n return upperStack + lowerStack.slice(indexNewLine)\n}\n\nclass RendererWorkerError extends Error {\n constructor(serializedError) {\n const deserializedError = deserializeError(serializedError)\n super(deserializedError.message)\n if (this.stack) {\n this.stack = combineStacks(deserializedError.stack, this.stack)\n }\n }\n}\n\nexport const invoke = async (method, ...params) => {\n const responseMessage = await new Promise((resolve, reject) => {\n const callbackId = Callback.register(resolve, reject)\n state.ipc.send({\n jsonrpc: '2.0',\n method,\n params,\n id: callbackId,\n })\n })\n if ('error' in responseMessage) {\n throw new RendererWorkerError(responseMessage.error)\n }\n if ('result' in responseMessage) {\n return responseMessage.result\n }\n throw new JsonRpcError('unexpected message from renderer process')\n}\n\nexport const sendAndTransfer = (message, transfer) => {\n state.ipc.sendAndTransfer(message, transfer)\n}\n","import * as RendererWorker from '../RendererWorker/RendererWorker.js'\n\nexport const state = {\n $ActivityBar: undefined,\n $StatusBar: undefined,\n $TitleBar: undefined,\n $Main: undefined,\n $SideBar: undefined,\n $Panel: undefined,\n $Workbench: undefined,\n $SashSideBar: undefined,\n $SashPanel: undefined,\n}\n\n// TODO when nodes are not visible, they are still kept in memory as detached dom nodes\n// maybe it doesn't matter but maybe they should be garbage collected\n\nexport const update = (points) => {\n const $ActivityBar = state.$ActivityBar\n const $Main = state.$Main\n const $TitleBar = state.$TitleBar\n const $SideBar = state.$SideBar\n const $StatusBar = state.$StatusBar\n const $Panel = state.$Panel\n const $SashSideBar = state.$SashSideBar\n const $SashPanel = state.$SashPanel\n\n if (points.activityBarVisible) {\n $ActivityBar.style.top = `${points.activityBarTop}px`\n $ActivityBar.style.left = `${points.activityBarLeft}px`\n $ActivityBar.style.width = `${points.activityBarWidth}px`\n $ActivityBar.style.height = `${points.activityBarHeight}px`\n $ActivityBar.style.display = ''\n } else {\n $ActivityBar.style.display = 'none'\n }\n if (points.mainVisible) {\n $Main.style.top = `${points.mainTop}px`\n $Main.style.left = `${points.mainLeft}px`\n $Main.style.width = `${points.mainWidth}px`\n $Main.style.height = `${points.mainHeight}px`\n $Main.style.display = ''\n } else {\n $Main.style.display = 'none'\n }\n if (points.panelVisible) {\n $Panel.style.top = `${points.panelTop}px`\n $Panel.style.left = `${points.panelLeft}px`\n $Panel.style.width = `${points.panelWidth}px`\n $Panel.style.height = `${points.panelHeight}px`\n $Panel.style.display = ''\n\n $SashPanel.style.top = `${points.panelTop}px`\n $SashPanel.style.left = `${points.panelLeft}px`\n $SashPanel.style.width = `${points.panelWidth}px`\n } else {\n $Panel.style.display = 'none'\n }\n if (points.sideBarVisible) {\n $SideBar.style.top = `${points.sideBarTop}px`\n $SideBar.style.left = `${points.sideBarLeft}px`\n $SideBar.style.width = `${points.sideBarWidth}px`\n $SideBar.style.height = `${points.sideBarHeight}px`\n $SideBar.style.display = ''\n\n $SashSideBar.style.left = `${points.sideBarLeft}px`\n $SashSideBar.style.top = `${points.sideBarTop}px`\n $SashSideBar.style.height = `${points.sideBarHeight}px`\n } else {\n $SideBar.style.display = 'none'\n }\n if (points.statusBarVisible) {\n $StatusBar.style.top = `${points.statusBarTop}px`\n $StatusBar.style.left = `${points.statusBarLeft}px`\n $StatusBar.style.width = `${points.statusBarWidth}px`\n $StatusBar.style.height = `${points.statusBarHeight}px`\n $StatusBar.style.display = ''\n } else {\n $StatusBar.style.display = 'none'\n }\n if (points.titleBarVisible) {\n $TitleBar.style.top = `${points.titleBarTop}px`\n $TitleBar.style.left = `${points.titleBarLeft}px`\n $TitleBar.style.width = `${points.titleBarWidth}px`\n $TitleBar.style.height = `${points.titleBarHeight}px`\n $TitleBar.style.display = ''\n } else {\n // TODO remove elements from dom instead of hiding them\n $TitleBar.style.display = 'none'\n }\n}\n\n// export const get$ActivityBar = () => {\n// return state.$ActivityBar\n// }\n\n// export const get$SideBar = () => {\n// return state.$SideBar\n// }\n\n// export const get$Panel = () => {\n// return state.$Panel\n// }\n\n// export const get$TitleBar = () => {\n// return state.$TitleBar\n// }\n\n// export const get$Main = () => {\n// return state.$Main\n// }\n\nconst getTitleBarHeight = () => {\n if (\n // @ts-ignore\n navigator.windowControlsOverlay &&\n // @ts-ignore\n navigator.windowControlsOverlay.getTitlebarAreaRect\n ) {\n // @ts-ignore\n const titleBarRect = navigator.windowControlsOverlay.getTitlebarAreaRect()\n return titleBarRect.height\n }\n return 0\n}\n\nexport const getBounds = () => {\n return {\n windowWidth: window.innerWidth,\n windowHeight: window.innerHeight,\n titleBarHeight: getTitleBarHeight(),\n }\n}\n\nconst handleResize = (event) => {\n RendererWorker.send(\n /* Layout.handleResize */ 'Layout.handleResize',\n /* bounds */ getBounds()\n )\n}\n\nconst getSashId = ($Target) => {\n console.log({ $Target })\n if ($Target.id === 'SashPanel') {\n return 'Panel'\n }\n if ($Target.id === 'SashSideBar') {\n return 'SideBar'\n }\n return ''\n}\n\nconst handleSashPointerMove = (event) => {\n const x = event.clientX\n const y = event.clientY\n RendererWorker.send(\n /* Layout.handleSashPointerMove */ 'Layout.handleSashPointerMove',\n /* x */ x,\n /* y */ y\n )\n}\n\nconst handleSashPointerUp = () => {\n document.body.style.removeProperty('cursor')\n window.removeEventListener('pointermove', handleSashPointerMove)\n window.removeEventListener('pointerup', handleSashPointerUp)\n const $Style = document.getElementById('SashStyle')\n // @ts-ignore\n $Style.remove()\n}\n\nconst handleSashPointerDown = (event) => {\n // TODO maybe add a class to body instead?\n const $Style = document.createElement('style')\n $Style.id = 'SashStyle'\n $Style.textContent = `* {\n cursor: col-resize !important;\n pointer-events: none;\n}\n\n.SashVertical {\n pointer-events: all;\n}\n.\n`\n document.head.append($Style)\n window.addEventListener('pointermove', handleSashPointerMove)\n window.addEventListener('pointerup', handleSashPointerUp)\n const $Target = event.target\n const id = getSashId($Target)\n RendererWorker.send(\n /* Layout.handleSashPointerDown */ 'Layout.handleSashPointerDown',\n /* id */ id\n )\n}\n\nexport const show = (points) => {\n const $ActivityBar = document.createElement('div')\n $ActivityBar.id = 'ActivityBar'\n\n const $StatusBar = document.createElement('div')\n $StatusBar.id = 'StatusBar'\n\n const $TitleBar = document.createElement('div')\n $TitleBar.id = 'TitleBar'\n\n const $Main = document.createElement('main')\n $Main.id = 'Main'\n\n const $SideBar = document.createElement('div')\n $SideBar.id = 'SideBar'\n\n const $Panel = document.createElement('div')\n $Panel.id = 'Panel'\n\n // TODO use aria role splitter once supported https://github.com/w3c/aria/issues/1348\n const $SashSideBar = document.createElement('div')\n $SashSideBar.className = 'SashVertical'\n $SashSideBar.id = 'SashSideBar'\n\n // TODO use aria role splitter once supported https://github.com/w3c/aria/issues/1348\n const $SashPanel = document.createElement('div')\n $SashPanel.className = 'SashHorizontal'\n $SashPanel.id = 'SashPanel'\n\n const $Workbench = document.createElement('div')\n $Workbench.id = 'Workbench'\n $Workbench.append(\n $TitleBar,\n $Main,\n $SideBar,\n $ActivityBar,\n $Panel,\n $StatusBar,\n $SashSideBar,\n $SashPanel\n )\n // TODO don't like the random side effects here\n state.$ActivityBar = $ActivityBar\n state.$Main = $Main\n state.$Panel = $Panel\n state.$SideBar = $SideBar\n state.$StatusBar = $StatusBar\n state.$TitleBar = $TitleBar\n state.$Workbench = $Workbench\n state.$SashPanel = $SashPanel\n state.$SashSideBar = $SashSideBar\n update(points)\n // document.body.role= 'application' // TODO this doesn't seem to work\n // @ts-ignore\n $Workbench.role = 'application'\n document.body.append($Workbench)\n window.addEventListener('resize', handleResize, { passive: true })\n $SashSideBar.addEventListener('pointerdown', handleSashPointerDown)\n $SashPanel.addEventListener('pointerdown', handleSashPointerDown)\n}\n\nexport const hide = () => {\n state.$Workbench.remove()\n window.removeEventListener('resize', handleResize)\n}\n","import * as Command from '../Command/Command.js'\nimport * as Layout from './Layout.js'\n\nexport const __initialize__ = () => {\n Command.register('Layout.update', Layout.update)\n // Command.register(1101, Layout.hideSideBar)\n // Command.register(1102, Layout.toggleSideBar)\n // Command.register(1103, Layout.showPanel)\n // Command.register(1104, Layout.hidePanel)\n // Command.register(1105, Layout.togglePanel)\n // Command.register(1106, Layout.showActivityBar)\n // Command.register(1107, Layout.hideActivityBar)\n // Command.register(1108, Layout.toggleActivityBar)\n Command.register('Layout.show', Layout.show)\n Command.register('Layout.hide', Layout.hide)\n Command.register('Layout.getBounds', Layout.getBounds)\n}\n","export const state = {\n // contexts: Object.create(null),\n contexts: {},\n}\n\n// TODO all context keys should be numeric\n// comparing numbers is faster and more efficient than comparing strings every time\n// e.g. map 'focus.editor' -> 1\n// e.g. map 'focus.explorer' -> 2\n// Context.get(1), Context.get(2)\n\nexport const get = (key) => {\n return state.contexts[key]\n}\n\nexport const getAll = () => {\n return state.contexts\n}\n\nexport const set = (key, value) => {\n state.contexts[key] = value\n}\n\nexport const remove = (key) => {\n delete state.contexts[key]\n}\n","import * as Context from '../Context/Context.js'\n\n// TODO not sure if its worth to have a separate module for this or keep it inside Context.js\n// export const setFocus = (item) => {\n// if (Context.state.currentFocus) {\n// Context.remove(Context.state.currentFocus)\n// }\n// Context.set(`focus.${item}`, true)\n// }\n\nexport const state = {\n $PreviousFocusElement: undefined,\n currentFocus: '',\n}\n\nexport const setFocus = (key) => {\n if (state.currentFocus) {\n Context.remove(state.currentFocus)\n }\n // TODO could make focus key numeric enum which would be more efficient\n state.currentFocus = `focus.${key}`\n Context.set(state.currentFocus, true)\n}\n\nexport const setAdditionalFocus = (key) => {\n // TODO key should be numeric\n Context.set(`focus.${key}`, true)\n}\n\nexport const removeAdditionalFocus = (key) => {\n Context.remove(`focus.${key}`)\n}\n\nexport const focus = ($Element, key) => {\n if ($Element === document.activeElement) {\n console.log('focus return')\n return\n }\n console.log(state.$PreviousFocusElement)\n state.$PreviousFocusElement = document.activeElement\n $Element.focus({ preventScroll: true })\n setFocus(key)\n}\n\nexport const focusPrevious = () => {\n if (state.$PreviousFocusElement) {\n console.log(state.$PreviousFocusElement)\n state.$PreviousFocusElement.focus()\n }\n}\n","import * as Platform from '../Platform/Platform.js'\n\nconst create$Cursor = () => {\n const $Cursor = document.createElement('div')\n $Cursor.className = 'EditorCursor'\n return $Cursor\n}\n\nconst render$Cursor = ($Cursor, $Texts, cursor) => {\n $Cursor.style.top = `${cursor.top}px`\n const range = document.createRange()\n if (cursor.leftIndex === -1) {\n console.warn('cursor left is negative')\n $Cursor.style.left = '0px' // TODO need to compute column width, this would only work for monospace fonts\n return\n }\n const $Row = $Texts.children[cursor.topIndex]\n if (!$Row) {\n console.warn('no row', cursor, $Row)\n return\n }\n const $Node = $Row.children[cursor.leftIndex]\n if (!$Node) {\n console.warn('no node', cursor, $Row)\n return\n }\n if (cursor.leftIndex === 0 && cursor.remainingOffset === 0) {\n $Cursor.style.left = '0px'\n } else {\n const $TextNode = $Node.firstChild\n range.setStart($TextNode, cursor.remainingOffset)\n range.setEnd($TextNode, cursor.remainingOffset)\n const rect = range.getBoundingClientRect()\n const left = Math.round(rect.left)\n $Cursor.style.left = `${left}px`\n }\n}\n\nconst render$CursorsLess = ($Cursors, $Texts, cursors) => {\n for (let i = 0; i < $Cursors.children.length; i++) {\n render$Cursor($Cursors.children[i], cursors[i])\n }\n const fragment = document.createDocumentFragment()\n for (let i = $Cursors.children.length; i < cursors.length; i++) {\n const $Cursor = create$Cursor()\n render$Cursor($Cursor, $Texts, cursors[i])\n fragment.append($Cursor)\n }\n $Cursors.append(fragment)\n}\n\nconst render$CursorsEqual = ($Cursors, $Texts, cursors) => {\n for (let i = 0; i < cursors.length; i++) {\n render$Cursor($Cursors.children[i], $Texts, cursors[i])\n }\n}\n\nconst render$CursorsMore = ($Cursors, $Texts, cursors) => {\n for (let i = 0; i < cursors.length; i++) {\n render$Cursor($Cursors.children[i], $Texts, cursors[i])\n }\n const diff = $Cursors.children.length - cursors.length\n for (let i = 0; i < diff; i++) {\n $Cursors.lastChild.remove()\n }\n}\n\nconst render$Cursors = ($Cursors, $Texts, cursors) => {\n if ($Cursors.children.length < cursors.length) {\n render$CursorsLess($Cursors, $Texts, cursors)\n } else if ($Cursors.children.length === cursors.length) {\n render$CursorsEqual($Cursors, $Texts, cursors)\n } else {\n render$CursorsMore($Cursors, $Texts, cursors)\n }\n}\n\nconst renderCursorsNative = (state, cursors) => {\n if (cursors.length > 1) {\n console.warn('[editor] cannot render more than one native cursor')\n return\n }\n if (cursors.length === 0) {\n return\n }\n const cursor = cursors[0]\n const $Rows = state.$LayerText\n const $StartRow = $Rows.children[cursor.rowIndex]\n let startOffset = 0\n let $Anchor\n for (let i = 0; i < $StartRow.children.length; i++) {\n if (startOffset >= cursor.columnIndex) {\n console.log({ startOffset })\n $Anchor = $StartRow.children[i - 1].firstChild\n startOffset -= $Anchor.textContent.length\n startOffset = cursor.columnIndex - startOffset\n break\n }\n startOffset += $StartRow.children[i].textContent.length\n }\n if (!$Anchor) {\n $Anchor = $StartRow.children[$StartRow.children.length - 1].firstChild\n startOffset -= $Anchor.textContent.length\n startOffset = cursor.columnIndex - startOffset\n }\n const selection = document.getSelection()\n if (\n selection.anchorNode === $Anchor &&\n selection.focusNode === $Anchor &&\n selection.anchorOffset === startOffset &&\n selection.focusOffset === startOffset\n ) {\n return\n }\n state.shouldIgnoreSelectionChange = true\n const documentRange = document.createRange()\n documentRange.setStart($Anchor, startOffset)\n documentRange.setEnd($Anchor, startOffset)\n selection.removeAllRanges()\n selection.addRange(documentRange)\n}\n\nexport const setCursors = (state, cursors) => {\n if (Platform.isMobileOrTablet()) {\n renderCursorsNative(state, cursors)\n return\n }\n render$Cursors(state.$LayerCursor, state.$LayerText, cursors)\n}\n","const create$Diagnostic = () => {\n const $Diagnostic = document.createElement('div')\n $Diagnostic.className = 'EditorDiagnostic'\n return $Diagnostic\n}\n\nconst render$Diagnostic = ($Diagnostic, diagnostic) => {\n $Diagnostic.style.top = `${diagnostic.top}px`\n $Diagnostic.style.left = `${diagnostic.left}px`\n $Diagnostic.style.width = `${diagnostic.width}px`\n $Diagnostic.style.height = `${diagnostic.height}px`\n}\n\nconst render$DiagnosticsLess = ($Diagnostics, diagnostics) => {\n for (let i = 0; i < $Diagnostics.children.length; i++) {\n render$Diagnostic($Diagnostics.children[i], diagnostics[i])\n }\n const fragment = document.createDocumentFragment()\n for (let i = $Diagnostics.children.length; i < diagnostics.length; i++) {\n const $Diagnostic = create$Diagnostic()\n render$Diagnostic($Diagnostic, diagnostics[i])\n fragment.append($Diagnostic)\n }\n $Diagnostics.append(fragment)\n}\n\nconst render$DiagnosticsEqual = ($Diagnostics, diagnostics) => {\n for (let i = 0; i < diagnostics.length; i++) {\n render$Diagnostic($Diagnostics.children[i], diagnostics[i])\n }\n}\n\nconst render$DiagnosticsMore = ($Diagnostics, diagnostics) => {\n for (let i = 0; i < diagnostics.length; i++) {\n render$Diagnostic($Diagnostics.children[i], diagnostics[i])\n }\n const diff = $Diagnostics.children.length - diagnostics.length\n for (let i = 0; i < diff; i++) {\n $Diagnostics.lastChild.remove()\n }\n}\n\nconst render$Diagnostics = ($Diagnostics, diagnostics) => {\n if ($Diagnostics.children.length < diagnostics.length) {\n render$DiagnosticsLess($Diagnostics, diagnostics)\n } else if ($Diagnostics.children.length === diagnostics.length) {\n render$DiagnosticsEqual($Diagnostics, diagnostics)\n } else {\n render$DiagnosticsMore($Diagnostics, diagnostics)\n }\n}\n\nexport const setDiagnostics = (state, diagnostics) => {\n render$Diagnostics(state.$LayerDiagnostics, diagnostics)\n}\n","export const setPosition = (state, scrollBarY, scrollBarHeight) => {\n state.$ScrollBarThumb.style.top = `${scrollBarY}px`\n state.$ScrollBarThumb.style.height = `${scrollBarHeight}px`\n}\n\n// TODO scrollbar decorations should be own layer maybe\nconst create$ScrollBarDiagnostic = () => {\n const $ScrollBarDiagnostic = document.createElement('div')\n $ScrollBarDiagnostic.className = 'ScrollBarDiagnostic'\n return $ScrollBarDiagnostic\n}\n\nconst render$ScrollBarDiagnostic = (\n $ScrollBarDiagnostic,\n scrollBarDiagnostic\n) => {\n $ScrollBarDiagnostic.style.top = `${scrollBarDiagnostic.top}px`\n}\n\nconst render$ScrollBarDiagnosticsLess = (\n $ScrollBarDiagnostics,\n scrollBarDiagnostics\n) => {\n for (let i = 0; i < $ScrollBarDiagnostics.children.length; i++) {\n render$ScrollBarDiagnostic(\n $ScrollBarDiagnostics.children[i],\n scrollBarDiagnostics[i]\n )\n }\n const fragment = document.createDocumentFragment()\n for (\n let i = $ScrollBarDiagnostics.children.length;\n i < scrollBarDiagnostics.length;\n i++\n ) {\n const $ScrollBarDiagnostic = create$ScrollBarDiagnostic()\n render$ScrollBarDiagnostic($ScrollBarDiagnostic, scrollBarDiagnostics[i])\n fragment.append($ScrollBarDiagnostic)\n }\n $ScrollBarDiagnostics.append(fragment)\n}\n\nconst render$ScrollBarDiagnosticsEqual = (\n $ScrollBarDiagnostics,\n scrollBarDiagnostics\n) => {\n for (let i = 0; i < scrollBarDiagnostics.length; i++) {\n render$ScrollBarDiagnostic(\n $ScrollBarDiagnostics.children[i],\n scrollBarDiagnostics[i]\n )\n }\n}\n\nconst render$ScrollBarDiagnosticsMore = (\n $ScrollBarDiagnostics,\n scrollBarDiagnostics\n) => {\n for (let i = 0; i < scrollBarDiagnostics.length; i++) {\n render$ScrollBarDiagnostic(\n $ScrollBarDiagnostics.children[i],\n scrollBarDiagnostics[i]\n )\n }\n const diff =\n $ScrollBarDiagnostics.children.length - scrollBarDiagnostics.length\n for (let i = 0; i < diff; i++) {\n $ScrollBarDiagnostics.lastChild.remove()\n }\n}\n\nconst render$ScrollBarDiagnostics = (\n $ScrollBarDiagnostics,\n scrollBarDiagnostics\n) => {\n if ($ScrollBarDiagnostics.children.length < scrollBarDiagnostics.length) {\n render$ScrollBarDiagnosticsLess($ScrollBarDiagnostics, scrollBarDiagnostics)\n } else if (\n $ScrollBarDiagnostics.children.length === scrollBarDiagnostics.length\n ) {\n render$ScrollBarDiagnosticsEqual(\n $ScrollBarDiagnostics,\n scrollBarDiagnostics\n )\n } else {\n render$ScrollBarDiagnosticsMore($ScrollBarDiagnostics, scrollBarDiagnostics)\n }\n}\n\nexport const setDiagnostics = (editor, scrollBarDiagnostics) => {\n render$ScrollBarDiagnostics(\n editor.$ScrollBarDiagnostics,\n scrollBarDiagnostics\n )\n}\n","import * as Platform from '../Platform/Platform.js'\n\nconst create$Selection = () => {\n const $Selection = document.createElement('div')\n $Selection.className = 'EditorSelection'\n return $Selection\n}\n\nconst render$Selection = ($Selection, selections, i) => {\n const top = selections[i * 4]\n const left = selections[i * 4 + 1]\n const width = selections[i * 4 + 2]\n const height = selections[i * 4 + 3]\n // TODO have many decorations per row\n // no absolute positioning\n $Selection.style.top = `${top}px`\n $Selection.style.left = `${left}px`\n $Selection.style.width = `${width}px`\n $Selection.style.height = `${height}px`\n}\n\nconst render$SelectionsLess = (\n $Selections,\n childCount,\n selections,\n selectionCount\n) => {\n for (let i = 0, j = 0; i < childCount; i++, j += 4) {\n render$Selection($Selections.children[i], selections[i])\n }\n const fragment = document.createDocumentFragment()\n for (let i = childCount; i < selectionCount; i++) {\n const $Selection = create$Selection()\n render$Selection($Selection, selections, i)\n fragment.append($Selection)\n }\n $Selections.append(fragment)\n}\n\nconst render$SelectionsEqual = (\n $Selections,\n childCount,\n selections,\n selectionCount\n) => {\n for (let i = 0; i < selectionCount; i++) {\n render$Selection($Selections.children[i], selections, i)\n }\n}\n\nconst render$SelectionsMore = (\n $Selections,\n childCount,\n selections,\n selectionCount\n) => {\n for (let i = 0; i < selectionCount; i++) {\n render$Selection($Selections.children[i], selections, i)\n }\n const diff = childCount - selectionCount\n for (let i = 0; i < diff; i++) {\n $Selections.lastChild.remove()\n }\n}\n\nconst render$Selections = ($Selections, selections) => {\n const selectionsCount = selections.length / 4\n const childCount = $Selections.children.length\n if (childCount < selectionsCount) {\n render$SelectionsLess($Selections, childCount, selections, selectionsCount)\n } else if (childCount === selectionsCount) {\n render$SelectionsEqual($Selections, childCount, selections, selectionsCount)\n } else {\n render$SelectionsMore($Selections, childCount, selections, selectionsCount)\n }\n}\n\nconst renderSelectionsNative = (state, selections) => {\n if (selections.length > 1) {\n console.warn('[editor] cannot render more than one native selection')\n }\n}\n\nexport const setSelections = (state, selections) => {\n if (Platform.isMobileOrTablet()) {\n renderSelectionsNative(state, selections)\n return\n }\n render$Selections(state.$LayerSelections, selections)\n}\n","import * as Assert from '../Assert/Assert.js'\n\nconst create$Row = () => {\n const $Row = document.createElement('div')\n $Row.className = 'EditorRow'\n return $Row\n}\n\nconst create$Token = () => {\n const $Token = document.createElement('span')\n $Token.className = 'Token'\n return $Token\n}\n\n// TODO maybe use createTextNode (codeMirror uses that)\n// This function seems to be a hot spot\nconst render$Token = ($Token, text, className) => {\n $Token.className = className\n if ($Token.firstChild) {\n // recycle text node\n $Token.firstChild.nodeValue = text\n } else {\n $Token.textContent = text\n }\n}\n\nconst render$LineLess = ($Line, lineInfo) => {\n let i = 0\n while (i < $Line.children.length * 2) {\n const text = lineInfo[i++]\n const className = lineInfo[i++]\n render$Token($Line.children[i / 2 - 1], text, className)\n }\n const fragment = document.createDocumentFragment()\n while (i < lineInfo.length) {\n const text = lineInfo[i++]\n const className = lineInfo[i++]\n const $Token = create$Token()\n render$Token($Token, text, className)\n fragment.append($Token)\n }\n $Line.append(fragment)\n}\n\nconst render$LineEqual = ($Line, lineInfo) => {\n let i = 0\n while (i < lineInfo.length) {\n const text = lineInfo[i++]\n const className = lineInfo[i++]\n render$Token($Line.children[i / 2 - 1], text, className)\n }\n}\n\nconst render$LineMore = ($Line, lineInfo) => {\n let i = 0\n while (i < lineInfo.length) {\n const text = lineInfo[i++]\n const className = lineInfo[i++]\n render$Token($Line.children[i / 2 - 1], text, className)\n }\n const diff = $Line.children.length - lineInfo.length / 2\n for (let i = lineInfo.length; i < lineInfo.length + diff; i++) {\n $Line.lastChild.remove()\n }\n}\n\nconst render$Line = ($Line, lineInfo) => {\n if ($Line.children.length < lineInfo.length / 2) {\n render$LineLess($Line, lineInfo)\n } else if ($Line.children.length === lineInfo.length / 2) {\n render$LineEqual($Line, lineInfo)\n } else {\n render$LineMore($Line, lineInfo)\n }\n}\n\nconst render$LinesLess = ($Lines, lineInfos) => {\n for (let i = 0; i < $Lines.children.length; i++) {\n render$Line($Lines.children[i], lineInfos[i])\n }\n const fragment = document.createDocumentFragment()\n for (let i = $Lines.children.length; i < lineInfos.length; i++) {\n const $Line = create$Row()\n render$Line($Line, lineInfos[i])\n fragment.append($Line)\n }\n $Lines.append(fragment)\n}\n\nconst render$LinesEqual = ($Lines, lineInfos) => {\n for (let i = 0; i < lineInfos.length; i++) {\n render$Line($Lines.children[i], lineInfos[i])\n }\n}\n\nconst render$LinesMore = ($Lines, lineInfos) => {\n for (let i = 0; i < lineInfos.length; i++) {\n render$Line($Lines.children[i], lineInfos[i])\n }\n const diff = $Lines.children.length - lineInfos.length\n for (let i = lineInfos.length; i < lineInfos.length + diff; i++) {\n $Lines.lastChild.remove()\n }\n}\n\nconst render$Lines = ($Lines, lineInfos) => {\n Assert.object($Lines)\n Assert.array(lineInfos)\n if ($Lines.children.length < lineInfos.length) {\n render$LinesLess($Lines, lineInfos)\n } else if ($Lines.children.length === lineInfos.length) {\n render$LinesEqual($Lines, lineInfos)\n } else {\n render$LinesMore($Lines, lineInfos)\n }\n}\n\nexport const setLineInfos = (state, lineInfos) => {\n render$Lines(state.$LayerText, lineInfos)\n}\n","// TODO so many things in this file\n\nimport * as Focus from '../Focus/Focus.js'\nimport * as RendererWorker from '../RendererWorker/RendererWorker.js'\nimport * as Platform from '../Platform/Platform.js'\nimport * as Assert from '../Assert/Assert.js'\nimport * as EditorHelper from './EditorHelper.js'\nimport * as LayerCursor from './LayerCursor.js'\nimport * as LayerDiagnostics from './LayerDiagnostics.js'\nimport * as LayerScrollBar from './LayerScrollBar.js'\nimport * as LayerSelections from './LayerSelections.js'\nimport * as LayerText3 from './LayerText.js'\n\n// TODO go back to edit mode after pressing escape so screenreaders can navigate https://stackoverflow.com/questions/53909477/how-to-handle-tabbing-for-accessibility-with-a-textarea-that-uses-the-tab-button\n\n// TODO tree shake out mobile support when targeting electron -> less code -> less event listeners -> less memory -> less cpu\n\nconst handleContextMenu = (event) => {\n event.preventDefault()\n const x = event.clientX\n const y = event.clientY\n RendererWorker.send(\n /* ContextMenu.show */ 'ContextMenu.show',\n /* x */ x,\n /* y */ y,\n /* id */ 'editor'\n )\n}\n\nconst handleFocus = (event) => {\n Focus.setFocus('EditorText')\n}\n\nconst handleBlur = (event) => {\n // needed for save on blur\n // also needed to close completions on blur\n RendererWorker.send(/* EditorBlur.editorBlur */ 'Editor.blur')\n}\n\nconst handleBeforeInput = (event) => {\n event.preventDefault()\n switch (event.inputType) {\n case 'insertText':\n RendererWorker.send(\n /* Editor.type */ 'Editor.type',\n /* text */ event.data\n )\n break\n default:\n break\n }\n // if (!event.data) {\n // return\n // }\n}\n\n// TODO composition should be better supported,\n// for example\n// - gedit draws a line below the composed text\n// - codemirror 6 also draws that line\n// - codemirror 5 also draws that line\n// - vscode does not draw a line, but displays characters during composition\n\nconst handleCompositionStart = (event) => {\n RendererWorker.send(\n /* Editor.compositionStart */ 'Editor.compositionStart',\n /* text */ event.data\n )\n}\n\nconst handleCompositionUpdate = (event) => {\n RendererWorker.send(\n /* Editor.compositionUpdate */ 'Editor.compositionUpdate',\n /* text */ event.data\n )\n}\n\nconst handleCompositionEnd = (event) => {\n RendererWorker.send(\n /* Editor.compositionEnd */ 'Editor.compositionEnd',\n /* text */ event.data\n )\n}\n\nconst handleCut = (event) => {\n event.preventDefault()\n RendererWorker.send(/* Editor.cut */ 'Editor.cut')\n}\n\nconst handleSelectionMove = (event) => {\n const x = event.clientX\n const y = event.clientY\n const totalOffset = getTotalOffset(event)\n if (event.altKey) {\n RendererWorker.send(\n /* Editor.moveRectangleSelectionPx */ 'Editor.moveRectangleSelectionPx',\n /* x */ x,\n /* y */ y,\n /* offset */ totalOffset\n )\n } else {\n RendererWorker.send(\n /* Editor.moveSelectionPx */ 'Editor.moveSelectionPx',\n /* x */ x,\n /* y */ y,\n /* offset */ totalOffset\n )\n }\n}\n\nconst handleSelectionDone = (event) => {\n document.removeEventListener('mousemove', handleSelectionMove)\n document.removeEventListener('mouseup', handleSelectionDone)\n}\n\nconst getModifier = (event) => {\n if (event.ctrlKey) {\n return 'ctrl'\n }\n if (event.altKey) {\n return 'alt'\n }\n return ''\n}\n\nconst handleSingleClick = (event, x, y, offset) => {\n console.log('click', { x, y, offset })\n const modifier = getModifier(event)\n RendererWorker.send(\n /* Editor.handleSingleClick */ 'Editor.handleSingleClick',\n /* modifier */ modifier,\n /* x */ x,\n /* y */ y,\n /* offset */ offset\n )\n const $Target = event.target\n // const $InputBox = $Target.closest('.Editor').firstElementChild\n // $InputBox.focus()\n // TODO this logic should be in renderer worker\n document.addEventListener('mousemove', handleSelectionMove, { passive: true })\n document.addEventListener('mouseup', handleSelectionDone)\n}\n\nconst handleDoubleClick = (event, x, y, offset) => {\n RendererWorker.send(\n /* Editor.handleDoubleClick */ 'Editor.handleDoubleClick',\n /* x */ x,\n /* y */ y,\n /* offset */ offset\n )\n}\n\nconst handleTripleClick = (event, x, y, offset) => {\n RendererWorker.send(\n /* Editor.handleTripleClick */ 'Editor.handleTripleClick',\n /* x */ x,\n /* y */ y,\n /* offset */ offset\n )\n}\n\nconst isRightClick = (event) => {\n return event.button === 2\n}\n\nconst getTextNodeOffset = (textNode) => {\n let $Token = textNode.parentElement\n let offset = 0\n while ($Token.previousSibling) {\n $Token = $Token.previousSibling\n offset += $Token.textContent.length\n }\n return offset\n}\n\nconst getTotalOffset = (event) => {\n if (document.caretRangeFromPoint) {\n // chrome uses deprecated version\n const range = document.caretRangeFromPoint(event.clientX, event.clientY)\n if (!range) {\n return 0\n }\n const textNode = range.startContainer\n const textNodeOffset = getTextNodeOffset(textNode)\n const offset = range.startOffset\n const totalOffset = textNodeOffset + offset\n return totalOffset\n // @ts-ignore\n }\n // @ts-ignore\n if (document.caretPositionFromPoint) {\n // firefox uses new version\n // @ts-ignore\n const range = document.caretPositionFromPoint(event.clientX, event.clientY)\n if (!range) {\n return 0\n }\n const textNode = range.offsetNode\n const textNodeOffset = getTextNodeOffset(textNode)\n const offset = range.offset\n const totalOffset = textNodeOffset + offset\n return totalOffset\n }\n throw new Error('caret position is not supported')\n}\n\nconst handleMouseDown = (event) => {\n if (isRightClick(event)) {\n return\n }\n event.preventDefault()\n const totalOffset = getTotalOffset(event)\n const x = event.clientX\n const y = event.clientY\n console.log('detail', event.detail)\n switch (event.detail) {\n case 1:\n handleSingleClick(event, x, y, totalOffset)\n break\n case 2:\n handleDoubleClick(event, x, y, totalOffset)\n break\n case 3:\n handleTripleClick(event, x, y, totalOffset)\n break\n default:\n break\n }\n}\n\n// TODO figure out whether it is possible to register hover provider without mousemove\n// mousemove handler is called very often and could slow down editor / drain battery\n\n// disabled for now because of constant cpu usage on mousemove\n// bad for performance\nconst handleMouseMove = (event) => {\n const x = event.clientX\n const y = event.clientY\n if (event.altKey) {\n const offset = getTotalOffset(event)\n RendererWorker.send(\n /* Editor.handleMouseMoveWithAltKey */ 'Editor.handleMouseMoveWithAltKey',\n /* x */ x,\n /* y */ y,\n /* offset */ offset\n )\n }\n // console.log(event.altKey)\n // RendererWorker.send(/* Editor.handleMouseMove */ 389, /* x */ x, /* y */ y)\n}\n\nconst handleWheel = (event) => {\n // event.preventDefault()\n // const state = EditorHelper.getStateFromEvent(event)\n // TODO send editor id\n switch (event.deltaMode) {\n case event.DOM_DELTA_LINE:\n RendererWorker.send(\n /* Editor.setDeltaY */ 'Editor.setDeltaY',\n /* value */ event.deltaY\n )\n break\n case event.DOM_DELTA_PIXEL:\n RendererWorker.send(\n /* Editor.setDeltaY */ 'Editor.setDeltaY',\n /* value */ event.deltaY\n )\n break\n default:\n break\n }\n}\n\nconst handlePaste = (event) => {\n event.preventDefault()\n const text = event.clipboardData.getData('text')\n RendererWorker.send(/* Editor.paste */ 'Editor.paste', /* text */ text)\n}\n\nconst handleScrollBarThumbMouseMove = (event) => {\n const y = event.clientY\n RendererWorker.send(\n /* Editor.handleScrollBarMouseMove */ 'Editor.handleScrollBarMove',\n /* y */ y\n )\n}\n\nconst handleScrollBarThumbMouseUp = () => {\n window.removeEventListener('mousemove', handleScrollBarThumbMouseMove)\n window.removeEventListener('mouseup', handleScrollBarThumbMouseUp)\n}\n\nconst handleScrollBarThumbMouseDown = (event) => {\n window.addEventListener('mousemove', handleScrollBarThumbMouseMove)\n window.addEventListener('mouseup', handleScrollBarThumbMouseUp)\n}\n\nconst handleScrollBarMouseDown = (event) => {\n const y = event.clientY\n RendererWorker.send(\n /* EditorHandleScrollBarClick.editorHandleScrollBarClick */ 'Editor.handleScrollBarClick',\n /* y */ y\n )\n}\n\nconst toSimpleTouch = (touch) => {\n return {\n x: touch.clientX,\n y: touch.clientY,\n }\n}\n\nconst toSimpleTouchEvent = (event) => {\n const touches = Array.from(event.touches).map(toSimpleTouch)\n const changedTouches = Array.from(event.changedTouches).map(toSimpleTouch)\n return {\n touches,\n changedTouches,\n }\n}\n\n// TODO add touch cancel handler\n\n// TODO use touch events for scrolling\n\nconst handleTouchStart = (event) => {\n const touchEvent = toSimpleTouchEvent(event)\n RendererWorker.send(\n /* EditorHandleTouchStart.editorHandleTouchStart */ 'Editor.handleTouchStart',\n /* touchEvent */ touchEvent\n )\n}\n\nconst handleTouchMove = (event) => {\n const touchEvent = toSimpleTouchEvent(event)\n RendererWorker.send(\n /* EditorHandleTouchMove.editorHandleTouchMove */ 'Editor.handleTouchMove',\n /* touchEvent */ touchEvent\n )\n}\n\nconst handleTouchEnd = (event) => {\n if (event.cancelable) {\n event.preventDefault()\n }\n const touchEvent = toSimpleTouchEvent(event)\n RendererWorker.send(\n /* EditorHandleTouchEnd.editorHandleTouchEnd */ 'Editor.handleTouchEnd',\n /* touchEvent */ touchEvent\n )\n}\n\nconst getRangeFromSelection = (selection) => {\n if (!selection.anchorNode) {\n return undefined\n }\n const $StartToken = selection.anchorNode.parentNode\n const $EndToken = selection.focusNode.parentNode\n const $StartRow = $StartToken.parentNode\n const $EndRow = $EndToken.parentNode\n const $Rows = $StartRow.parentNode\n let startRowIndex = 0\n for (let i = 0; i < $Rows.children.length; i++) {\n if ($Rows.children[i] === $StartRow) {\n startRowIndex = i\n break\n }\n }\n let startColumnIndex = 0\n for (let i = 0; i < $StartRow.children.length; i++) {\n if ($StartRow.children[i] === $StartToken) {\n break\n }\n startColumnIndex += $StartRow.children[i].textContent.length\n }\n startColumnIndex += selection.anchorOffset\n let endRowIndex = 0\n for (let i = 0; i < $Rows.children.length; i++) {\n if ($Rows.children[i] === $EndRow) {\n endRowIndex = i\n break\n }\n }\n let endColumnIndex = 0\n for (let i = 0; i < $EndRow.children.length; i++) {\n if ($EndRow.children[i] === $EndToken) {\n break\n }\n endColumnIndex += $EndRow.children[i].textContent.length\n }\n endColumnIndex += selection.focusOffset\n return {\n startRowIndex,\n startColumnIndex,\n endRowIndex,\n endColumnIndex,\n }\n}\n\nconst handleContentEditableBeforeInput = (event) => {\n const selection = document.getSelection()\n const range = getRangeFromSelection(selection)\n if (!range) {\n console.error('[Editor] cannot handle input event without selection')\n return\n }\n RendererWorker.send(\n /* EditorHandleBeforeInputFromContentEditable.editorHandleBeforeInputFromContentEditable */ 'Editor.handleBeforeInputFromContentEditable',\n /* data */ event.data || '',\n /* range */ range\n )\n}\n\nconst handleNativeSelectionChange = (event) => {\n // if (state.shouldIgnoreSelectionChange) {\n // state.shouldIgnoreSelectionChange = false\n // return\n // }\n // const selection = document.getSelection()\n // const range = getRangeFromSelection(selection)\n // if (!range) {\n // return\n // }\n // RendererWorker.send(\n // /* EditorHandleNativeSelectionChange.editorHandleNativeSelectionChange */ 'Editor.handleNativeSelectionChange',\n // /* range */ range\n // )\n}\n\n// TODO all create functions should have no arguments\n// and be split into two parts\n// 1. create -> only create dom elements\n// 2. render -> fill elements with attributes and data\n// that way all dom nodes can be recycled\nexport const create = () => {\n const $EditorInput = document.createElement('textarea')\n $EditorInput.className = 'EditorInput'\n $EditorInput.ariaAutoComplete = 'list'\n $EditorInput.ariaRoleDescription = 'editor'\n $EditorInput.ariaMultiLine = 'true'\n $EditorInput.setAttribute('autocomplete', 'off')\n $EditorInput.setAttribute('autocapitalize', 'off')\n $EditorInput.setAttribute('autocorrect', 'off')\n $EditorInput.setAttribute('wrap', 'off')\n $EditorInput.setAttribute('spellcheck', 'false')\n // @ts-ignore\n $EditorInput.role= 'textbox'\n $EditorInput.onpaste = handlePaste\n // TODO where to best put listeners (side effects)\n $EditorInput.addEventListener('beforeinput', handleBeforeInput)\n $EditorInput.addEventListener('compositionstart', handleCompositionStart)\n $EditorInput.addEventListener('compositionupdate', handleCompositionUpdate)\n $EditorInput.addEventListener('compositionend', handleCompositionEnd)\n $EditorInput.onfocus = handleFocus\n $EditorInput.onblur = handleBlur\n $EditorInput.oncut = handleCut\n\n const $LayerCursor = document.createElement('div')\n $LayerCursor.className = 'LayerCursor'\n\n const $LayerText = document.createElement('div')\n $LayerText.className = 'EditorRows'\n if (Platform.isMobileOrTablet()) {\n $LayerText.setAttribute('contenteditable', 'plaintext-only')\n $LayerText.setAttribute('autocapitalize', 'off')\n $LayerText.setAttribute('spellcheck', 'false')\n $LayerText.setAttribute('autocorrect', 'off')\n $LayerText.addEventListener('beforeinput', handleContentEditableBeforeInput)\n // TODO remove listener once editor is disposed\n // TODO why is there no selection change listener for the element?\n document.addEventListener('selectionchange', handleNativeSelectionChange)\n } else {\n $LayerText.addEventListener('mousedown', handleMouseDown)\n }\n\n const $ScrollBarThumb = document.createElement('div')\n $ScrollBarThumb.className = 'ScrollBarThumb'\n $ScrollBarThumb.addEventListener('mousedown', handleScrollBarThumbMouseDown)\n\n // TODO only create $ScrollBarDiagnostics lazily when there are actually diagnostics\n const $ScrollBarDiagnostics = document.createElement('div')\n $ScrollBarDiagnostics.className = 'EditorScrollBarDiagnostics'\n\n const $ScrollBar = document.createElement('div')\n $ScrollBar.className = 'ScrollBar'\n if (!Platform.isMobileOrTablet()) {\n $ScrollBar.onmousedown = handleScrollBarMouseDown\n }\n $ScrollBar.append($ScrollBarThumb)\n\n // $EditorRows.addEventListener('mousemove', handleMouseMove, { passive: true })\n\n // TODO function should be hoisted (maybe -> one listener for all editors (definitely))\n // only problem is $EditorInput closure\n\n // TODO when mousedown on completions -> this shouldn't be called\n\n const $LayerSelections = document.createElement('div')\n $LayerSelections.className = 'Selections'\n\n // TODO maybe use css grid to position layers on top of each other\n // TODO maybe merge layerDiagnostics with LayerSelections\n // TODO maybe this should be more generic, e.g. LayerDecorations\n // where decoration = {top,left, width, height, type/className}\n const $LayerDiagnostics = document.createElement('div')\n $LayerDiagnostics.className = 'LayerDiagnostics'\n\n const $EditorLayers = document.createElement('div')\n $EditorLayers.className = 'EditorLayers'\n $EditorLayers.append(\n $LayerSelections,\n $LayerText,\n $LayerCursor,\n $LayerDiagnostics\n )\n\n const $Editor = document.createElement('div')\n $Editor.className = 'Viewlet Editor'\n $Editor.dataset.viewletId = 'EditorText'\n // @ts-ignore\n $Editor.role= 'code'\n $Editor.append($EditorInput, $EditorLayers, $ScrollBarDiagnostics, $ScrollBar)\n if (Platform.isMobileOrTablet()) {\n $Editor.addEventListener('touchstart', handleTouchStart, { passive: true })\n $Editor.addEventListener('touchmove', handleTouchMove, { passive: true })\n $Editor.addEventListener('touchend', handleTouchEnd)\n } else {\n $Editor.addEventListener('contextmenu', handleContextMenu)\n $Editor.addEventListener('wheel', handleWheel, { passive: true })\n }\n $Editor.addEventListener('mousemove', handleMouseMove, { passive: true })\n return {\n $LayerCursor,\n $LayerSelections,\n $LayerText,\n $EditorLayers,\n $Editor,\n $EditorInput,\n $ScrollBarThumb,\n $LayerDiagnostics,\n $ScrollBarDiagnostics,\n shouldIgnoreSelectionChange: false,\n $Viewlet: $Editor,\n }\n}\n\nexport const setText = (state, textInfos) => {\n LayerText3.setLineInfos(state, textInfos)\n}\n\nexport const setSettings = (state, fontSize, lineHeight, letterSpacing) => {\n // TODO many properties on <html> element in chrome devtools looks ugly\n // maybe put styles into a stylesheet instead of using inline styles?\n const root = document.documentElement\n root.style.setProperty('--EditorFontSize', `${fontSize}px`)\n root.style.setProperty('--EditorLineHeight', `${lineHeight}px`)\n root.style.setProperty('--EditorLetterSpacing', letterSpacing)\n}\n\nexport const setScrollBar = (state, scrollBarY, scrollBarHeight) => {\n LayerScrollBar.setPosition(state, scrollBarY, scrollBarHeight)\n}\n\nexport const renderCursors = (state, cursorInfos) => {\n LayerCursor.setCursors(state, cursorInfos)\n}\n\nexport const renderSelections = (state, selectionInfos) => {\n LayerSelections.setSelections(state, selectionInfos)\n}\n\nexport const renderTextAndCursors = (state, textInfos, cursorInfos) => {\n LayerText3.setLineInfos(state, textInfos)\n LayerCursor.setCursors(state, cursorInfos)\n}\n\nexport const setSelections = (state, cursorInfos, selectionInfos) => {\n LayerCursor.setCursors(state, cursorInfos)\n LayerSelections.setSelections(state, selectionInfos)\n}\n\nexport const renderTextAndCursorsAndSelections = (\n state,\n scrollBarY,\n scrollBarHeight,\n textInfos,\n cursorInfos,\n selectionInfos\n) => {\n Assert.object(state)\n Assert.number(scrollBarY)\n Assert.number(scrollBarHeight)\n Assert.array(textInfos)\n Assert.array(cursorInfos)\n Assert.array(selectionInfos)\n LayerScrollBar.setPosition(state, scrollBarY, scrollBarHeight)\n LayerText3.setLineInfos(state, textInfos)\n LayerCursor.setCursors(state, cursorInfos)\n LayerSelections.setSelections(state, selectionInfos)\n}\n\n// TODO this should be in editor\nconst getColumnWidth = () => {\n const testSpan = document.createElement('span')\n testSpan.textContent = 'a'\n testSpan.style.fontSize = '15px'\n testSpan.style.letterSpacing = '0.5px'\n testSpan.style.position = 'fixed'\n testSpan.style.fontFamily = \"'Fira Code'\"\n document.body.append(testSpan)\n const result = Number.parseFloat(getComputedStyle(testSpan).width) / 1\n testSpan.remove()\n return result\n}\n\nexport const mount = (state, $Parent) => {\n $Parent.append(state.$Editor)\n}\n\nexport const dispose = (state) => {}\n\nexport const focus = (state) => {\n const { $EditorInput } = state\n console.log('focus editor')\n $EditorInput.focus()\n}\n\nexport const setLanguageId = async (state, languageId) => {\n // state.languageId = languageId\n // state.$Editor.dataset.languageId = languageId\n // loadTokenizer(languageId)\n}\n\nexport const renderDiagnostics = (state, diagnostics, scrollBarDiagnostics) => {\n LayerDiagnostics.setDiagnostics(state, diagnostics)\n LayerScrollBar.setDiagnostics(state, scrollBarDiagnostics)\n}\n","import * as Assert from '../Assert/Assert.js'\n\nexport const state = {\n instances: Object.create(null),\n currentSideBarView: undefined,\n currentPanelView: undefined,\n modules: Object.create(null),\n}\n\nconst get = (id) => {\n switch (id) {\n case 'Explorer':\n return import('../ViewletExplorer/ViewletExplorer.js')\n case 'Run and Debug':\n return import('../ViewletRunAndDebug/ViewletRunAndDebug.js')\n case 'Search':\n return import('../ViewletSearch/ViewletSearch.js')\n case 'Source Control':\n return import('../ViewletSourceControl/ViewletSourceControl.js')\n case 'Terminal':\n return import('../ViewletTerminal/ViewletTerminal.js')\n case 'Extensions':\n return import('../ViewletExtensions/ViewletExtensions.js')\n case 'Debug Console':\n return import('./ViewletDebugConsole.js')\n case 'Output':\n return import('../ViewletOutput/ViewletOutput.js')\n case 'Problems':\n return import('../ViewletProblems/ViewletProblems.js')\n case 'Empty':\n return import('./ViewletEmpty.js')\n case 'EditorText':\n return import('./ViewletEditorText.js')\n case 'EditorPlainText':\n return import('./ViewletEditorPlainText.js')\n case 'EditorImage':\n return import('./ViewletEditorImage.js')\n case 'Clock':\n return import('../ViewletClock/ViewletClock.js')\n case 'SideBar':\n return import('../ViewletSideBar/ViewletSideBar.js')\n case 'Panel':\n return import('../ViewletPanel/ViewletPanel.js')\n case 'ActivityBar':\n return import('../ViewletActivityBar/ViewletActivityBar.js')\n case 'ImagePreview':\n return import('../ImagePreview/ImagePreview.js')\n case 'QuickPick':\n return import('../ViewletQuickPick/ViewletQuickPick.js')\n case 'StatusBar':\n return import('../ViewletStatusBar/ViewletStatusBar.js')\n case 'TitleBar':\n return import('../ViewletTitleBar/ViewletTitleBar.js')\n case 'Main':\n return import('../ViewletMain/ViewletMain.js')\n case 'EditorCompletion':\n return import('../ViewletEditorCompletion/ViewletEditorCompletion.js')\n case 'References':\n return import('../ViewletReferences/ViewletReferences.js')\n case 'Implementations':\n return import('../ViewletImplementations/ViewletImplementations.js')\n default:\n throw new Error(`unknown viewlet ${id}`)\n }\n}\n\nexport const mount = ($Parent, state) => {\n while ($Parent.firstChild) {\n $Parent.firstChild.remove()\n }\n $Parent.append(state.$Viewlet)\n}\n\nexport const load = async (id, ...args) => {\n const module = await get(id)\n state.modules[id] = module\n state.instances[id] = {\n state: module.create(...args),\n factory: module,\n }\n}\n\nexport const invoke = (viewletId, method, ...args) => {\n const instance = state.instances[viewletId]\n if (!instance) {\n console.warn(`viewlet instance ${viewletId} not found`)\n return\n }\n if (typeof instance.factory[method] !== 'function') {\n console.warn(`method ${method} in ${viewletId} not implemented`)\n console.log(instance.factory)\n return\n }\n return instance.factory[method](instance.state, ...args)\n}\n\nexport const focus = (viewletId) => {\n const instance = state.instances[viewletId]\n if (instance && instance.factory && instance.factory.focus) {\n instance.factory.focus(instance.state)\n } else {\n // TODO push focusContext\n }\n}\n\n/**\n * @deprecated\n */\nexport const refresh = (viewletId, viewletContext) => {\n console.log('REFRESH', viewletId)\n const instance = state.instances[viewletId]\n if (instance) {\n instance.factory.refresh(instance.state, viewletContext)\n } else {\n // console.warn('no instance yet of ' + viewletId)\n state.refreshContext[viewletId] = viewletContext\n }\n}\n\n// TODO handle error when viewlet creation fails\n\n// TODO remove send -> use invoke instead\nexport const send = (viewletId, method, ...args) => {\n const instance = state.instances[viewletId]\n if (instance) {\n instance.factory[method](...args)\n } else {\n // TODO\n console.warn('instance not present')\n }\n}\n\nexport const sendMultiple = (commands) => {\n for (const command of commands) {\n const [_, viewletId, method, ...args] = command\n invoke(viewletId, method, ...args)\n }\n}\n\n/**\n * @deprecated\n */\nexport const dispose = (id) => {\n Assert.string(id)\n const instance = state.instances[id]\n if (!instance) {\n console.warn(`viewlet instance ${id} not found and cannot be disposed`)\n return\n }\n try {\n instance.factory.dispose(instance.state)\n if (instance.state.$Viewlet && instance.state.$Viewlet.isConnected) {\n instance.state.$Viewlet.remove()\n }\n } catch (error) {\n console.error(error)\n }\n delete state.instances[id]\n}\n\n/**\n * @deprecated\n */\nexport const replace = () => {\n // TODO maybe check if viewlet can be recycled\n}\n\nexport const handleError = (id, parentId, message) => {\n console.log(`[viewlet-error] ${id}: ${message}`)\n const instance = state.instances[id]\n if (instance && instance.factory && instance.factory.handleError) {\n instance.factory.handleError(instance.state, message)\n return\n }\n // TODO error should bubble up to until highest possible component\n const parentInstance = state.instances[parentId]\n if (\n parentInstance &&\n parentInstance.factory &&\n parentInstance.factory.handleError\n ) {\n parentInstance.factory.handleError(instance.state, message)\n console.log('parent instance', parentInstance)\n return\n }\n if (\n instance &&\n instance.state.$Viewlet &&\n instance.state.$Viewlet.isConnected\n ) {\n instance.state.$Viewlet.textContent = `${message}`\n }\n}\n\n/**\n * @deprecated\n */\nexport const hydrate = (id, ...args) => {\n const module = state.modules[id]\n const instanceState = module.create(...args)\n state.instances[id] = { state: instanceState, factory: module }\n}\n\n/**\n * @deprecated\n */\nexport const appendViewlet = (parentId, childId, focus) => {\n if (parentId === 'Widget') {\n // TODO\n return\n }\n const parentInstanceState = state.instances[parentId] // TODO must ensure that parent is already created\n const parentModule = parentInstanceState.factory\n const childInstance = state.instances[childId]\n if (!childInstance) {\n throw new Error('child instance must be defined to be appended to parent')\n }\n parentModule.appendViewlet(\n parentInstanceState.state,\n childInstance.factory.name,\n childInstance.state.$Viewlet\n )\n if (focus) {\n childInstance.factory.focus(childInstance.state)\n }\n}\n","import * as Command from '../Command/Command.js'\nimport * as Viewlet from '../Viewlet/Viewlet.js'\n\nexport const __initialize__ = () => {\n Command.register('Viewlet.refresh', Viewlet.refresh)\n Command.register('Viewlet.invoke', Viewlet.invoke)\n Command.register('Viewlet.send', Viewlet.invoke)\n Command.register('Viewlet.focus', Viewlet.focus)\n Command.register('Viewlet.dispose', Viewlet.dispose)\n Command.register('Viewlet.appendViewlet', Viewlet.appendViewlet)\n Command.register('Viewlet.load', Viewlet.load)\n Command.register('Viewlet.handleError', Viewlet.handleError)\n Command.register('Viewlet.sendMultiple', Viewlet.sendMultiple)\n}\n","import * as Context from '../Context/Context.js'\nimport * as RendererWorker from '../RendererWorker/RendererWorker.js'\nimport * as Platform from '../Platform/Platform.js'\n\nconst RE_ASCII = /[\\p{ASCII}]+/u\n\nexport const state = {\n keyBindings: [],\n modifier: '',\n modifierTimeout: -1,\n}\n\nconst isAscii = (key) => {\n return RE_ASCII.test(key)\n}\n\nconst getIdentifier = (event) => {\n let identifier = ''\n if (event.ctrlKey) {\n identifier += 'ctrl+'\n }\n if (event.shiftKey) {\n identifier += 'shift+'\n }\n if (event.altKey) {\n identifier += 'alt+'\n }\n let key = event.key\n if (key === ' ') {\n key = 'Space'\n }\n if (key.length === 1) {\n key = key.toLowerCase()\n }\n identifier += key\n return identifier\n}\n\n// TODO store keybindings as json somewhere\n\n// TODO sort keybindings by `when` priority -> focus.editorCompletions: 10, focus.editor:9 etc.\n\n// TODO does it make sense to have all of these configurable?\n// could remove some context logic and have less user configuration when these are default\n// e.g. arrow down focuses next, arrow up always focuses previous item (like in aria spec)\n\n// TODO ui should only have keys -> commands get resolved inside renderer worker\n// TODO should toggle terminal, not only open\n\nconst matchesContext = (keybinding) => {\n if (!keybinding.when) {\n return true\n }\n return Context.get(keybinding.when)\n}\n\nconst getMatchingKeyBinding = (identifier) => {\n // TODO this could be more efficient in O(N) instead of O(2N)\n const matchesIdentifier = (keyBinding) => {\n return keyBinding.key === identifier\n }\n const matchingKeyBindings = state.keyBindings.filter(matchesIdentifier)\n const matchingKeyBinding = matchingKeyBindings.find(matchesContext)\n return matchingKeyBinding\n}\n\nconst getModifier = (event) => {\n switch (event.key) {\n case 'Control':\n return 'ctrl'\n case 'Shift':\n return 'shift'\n case 'Alt':\n return 'alt'\n }\n return ''\n}\n\nconst clearModifier = () => {\n if (!state.modifier) {\n return\n }\n if (state.modifierTimeout !== -1) {\n clearTimeout(state.modifierTimeout)\n state.modifier = ''\n state.modifierTimeout = -1\n }\n}\n\nconst handleMatchingKeyBinding = (matchingKeyBinding) => {\n // TODO execute command directly or -> executeCommand -> keybindings -> executeCommand\n // better directly\n // TODO always should be number\n // when launching keybindings -> map string command to number\n // TODO should args always be defined? (probably yes -> monomorphism & simpler code since all objects are the same)\n\n // TODO matchingKeyBinding.command should always be number\n RendererWorker.send(\n /* KeyBindings.handleKeyBinding */ 'KeyBindings.handleKeyBinding',\n /* keyBinding */ matchingKeyBinding\n )\n}\n\nconst handleKeyDown = (event) => {\n const identifier = getIdentifier(event)\n const matchingKeyBinding = getMatchingKeyBinding(identifier)\n if (!matchingKeyBinding) {\n return\n }\n event.preventDefault()\n handleMatchingKeyBinding(matchingKeyBinding)\n}\n\nconst handleKeyUp = (event) => {\n const modifier = getModifier(event)\n if (!modifier) {\n clearModifier()\n return\n }\n if (state.modifier === modifier) {\n clearModifier()\n const identifier = `${modifier} ${modifier}`\n const matchingKeyBinding = getMatchingKeyBinding(identifier)\n if (matchingKeyBinding) {\n handleMatchingKeyBinding(matchingKeyBinding)\n }\n return\n }\n\n state.modifier = modifier\n // @ts-ignore\n state.modifierTimeout = setTimeout(clearModifier, 300)\n}\n\nexport const hydrate = async (keyBindings) => {\n // TODO is this the right place for browser context ?\n // maybe in env file / env service\n const browser = Platform.getBrowser()\n Context.set(`browser.${browser}`, true)\n state.keyBindings = keyBindings\n window.addEventListener('keydown', handleKeyDown)\n // TODO only need keyup listener if keybindings include double modifier key (e.g \"shift shift\")\n window.addEventListener('keyup', handleKeyUp)\n}\n\n// TODO should be in renderer worker\nexport const lookupKeyBinding = (commandId) => {\n switch (commandId) {\n case 'scm.acceptInput':\n return 'Ctrl+Enter'\n default:\n return ''\n }\n}\n","import * as Command from '../Command/Command.js'\nimport * as KeyBindings from './KeyBindings.js'\n\nexport const __initialize__ = () => {\n Command.register('KeyBindings.hydrate', KeyBindings.hydrate)\n // Command.register(756, KeyBindings.setKeyBindings)\n}\n","export const state = {\n isInDom: false,\n $PreviousFocusElement: undefined,\n widgetSet: new Set(),\n $Widgets: undefined,\n}\n\nconst create$Widgets = () => {\n const $Widgets = document.createElement('div')\n $Widgets.id = 'Widgets'\n return $Widgets\n}\n\nexport const append = ($Element) => {\n // TODO should not call append in the first place if it is already in dom\n if (state.widgetSet.has($Element)) {\n return\n }\n state.widgetSet.add($Element)\n if (state.$Widgets) {\n state.$Widgets.append($Element)\n } else {\n state.$Widgets = create$Widgets()\n state.$Widgets.append($Element)\n document.body.append(state.$Widgets)\n }\n}\n\nexport const find = (id) => {\n for (const $Widget of state.widgetSet) {\n if ($Widget.dataset.id === id) {\n return $Widget\n }\n }\n return undefined\n}\n\nexport const remove = ($Element) => {\n if (!$Element) {\n // TODO $Element should always be defined\n return\n }\n state.widgetSet.delete($Element)\n $Element.remove()\n // TODO state.$Widgets should always be defined at this point\n if (state.widgetSet.size === 0 && state.$Widgets) {\n state.$Widgets.remove()\n state.$Widgets = undefined\n }\n}\n","const supportsServiceWorker = () => {\n return 'serviceWorker' in navigator\n}\n\nconst handleUpdateFound = () => {\n // console.info('[service-worker] update found')\n}\n\nconst handleControllerChange = () => {\n // console.info('[service-worker] controller changed - reloading page')\n location.reload()\n}\n\nexport const register = async (url) => {\n if (!supportsServiceWorker()) {\n return\n }\n const registration = await navigator.serviceWorker.register(url, {\n scope: '/',\n type: 'module',\n })\n registration.onupdatefound = handleUpdateFound\n navigator.serviceWorker.oncontrollerchange = handleControllerChange\n}\n\nconst uninstallRegistration = async (registration) => {\n await registration.unregister()\n}\n\nexport const uninstall = async () => {\n if (!supportsServiceWorker()) {\n return\n }\n const registrations = await navigator.serviceWorker.getRegistrations()\n await Promise.all(registrations.map(uninstallRegistration))\n}\n","import * as Command from '../Command/Command.js'\nimport * as ServiceWorker from './ServiceWorker.js'\n\nexport const __initialize__ = () => {\n Command.register('ServiceWorker.register', ServiceWorker.register)\n Command.register('ServiceWorker.uninstall', ServiceWorker.uninstall)\n}\n","import * as RendererWorker from '../RendererWorker/RendererWorker.js'\n\nexport const getPathName = () => {\n return location.pathname\n}\n\nexport const getHref = () => {\n return location.href\n}\n\n// TODO should do nothing if it is already at this path\nexport const setPathName = (pathName) => {\n const currentPathName = getPathName()\n if (currentPathName === pathName) {\n return\n }\n history.pushState(null, null, pathName)\n}\n\nconst handlePopState = (event) => {\n RendererWorker.send(/* Workspace.hydrate */ 'Workspace.hydrate')\n}\n\nexport const hydrate = () => {\n addEventListener('popstate', handlePopState)\n}\n","import * as Command from '../Command/Command.js'\nimport * as Location from './Location.js'\n\nexport const __initialize__ = () => {\n Command.register('Location.getHref', Location.getHref)\n Command.register('Location.getPathName', Location.getPathName)\n Command.register('Location.hydrate', Location.hydrate)\n Command.register('Location.setPathName', Location.setPathName)\n}\n","// TODO this module should be called dom or dom utils\n\n// TODO this module makes for weird code splitting chunks,\n// maybe duplicate the code per file for better chunks\n\nexport const findIndex = ($Container, $Target) => {\n while ($Target && $Target.parentNode !== $Container) {\n $Target = $Target.parentNode\n }\n if (!$Target) {\n // console.log('no target to find', $Target, event.target)\n return -1\n }\n for (let i = 0; i < $Container.children.length; i++) {\n if ($Container.children[i] === $Target) {\n return i\n }\n }\n return -1\n}\n","const getLabel = (item) => {\n if (!item || !item.label) {\n console.warn('menu item has missing label', item)\n return 'n/a'\n }\n return item.label\n}\n\nexport const create$MenuItem = (item) => {\n const $MenuItem = document.createElement('li')\n switch (item.flags) {\n case /* None */ 0:\n $MenuItem.className = 'MenuItem'\n // @ts-ignore\n $MenuItem.role = 'menuitem'\n $MenuItem.textContent = getLabel(item)\n $MenuItem.tabIndex = -1\n break\n case /* Separator */ 1:\n $MenuItem.className = 'MenuItemSeparator'\n // @ts-ignore\n $MenuItem.role = 'separator'\n break\n case /* Checked */ 2:\n $MenuItem.className = 'MenuItem'\n // @ts-ignore\n $MenuItem.role = 'menuitemcheckbox'\n $MenuItem.ariaChecked = 'true'\n $MenuItem.textContent = getLabel(item)\n $MenuItem.tabIndex = -1\n break\n case /* UnChecked */ 3:\n $MenuItem.className = 'MenuItem'\n // @ts-ignore\n $MenuItem.role = 'menuitemcheckbox'\n $MenuItem.ariaChecked = 'false'\n $MenuItem.textContent = getLabel(item)\n $MenuItem.tabIndex = -1\n break\n case /* SubMenu */ 4:\n $MenuItem.className = 'MenuItem'\n // @ts-ignore\n $MenuItem.role = 'menuitem'\n $MenuItem.textContent = getLabel(item)\n $MenuItem.tabIndex = -1\n $MenuItem.ariaHasPopup = 'true'\n $MenuItem.ariaExpanded = 'false'\n break\n case /* Disabled */ 5:\n $MenuItem.className = 'MenuItem'\n // @ts-ignore\n $MenuItem.role = 'menuitem'\n $MenuItem.textContent = getLabel(item)\n $MenuItem.tabIndex = -1\n $MenuItem.setAttribute('disabled', 'true')\n break\n default:\n $MenuItem.className = 'MenuItem'\n // @ts-ignore\n $MenuItem.role = 'menuitem'\n $MenuItem.textContent = getLabel(item)\n $MenuItem.tabIndex = -1\n console.warn('invalid menu item flags:', item)\n break\n }\n return $MenuItem\n}\n","export const create$BackDrop = () => {\n const $BackDrop = document.createElement('div')\n $BackDrop.id = 'BackDrop'\n return $BackDrop\n}\n","import * as FindIndex from '../../shared/findIndex.js'\nimport * as RendererWorker from '../RendererWorker/RendererWorker.js'\nimport * as Widget from '../Widget/Widget.js'\nimport * as MenuItem from '../MenuItem/MenuItem.js'\nimport * as BackDrop from '../BackDrop/BackDrop.js'\nimport * as Focus from '../Focus/Focus.js'\n\n// TODO when pressing tab -> focus next element in tab order and close menu\n\n// TODO menu and contextmenu should have own keybinding logic\n// seems not possible to do with just one keybinding listener\n\n// TODO similar to context menu, show sub menu entries\n// there can be multiple instances (parent -> child -> child) submenus\n\n// TODO using .style.top, .style.left causes chrome devtools to show many layout shift -> maybe use transform instead\n\n// TODO when cycling through items, recalculate style is much slower\n// than in vscode (1.49ms vs 0.33ms)\n// paint is also faster in vscode (0.32ms vs 0.14ms)\n\n// TODO focus on menu is not announced to screenreader\n\n// TODO recalculate style and paint is slow when cycling through items:\n// 0.59ms recalculate style\n// 36us update layer tree\n// 0.35ms paint\n// 0.20ms composite layer\n\n// const contextMenuWidth = 150\n// const contextMenuHeight = 150 + /* padding */ 8 * 4\n\n// TODO keyboard handling\n\nexport const state = {\n handleKeyDown(event) {},\n handleFocusOut(event) {},\n $$Menus: [],\n anchorX: 0,\n anchorY: 0,\n anchorTime: -1,\n $BackDrop: undefined,\n}\n\nconst getLevel = ($Menu) => {\n return state.$$Menus.indexOf($Menu)\n}\n\nconst handleMouseDown = (event) => {\n const $Target = event.target\n const $Menu = $Target.closest('.Menu')\n const index = FindIndex.findIndex($Menu, $Target)\n if (index === -1) {\n console.log('index is negative one')\n return\n }\n event.preventDefault()\n const level = getLevel($Menu)\n RendererWorker.send(\n /* Menu.handleClick */ 'Menu.selectIndex',\n /* level */ level,\n /* index */ index\n )\n}\n\n// const handleKeyDown = (event) => {\n// console.log({ key: event.key })\n// switch (event.key) {\n// case 'ArrowUp':\n// RendererWorker.send( /* Menu.focusPrevious */ 7405)\n// break\n// case 'ArrowLeft':\n// // TODO collapse menu maybe\n// break\n// case 'ArrowDown':\n// RendererWorker.send( /* Menu.focusNext */ 7404)\n// break\n// case 'ArrowRight':\n// // TODO expand sub menu maybe\n// break\n// case 'Home':\n// RendererWorker.send( /* Menu.focusFirst */ 7406)\n// break\n// case 'End':\n// RendererWorker.send( /* Menu.focusLast */ 7407)\n// break\n// default:\n// break\n// }\n// }\n\nconst MOUSE_LOCS_TRACKED = 3\n\n/**\n *\n * @param {MouseEvent} event\n */\nconst handleMouseEnter = (event) => {\n const $Target = event.target\n // @ts-ignore\n const $Menu = $Target.closest('.Menu')\n const x = event.clientX\n const y = event.clientY\n const timeStamp = event.timeStamp\n\n const index = FindIndex.findIndex($Menu, $Target)\n if (index === -1) {\n return\n }\n const level = getLevel($Menu)\n RendererWorker.send(\n /* Menu.handleMouseEnter */ 'Menu.handleMouseEnter',\n /* level */ level,\n /* index */ index,\n /* x */ x,\n /* y */ y,\n /* timeStamp */ timeStamp\n )\n}\n\nconst handleMouseMove = (event) => {\n // const x = event.clientX\n // const y = event.clientY\n // console.log('move', { x, y })\n}\n\nconst handleMouseLeave = (event) => {\n // const x = event.clientX\n // const y = event.clientY\n // console.log('leave', { x, y })\n}\n\n// const handleBlur = (event) => {}\nconst handleKeyDown = (event) => {\n state.handleKeyDown(event)\n}\n\nconst handleFocusOut = (event) => {\n state.handleFocusOut(event)\n}\n\nconst create$Menu = () => {\n // TODO set aria label on menu (e.g. File, Edit, Selection)\n const $Menu = document.createElement('ul')\n $Menu.className = 'Menu'\n // @ts-ignore\n $Menu.role = 'menu'\n $Menu.tabIndex = -1\n // $ContextMenu.onmousedown = contextMenuHandleMouseDown\n // TODO mousedown vs click? (click is usually better but mousedown is faster, why wait 100ms?)\n $Menu.addEventListener('mousedown', handleMouseDown)\n $Menu.addEventListener('mouseenter', handleMouseEnter, {\n capture: true,\n })\n $Menu.addEventListener('mouseleave', handleMouseLeave, {\n capture: true,\n })\n $Menu.addEventListener('mousemove', handleMouseMove, {\n passive: true,\n })\n $Menu.onkeydown = handleKeyDown\n $Menu.addEventListener('focusout', handleFocusOut)\n $Menu.oncontextmenu = handleContextMenu\n // $ContextMenu.onfocus = handleFocus\n // $ContextMenu.onblur = handleBlur\n return $Menu\n}\n\nexport const focusIndex = (level, oldFocusedIndex, newFocusedIndex) => {\n const $Menu = state.$$Menus[level]\n if (oldFocusedIndex !== -1) {\n $Menu.children[oldFocusedIndex].classList.remove('Focused')\n }\n if (newFocusedIndex !== -1) {\n $Menu.children[newFocusedIndex].classList.add('Focused')\n $Menu.children[newFocusedIndex].focus()\n }\n}\n\n// TODO replace function that recycles menu dom nodes\n\nconst handleBackDropMouseDown = () => {\n RendererWorker.send(/* Menu.hide */ 'Menu.hide')\n}\n\nconst handleContextMenu = (event) => {\n event.preventDefault()\n}\n\nexport const showMenu = (\n x,\n y,\n width,\n height,\n items,\n level,\n parentIndex = -1,\n mouseBlocking = false\n) => {\n if (mouseBlocking) {\n const $BackDrop = BackDrop.create$BackDrop()\n $BackDrop.onmousedown = handleBackDropMouseDown\n $BackDrop.oncontextmenu = handleContextMenu\n state.$BackDrop = $BackDrop\n Widget.append($BackDrop)\n }\n\n const $Menu = create$Menu()\n $Menu.append(...items.map(MenuItem.create$MenuItem))\n $Menu.style.left = `${x}px`\n $Menu.style.top = `${y}px`\n $Menu.id = `Menu-${level}`\n\n if (parentIndex !== -1) {\n const $ParentMenu = state.$$Menus[level - 1]\n const $ParentMenuItem = $ParentMenu.children[parentIndex]\n $ParentMenuItem.ariaExpanded = 'true'\n $ParentMenuItem.setAttribute('aria-owns', $Menu.id)\n }\n\n state.$$Menus.push($Menu)\n Widget.append($Menu)\n\n if (level === 0) {\n Focus.focus($Menu, 'menu')\n }\n}\n\nexport const showContextMenu = (x, y, width, height, level, items) => {\n for (const $Menu of state.$$Menus) {\n Widget.remove($Menu)\n }\n state.$$Menus = []\n while (state.$$Menus.length > 0) {\n state.$$Menus[0].remove()\n }\n const $Menu = create$Menu()\n $Menu.append(...items.map(MenuItem.create$MenuItem))\n $Menu.style.left = `${x}px`\n $Menu.style.top = `${y}px`\n $Menu.id = `Menu-${level}`\n Widget.append($Menu)\n state.$$Menus.push($Menu)\n // TODO create backdrop\n}\n\nexport const closeSubMenu = () => {\n const $SubMenu = state.$$Menus.pop()\n const $ParentMenu = state.$$Menus.at(-1)\n Widget.remove($SubMenu)\n}\n\nexport const hideSubMenu = (level) => {\n const $$ChildMenus = state.$$Menus.slice(level)\n for (const $ChildMenu of $$ChildMenus) {\n Widget.remove($ChildMenu)\n }\n}\n\n// export const showSubMenu = (level, items, parentIndex) => {\n// const $$ChildMenus = state.$$Menus.slice(level)\n// for (const $ChildMenu of $$ChildMenus) {\n// Widget.remove($ChildMenu)\n// }\n// state.$$Menus = state.$$Menus.slice(0, level)\n// const $ParentMenu = state.$$Menus[level - 1]\n// const $ParentMenuItem = $ParentMenu.children[parentIndex]\n// const rect = $ParentMenuItem.getBoundingClientRect()\n// const x = rect.right\n// const y = rect.top\n// showMenu(x, y, items, level)\n// // TODO remove aria-owns when sub-menu is closed\n// $ParentMenuItem.setAttribute('aria-owns', 'Menu')\n// }\n\n// TODO implement focusIndex like this\n// const focusIndex2=(id, index)=>{\n// const $Menu = state.menus[id]\n// $Menu.children[index].focus()\n// }\n\n// TODO support nested menus / submenus\nexport const showControlled = ({\n x,\n y,\n items,\n handleKeyDown,\n handleFocusOut,\n $Parent,\n level,\n width,\n height,\n}) => {\n showMenu(x, y, width, height, items, level)\n // TODO menu should not necessarily know about parent (titleBarMenuBar)\n // it should be the other way around\n state.$Parent = $Parent\n state.handleFocusOut = handleFocusOut\n state.handleKeyDown = handleKeyDown\n if ($Parent) {\n // state.$Menu.ariaLabel=''\n // state.$Menu.ariaLabelledBy =$Parent.id\n $Parent.setAttribute('aria-owns', 'Menu')\n } else {\n // state.$Menu.removeAttribute('aria-labelledby')\n }\n // Context.setFocus('menu') // TODO overlapping focus: titleBarMenuBar has focus (kinda) but also menu at the same time\n}\n\n// TODO have function to show submenu\n\nexport const hide = (restoreFocus = true) => {\n for (const $Menu of state.$$Menus) {\n Widget.remove($Menu)\n }\n state.$$Menus = []\n if (state.$BackDrop) {\n Widget.remove(state.$BackDrop)\n state.$BackDrop = undefined\n }\n // TODO focus previous item\n if (restoreFocus) {\n Focus.focusPrevious()\n }\n}\n\nexport const contains = ($Element) => {\n for (const $Menu of state.$$Menus) {\n if ($Menu.contains($Element)) {\n return true\n }\n }\n return false\n}\n","import * as Assert from '../Assert/Assert.js'\nimport * as Focus from '../Focus/Focus.js'\nimport * as Layout from '../Layout/Layout.js'\nimport * as Platform from '../Platform/Platform.js'\nimport * as RendererWorker from '../RendererWorker/RendererWorker.js'\n\n// TODO set aria-selected false when sidebar is collapsed\n\nconst create$ActivityBarItemIcon = (icon) => {\n const $ActivityBarItemIcon = document.createElement('div')\n $ActivityBarItemIcon.className = 'ActivityBarItemIcon'\n // @ts-ignore\n $ActivityBarItemIcon.style.maskImage = `url(${icon})`\n $ActivityBarItemIcon.style.webkitMaskImage = `url(${icon})`\n return $ActivityBarItemIcon\n}\n\n// TODO assetDir might not work with non-builtin extension icons\nconst create$ActivityBarItem = (item) => {\n const assetDir = Platform.getAssetDir()\n const $ActivityBarItemIcon = create$ActivityBarItemIcon(\n `${assetDir}/${item.icon}`\n )\n const $ActivityBarItem = document.createElement('div')\n $ActivityBarItem.className = 'ActivityBarItem'\n $ActivityBarItem.ariaLabel = '' // aria-label is determined by content TODO is empty aria-label necessary or can it be left off?\n $ActivityBarItem.title = item.id\n $ActivityBarItem.tabIndex = -1\n $ActivityBarItem.dataset.viewletId = item.id\n if (item.keyShortcuts) {\n $ActivityBarItem.ariaKeyShortcuts = item.keyShortcuts\n }\n switch (item.flags) {\n case /* Tab */ 1:\n // @ts-ignore\n $ActivityBarItem.role = 'tab'\n $ActivityBarItem.ariaSelected = 'false'\n break\n case /* Button */ 2:\n // @ts-ignore\n $ActivityBarItem.role = 'button'\n $ActivityBarItem.ariaHasPopup = 'true'\n break\n default:\n console.warn(`unknown activity bar item flags ${item.flags}`)\n break\n }\n $ActivityBarItem.append($ActivityBarItemIcon)\n return $ActivityBarItem\n}\n\nconst get$ItemFromEvent = (event) => {\n const $Target = event.target\n switch ($Target.className) {\n case 'ActivityBarItemIcon':\n return $Target.parentNode\n case 'ActivityBarItem':\n return $Target\n default:\n return undefined\n }\n}\n\nconst getNodeIndex = ($Node) => {\n let index = 0\n while (($Node = $Node.previousElementSibling)) {\n index++\n }\n return index\n}\n\nconst handleMousedown = (event) => {\n if (event.button !== 0) {\n return\n }\n const $Item = get$ItemFromEvent(event)\n if (!$Item) {\n return\n }\n event.preventDefault()\n event.stopPropagation()\n const index = getNodeIndex($Item)\n const x = event.clientX\n const y = event.clientY\n RendererWorker.send(\n /* ActivityBar.handleClick */ 'ActivityBar.handleClick',\n /* index */ index,\n /* x */ x,\n /* y */ y\n )\n}\n\nconst handleContextMenu = (event) => {\n event.preventDefault()\n // TODO also move side bar position command\n const x = event.clientX\n const y = event.clientY\n RendererWorker.send(\n /* activityBarHandleContextMenu */ 'ActivityBar.handleContextMenu',\n /* x */ x,\n /* y */ y\n )\n}\n\nconst handleBlur = () => {}\n\nexport const name = 'ActivityBar'\n\nexport const create = () => {\n const $ActivityBar = Layout.state.$ActivityBar\n $ActivityBar.role = 'toolbar'\n $ActivityBar.ariaLabel = 'Activity Bar'\n $ActivityBar.ariaOrientation = 'vertical'\n // $ActivityBar.append(...activityBarItems.map(create$ActivityBarItem))\n $ActivityBar.onmousedown = handleMousedown\n $ActivityBar.oncontextmenu = handleContextMenu\n $ActivityBar.onblur = handleBlur\n $ActivityBar.addEventListener('focusin', handleFocusIn)\n // $ActivityBar.children[focusedIndex].tabIndex = 0\n return {\n $ActivityBar,\n }\n}\n\nexport const dispose = (state) => {}\n\nexport const setItems = (state, activityBarItems) => {\n Assert.object(state)\n Assert.array(activityBarItems)\n const $ActivityBar = state.$ActivityBar\n while ($ActivityBar.firstChild) {\n $ActivityBar.firstChild.remove()\n }\n $ActivityBar.append(...activityBarItems.map(create$ActivityBarItem))\n}\n\nconst handleFocusIn = () => {\n Focus.setFocus('activityBar')\n}\n\nexport const selectIndex = (state, oldIndex, newIndex) => {\n if (oldIndex !== -1) {\n const $OldItem = state.$ActivityBar.children[oldIndex]\n $OldItem.ariaSelected = 'false'\n if (newIndex !== -1) {\n $OldItem.tabIndex = -1\n }\n }\n if (newIndex !== -1) {\n const $NewItem = state.$ActivityBar.children[newIndex]\n $NewItem.ariaSelected = 'true'\n $NewItem.tabIndex = 0\n }\n}\n\nconst focus$Item = ($Item) => {\n Focus.focus($Item, 'activityBar')\n}\n\nexport const setFocusedIndex = (state, oldIndex, newIndex) => {\n const { $ActivityBar } = state\n if (oldIndex !== -1) {\n const $OldItem = $ActivityBar.children[oldIndex]\n $OldItem.tabIndex = -1\n $OldItem.classList.remove('FocusOutline')\n }\n if (newIndex !== -1) {\n const $NewItem = $ActivityBar.children[newIndex]\n $NewItem.tabIndex = 0\n $NewItem.classList.add('FocusOutline')\n focus$Item($NewItem)\n }\n}\n\nexport const setBadgeCount = (state, index, count) => {\n const { $ActivityBar } = state\n const $Item = $ActivityBar.children[index]\n const $Badge = document.createElement('div')\n $Badge.className = 'ActivityBarItemBadge'\n $Badge.textContent = `${count}`\n // @ts-ignore\n $Item.append($Badge)\n}\n","import * as Layout from '../Layout/Layout.js'\nimport * as RendererWorker from '../RendererWorker/RendererWorker.js'\nimport * as Assert from '../Assert/Assert.js'\n\nconst getIconClassName = (icon) => {\n switch (icon) {\n case '$(sync-spin)':\n case '$(sync~spin)':\n return 'StatusBarIcon AnimationSpin'\n case '$(sync)':\n return 'StatusBarIcon'\n case '$(source-control)':\n return 'StatusBarIcon'\n default:\n console.warn(`unknown icon \"${icon}\"`)\n return ''\n }\n}\n\nconst getMaskImageUrl = (icon) => {\n switch (icon) {\n case '$(sync-spin)':\n case '$(sync~spin)':\n case '$(sync)':\n return 'url(/icons/icon-sync.svg)'\n case '$(source-control)':\n return 'url(/icons/icon-source-control.svg)'\n default:\n return ''\n }\n}\n\nconst create$StatusBarItem = (item) => {\n const $StatusBarItem = document.createElement('li')\n $StatusBarItem.className = 'StatusBarItem'\n // @ts-ignore\n $StatusBarItem.role = 'button'\n $StatusBarItem.dataset.name = item.name\n $StatusBarItem.tabIndex = -1\n $StatusBarItem.textContent = item.text\n $StatusBarItem.dataset.command = item.command\n if (item.tooltip) {\n $StatusBarItem.title = item.tooltip\n }\n if (item.icon) {\n const $StatusBarItemIcon = document.createElement('span')\n $StatusBarItemIcon.className = getIconClassName(item.icon)\n // @ts-ignore\n $StatusBarItemIcon.style.maskImage = getMaskImageUrl(item.icon)\n $StatusBarItemIcon.style.webkitMaskImage = getMaskImageUrl(item.icon)\n $StatusBarItem.prepend($StatusBarItemIcon)\n }\n return $StatusBarItem\n}\n\nconst handleClick = (event) => {\n const $Target = event.target\n if ($Target.className !== 'StatusBarItem') {\n return\n }\n const command = Number.parseInt($Target.dataset.command, 10)\n RendererWorker.send(command)\n}\n\n// TODO get items from renderer worker\n// const statusBarItemsLeft = [\n// {\n// name: 'RunTests',\n// text: 'Run Tests',\n// tooltip: '',\n// command: 909021,\n// },\n// ]\n\n// const statusBarItemsRight = []\n\nexport const create = (statusBarItemsLeft, statusBarItemsRight) => {\n const $StatusBarItemsLeft = document.createElement('ul')\n $StatusBarItemsLeft.id = 'StatusBarItemsLeft'\n\n const $StatusBarItemsRight = document.createElement('ul')\n $StatusBarItemsRight.id = 'StatusBarItemsRight'\n\n const $StatusBar = Layout.state.$StatusBar\n $StatusBar.onclick = handleClick\n $StatusBar.tabIndex = 0\n $StatusBar.role = 'status'\n $StatusBar.ariaLive = 'off' // see https://github.com/microsoft/vscode/issues/94677\n $StatusBar.append($StatusBarItemsLeft, $StatusBarItemsRight)\n\n return {\n $StatusBar,\n $StatusBarItemsLeft,\n $StatusBarItemsRight,\n }\n}\n\nconst clearNode = (node) => {\n while (node.firstChild) {\n node.firstChild.remove()\n }\n}\n\nexport const setItems = (state, statusBarItemsLeft, statusBarItemsRight) => {\n const $StatusBarItemsLeft = state.$StatusBarItemsLeft\n const $StatusBarItemsRight = state.$StatusBarItemsRight\n clearNode($StatusBarItemsLeft)\n clearNode($StatusBarItemsRight)\n $StatusBarItemsLeft.append(...statusBarItemsLeft.map(create$StatusBarItem))\n $StatusBarItemsRight.append(...statusBarItemsRight.map(create$StatusBarItem))\n}\n\nexport const focus = (state) => {\n Assert.object(state)\n state.$StatusBar.focus()\n}\n","import * as Menu from '../OldMenu/Menu.js'\nimport * as RendererWorker from '../RendererWorker/RendererWorker.js'\nimport * as Widget from '../Widget/Widget.js'\nimport * as Assert from '../Assert/Assert.js'\n\n// TODO set proper tabIndex 0 to focused item https://www.w3.org/TR/wai-aria-practices/examples/menubar/menubar-1/menubar-1.html\n\n// TODO screenreader doesn't read top level label\n// when menu is open,\n// first item is selected,\n// right is clicked it just reads\n// \"Expanded\" instead of \"Selection Expanded\"\n\n// TODO sometimes screenreader reads too much (e.g. \"File, expanded, opens menu, expanded\")\n\n// TODO don't focus on separators\n\n// TODO don't focus on hover\n// only focus on hover when it has already focus or the menu has focus\n\n// TODO title bar menu bar is very inefficient:\n\n// before: 5 times recalculate style\n// 1.37ms Recalculate style\n// 83us Update Layer tree\n// 0.34ms paint\n// 0.79ms composite layer\n// 0.23ms Hit test\n// 1.42ms Recalculate style\n// 1.44ms Recalculate style\n// 2.08ms Recalculate style\n// 0.44ms Recalculate style\n// 0.52ms Layout\n// 0.16ms Update Layer Tree\n// 48us hit test\n// 16us Update Layer Tree\n// 0.36ms paint\n// 0.33ms composite layer\n\n// now: 2 recalculate styles\n// 0.43ms recalculate style\n// 0.53ms recalculate style\n// 0.19ms layout\n// 0.16ms update layer tree\n// 30us hit test\n// 17us update layer tree\n// 0.17ms paint\n// 0.19ms composite layers\n\nconst create$TopLevelEntry = (item) => {\n const $TitleBarTopLevelEntry = document.createElement('li')\n $TitleBarTopLevelEntry.className = 'TitleBarTopLevelEntry'\n $TitleBarTopLevelEntry.tabIndex = -1\n $TitleBarTopLevelEntry.ariaHasPopup = 'true'\n $TitleBarTopLevelEntry.ariaExpanded = 'false'\n // @ts-ignore\n $TitleBarTopLevelEntry.role = 'menuitem'\n if (item.keyboardShortCut) {\n $TitleBarTopLevelEntry.ariaKeyShortcuts = item.keyboardShortCut\n }\n $TitleBarTopLevelEntry.textContent = item.name\n $TitleBarTopLevelEntry.dataset.id = item.id\n $TitleBarTopLevelEntry.id = `MenuItem-${item.id}`\n return $TitleBarTopLevelEntry\n}\n\nexport const getMenuEntryBounds = (state, index) => {\n const $MenuEntry = state.$TitleBarMenu.children[index]\n const rect = $MenuEntry.getBoundingClientRect()\n return {\n left: rect.left,\n bottom: rect.bottom,\n }\n}\n\nconst getNodeIndex = ($Node) => {\n let index = 0\n while (($Node = $Node.previousElementSibling)) {\n index++\n }\n return index\n}\n\nconst getIndex = ($Target) => {\n switch ($Target.className) {\n case 'TitleBarTopLevelEntry':\n return getNodeIndex($Target)\n default:\n return -1\n }\n}\n\nconst handleClick = (event) => {\n const $Target = event.target\n const index = getIndex($Target)\n if (index === -1) {\n return\n }\n // event.preventDefault()\n RendererWorker.send(\n /* TitleBarMenu.toggleIndex */ 'TitleBarMenuBar.toggleIndex',\n /* index */ index\n )\n}\n\nexport const focusIndex = (state, unFocusIndex, index) => {\n Assert.object(state)\n Assert.number(unFocusIndex)\n Assert.number(focusIndex)\n console.log('FOCUS ONE')\n console.log({ unFocusIndex, index })\n const $TitleBarMenu = state.$TitleBarMenu\n if (unFocusIndex !== -1) {\n $TitleBarMenu.children[unFocusIndex].ariaExpanded = 'false'\n $TitleBarMenu.children[unFocusIndex].removeAttribute('aria-owns')\n }\n $TitleBarMenu.children[index].focus()\n}\n\nconst handleMouseEnter = (event) => {\n const $Target = event.target\n const index = getIndex($Target)\n if (index === -1) {\n return\n }\n const enterX = event.clientX\n const enterY = event.clientY\n RendererWorker.send(\n /* TitleBarMenu.focusIndex */ 'TitleBarMenuBar.focusIndex',\n /* index */ index,\n /* enterX */ enterX,\n /* enterY */ enterY\n )\n}\n\n// TODO the focus variable is confusing: false means keep focus in menubar, true means focus the menu\nexport const openMenu = (\n state,\n unFocusIndex,\n index,\n level,\n menuItems,\n menuFocusedIndex,\n focus,\n x,\n y,\n width,\n height\n) => {\n Assert.object(state)\n Assert.number(unFocusIndex)\n Assert.number(index)\n Assert.number(level)\n Assert.array(menuItems)\n Assert.number(menuFocusedIndex)\n Assert.boolean(focus)\n Assert.number(x)\n Assert.number(y)\n Assert.number(width)\n Assert.number(height)\n // TODO this code is very unclean\n state.$TitleBarMenu.addEventListener('mouseenter', handleMouseEnter, {\n capture: true,\n })\n if (unFocusIndex !== -1) {\n state.$TitleBarMenu.children[unFocusIndex].ariaExpanded = 'false'\n state.$TitleBarMenu.children[unFocusIndex].removeAttribute('aria-owns')\n }\n state.$TitleBarMenu.children[index].ariaExpanded = 'true'\n const $$Menus = Menu.state.$$Menus\n Menu.state.$$Menus = []\n Menu.showControlled({\n x,\n y,\n width,\n height,\n items: menuItems,\n handleKeyDown,\n handleFocusOut,\n $Parent: state.$TitleBarMenu.children[index],\n level,\n })\n if (menuFocusedIndex !== -1) {\n Menu.focusIndex(0, -1, menuFocusedIndex)\n }\n for (const $Menu of $$Menus) {\n Widget.remove($Menu)\n }\n}\n\n// TODO there need to be two variants of closeMenu: one just closes menu, another close menu and focuses top level entry\nexport const closeMenu = (state, unFocusIndex, index) => {\n if (unFocusIndex !== -1) {\n state.$TitleBarMenu.children[unFocusIndex].ariaExpanded = 'false'\n state.$TitleBarMenu.children[unFocusIndex].removeAttribute('aria-owns')\n }\n if (index !== -1) {\n state.$TitleBarMenu.children[index].focus()\n }\n Menu.hide(/* restoreFocus */ false)\n state.$TitleBarMenu.removeEventListener('mouseenter', handleMouseEnter, {\n capture: true,\n })\n}\n\n// TODO should only have the one listener in KeyBindings.js\nconst handleKeyDown = (event) => {\n switch (event.key) {\n case 'ArrowDown':\n event.preventDefault()\n event.stopPropagation()\n RendererWorker.send(\n /* TitleBarMenu.handleKeyArrowDown */ 'TitleBarMenu.handleKeyArrowDown'\n )\n break\n case 'ArrowUp':\n event.preventDefault()\n event.stopPropagation()\n RendererWorker.send(\n /* TitleBarMenu.handleKeyArrowUp */ 'TitleBarMenu.handleKeyArrowUp'\n )\n break\n case 'ArrowRight':\n console.log('arrow right')\n event.preventDefault()\n event.stopPropagation()\n RendererWorker.send(\n /* TitleBarMenu.handleKeyArrowRight */ 'TitleBarMenu.handleKeyArrowRight'\n )\n break\n case 'ArrowLeft':\n event.preventDefault()\n event.stopPropagation()\n RendererWorker.send(\n /* TitleBarMenu.handleKeyArrowLeft */ 'TitleBarMenu.handleKeyArrowLeft'\n )\n break\n case 'Enter':\n event.preventDefault()\n event.stopPropagation()\n RendererWorker.send(\n /* TitleBarMenu.handleKeyEnter */ 'TitleBarMenu.handleKeyEnter'\n )\n break\n case ' ':\n event.preventDefault()\n event.stopPropagation()\n RendererWorker.send(\n /* TitleBarMenu.handleKeySpace */ 'TitleBarMenu.handleKeySpace'\n )\n break\n case 'Home':\n case 'PageUp':\n event.preventDefault()\n event.stopPropagation()\n RendererWorker.send(\n /* TitleBarMenu.handleKeyHome */ 'TitleBarMenu.handleKeyHome'\n )\n break\n case 'End':\n case 'PageDown':\n event.preventDefault()\n event.stopPropagation()\n RendererWorker.send(\n /* TitleBarMenu.handleKeyEnd */ 'TitleBarMenu.handleKeyEnd'\n )\n break\n case 'Escape':\n event.preventDefault()\n event.stopPropagation()\n RendererWorker.send(\n /* TitleBarMenu.handleKeyEscape */ 'TitleBarMenu.handleKeyEscape'\n )\n break\n default:\n break\n }\n}\n\nconst isInsideTitleBarMenu = ($Element) => {\n return (\n $Element.classList.contains('MenuItem') ||\n $Element.classList.contains('Menu')\n )\n}\n\nconst handleFocusOut = (event) => {\n const $ActiveElement = event.relatedTarget\n if ($ActiveElement && isInsideTitleBarMenu($ActiveElement)) {\n console.log('RETURN')\n return\n }\n RendererWorker.send(\n /* TitleBarMenu.closeMenu */ 'TitleBarMenuBar.closeMenu',\n /* keepFocus */ false\n )\n}\n\nexport const create = () => {\n const $TitleBarMenu = document.createElement('ul')\n $TitleBarMenu.id = 'TitleBarMenu'\n // @ts-ignore\n $TitleBarMenu.role = 'menubar'\n $TitleBarMenu.onkeydown = handleKeyDown\n // TODO could have one mousedown listener on titlebar that delegates to titlebarMenu if necessary\n $TitleBarMenu.onmousedown = handleClick\n $TitleBarMenu.addEventListener('focusout', handleFocusOut)\n return $TitleBarMenu\n}\n\nexport const setEntries = (state, titleBarEntries) => {\n const $TitleBarMenu = state.$TitleBarMenu\n $TitleBarMenu.append(...titleBarEntries.map(create$TopLevelEntry))\n}\n","import * as Layout from '../Layout/Layout.js'\nimport * as TitleBarMenu from '../TitleBarMenuBar/TitleBarMenuBar.js'\nimport * as Assert from '../Assert/Assert.js'\n\nexport const create = () => {\n const $TitleBarMenu = TitleBarMenu.create()\n // TODO set aria label for title bar menu\n // TODO add tests for aria properties\n const $TitleBar = Layout.state.$TitleBar\n $TitleBar.ariaLabel = 'Title Bar'\n $TitleBar.role = 'contentinfo'\n $TitleBar.append($TitleBarMenu)\n return {\n $TitleBar,\n $TitleBarMenu,\n }\n}\n\nexport const dispose = (state) => {}\n\nexport const focus = (state) => {\n state.$TitleBarMenu.firstChild.focus()\n}\n\nexport const menuSetEntries = TitleBarMenu.setEntries\n\nexport const menuFocusIndex = TitleBarMenu.focusIndex\n\nexport const menuOpen = TitleBarMenu.openMenu\n\nexport const menuClose = TitleBarMenu.closeMenu\n\nexport const menuGetEntryBounds = TitleBarMenu.getMenuEntryBounds\n","import * as RendererWorker from '../RendererWorker/RendererWorker.js'\n\nexport const reload = () => {\n location.reload()\n}\n\nexport const minimize = () => {}\n\nexport const maximize = () => {}\n\nexport const unmaximize = () => {}\n\nexport const close = () => {\n // window.close()\n}\n\nexport const setTitle = (title) => {\n document.title = title\n}\n\n// cannot use visibilty change event because worker cannot process events when page closes\n// https://stackoverflow.com/questions/20084348/what-happens-to-a-web-worker-if-i-close-the-page-that-created-this-web-worker/20105455#20105455\nexport const onVisibilityChange = () => {\n const handleVisibilityChange = async () => {\n RendererWorker.send(\n /* SaveState.handleVisibilityChange */ 'SaveState.handleVisibilityChange',\n /* visibilityState */ document.visibilityState\n )\n await new Promise((resolve, reject) => {\n setTimeout(resolve, 100)\n })\n console.log('timeout done')\n }\n // document.addEventListener('visibilitychange', handleVisibilityChange)\n const handleBeforeUnload = async () => {\n RendererWorker.send(\n /* SaveState.handleVisibilityChange */ 'SaveState.handleVisibilityChange',\n /* visibilityState */ 'hidden'\n )\n // setTimeout(() => {\n // console.log('in timeout 1')\n // }, 3)\n // await new Promise((resolve, reject) => {\n // setTimeout(resolve, 100)\n // })\n // console.log('timeout done')\n }\n window.addEventListener('beforeunload', handleBeforeUnload)\n // document.addEventListener('visibilitychange', handleVisibilityChange)\n\n // const handlePageHide = () => {\n // console.log('page hide')\n // RendererWorker.send(\n // /* SaveState.handleVisibilityChange */ 'SaveState.handleVisibilityChange',\n // /* visibilityState */ 'hidden'\n // )\n // }\n // window.addEventListener('pagehide', handlePageHide)\n}\n","import * as Command from '../Command/Command.js'\nimport * as Window from './Window.js'\n\nexport const __initialize__ = () => {\n Command.register('Window.reload', Window.reload)\n Command.register('Window.minimize', Window.minimize)\n Command.register('Window.maximize', Window.maximize)\n Command.register('Window.unmaximize', Window.unmaximize)\n Command.register('Window.close', Window.close)\n Command.register('Window.setTitle', Window.setTitle)\n Command.register('Window.onVisibilityChange', Window.onVisibilityChange)\n}\n","// files that should be in initial chunk\nimport * as M1 from '../src/parts/Css/Css.ipc.js'\nimport * as M2 from '../src/parts/Layout/Layout.ipc.js'\nimport * as M4 from '../src/parts/Editor/Editor.js'\nimport * as M5 from '../src/parts/Focus/Focus.js'\nimport * as M6 from '../src/parts/Viewlet/Viewlet.ipc.js'\nimport * as M7 from '../src/parts/KeyBindings/KeyBindings.ipc.js'\nimport * as M14 from '../src/parts/Widget/Widget.js'\nimport * as M18 from '../src/parts/Platform/Platform.js'\nimport * as M22 from '../src/parts/ServiceWorker/ServiceWorker.ipc.js'\nimport * as M26 from '../src/parts/Location/Location.ipc.js'\nimport * as M13 from './parts/OldMenu/Menu.js'\nimport * as M27 from './parts/ViewletActivityBar/ViewletActivityBar.js'\nimport * as M28 from './parts/ViewletStatusBar/ViewletStatusBar.js'\nimport * as M29 from './parts/ViewletTitleBar/ViewletTitleBar.js'\nimport * as M30 from './parts/Window/Window.ipc.js'\nimport * as RendererWorker from './parts/RendererWorker/RendererWorker.js'\nimport * as Platform from './parts/Platform/Platform.js'\n\n// hack so that rollup doesn't tree-shake out these modules\nglobalThis.M = [\n M1,\n M2,\n M4,\n M5,\n M6,\n M7,\n M13,\n M14,\n M18,\n M22,\n M26,\n M27,\n M28,\n M29,\n M30,\n]\n\nconst handleError = (error) => {\n console.info(`[renderer-process] Unhandled Error: ${error}`)\n alert(error)\n}\n\nconst handleUnhandledRejection = (event) => {\n console.info(`[renderer-process] Unhandled Rejection: ${event.reason}`)\n alert(event.reason)\n}\n\nconst main = async () => {\n onerror = handleError\n onunhandledrejection = handleUnhandledRejection\n\n if (Platform.platform === 'web') {\n // disable prompt to download app as pwa\n // @ts-ignore\n window.onbeforeinstallprompt = (event) => {\n event.preventDefault()\n }\n }\n // TODO this is discovered very late\n await RendererWorker.hydrate()\n dispatchEvent(new CustomEvent('code/ready'))\n // TODO avoid creating global variables\n globalThis.__codeLoaded = true\n}\n\nmain()\n\n// 1. invoke shared process to read file\n// 2. display file\n// 3. optimize\n\n// DEBUG\n\n// globalThis.Panel = Panel\n// globalThis.Context = Context\n// globalThis.StatusBar = StatusBar\n// globalThis.ViewService = ViewService\n// globalThis.SideBar = SideBar\n// globalThis.FileSystem = FileSystem\n\nexport const send = RendererWorker.send\n"],"names":["state","register","__initialize__","Command.register","Css.setInlineStyle","create","Assert.string","IpcParentWithMessagePort","IpcParentWithModuleWorker.create","IpcParentWithMessagePort.create","IpcParentWithReferencePort.create","Command.execute","Callback.resolve","IpcParent.create","IpcParent.Methods","Platform.getRendererWorkerUrl","hydrate","Platform.isElectron","send","RendererWorker.send","hide","Layout.update","Layout.show","Layout.hide","Layout.getBounds","get","remove","Context.remove","Context.set","focus","Platform.isMobileOrTablet","setDiagnostics","setSelections","Assert.object","Assert.array","handleContextMenu","Focus.setFocus","handleBlur","getModifier","handleMouseDown","handleMouseMove","LayerText3.setLineInfos","LayerScrollBar.setPosition","LayerCursor.setCursors","LayerSelections.setSelections","Assert.number","dispose","LayerDiagnostics.setDiagnostics","LayerScrollBar.setDiagnostics","handleError","Viewlet.refresh","Viewlet.invoke","Viewlet.focus","Viewlet.dispose","Viewlet.appendViewlet","Viewlet.load","Viewlet.handleError","Viewlet.sendMultiple","Context.get","handleKeyDown","Platform.getBrowser","KeyBindings.hydrate","ServiceWorker.register","ServiceWorker.uninstall","Location.getHref","Location.getPathName","Location.hydrate","Location.setPathName","FindIndex.findIndex","handleMouseEnter","handleFocusOut","focusIndex","BackDrop.create$BackDrop","Widget.append","MenuItem.create$MenuItem","Focus.focus","Widget.remove","Focus.focusPrevious","Platform.getAssetDir","getNodeIndex","Layout.state","setItems","handleClick","Assert.boolean","Menu.state","Menu.showControlled","Menu.focusIndex","Menu.hide","TitleBarMenu.create","TitleBarMenu.setEntries","TitleBarMenu.focusIndex","TitleBarMenu.openMenu","TitleBarMenu.closeMenu","TitleBarMenu.getMenuEntryBounds","Window.reload","Window.minimize","Window.maximize","Window.unmaximize","Window.close","Window.setTitle","Window.onVisibilityChange","Platform.platform","RendererWorker.hydrate"],"mappings":"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"}
|