@lvce-editor/server 0.0.13 → 0.0.16
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 +3 -3
- package/package.json +2 -2
- package/static/{a659bb1 → 9f7ef4d}/config/builtinCommands.json +0 -0
- package/static/{a659bb1 → 9f7ef4d}/config/colorTheme.json +0 -0
- package/static/{a659bb1 → 9f7ef4d}/config/defaultKeyBindings.json +0 -0
- package/static/{a659bb1 → 9f7ef4d}/config/defaultSettings.json +0 -0
- package/static/{a659bb1 → 9f7ef4d}/css/App.css +12 -12
- package/static/{a659bb1 → 9f7ef4d}/fonts/FiraCode-VariableFont.ttf +0 -0
- package/static/{a659bb1 → 9f7ef4d}/icons/arrow-right.svg +0 -0
- package/static/{a659bb1 → 9f7ef4d}/icons/check.svg +0 -0
- package/static/{a659bb1 → 9f7ef4d}/icons/chevron-right.svg +0 -0
- package/static/{a659bb1 → 9f7ef4d}/icons/debug-alt-2.svg +0 -0
- package/static/{a659bb1 → 9f7ef4d}/icons/ellipsis.svg +0 -0
- package/static/{a659bb1 → 9f7ef4d}/icons/extensionDefaultIcon.png +0 -0
- package/static/{a659bb1 → 9f7ef4d}/icons/extensions.svg +0 -0
- package/static/{a659bb1 → 9f7ef4d}/icons/files.svg +0 -0
- package/static/{a659bb1 → 9f7ef4d}/icons/icon-close.svg +0 -0
- package/static/{a659bb1 → 9f7ef4d}/icons/icon-source-control.svg +0 -0
- package/static/{a659bb1 → 9f7ef4d}/icons/icon-sync.svg +0 -0
- package/static/{a659bb1 → 9f7ef4d}/icons/icon.png +0 -0
- package/static/{a659bb1 → 9f7ef4d}/icons/language-icon.svg +0 -0
- package/static/{a659bb1 → 9f7ef4d}/icons/pwa-icon-192.png +0 -0
- package/static/{a659bb1 → 9f7ef4d}/icons/pwa-icon-512.png +0 -0
- package/static/{a659bb1 → 9f7ef4d}/icons/search.svg +0 -0
- package/static/{a659bb1 → 9f7ef4d}/icons/settings-gear.svg +0 -0
- package/static/{a659bb1 → 9f7ef4d}/icons/source-control.svg +0 -0
- package/static/{a659bb1 → 9f7ef4d}/icons/symbol-array.svg +0 -0
- package/static/{a659bb1 → 9f7ef4d}/icons/symbol-boolean.svg +0 -0
- package/static/{a659bb1 → 9f7ef4d}/icons/symbol-class.svg +0 -0
- package/static/{a659bb1 → 9f7ef4d}/icons/symbol-color.svg +0 -0
- package/static/{a659bb1 → 9f7ef4d}/icons/symbol-constant.svg +0 -0
- package/static/{a659bb1 → 9f7ef4d}/icons/symbol-enum-member.svg +0 -0
- package/static/{a659bb1 → 9f7ef4d}/icons/symbol-enum.svg +0 -0
- package/static/{a659bb1 → 9f7ef4d}/icons/symbol-event.svg +0 -0
- package/static/{a659bb1 → 9f7ef4d}/icons/symbol-field.svg +0 -0
- package/static/{a659bb1 → 9f7ef4d}/icons/symbol-file.svg +0 -0
- package/static/{a659bb1 → 9f7ef4d}/icons/symbol-interface.svg +0 -0
- package/static/{a659bb1 → 9f7ef4d}/icons/symbol-key.svg +0 -0
- package/static/{a659bb1 → 9f7ef4d}/icons/symbol-keyword.svg +0 -0
- package/static/{a659bb1 → 9f7ef4d}/icons/symbol-method.svg +0 -0
- package/static/{a659bb1 → 9f7ef4d}/icons/symbol-misc.svg +0 -0
- package/static/{a659bb1 → 9f7ef4d}/icons/symbol-namespace.svg +0 -0
- package/static/{a659bb1 → 9f7ef4d}/icons/symbol-numeric.svg +0 -0
- package/static/{a659bb1 → 9f7ef4d}/icons/symbol-operator.svg +0 -0
- package/static/{a659bb1 → 9f7ef4d}/icons/symbol-parameter.svg +0 -0
- package/static/{a659bb1 → 9f7ef4d}/icons/symbol-property.svg +0 -0
- package/static/{a659bb1 → 9f7ef4d}/icons/symbol-ruler.svg +0 -0
- package/static/{a659bb1 → 9f7ef4d}/icons/symbol-snippet.svg +0 -0
- package/static/{a659bb1 → 9f7ef4d}/icons/symbol-string.svg +0 -0
- package/static/{a659bb1 → 9f7ef4d}/icons/symbol-structure.svg +0 -0
- package/static/{a659bb1 → 9f7ef4d}/icons/symbol-variable.svg +0 -0
- package/static/{a659bb1 → 9f7ef4d}/icons/theme-icon.png +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/Audio.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/Audio.ipc.js.map +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/Developer.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/Developer.ipc.js.map +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/Dialog.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/Dialog.ipc.js.map +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/EditorError.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/EditorError.ipc.js.map +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/EditorHover.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/EditorHover.ipc.js.map +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/EditorRename.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/EditorRename.ipc.js.map +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/FindWidget.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/FindWidget.ipc.js.map +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/ImagePreview.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/ImagePreview.ipc.js.map +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/ImagePreview.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/ImagePreview.js.map +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/InputBox.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/InputBox.js.map +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/Menu.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/Menu.ipc.js.map +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/Meta.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/Meta.ipc.js.map +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/Notification.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/Notification.ipc.js.map +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/SessionStorage.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/SessionStorage.ipc.js.map +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/ViewletClock.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/ViewletClock.js.map +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/ViewletDebugConsole.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/ViewletDebugConsole.js.map +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/ViewletEditorCompletion.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/ViewletEditorCompletion.js.map +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/ViewletEditorImage.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/ViewletEditorImage.js.map +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/ViewletEditorPlainText.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/ViewletEditorPlainText.js.map +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/ViewletEditorText.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/ViewletEditorText.js.map +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/ViewletEmpty.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/ViewletEmpty.js.map +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/ViewletExplorer.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/ViewletExplorer.js.map +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/ViewletExtensions.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/ViewletExtensions.js.map +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/ViewletImplementations.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/ViewletImplementations.js.map +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/ViewletLocations.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/ViewletLocations.js.map +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/ViewletMain.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/ViewletMain.js.map +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/ViewletOutput.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/ViewletOutput.js.map +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/ViewletPanel.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/ViewletPanel.js.map +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/ViewletProblems.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/ViewletProblems.js.map +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/ViewletQuickPick.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/ViewletQuickPick.js.map +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/ViewletReferences.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/ViewletReferences.js.map +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/ViewletRunAndDebug.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/ViewletRunAndDebug.js.map +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/ViewletSearch.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/ViewletSearch.js.map +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/ViewletSideBar.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/ViewletSideBar.js.map +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/ViewletSourceControl.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/ViewletSourceControl.js.map +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/ViewletTerminal.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/ViewletTerminal.js.map +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/renderer-process.modern.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/renderer-process.modern.js.map +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/rendererProcessMain.js +1 -1
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/dist/rendererProcessMain.js.map +1 -1
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Allocator/Allocator.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/AriaAlert/AriaAlert.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Assert/Assert.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Audio/Audio.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Audio/Audio.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/BackDrop/BackDrop.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Callback/Callback.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Command/Command.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Context/Context.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Css/Css.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Css/Css.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Developer/Developer.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Developer/Developer.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Dialog/Dialog.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Dialog/Dialog.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Dom/Dom.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/DomPool/DomPool.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/DomScheduler/DomScheduler.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Editor/Editor.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Editor/EditorHelper.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Editor/LayerCursor.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Editor/LayerDecoration2.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Editor/LayerDiagnostics.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Editor/LayerLineNumbers.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Editor/LayerMarker.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Editor/LayerScreenReader.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Editor/LayerScrollBar.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Editor/LayerSelections.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Editor/LayerText.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/EditorController/EditorController.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/EditorError/EditorError.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/EditorError/EditorError.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/EditorGroup/EditorGroup.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/EditorHover/EditorHover.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/EditorHover/EditorHover.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/EditorRename/EditorRename.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/EditorRename/EditorRename.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/EditorTab/EditorTab.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/FindWidget/FindWidget.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/FindWidget/FindWidget.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Focus/Focus.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/FocusHighlight/FocusHighlight.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/GlobalEventBus/GlobalEventBus.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/ImagePreview/ImagePreview.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/ImagePreview/ImagePreview.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/InputBox/InputBox.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/KeyBindings/KeyBindings.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/KeyBindings/KeyBindings.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Layout/Layout.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Layout/Layout.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/LocalStorage/LocalStorage.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/LocalStorage/LocalStorage.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Location/Location.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Location/Location.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/MenuItem/MenuItem.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Meta/Meta.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Meta/Meta.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Navigation/Navigation.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Notification/Notification.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Notification/Notification.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/OldMenu/Menu.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/OldMenu/Menu.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/OldMenu/Menu2.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Platform/Platform.js +2 -2
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Renderer/Renderer.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Renderer/RendererExtension.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Renderer/RendererQuickPick.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Renderer/RendererSearchResult.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Renderer/RendererSuggestWidget.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Renderer/RendererTree.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/RendererWorker/RendererWorker.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/RendererWorker/RendererWorker.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/ServiceWorker/ServiceWorker.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/ServiceWorker/ServiceWorker.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/SessionStorage/SessionStorage.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/SessionStorage/SessionStorage.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Terminal/Terminal.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Terminal/Terminal.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/TitleBarMenuBar/TitleBarMenuBar.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Viewlet/ActiveViewlet.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Viewlet/ExplorerModel.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Viewlet/TreeProviderJson.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Viewlet/TreeProviderNpm.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Viewlet/TreeView.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Viewlet/TreeView2.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Viewlet/TreeViewClass.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Viewlet/TreeViewNumber.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Viewlet/Viewlet.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Viewlet/Viewlet.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Viewlet/ViewletActivityBar.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Viewlet/ViewletClock.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Viewlet/ViewletDebugConsole.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Viewlet/ViewletEditorCompletion.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Viewlet/ViewletEditorImage.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Viewlet/ViewletEditorPlainText.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Viewlet/ViewletEditorText.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Viewlet/ViewletEmpty.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Viewlet/ViewletExplorer.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Viewlet/ViewletExtensions.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Viewlet/ViewletIframe.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Viewlet/ViewletImplementations.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Viewlet/ViewletList.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Viewlet/ViewletLocations.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Viewlet/ViewletMain.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Viewlet/ViewletOutput.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Viewlet/ViewletPanel.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Viewlet/ViewletProblems.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Viewlet/ViewletQuickPick.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Viewlet/ViewletReferences.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Viewlet/ViewletRunAndDebug.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Viewlet/ViewletSearch.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Viewlet/ViewletSideBar.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Viewlet/ViewletSourceControl.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Viewlet/ViewletStatusBar.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Viewlet/ViewletTerminal.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Viewlet/ViewletTitleBar.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/ViewletController/ViewletProblems.controller.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/WebWorker/WebWorker.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Widget/Widget.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/WidgetManager/WidgetManager.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Window/Window.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/parts/Window/Window.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/rendererProcessMain.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-process/src/shared/findIndex.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/dist/rendererWorkerMain.js +2 -2
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/dist/rendererWorkerMain.js.map +1 -1
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Ajax/Ajax.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Ajax/Ajax.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Arrays/Arrays.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Assert/Assert.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Audio/Audio.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Audio/Audio.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Base64/Base64.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Base64/Base64.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Blob/Blob.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Blob/Blob.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/CacheStorage/CacheStorage.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/CacheStorage/CacheStorage.js +1 -1
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Callback/Callback.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Callback/Callback.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/ClipBoard/ClipBoard.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/ClipBoard/ClipBoard.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/ColorPicker/ColorPicker.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/ColorPicker/ColorPicker.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/ColorTheme/Color.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/ColorTheme/ColorTheme.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/ColorTheme/ColorTheme.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/ColorThemeFromJson/ColorThemeFromJson.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/ColorThemeFromJson/ColorThemeFromJson.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Command/Command.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/CommandInfo/CommandInfo.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/CommandInfo/CommandInfo.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Context/ContextImpl.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/ContextMenu/ContextMenu.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/ContextMenu/ContextMenu.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/CustomEditor/CustomEditor.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/CustomEditor/CustomEditorExtension.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Developer/Developer.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Developer/Developer.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Dialog/Dialog.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Dialog/Dialog.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Editor/Editor.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Editor/EditorCursor.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Editor/EditorScrolling.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Editor/EditorSelection.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Editor/EditorText.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommand.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandApplyEdit.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandBlur.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandCancelSelection.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandCompletion.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandComposition.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandCopy.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandCopyLineDown.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandCopyLineUp.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandCursorCharacterLeft.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandCursorCharacterRight.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandCursorDown.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandCursorEnd.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandCursorHome.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandCursorHorizontalLeft.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandCursorHorizontalRight.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandCursorSet.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandCursorUp.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandCursorVertical.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandCursorWordLeft.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandCursorWordPartLeft.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandCursorWordPartRight.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandCursorWordRight.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandCut.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandDeleteAllLeft.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandDeleteAllRight.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandDeleteCharacterLeft.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandDeleteCharacterRight.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandDeleteHorizontal.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandDeleteHorizontalLeft.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandDeleteHorizontalRight.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandDeleteSelection.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandDeleteWordLeft.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandDeleteWordPartLeft.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandDeleteWordPartRight.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandDeleteWordRight.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandDelta.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandFormat.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandGetPositionLeft.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandGetPositionRight.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandGetSelectionFromNativeRange.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandGoToDefinition.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandGoToTypeDefinition.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandHandleContextMenu.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandHandleDoubleClick.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandHandleMouseMove.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandHandleMouseMoveWithAltKey.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandHandleNativeBeforeInputFromContentEditable.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandHandleNativeSelectionChange.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandHandleScrollBarClick.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandHandleScrollBarMove.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandHandleSingleClick.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandHandleTab.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandHandleTouchEnd.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandHandleTouchMove.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandHandleTouchStart.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandHandleTripleClick.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandHandleWheel.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandIndent.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandIndentLess.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandIndentMore.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandIndentSelection.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandInsertLineBreak.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandMoveLineDown.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandMoveLineUp.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandMoveRectangleSelection.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandMoveRectangleSelectionPx.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandMoveSelection.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandMoveSelectionPx.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandPaste.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandPasteText.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandPosition.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandReplaceRange.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandReplaceSelection.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandSave.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandSelectAll.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandSelectAllLeft.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandSelectAllOccurrences.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandSelectAllRight.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandSelectCharacterLeft.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandSelectCharacterRight.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandSelectHorizontalLeft.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandSelectHorizontalRight.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandSelectInsideString.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandSelectLine.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandSelectNextOccurrence.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandSelectPreviousOccurrence.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandSelectWord.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandSelectWordLeft.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandSelectWordRight.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandSelection.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandSetDecorations.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandSetDeltaY.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandSetLanguageId.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandShowMessage.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandSnippet.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandTabCompletion.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandToggleBlockComment.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandToggleComment.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandToggleLineComment.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandType.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandUndo.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorCommandUnindent.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorCommand/EditorIndent.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorDiagnostics/EditorDiagnostics.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorDiagnostics/EditorDiagnostics.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorError/EditorError.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorError/EditorError.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorRename/EditorRename.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/EditorRename/EditorRename.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Env/Env.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/ErrorHandling/ErrorHandling.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/ErrorHandling/ErrorHandling.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/ExtensionHost/ExtensionHostBraceCompletion.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/ExtensionHost/ExtensionHostClosingTagCompletion.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/ExtensionHost/ExtensionHostCommands.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/ExtensionHost/ExtensionHostCompletion.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/ExtensionHost/ExtensionHostCore.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/ExtensionHost/ExtensionHostDefinition.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/ExtensionHost/ExtensionHostDiagnostic.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/ExtensionHost/ExtensionHostFileSystem.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/ExtensionHost/ExtensionHostFormatting.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/ExtensionHost/ExtensionHostHover.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/ExtensionHost/ExtensionHostImplementation.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/ExtensionHost/ExtensionHostLanguages.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/ExtensionHost/ExtensionHostManagement.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/ExtensionHost/ExtensionHostOutput.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/ExtensionHost/ExtensionHostQuickPick.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/ExtensionHost/ExtensionHostReference.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/ExtensionHost/ExtensionHostRename.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/ExtensionHost/ExtensionHostSemanticTokens.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/ExtensionHost/ExtensionHostSourceControl.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/ExtensionHost/ExtensionHostStatusBarItems.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/ExtensionHost/ExtensionHostTabCompletion.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/ExtensionHost/ExtensionHostTextDocument.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/ExtensionHost/ExtensionHostTypeDefinition.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/ExtensionHost/shared.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/ExtensionManagement/ExtensionManagement.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/ExtensionMarketplace/ExtensionMarketplace.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/ExtensionMeta/ExtensionMeta.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Extensions/Extensions.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Extensions/Extensions.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/ExtensionsSomething/ExtensionsSomething.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/FileSystem/FileSystem.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/FileSystem/FileSystem.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/FileSystem/FileSystemApp.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/FileSystem/FileSystemData.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/FileSystem/FileSystemDisk.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/FileSystem/FileSystemGitHub.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/FileSystem/FileSystemWeb.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/FindInWorkspace/FindInWorkspace.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/FindInWorkspace/FindInWorkspace.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/FindWidget/FindWidget.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/FindWidget/FindWidget.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Focus/Focus.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Format/Format.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Format/Format.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/FuzzySearch/FuzzySearch.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/FuzzySearch/FuzzySearchMrAleph.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/GitHubRestApi/GitHubRestApi.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/GlobalEventBus/GlobalEventBus.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Highlight/Highlight.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/History/History.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/IconTheme/IconTheme.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/IconTheme/IconTheme.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Id/Id.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/ImagePreview/ImagePreview.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/ImagePreview/ImagePreview.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Ipc/Ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Json/Json.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/JsonRpc/JsonRpc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/KeyBindings/KeyBindings.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/KeyBindings/KeyBindings.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/KeyBindingsInitial/KeyBindingsInitial.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/KeyBindingsInitial/KeyBindingsInitial.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Languages/Languages.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Layout/Layout.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Layout/Layout.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/LifeCycle/LifeCycle.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/List/List.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Listener/Listener.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Listener/Listener.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/LocalStorage/LocalStorage.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/LocalStorage/LocalStorage.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Location/Location.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Main/Main.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Main/MainCloseActiveEditor.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Main/MainCloseAllEditors.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Main/MainCloseEditorsToTheLeft.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Main/MainCloseEditorsToTheRight.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Main/MainFocusFirst.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Main/MainFocusIndex.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Main/MainFocusLast.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Main/MainFocusNext.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Main/MainFocusPrevious.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Mediator/Mediator.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Menu/Menu.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Menu/Menu.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/MenuCore/MenuCore.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/MenuEntries/MenuEntries.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/MenuEntries/MenuEntriesActivityBar.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/MenuEntries/MenuEntriesActivityBarAdditionalViews.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/MenuEntries/MenuEntriesEdit.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/MenuEntries/MenuEntriesEditor.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/MenuEntries/MenuEntriesExplorer.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/MenuEntries/MenuEntriesExplorerFile.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/MenuEntries/MenuEntriesExplorerFolder.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/MenuEntries/MenuEntriesFile.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/MenuEntries/MenuEntriesGo.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/MenuEntries/MenuEntriesHelp.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/MenuEntries/MenuEntriesManageExtension.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/MenuEntries/MenuEntriesOpenRecent.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/MenuEntries/MenuEntriesRun.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/MenuEntries/MenuEntriesSelection.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/MenuEntries/MenuEntriesSettings.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/MenuEntries/MenuEntriesTab.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/MenuEntries/MenuEntriesTerminal.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/MenuEntries/MenuEntriesTitleBar.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/MenuEntries/MenuEntriesView.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Navigation/Navigation.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Navigation/Navigation.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/NestedError/NestedError.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Notification/Notification.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Notification/Notification.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Open/Open.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Open/Open.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Panel/Panel.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Performance/Performance.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Platform/Platform.js +2 -2
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Position/Position.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Preferences/Preferences.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Preferences/Preferences.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/QuickPick/QuickPick.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/QuickPick/QuickPick.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/QuickPick/QuickPickColorTheme.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/QuickPick/QuickPickCommand.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/QuickPick/QuickPickEverything.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/QuickPick/QuickPickFile.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/QuickPick/QuickPickGoToLine.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/QuickPick/QuickPickNoop.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/QuickPick/QuickPickNumber.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/QuickPick/QuickPickOpenRecent.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/QuickPick/QuickPickSymbol.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/QuickPick/QuickPickView.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/QuickPick/QuickPickWorkspaceSymbol.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/RecentlyOpened/RecentlyOpened.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/RecentlyOpened/RecentlyOpened.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/RendererProcess/RendererProcess.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/SaveState/SaveState.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/SaveState/SaveState.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/ServiceWorker/ServiceWorker.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/ServiceWorker/ServiceWorker.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/SessionStorage/SessionStorage.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/SessionStorage/SessionStorage.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/SharedProcess/SharedProcess.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/SourceControl/SourceControl.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/SourceControl/SourceControl.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Storage/Storage.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/SyntaxHighlightingWorker/SyntaxHighlightingWorker.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/TextDocument/TextDocument.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/TextSegmenter/TextSegmenter.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Timers/Timers.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/TitleBarMenuBar/TitleBarMenuBar.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/TitleBarMenuBar/TitleBarMenuBar.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Tokenizer/TokenizePlainText.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Tokenizer/Tokenizer.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Viewlet/Viewlet.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Viewlet/Viewlet.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Viewlet/ViewletActivityBar.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Viewlet/ViewletActivityBar.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Viewlet/ViewletClock.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Viewlet/ViewletContextMenu.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Viewlet/ViewletCounter.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Viewlet/ViewletDebugConsole.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Viewlet/ViewletEditorCompletion.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Viewlet/ViewletEditorCompletion.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Viewlet/ViewletEditorImage.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Viewlet/ViewletEditorPlainText.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Viewlet/ViewletEditorText.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Viewlet/ViewletEmpty.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Viewlet/ViewletExplorer.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Viewlet/ViewletExplorer.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Viewlet/ViewletExtension.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Viewlet/ViewletExtensions.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Viewlet/ViewletExtensions.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Viewlet/ViewletExtensionsHeader.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Viewlet/ViewletExtensionsList.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Viewlet/ViewletIframe.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Viewlet/ViewletImplementations.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Viewlet/ViewletList.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Viewlet/ViewletList.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Viewlet/ViewletLocations.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Viewlet/ViewletLocations.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Viewlet/ViewletMain.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Viewlet/ViewletMain.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Viewlet/ViewletNoop.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Viewlet/ViewletOutput.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Viewlet/ViewletPanel.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Viewlet/ViewletProblems.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Viewlet/ViewletQuickPick.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Viewlet/ViewletReferences.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Viewlet/ViewletRunAndDebug.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Viewlet/ViewletSearch.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Viewlet/ViewletSearch.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Viewlet/ViewletSideBar.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Viewlet/ViewletSideBar.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Viewlet/ViewletSourceControl.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Viewlet/ViewletSourceControl.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Viewlet/ViewletStatusBar.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Viewlet/ViewletStatusBar.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Viewlet/ViewletTerminal.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Viewlet/ViewletTerminal.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Viewlet/ViewletTitleBar.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Viewlet/ViewletTodoList.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/ViewletManager/ViewletManager.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/ViewletStates/ViewletStates.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/WebSocket/WebSocket.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Window/Window.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Window/Window.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Workbench/Workbench.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Workbench/Workbench.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Worker/Worker.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Workspace/Workspace.ipc.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/parts/Workspace/Workspace.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/packages/renderer-worker/src/rendererWorkerMain.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/sounds/bell.oga +0 -0
- package/static/{a659bb1 → 9f7ef4d}/static/js/blob-util.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/static/js/js-base64.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/static/js/ky.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/static/js/p-min-delay.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/static/js/pretty-bytes.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/static/js/termterm.js +0 -0
- package/static/{a659bb1 → 9f7ef4d}/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/{a659bb1 → 9f7ef4d}/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/Platform/Platform.js","../src/parts/WebWorker/WebWorker.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/Viewlet/ActiveViewlet.js","../src/parts/Editor/LayerCursor.js","../src/parts/Editor/LayerDiagnostics.js","../src/parts/Editor/LayerScrollBar.js","../src/parts/Editor/LayerSelections.js","../src/parts/Assert/Assert.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/GlobalEventBus/GlobalEventBus.js","../src/parts/Widget/Widget.js","../src/parts/LocalStorage/LocalStorage.js","../src/parts/LocalStorage/LocalStorage.ipc.js","../src/parts/RendererWorker/RendererWorker.ipc.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/Viewlet/ViewletActivityBar.js","../src/parts/Viewlet/ViewletStatusBar.js","../src/parts/TitleBarMenuBar/TitleBarMenuBar.js","../src/parts/Viewlet/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_VIEWLET_SOURCE_CONTROL = 5\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_VIEWLET_TERMINAL = 22\nconst MODULE_FIND_WIDGET = 23\nconst MODULE_KEYBINDINGS = 26\nconst MODULE_MENU = 31\nconst MODULE_RENDERER_WORKER = 33\nconst MODULE_SESSION_STORAGE = 34\nconst MODULE_LOCAL_STORAGE = 35\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\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_VIEWLET_SOURCE_CONTROL:\n return import('../Viewlet/ViewletExplorer.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_VIEWLET_TERMINAL:\n return import('../Viewlet/ViewletTerminal.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_RENDERER_WORKER:\n return import('../RendererWorker/RendererWorker.ipc.js')\n case MODULE_SESSION_STORAGE:\n return import('../SessionStorage/SessionStorage.ipc.js')\n case MODULE_LOCAL_STORAGE:\n return import('../LocalStorage/LocalStorage.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 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 281:\n case 282:\n case 283:\n case 284:\n return MODULE_DEVELOPER\n case 549:\n case 550:\n case 551:\n return MODULE_VIEW_SERVICE\n case 755:\n case 756:\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 991:\n case 992:\n case 993:\n case 994:\n case 995:\n case 996:\n case 997:\n case 998:\n case 999:\n return MODULE_NOTIFICATION\n case 1100:\n case 1101:\n case 1102:\n case 1103:\n case 1104:\n case 1105:\n case 1106:\n case 1107:\n case 1108:\n case 1109:\n case 1110:\n case 1111:\n case 2222:\n case 2223:\n return MODULE_LAYOUT\n case 3022:\n case 3023:\n case 3024:\n case 3025:\n case 3026:\n case 3027:\n case 3028:\n case 3029:\n case 3030:\n case 3031:\n case 3032:\n case 3033:\n case 3034:\n case 3035:\n case 3036:\n case 3037:\n case 3038:\n return MODULE_VIEWLET\n case 3211:\n case 3212:\n case 3213:\n case 3214:\n case 3215:\n case 3216:\n case 3217:\n case 3218:\n case 3219:\n return MODULE_AUDIO\n case 3666:\n case 3667:\n case 3668:\n case 3669:\n case 3670:\n case 3671:\n case 3672:\n case 3673:\n case 3674:\n case 3675:\n case 3676:\n case 3677:\n case 3678:\n case 3679:\n return MODULE_IMAGE_PREVIEW\n case 3700:\n case 3701:\n case 3702:\n case 3703:\n case 3704:\n case 3705:\n return MODULE_EDITOR_ERROR\n case 4100:\n case 4102:\n return MODULE_FIND_WIDGET\n case 4512:\n return MODULE_EDITOR_RENAME\n case 4551:\n return MODULE_CSS\n case 5611:\n case 5612:\n case 5613:\n case 5614:\n case 5615:\n case 5616:\n case 5617:\n case 5618:\n case 5619:\n return MODULE_LOCATION\n case 6216:\n case 6217:\n case 6218:\n case 6219:\n case 6220:\n case 6221:\n case 6222:\n case 6223:\n case 6224:\n return MODULE_EDITOR_HOVER\n case 6661:\n case 6662:\n case 6663:\n case 6664:\n return MODULE_PANEL\n case 8181:\n return MODULE_VIEWLET_SOURCE_CONTROL\n case 33111:\n return MODULE_WORKBENCH\n case 7833:\n case 7834:\n case 7835:\n case 7836:\n case 7837:\n case 7838:\n case 7839:\n case 7840:\n return MODULE_DIALOG\n case 7900:\n case 7901:\n case 7902:\n case 7903:\n case 7904:\n case 7905:\n case 7906:\n case 7907:\n case 7908:\n case 7909:\n return MODULE_MENU\n case 8080:\n case 8081:\n case 8082:\n case 8083:\n case 8084:\n case 8085:\n return MODULE_WINDOW\n case 8976:\n case 8977:\n case 8978:\n return MODULE_SESSION_STORAGE\n case 8986:\n case 8987:\n case 8988:\n return MODULE_LOCAL_STORAGE\n case 9922:\n return MODULE_VIEWLET_TERMINAL\n case 11122:\n return MODULE_META\n case 43725:\n case 43726:\n case 43727:\n case 43728:\n case 43729:\n return MODULE_SERVICE_WORKER\n case 909090:\n return MODULE_RENDERER_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(4551, Css.setInlineStyle)\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 '/a659bb1' !== 'undefined') {\n // @ts-ignore\n return '/a659bb1'\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","/* istanbul ignore file */\nconst METHOD_MESSAGE_PORT = 1\nconst METHOD_MODULE_WORKER = 2\nconst METHOD_REFERENCE_PORT = 3\n\n/**\n * @type {number}\n */\nconst METHOD_PREFERRED = METHOD_MESSAGE_PORT\n\nconst createModuleWorker = (url) => {\n return new Worker(url, {\n type: 'module',\n })\n}\n\nconst createMessagePort = async (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\nconst createReferencePort = 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\nexport const create = async (url) => {\n switch (METHOD_PREFERRED) {\n case METHOD_MODULE_WORKER:\n return createModuleWorker(url)\n case METHOD_MESSAGE_PORT:\n return createMessagePort(url)\n case METHOD_REFERENCE_PORT:\n return createReferencePort(url)\n default:\n throw new Error('unknown method')\n }\n}\n","import * as Command from '../Command/Command.js'\nimport * as Platform from '../Platform/Platform.js'\nimport * as WebWorker from '../WebWorker/WebWorker.js'\n\n// const URL_RENDERER_WORKER =\n// '/packages/renderer-worker/distmin/rendererWorkerMain-0ead0bed.js'\n\nexport const state = {\n send(message) {},\n sendAndTransfer(message, transferables) {},\n}\n\nconst handleMessageFromRendererWorker = (event) => {\n const data = event.data\n if (event.ports && event.ports.length > 0) {\n Command.execute(...data, ...event.ports)\n } else {\n Command.execute(...data)\n }\n}\n\nexport const hydrate = async (config) => {\n const assetDir = Platform.getAssetDir()\n const urlRendererWorker = `${assetDir}/packages/renderer-worker/dist/rendererWorkerMain.js`\n const rendererWorker = await WebWorker.create(urlRendererWorker)\n rendererWorker.onmessage = handleMessageFromRendererWorker\n state.send = (message) => {\n rendererWorker.postMessage(message)\n }\n state.sendAndTransfer = (message, transferables) => {\n rendererWorker.postMessage(message, transferables)\n }\n}\n\n// TODO needed?\nexport const dispose = () => {\n if (state.rendererWorker) {\n state.rendererWorker.terminate()\n }\n}\n\nexport const send = (message) => {\n if (!message[0]) {\n console.warn('invalid message', message)\n return\n }\n state.send(message)\n}\n\nexport const sendAndTransfer = (message, transfer) => {\n state.sendAndTransfer(message, transfer)\n}\n\nexport const handleInvoke = async (callbackId, method, ...params) => {\n let result\n try {\n result = await Command.execute(method, ...params)\n } catch (error) {\n state.send([\n /* Callback.reject */ 67331,\n /* callbackId */ callbackId,\n /* error */ error,\n ])\n return\n }\n state.send([\n /* Callback.resolve */ 67330,\n /* callbackId */ callbackId,\n /* result */ result,\n ])\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 */ 1111,\n /* bounds */ getBounds(),\n ])\n}\n\nconst handleSashPointerMove = (event) => {\n // console.log({ event })\n const x = event.clientX\n console.log({ x })\n RendererWorker.send([/* Layout.handleSashSideBarMove */ 1112, /* x */ x])\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 = () => {\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}\n\nexport const hydrate = (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\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\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.setAttribute('role', 'application') // TODO this doesn't seem to work\n $Workbench.setAttribute('role', 'application')\n document.body.append($Workbench)\n window.addEventListener('resize', handleResize, { passive: true })\n $SashSideBar.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(1100, 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(1109, Layout.hydrate)\n Command.register(1110, Layout.hide)\n Command.register(1111, 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","export const state = {\n viewletStates: Object.create(null),\n}\n\nconst getTarget = (event) => {\n const $Target = event.target\n const $WantedTarget = $Target.closest('.Viewlet')\n return $WantedTarget\n}\n\nexport const getStateFromEvent = (event) => {\n const $Target = getTarget(event)\n if (!$Target) {\n console.warn('invalid handler')\n return undefined\n }\n const id = $Target.dataset.viewletId\n const viewletState = state.viewletStates[id]\n return viewletState\n}\n\n// TODO test deleteState function\nexport const deleteState = (id) => {\n delete state.viewletStates[id]\n}\n\nexport const setState = (id, viewletState) => {\n state.viewletStates[id] = viewletState\n}\n\nexport const getState = (id) => {\n return state.viewletStates[id]\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, selection) => {\n // TODO have many decorations per row\n // no absolute positioning\n $Selection.style.top = `${selection.top}px`\n $Selection.style.left = `${selection.left}px`\n $Selection.style.width = `${selection.width}px`\n $Selection.style.height = `${selection.height}px`\n}\n\nconst render$SelectionsLess = ($Selections, selections) => {\n for (let i = 0; i < $Selections.children.length; i++) {\n render$Selection($Selections.children[i], selections[i])\n }\n const fragment = document.createDocumentFragment()\n for (let i = $Selections.children.length; i < selections.length; 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 = ($Selections, selections) => {\n for (let i = 0; i < selections.length; i++) {\n render$Selection($Selections.children[i], selections[i])\n }\n}\n\nconst render$SelectionsMore = ($Selections, selections) => {\n for (let i = 0; i < selections.length; i++) {\n render$Selection($Selections.children[i], selections[i])\n }\n const diff = $Selections.children.length - selections.length\n for (let i = 0; i < diff; i++) {\n $Selections.lastChild.remove()\n }\n}\n\nconst render$Selections = ($Selections, selections) => {\n if ($Selections.children.length < selections.length) {\n render$SelectionsLess($Selections, selections)\n } else if ($Selections.children.length === selections.length) {\n render$SelectionsEqual($Selections, selections)\n } else {\n render$SelectionsMore($Selections, selections)\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}\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","// 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\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 ActiveViewlet from '../Viewlet/ActiveViewlet.js'\nimport * as Platform from '../Platform/Platform.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'\nimport * as Assert from '../Assert/Assert.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 */ 951,\n /* x */ x,\n /* y */ y,\n /* id */ 'editor',\n ])\n}\n\nconst handleFocus = (event) => {\n Focus.setFocus('ViewletEditorText')\n}\n\nconst handleBlur = (event) => {\n // needed for save on blur\n // also needed to close completions on blur\n RendererWorker.send([/* EditorBlur.editorBlur */ 370])\n}\n\nconst handleBeforeInput = (event) => {\n event.preventDefault()\n switch (event.inputType) {\n case 'insertText':\n RendererWorker.send([/* Editor.type */ 345, /* text */ event.data])\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 */ 411,\n /* text */ event.data,\n ])\n}\n\nconst handleCompositionUpdate = (event) => {\n RendererWorker.send([\n /* Editor.compositionUpdate */ 412,\n /* text */ event.data,\n ])\n}\n\nconst handleCompositionEnd = (event) => {\n RendererWorker.send([/* Editor.compositionEnd */ 413, /* text */ event.data])\n}\n\nconst handleCut = (event) => {\n event.preventDefault()\n RendererWorker.send([/* Editor.cut */ 364])\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 */ 387,\n /* x */ x,\n /* y */ y,\n /* offset */ totalOffset,\n ])\n } else {\n RendererWorker.send([\n /* Editor.moveSelectionPx */ 386,\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 const modifier = getModifier(event)\n RendererWorker.send([\n /* Editor.handleSingleClick */ 360,\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 */ 385,\n /* x */ x,\n /* y */ y,\n /* offset */ offset,\n ])\n}\n\nconst handleTripleClick = (event, x, y, offset) => {\n RendererWorker.send([\n /* Editor.handleTripleClick */ 376,\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 } else 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 } else {\n throw new Error('caret position is not supported')\n }\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 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 */ 415,\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 */ 384,\n /* value */ event.deltaY,\n ])\n break\n case event.DOM_DELTA_PIXEL:\n RendererWorker.send([\n /* Editor.setDeltaY */ 384,\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 */ 382, /* text */ text])\n}\n\nconst handleScrollBarThumbMouseMove = (event) => {\n const y = event.clientY\n RendererWorker.send([/* Editor.handleScrollBarMouseMove */ 399, /* y */ y])\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 */ 400,\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 */ 404,\n /* touchEvent */ touchEvent,\n ])\n}\n\nconst handleTouchMove = (event) => {\n const touchEvent = toSimpleTouchEvent(event)\n RendererWorker.send([\n /* EditorHandleTouchMove.editorHandleTouchMove */ 405,\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 */ 406,\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 */ 407,\n /* data */ event.data || '',\n /* range */ range,\n ])\n}\n\nconst handleNativeSelectionChange = (event) => {\n const state = ActiveViewlet.getStateFromEvent(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 */ 408,\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 $EditorInput.setAttribute('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 $Editor.setAttribute('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 // state.$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 ActiveViewlet from './ActiveViewlet.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.js')\n case 'Run and Debug':\n return import('./ViewletRunAndDebug.js')\n case 'Search':\n return import('./ViewletSearch.js')\n case 'Source Control':\n return import('./ViewletSourceControl.js')\n case 'Terminal':\n return import('./ViewletTerminal.js')\n case 'Extensions':\n return import('./ViewletExtensions.js')\n case 'Debug Console':\n return import('./ViewletDebugConsole.js')\n case 'Output':\n return import('./ViewletOutput.js')\n case 'Problems':\n return import('./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.js')\n case 'SideBar':\n return import('./ViewletSideBar.js')\n case 'Panel':\n return import('./ViewletPanel.js')\n case 'ActivityBar':\n return import('./ViewletActivityBar.js')\n case 'ImagePreview':\n return import('../ImagePreview/ImagePreview.js')\n case 'QuickPick':\n return import('./ViewletQuickPick.js')\n case 'StatusBar':\n return import('./ViewletStatusBar.js')\n case 'TitleBar':\n return import('./ViewletTitleBar.js')\n case 'Main':\n return import('./ViewletMain.js')\n case 'EditorCompletion':\n return import('./ViewletEditorCompletion.js')\n case 'References':\n return import('./ViewletReferences.js')\n case 'Implementations':\n return import('./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} not implemented`)\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 ActiveViewlet.deleteState(id)\n const instance = state.instances[id]\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('HANDLE ERROR')\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 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(3022, Viewlet.refresh)\n Command.register(3024, Viewlet.invoke)\n Command.register(3027, Viewlet.focus)\n Command.register(3026, Viewlet.dispose)\n // Command.register(3028, Viewlet.hydrate)\n Command.register(3029, Viewlet.appendViewlet)\n Command.register(3030, Viewlet.load)\n Command.register(3031, Viewlet.handleError)\n Command.register(3032, 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 if (typeof matchingKeyBinding.command === 'number') {\n if (matchingKeyBinding.command === -1) {\n console.warn('keybinding not fully specified', matchingKeyBinding)\n return\n }\n RendererWorker.send([\n /* command */ matchingKeyBinding.command,\n // TODO should args always be defined? (probably yes -> monomorphism & simpler code since all objects are the same)\n ...(matchingKeyBinding.args || []),\n ])\n } else if (typeof matchingKeyBinding.command === 'string') {\n // TODO matchingKeyBinding.command should always be number\n RendererWorker.send([\n /* KeyBindings.handleKeyBinding */ 1422,\n /* keyBinding */ matchingKeyBinding,\n ])\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(755, KeyBindings.hydrate)\n // Command.register(756, KeyBindings.setKeyBindings)\n}\n","// TODO global event bus is probably a bad idea\n// cons:\n// 1. it is not typesafe\n// 2. dependencies are unclear\n//\n// pros\n// 1. it decouples event emitter (e.g. Editor creation) from other module (Document syncing when editor was created)\n\nexport const state = {\n listenerMap: Object.create(null),\n}\n\nexport const emitEvent = (event, ...args) => {\n const listeners = state.listenerMap[event] || []\n for (const listener of listeners) {\n listener(...args)\n }\n}\n\nexport const addListener = (event, fn) => {\n state.listenerMap[event] ||= []\n if (state.listenerMap[event].includes(fn)) {\n return\n }\n state.listenerMap[event].push(fn)\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","export const getItem = (key) => {\n return localStorage.getItem(key) || undefined\n}\n\nexport const setItem = (key, value) => {\n localStorage.setItem(key, value)\n}\n\nexport const clear = () => {\n localStorage.clear()\n}\n","import * as Command from '../Command/Command.js'\nimport * as LocalStorage from './LocalStorage.js'\n\nexport const __initialize__ = () => {\n Command.register(8986, LocalStorage.clear)\n Command.register(8987, LocalStorage.getItem)\n Command.register(8988, LocalStorage.setItem)\n}\n","import * as Command from '../Command/Command.js'\nimport * as RendererWorker from './RendererWorker.js'\n\nexport const __initialize__ = () => {\n Command.register(909090, RendererWorker.handleInvoke)\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","\nimport * as Command from '../Command/Command.js'\nimport * as ServiceWorker from './ServiceWorker.js'\n\nexport const __initialize__ = () => {\n Command.register(43725, ServiceWorker.register)\n Command.register(43726, ServiceWorker.uninstall)\n}\n","import * as RendererWorker from '../RendererWorker/RendererWorker.js'\n\nexport const getPathName = () => {\n return location.pathname\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 */ 7634])\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(5611, Location.getPathName)\n Command.register(5612, Location.setPathName)\n Command.register(5613, Location.hydrate)\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 $MenuItem.setAttribute('role', 'menuitem')\n $MenuItem.textContent = getLabel(item)\n $MenuItem.tabIndex = -1\n break\n case /* Separator */ 1:\n $MenuItem.className = 'MenuItemSeparator'\n $MenuItem.setAttribute('role', 'separator')\n break\n case /* Checked */ 2:\n $MenuItem.className = 'MenuItem'\n $MenuItem.setAttribute('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 $MenuItem.setAttribute('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 $MenuItem.setAttribute('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 $MenuItem.setAttribute('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 $MenuItem.setAttribute('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 */ 7403,\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 console.log('focus index mouse', index)\n RendererWorker.send([\n /* Menu.focusIndexMouse */ 7409,\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 $Menu.setAttribute('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 */ 7401])\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 console.info('focus menu')\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 $ActivityBarItem.setAttribute('role', 'tab')\n $ActivityBarItem.ariaSelected = 'false'\n break\n case /* Button */ 2:\n $ActivityBarItem.setAttribute('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 */ 8001,\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 */ 8002,\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.setAttribute('role', 'toolbar') // TODO use idl once supported by chrome\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 console.log({ select: true, 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 }\n if (newIndex !== -1) {\n const $NewItem = $ActivityBar.children[newIndex]\n $NewItem.tabIndex = 0\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 $StatusBarItem.setAttribute('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.setAttribute('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 $TitleBarTopLevelEntry.setAttribute('role', 'menuitem') // TODO use idl once supported by chrome\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([/* TitleBarMenu.handleClick */ 4610, /* index */ index])\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 */ 4613,\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([/* TitleBarMenu.handleKeyArrowDown */ 4618])\n break\n case 'ArrowUp':\n event.preventDefault()\n event.stopPropagation()\n RendererWorker.send([/* TitleBarMenu.handleKeyArrowUp */ 4619])\n break\n case 'ArrowRight':\n console.log('arrow right')\n event.preventDefault()\n event.stopPropagation()\n RendererWorker.send([/* TitleBarMenu.handleKeyArrowRight */ 4620])\n break\n case 'ArrowLeft':\n event.preventDefault()\n event.stopPropagation()\n RendererWorker.send([/* TitleBarMenu.handleKeyArrowLeft */ 4626])\n break\n case 'Enter':\n event.preventDefault()\n event.stopPropagation()\n RendererWorker.send([/* TitleBarMenu.handleKeyEnter */ 4624])\n break\n case ' ':\n event.preventDefault()\n event.stopPropagation()\n RendererWorker.send([/* TitleBarMenu.handleKeySpace */ 4623])\n break\n case 'Home':\n case 'PageUp':\n event.preventDefault()\n event.stopPropagation()\n RendererWorker.send([/* TitleBarMenu.handleKeyHome */ 4621])\n break\n case 'End':\n case 'PageDown':\n event.preventDefault()\n event.stopPropagation()\n RendererWorker.send([/* TitleBarMenu.handleKeyEnd */ 4622])\n break\n case 'Escape':\n event.preventDefault()\n event.stopPropagation()\n RendererWorker.send([/* TitleBarMenu.handleKeyEscape */ 4625])\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 */ 4616,\n /* keepFocus */ false,\n ])\n}\n\nexport const create = () => {\n const $TitleBarMenu = document.createElement('ul')\n $TitleBarMenu.id = 'TitleBarMenu'\n $TitleBarMenu.setAttribute('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.setAttribute('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","export 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","import * as Command from '../Command/Command.js'\nimport * as Window from './Window.js'\n\nexport const __initialize__ = () => {\n Command.register(8080, Window.reload)\n Command.register(8081, Window.minimize)\n Command.register(8082, Window.maximize)\n Command.register(8083, Window.unmaximize)\n Command.register(8084, Window.close)\n Command.register(8085, Window.setTitle)\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 M9 from '../src/parts/GlobalEventBus/GlobalEventBus.js'\nimport * as M14 from '../src/parts/Widget/Widget.js'\nimport * as M15 from '../src/parts/LocalStorage/LocalStorage.ipc.js'\nimport * as M17 from '../src/parts/RendererWorker/RendererWorker.ipc.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/Viewlet/ViewletActivityBar.js'\nimport * as M28 from './parts/Viewlet/ViewletStatusBar.js'\nimport * as M29 from './parts/Viewlet/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 M9,\n M13,\n M14,\n M15,\n M17,\n M18,\n M22,\n M26,\n M27,\n M28,\n M29,\n M30,\n]\n\nconst main = async () => {\n onerror = (error) => {\n alert(error)\n }\n onunhandledrejection = (event) => {\n alert(event.reason)\n }\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 remove this, all messages should come from renderer worker\n // const config = JSON.parse(document.getElementById('Config').textContent)\n // await Workbench.startup(config)\n\n // ColorTheme.set(`* {color: red}`)\n // TODO this is discovered very late\n await RendererWorker.hydrate()\n\n // if ('serviceWorker' in navigator) {\n // await navigator.serviceWorker.register('/serviceWorker.js', {\n // scope: '/',\n // })\n // console.log('sw registered')\n // } else {\n // console.log('serviceworker not available')\n // }\n // logger.info(`[Service Worker] registered`)\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"],"names":["state","register","__initialize__","Command.register","Css.setInlineStyle","create","Command.execute","hydrate","Platform.getAssetDir","WebWorker.create","RendererWorker.send","hide","Layout.update","Layout.hydrate","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","ActiveViewlet.getStateFromEvent","LayerText3.setLineInfos","LayerScrollBar.setPosition","LayerCursor.setCursors","LayerSelections.setSelections","Assert.number","dispose","LayerDiagnostics.setDiagnostics","LayerScrollBar.setDiagnostics","ActiveViewlet.deleteState","Viewlet.refresh","Viewlet.invoke","Viewlet.focus","Viewlet.dispose","Viewlet.appendViewlet","Viewlet.load","Viewlet.handleError","Viewlet.sendMultiple","Context.get","handleKeyDown","Platform.getBrowser","KeyBindings.hydrate","LocalStorage.clear","LocalStorage.getItem","LocalStorage.setItem","RendererWorker.handleInvoke","ServiceWorker.register","ServiceWorker.uninstall","Location.getPathName","Location.setPathName","Location.hydrate","FindIndex.findIndex","handleMouseEnter","handleFocusOut","focusIndex","BackDrop.create$BackDrop","Widget.append","MenuItem.create$MenuItem","Focus.focus","Widget.remove","Focus.focusPrevious","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","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/Platform/Platform.js","../src/parts/WebWorker/WebWorker.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/Viewlet/ActiveViewlet.js","../src/parts/Editor/LayerCursor.js","../src/parts/Editor/LayerDiagnostics.js","../src/parts/Editor/LayerScrollBar.js","../src/parts/Editor/LayerSelections.js","../src/parts/Assert/Assert.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/GlobalEventBus/GlobalEventBus.js","../src/parts/Widget/Widget.js","../src/parts/LocalStorage/LocalStorage.js","../src/parts/LocalStorage/LocalStorage.ipc.js","../src/parts/RendererWorker/RendererWorker.ipc.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/Viewlet/ViewletActivityBar.js","../src/parts/Viewlet/ViewletStatusBar.js","../src/parts/TitleBarMenuBar/TitleBarMenuBar.js","../src/parts/Viewlet/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_VIEWLET_SOURCE_CONTROL = 5\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_VIEWLET_TERMINAL = 22\nconst MODULE_FIND_WIDGET = 23\nconst MODULE_KEYBINDINGS = 26\nconst MODULE_MENU = 31\nconst MODULE_RENDERER_WORKER = 33\nconst MODULE_SESSION_STORAGE = 34\nconst MODULE_LOCAL_STORAGE = 35\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\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_VIEWLET_SOURCE_CONTROL:\n return import('../Viewlet/ViewletExplorer.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_VIEWLET_TERMINAL:\n return import('../Viewlet/ViewletTerminal.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_RENDERER_WORKER:\n return import('../RendererWorker/RendererWorker.ipc.js')\n case MODULE_SESSION_STORAGE:\n return import('../SessionStorage/SessionStorage.ipc.js')\n case MODULE_LOCAL_STORAGE:\n return import('../LocalStorage/LocalStorage.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 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 281:\n case 282:\n case 283:\n case 284:\n return MODULE_DEVELOPER\n case 549:\n case 550:\n case 551:\n return MODULE_VIEW_SERVICE\n case 755:\n case 756:\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 991:\n case 992:\n case 993:\n case 994:\n case 995:\n case 996:\n case 997:\n case 998:\n case 999:\n return MODULE_NOTIFICATION\n case 1100:\n case 1101:\n case 1102:\n case 1103:\n case 1104:\n case 1105:\n case 1106:\n case 1107:\n case 1108:\n case 1109:\n case 1110:\n case 1111:\n case 2222:\n case 2223:\n return MODULE_LAYOUT\n case 3022:\n case 3023:\n case 3024:\n case 3025:\n case 3026:\n case 3027:\n case 3028:\n case 3029:\n case 3030:\n case 3031:\n case 3032:\n case 3033:\n case 3034:\n case 3035:\n case 3036:\n case 3037:\n case 3038:\n return MODULE_VIEWLET\n case 3211:\n case 3212:\n case 3213:\n case 3214:\n case 3215:\n case 3216:\n case 3217:\n case 3218:\n case 3219:\n return MODULE_AUDIO\n case 3666:\n case 3667:\n case 3668:\n case 3669:\n case 3670:\n case 3671:\n case 3672:\n case 3673:\n case 3674:\n case 3675:\n case 3676:\n case 3677:\n case 3678:\n case 3679:\n return MODULE_IMAGE_PREVIEW\n case 3700:\n case 3701:\n case 3702:\n case 3703:\n case 3704:\n case 3705:\n return MODULE_EDITOR_ERROR\n case 4100:\n case 4102:\n return MODULE_FIND_WIDGET\n case 4512:\n return MODULE_EDITOR_RENAME\n case 4551:\n return MODULE_CSS\n case 5611:\n case 5612:\n case 5613:\n case 5614:\n case 5615:\n case 5616:\n case 5617:\n case 5618:\n case 5619:\n return MODULE_LOCATION\n case 6216:\n case 6217:\n case 6218:\n case 6219:\n case 6220:\n case 6221:\n case 6222:\n case 6223:\n case 6224:\n return MODULE_EDITOR_HOVER\n case 6661:\n case 6662:\n case 6663:\n case 6664:\n return MODULE_PANEL\n case 8181:\n return MODULE_VIEWLET_SOURCE_CONTROL\n case 33111:\n return MODULE_WORKBENCH\n case 7833:\n case 7834:\n case 7835:\n case 7836:\n case 7837:\n case 7838:\n case 7839:\n case 7840:\n return MODULE_DIALOG\n case 7900:\n case 7901:\n case 7902:\n case 7903:\n case 7904:\n case 7905:\n case 7906:\n case 7907:\n case 7908:\n case 7909:\n return MODULE_MENU\n case 8080:\n case 8081:\n case 8082:\n case 8083:\n case 8084:\n case 8085:\n return MODULE_WINDOW\n case 8976:\n case 8977:\n case 8978:\n return MODULE_SESSION_STORAGE\n case 8986:\n case 8987:\n case 8988:\n return MODULE_LOCAL_STORAGE\n case 9922:\n return MODULE_VIEWLET_TERMINAL\n case 11122:\n return MODULE_META\n case 43725:\n case 43726:\n case 43727:\n case 43728:\n case 43729:\n return MODULE_SERVICE_WORKER\n case 909090:\n return MODULE_RENDERER_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(4551, Css.setInlineStyle)\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 '/9f7ef4d' !== 'undefined') {\n // @ts-ignore\n return '/9f7ef4d'\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","/* istanbul ignore file */\nconst METHOD_MESSAGE_PORT = 1\nconst METHOD_MODULE_WORKER = 2\nconst METHOD_REFERENCE_PORT = 3\n\n/**\n * @type {number}\n */\nconst METHOD_PREFERRED = METHOD_MESSAGE_PORT\n\nconst createModuleWorker = (url) => {\n return new Worker(url, {\n type: 'module',\n })\n}\n\nconst createMessagePort = async (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\nconst createReferencePort = 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\nexport const create = async (url) => {\n switch (METHOD_PREFERRED) {\n case METHOD_MODULE_WORKER:\n return createModuleWorker(url)\n case METHOD_MESSAGE_PORT:\n return createMessagePort(url)\n case METHOD_REFERENCE_PORT:\n return createReferencePort(url)\n default:\n throw new Error('unknown method')\n }\n}\n","import * as Command from '../Command/Command.js'\nimport * as Platform from '../Platform/Platform.js'\nimport * as WebWorker from '../WebWorker/WebWorker.js'\n\n// const URL_RENDERER_WORKER =\n// '/packages/renderer-worker/distmin/rendererWorkerMain-0ead0bed.js'\n\nexport const state = {\n send(message) {},\n sendAndTransfer(message, transferables) {},\n}\n\nconst handleMessageFromRendererWorker = (event) => {\n const data = event.data\n if (event.ports && event.ports.length > 0) {\n Command.execute(...data, ...event.ports)\n } else {\n Command.execute(...data)\n }\n}\n\nexport const hydrate = async (config) => {\n const assetDir = Platform.getAssetDir()\n const urlRendererWorker = `${assetDir}/packages/renderer-worker/dist/rendererWorkerMain.js`\n const rendererWorker = await WebWorker.create(urlRendererWorker)\n rendererWorker.onmessage = handleMessageFromRendererWorker\n state.send = (message) => {\n rendererWorker.postMessage(message)\n }\n state.sendAndTransfer = (message, transferables) => {\n rendererWorker.postMessage(message, transferables)\n }\n}\n\n// TODO needed?\nexport const dispose = () => {\n if (state.rendererWorker) {\n state.rendererWorker.terminate()\n }\n}\n\nexport const send = (message) => {\n if (!message[0]) {\n console.warn('invalid message', message)\n return\n }\n state.send(message)\n}\n\nexport const sendAndTransfer = (message, transfer) => {\n state.sendAndTransfer(message, transfer)\n}\n\nexport const handleInvoke = async (callbackId, method, ...params) => {\n let result\n try {\n result = await Command.execute(method, ...params)\n } catch (error) {\n state.send([\n /* Callback.reject */ 67331,\n /* callbackId */ callbackId,\n /* error */ error,\n ])\n return\n }\n state.send([\n /* Callback.resolve */ 67330,\n /* callbackId */ callbackId,\n /* result */ result,\n ])\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 */ 1111,\n /* bounds */ getBounds(),\n ])\n}\n\nconst handleSashPointerMove = (event) => {\n // console.log({ event })\n const x = event.clientX\n console.log({ x })\n RendererWorker.send([/* Layout.handleSashSideBarMove */ 1112, /* x */ x])\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 = () => {\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}\n\nexport const hydrate = (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\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\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.setAttribute('role', 'application') // TODO this doesn't seem to work\n $Workbench.setAttribute('role', 'application')\n document.body.append($Workbench)\n window.addEventListener('resize', handleResize, { passive: true })\n $SashSideBar.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(1100, 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(1109, Layout.hydrate)\n Command.register(1110, Layout.hide)\n Command.register(1111, 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","export const state = {\n viewletStates: Object.create(null),\n}\n\nconst getTarget = (event) => {\n const $Target = event.target\n const $WantedTarget = $Target.closest('.Viewlet')\n return $WantedTarget\n}\n\nexport const getStateFromEvent = (event) => {\n const $Target = getTarget(event)\n if (!$Target) {\n console.warn('invalid handler')\n return undefined\n }\n const id = $Target.dataset.viewletId\n const viewletState = state.viewletStates[id]\n return viewletState\n}\n\n// TODO test deleteState function\nexport const deleteState = (id) => {\n delete state.viewletStates[id]\n}\n\nexport const setState = (id, viewletState) => {\n state.viewletStates[id] = viewletState\n}\n\nexport const getState = (id) => {\n return state.viewletStates[id]\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, selection) => {\n // TODO have many decorations per row\n // no absolute positioning\n $Selection.style.top = `${selection.top}px`\n $Selection.style.left = `${selection.left}px`\n $Selection.style.width = `${selection.width}px`\n $Selection.style.height = `${selection.height}px`\n}\n\nconst render$SelectionsLess = ($Selections, selections) => {\n for (let i = 0; i < $Selections.children.length; i++) {\n render$Selection($Selections.children[i], selections[i])\n }\n const fragment = document.createDocumentFragment()\n for (let i = $Selections.children.length; i < selections.length; 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 = ($Selections, selections) => {\n for (let i = 0; i < selections.length; i++) {\n render$Selection($Selections.children[i], selections[i])\n }\n}\n\nconst render$SelectionsMore = ($Selections, selections) => {\n for (let i = 0; i < selections.length; i++) {\n render$Selection($Selections.children[i], selections[i])\n }\n const diff = $Selections.children.length - selections.length\n for (let i = 0; i < diff; i++) {\n $Selections.lastChild.remove()\n }\n}\n\nconst render$Selections = ($Selections, selections) => {\n if ($Selections.children.length < selections.length) {\n render$SelectionsLess($Selections, selections)\n } else if ($Selections.children.length === selections.length) {\n render$SelectionsEqual($Selections, selections)\n } else {\n render$SelectionsMore($Selections, selections)\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}\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","// 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\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 ActiveViewlet from '../Viewlet/ActiveViewlet.js'\nimport * as Platform from '../Platform/Platform.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'\nimport * as Assert from '../Assert/Assert.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 */ 951,\n /* x */ x,\n /* y */ y,\n /* id */ 'editor',\n ])\n}\n\nconst handleFocus = (event) => {\n Focus.setFocus('ViewletEditorText')\n}\n\nconst handleBlur = (event) => {\n // needed for save on blur\n // also needed to close completions on blur\n RendererWorker.send([/* EditorBlur.editorBlur */ 370])\n}\n\nconst handleBeforeInput = (event) => {\n event.preventDefault()\n switch (event.inputType) {\n case 'insertText':\n RendererWorker.send([/* Editor.type */ 345, /* text */ event.data])\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 */ 411,\n /* text */ event.data,\n ])\n}\n\nconst handleCompositionUpdate = (event) => {\n RendererWorker.send([\n /* Editor.compositionUpdate */ 412,\n /* text */ event.data,\n ])\n}\n\nconst handleCompositionEnd = (event) => {\n RendererWorker.send([/* Editor.compositionEnd */ 413, /* text */ event.data])\n}\n\nconst handleCut = (event) => {\n event.preventDefault()\n RendererWorker.send([/* Editor.cut */ 364])\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 */ 387,\n /* x */ x,\n /* y */ y,\n /* offset */ totalOffset,\n ])\n } else {\n RendererWorker.send([\n /* Editor.moveSelectionPx */ 386,\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 const modifier = getModifier(event)\n RendererWorker.send([\n /* Editor.handleSingleClick */ 360,\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 */ 385,\n /* x */ x,\n /* y */ y,\n /* offset */ offset,\n ])\n}\n\nconst handleTripleClick = (event, x, y, offset) => {\n RendererWorker.send([\n /* Editor.handleTripleClick */ 376,\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 } else 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 } else {\n throw new Error('caret position is not supported')\n }\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 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 */ 415,\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 */ 384,\n /* value */ event.deltaY,\n ])\n break\n case event.DOM_DELTA_PIXEL:\n RendererWorker.send([\n /* Editor.setDeltaY */ 384,\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 */ 382, /* text */ text])\n}\n\nconst handleScrollBarThumbMouseMove = (event) => {\n const y = event.clientY\n RendererWorker.send([/* Editor.handleScrollBarMouseMove */ 399, /* y */ y])\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 */ 400,\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 */ 404,\n /* touchEvent */ touchEvent,\n ])\n}\n\nconst handleTouchMove = (event) => {\n const touchEvent = toSimpleTouchEvent(event)\n RendererWorker.send([\n /* EditorHandleTouchMove.editorHandleTouchMove */ 405,\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 */ 406,\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 */ 407,\n /* data */ event.data || '',\n /* range */ range,\n ])\n}\n\nconst handleNativeSelectionChange = (event) => {\n const state = ActiveViewlet.getStateFromEvent(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 */ 408,\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 $EditorInput.setAttribute('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 $Editor.setAttribute('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 // state.$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 ActiveViewlet from './ActiveViewlet.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.js')\n case 'Run and Debug':\n return import('./ViewletRunAndDebug.js')\n case 'Search':\n return import('./ViewletSearch.js')\n case 'Source Control':\n return import('./ViewletSourceControl.js')\n case 'Terminal':\n return import('./ViewletTerminal.js')\n case 'Extensions':\n return import('./ViewletExtensions.js')\n case 'Debug Console':\n return import('./ViewletDebugConsole.js')\n case 'Output':\n return import('./ViewletOutput.js')\n case 'Problems':\n return import('./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.js')\n case 'SideBar':\n return import('./ViewletSideBar.js')\n case 'Panel':\n return import('./ViewletPanel.js')\n case 'ActivityBar':\n return import('./ViewletActivityBar.js')\n case 'ImagePreview':\n return import('../ImagePreview/ImagePreview.js')\n case 'QuickPick':\n return import('./ViewletQuickPick.js')\n case 'StatusBar':\n return import('./ViewletStatusBar.js')\n case 'TitleBar':\n return import('./ViewletTitleBar.js')\n case 'Main':\n return import('./ViewletMain.js')\n case 'EditorCompletion':\n return import('./ViewletEditorCompletion.js')\n case 'References':\n return import('./ViewletReferences.js')\n case 'Implementations':\n return import('./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} not implemented`)\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 ActiveViewlet.deleteState(id)\n const instance = state.instances[id]\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('HANDLE ERROR')\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 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(3022, Viewlet.refresh)\n Command.register(3024, Viewlet.invoke)\n Command.register(3027, Viewlet.focus)\n Command.register(3026, Viewlet.dispose)\n // Command.register(3028, Viewlet.hydrate)\n Command.register(3029, Viewlet.appendViewlet)\n Command.register(3030, Viewlet.load)\n Command.register(3031, Viewlet.handleError)\n Command.register(3032, 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 if (typeof matchingKeyBinding.command === 'number') {\n if (matchingKeyBinding.command === -1) {\n console.warn('keybinding not fully specified', matchingKeyBinding)\n return\n }\n RendererWorker.send([\n /* command */ matchingKeyBinding.command,\n // TODO should args always be defined? (probably yes -> monomorphism & simpler code since all objects are the same)\n ...(matchingKeyBinding.args || []),\n ])\n } else if (typeof matchingKeyBinding.command === 'string') {\n // TODO matchingKeyBinding.command should always be number\n RendererWorker.send([\n /* KeyBindings.handleKeyBinding */ 1422,\n /* keyBinding */ matchingKeyBinding,\n ])\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(755, KeyBindings.hydrate)\n // Command.register(756, KeyBindings.setKeyBindings)\n}\n","// TODO global event bus is probably a bad idea\n// cons:\n// 1. it is not typesafe\n// 2. dependencies are unclear\n//\n// pros\n// 1. it decouples event emitter (e.g. Editor creation) from other module (Document syncing when editor was created)\n\nexport const state = {\n listenerMap: Object.create(null),\n}\n\nexport const emitEvent = (event, ...args) => {\n const listeners = state.listenerMap[event] || []\n for (const listener of listeners) {\n listener(...args)\n }\n}\n\nexport const addListener = (event, fn) => {\n state.listenerMap[event] ||= []\n if (state.listenerMap[event].includes(fn)) {\n return\n }\n state.listenerMap[event].push(fn)\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","export const getItem = (key) => {\n return localStorage.getItem(key) || undefined\n}\n\nexport const setItem = (key, value) => {\n localStorage.setItem(key, value)\n}\n\nexport const clear = () => {\n localStorage.clear()\n}\n","import * as Command from '../Command/Command.js'\nimport * as LocalStorage from './LocalStorage.js'\n\nexport const __initialize__ = () => {\n Command.register(8986, LocalStorage.clear)\n Command.register(8987, LocalStorage.getItem)\n Command.register(8988, LocalStorage.setItem)\n}\n","import * as Command from '../Command/Command.js'\nimport * as RendererWorker from './RendererWorker.js'\n\nexport const __initialize__ = () => {\n Command.register(909090, RendererWorker.handleInvoke)\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","\nimport * as Command from '../Command/Command.js'\nimport * as ServiceWorker from './ServiceWorker.js'\n\nexport const __initialize__ = () => {\n Command.register(43725, ServiceWorker.register)\n Command.register(43726, ServiceWorker.uninstall)\n}\n","import * as RendererWorker from '../RendererWorker/RendererWorker.js'\n\nexport const getPathName = () => {\n return location.pathname\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 */ 7634])\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(5611, Location.getPathName)\n Command.register(5612, Location.setPathName)\n Command.register(5613, Location.hydrate)\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 $MenuItem.setAttribute('role', 'menuitem')\n $MenuItem.textContent = getLabel(item)\n $MenuItem.tabIndex = -1\n break\n case /* Separator */ 1:\n $MenuItem.className = 'MenuItemSeparator'\n $MenuItem.setAttribute('role', 'separator')\n break\n case /* Checked */ 2:\n $MenuItem.className = 'MenuItem'\n $MenuItem.setAttribute('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 $MenuItem.setAttribute('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 $MenuItem.setAttribute('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 $MenuItem.setAttribute('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 $MenuItem.setAttribute('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 */ 7403,\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 console.log('focus index mouse', index)\n RendererWorker.send([\n /* Menu.focusIndexMouse */ 7409,\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 $Menu.setAttribute('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 */ 7401])\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 console.info('focus menu')\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 $ActivityBarItem.setAttribute('role', 'tab')\n $ActivityBarItem.ariaSelected = 'false'\n break\n case /* Button */ 2:\n $ActivityBarItem.setAttribute('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 */ 8001,\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 */ 8002,\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.setAttribute('role', 'toolbar') // TODO use idl once supported by chrome\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 console.log({ select: true, 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 }\n if (newIndex !== -1) {\n const $NewItem = $ActivityBar.children[newIndex]\n $NewItem.tabIndex = 0\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 $StatusBarItem.setAttribute('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.setAttribute('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 $TitleBarTopLevelEntry.setAttribute('role', 'menuitem') // TODO use idl once supported by chrome\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([/* TitleBarMenu.handleClick */ 4610, /* index */ index])\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 */ 4613,\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([/* TitleBarMenu.handleKeyArrowDown */ 4618])\n break\n case 'ArrowUp':\n event.preventDefault()\n event.stopPropagation()\n RendererWorker.send([/* TitleBarMenu.handleKeyArrowUp */ 4619])\n break\n case 'ArrowRight':\n console.log('arrow right')\n event.preventDefault()\n event.stopPropagation()\n RendererWorker.send([/* TitleBarMenu.handleKeyArrowRight */ 4620])\n break\n case 'ArrowLeft':\n event.preventDefault()\n event.stopPropagation()\n RendererWorker.send([/* TitleBarMenu.handleKeyArrowLeft */ 4626])\n break\n case 'Enter':\n event.preventDefault()\n event.stopPropagation()\n RendererWorker.send([/* TitleBarMenu.handleKeyEnter */ 4624])\n break\n case ' ':\n event.preventDefault()\n event.stopPropagation()\n RendererWorker.send([/* TitleBarMenu.handleKeySpace */ 4623])\n break\n case 'Home':\n case 'PageUp':\n event.preventDefault()\n event.stopPropagation()\n RendererWorker.send([/* TitleBarMenu.handleKeyHome */ 4621])\n break\n case 'End':\n case 'PageDown':\n event.preventDefault()\n event.stopPropagation()\n RendererWorker.send([/* TitleBarMenu.handleKeyEnd */ 4622])\n break\n case 'Escape':\n event.preventDefault()\n event.stopPropagation()\n RendererWorker.send([/* TitleBarMenu.handleKeyEscape */ 4625])\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 */ 4616,\n /* keepFocus */ false,\n ])\n}\n\nexport const create = () => {\n const $TitleBarMenu = document.createElement('ul')\n $TitleBarMenu.id = 'TitleBarMenu'\n $TitleBarMenu.setAttribute('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.setAttribute('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","export 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","import * as Command from '../Command/Command.js'\nimport * as Window from './Window.js'\n\nexport const __initialize__ = () => {\n Command.register(8080, Window.reload)\n Command.register(8081, Window.minimize)\n Command.register(8082, Window.maximize)\n Command.register(8083, Window.unmaximize)\n Command.register(8084, Window.close)\n Command.register(8085, Window.setTitle)\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 M9 from '../src/parts/GlobalEventBus/GlobalEventBus.js'\nimport * as M14 from '../src/parts/Widget/Widget.js'\nimport * as M15 from '../src/parts/LocalStorage/LocalStorage.ipc.js'\nimport * as M17 from '../src/parts/RendererWorker/RendererWorker.ipc.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/Viewlet/ViewletActivityBar.js'\nimport * as M28 from './parts/Viewlet/ViewletStatusBar.js'\nimport * as M29 from './parts/Viewlet/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 M9,\n M13,\n M14,\n M15,\n M17,\n M18,\n M22,\n M26,\n M27,\n M28,\n M29,\n M30,\n]\n\nconst main = async () => {\n onerror = (error) => {\n alert(error)\n }\n onunhandledrejection = (event) => {\n alert(event.reason)\n }\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 remove this, all messages should come from renderer worker\n // const config = JSON.parse(document.getElementById('Config').textContent)\n // await Workbench.startup(config)\n\n // ColorTheme.set(`* {color: red}`)\n // TODO this is discovered very late\n await RendererWorker.hydrate()\n\n // if ('serviceWorker' in navigator) {\n // await navigator.serviceWorker.register('/serviceWorker.js', {\n // scope: '/',\n // })\n // console.log('sw registered')\n // } else {\n // console.log('serviceworker not available')\n // }\n // logger.info(`[Service Worker] registered`)\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"],"names":["state","register","__initialize__","Command.register","Css.setInlineStyle","create","Command.execute","hydrate","Platform.getAssetDir","WebWorker.create","RendererWorker.send","hide","Layout.update","Layout.hydrate","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","ActiveViewlet.getStateFromEvent","LayerText3.setLineInfos","LayerScrollBar.setPosition","LayerCursor.setCursors","LayerSelections.setSelections","Assert.number","dispose","LayerDiagnostics.setDiagnostics","LayerScrollBar.setDiagnostics","ActiveViewlet.deleteState","Viewlet.refresh","Viewlet.invoke","Viewlet.focus","Viewlet.dispose","Viewlet.appendViewlet","Viewlet.load","Viewlet.handleError","Viewlet.sendMultiple","Context.get","handleKeyDown","Platform.getBrowser","KeyBindings.hydrate","LocalStorage.clear","LocalStorage.getItem","LocalStorage.setItem","RendererWorker.handleInvoke","ServiceWorker.register","ServiceWorker.uninstall","Location.getPathName","Location.setPathName","Location.hydrate","FindIndex.findIndex","handleMouseEnter","handleFocusOut","focusIndex","BackDrop.create$BackDrop","Widget.append","MenuItem.create$MenuItem","Focus.focus","Widget.remove","Focus.focusPrevious","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","Platform.platform","RendererWorker.hydrate"],"mappings":"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"}
|