Use OmegaEdit data editor extension dependency#1726
Open
scholarsmate wants to merge 1 commit into
Open
Conversation
0cc8ed3 to
4037c85
Compare
There was a problem hiding this comment.
Pull request overview
This PR migrates the Apache Daffodil VS Code extension from an embedded Ωedit Data Editor stack to an integration model that depends on the standalone ctc-oss.omega-edit-data-editor extension, while keeping Daffodil’s existing extension.data.edit command and debugger-driven current-byte highlighting behavior.
Changes:
- Declares
ctc-oss.omega-edit-data-editoras anextensionDependenciesentry and adds a new bridge implementation (src/dataEditor/omegaEditDataEditor.ts) that opens files and sets external highlights via the dependency’s API. - Removes the embedded Svelte Data Editor UI/runtime, OmegaEdit server/client lifecycle code, launch configuration surface for Data Editor port/logging, and related build/test/package wiring.
- Updates integration tests to use a lightweight fixture extension to validate the dependency contract.
Reviewed changes
Copilot reviewed 104 out of 112 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| vite.config.mjs | Removes packaging/copy/externalization related to the embedded OmegaEdit client/server runtime. |
| src/utils.ts | Removes default dataEditor debug config block and deletes obsolete server-kill helper. |
| src/tests/suite/utils.test.ts | Updates expected default debug config to match removal of dataEditor config. |
| src/tests/suite/omegaEditClientLogger.test.ts | Removes tests tied to the removed embedded @omega-edit/client logger patching. |
| src/tests/suite/dataEditor.test.ts | Replaces embedded-editor tests with dependency/bridge tests and open/highlight checks. |
| src/tests/suite/daffodilDebugger.test.ts | Removes dataEditor config plumbing from debugger test invocation. |
| src/tests/suite/daffodil.test.ts | Updates comments to reflect new “data editor integration tests” terminology. |
| src/tests/runTest.ts | Installs/loads an OmegaEdit fixture extension for VS Code integration tests. |
| src/tests/README.md | Updates manual test guidance to focus on the external dependency and highlight integration. |
| src/tests/omegaEditServerLifecycle.ts | Removes lifecycle test for the embedded OmegaEdit server. |
| src/tests/fixtures/omega-edit-data-editor/package.json | Adds a lightweight fixture extension manifest for integration tests. |
| src/tests/fixtures/omega-edit-data-editor/extension.js | Adds a fixture API implementation (open/state/highlights) for integration tests. |
| src/svelte/vite.config.mjs | Removes embedded Svelte data editor build config. |
| src/svelte/vite-env.d.ts | Removes embedded Svelte tooling types. |
| src/svelte/tsconfig.json | Removes embedded Svelte TS config. |
| src/svelte/tests/utilities/display.test.ts | Removes embedded Svelte unit tests. |
| src/svelte/tests/stores/index.test.ts | Removes embedded Svelte store unit tests. |
| src/svelte/svelte.d.ts | Removes embedded Svelte module typings. |
| src/svelte/svelte.config.mjs | Removes embedded Svelte config. |
| src/svelte/src/views/dataEditor/index.ts | Removes embedded Svelte data editor entrypoint. |
| src/svelte/src/utilities/vscode.ts | Removes embedded webview VS Code API wrapper. |
| src/svelte/src/utilities/message.ts | Removes embedded webview message protocol. |
| src/svelte/src/utilities/highlights.ts | Removes embedded viewport highlight logic (now externalized to OmegaEdit). |
| src/svelte/src/utilities/elementKeypressEvents.ts | Removes embedded UI keypress mapping utility. |
| src/svelte/src/utilities/display.ts | Removes embedded display/validation utilities. |
| src/svelte/src/utilities/colorScheme.ts | Removes embedded theme/color store. |
| src/svelte/src/utilities/ByteCategories/IIndication.ts | Removes embedded byte-indication types. |
| src/svelte/src/utilities/ByteCategories/IByteCategory.ts | Removes embedded byte category definitions. |
| src/svelte/src/utilities/ByteCategories/CategoryIndications.ts | Removes embedded byte indication category registry. |
| src/svelte/src/stores/localStore.ts | Removes embedded Svelte local store helper. |
| src/svelte/src/stores/configuration.ts | Removes embedded Svelte configuration model/constants. |
| src/svelte/src/main.ts | Removes embedded Svelte main entry. |
| src/svelte/src/Main.svelte | Removes embedded Svelte main component. |
| src/svelte/src/global.d.ts | Removes embedded Svelte global types. |
| src/svelte/src/components/ServerMetrics/ServerMetrics.svelte | Removes embedded server heartbeat UI component. |
| src/svelte/src/components/Main.svelte | Removes embedded Svelte component. |
| src/svelte/src/components/layouts/Tooltip.svelte | Removes embedded Svelte component. |
| src/svelte/src/components/layouts/SidePanel.svelte | Removes embedded Svelte component. |
| src/svelte/src/components/layouts/HelpIcon.svelte | Removes embedded Svelte component. |
| src/svelte/src/components/layouts/Help.ts | Removes embedded Svelte help model. |
| src/svelte/src/components/layouts/Help.svelte | Removes embedded Svelte component. |
| src/svelte/src/components/layouts/FlexContainer.svelte | Removes embedded Svelte layout component. |
| src/svelte/src/components/Inputs/Input/RadioEdit.svelte | Removes embedded Svelte component. |
| src/svelte/src/components/Inputs/Input/Input.svelte | Removes embedded Svelte component. |
| src/svelte/src/components/Inputs/Buttons/ToggleableButton.svelte | Removes embedded Svelte component. |
| src/svelte/src/components/Inputs/Buttons/ConfigurationToggle.svelte | Removes embedded Svelte component. |
| src/svelte/src/components/Inputs/Buttons/Button.svelte | Removes embedded Svelte component. |
| src/svelte/src/components/Icons/ViewportVisibilityIcon.svelte | Removes embedded Svelte component. |
| src/svelte/src/components/Header/Header.svelte | Removes embedded Svelte component. |
| src/svelte/src/components/Header/fieldsets/Settings.svelte | Removes embedded Svelte component. |
| src/svelte/src/components/Header/fieldsets/SearchReplace.ts | Removes embedded Svelte search/replace state logic. |
| src/svelte/src/components/Header/fieldsets/FileMetrics.ts | Removes embedded Svelte file metrics store. |
| src/svelte/src/components/Header/fieldsets/FileMetrics.svelte | Removes embedded Svelte component. |
| src/svelte/src/components/Error/Error.ts | Removes embedded Svelte error store implementation. |
| src/svelte/src/components/Error/Error.svelte | Removes embedded Svelte component. |
| src/svelte/src/components/Editors/DataEditor.svelte | Removes embedded Svelte component. |
| src/svelte/src/components/Debug/index.ts | Removes embedded Svelte debug exports. |
| src/svelte/src/components/Debug/DebugOutput.svelte | Removes embedded Svelte component. |
| src/svelte/src/components/Debug/Debug.svelte.ts | Removes embedded Svelte debug context logic. |
| src/svelte/src/components/Debug/Debug.svelte | Removes embedded Svelte debug UI. |
| src/svelte/src/components/DataDisplays/Header/DisplayHeader.svelte | Removes embedded Svelte component. |
| src/svelte/src/components/DataDisplays/Fieldsets/ContentControls.svelte | Removes embedded Svelte component. |
| src/svelte/src/components/DataDisplays/DataViewports.svelte | Removes embedded Svelte component. |
| src/svelte/src/components/DataDisplays/CustomByteDisplay/FileTraversalIndicator.svelte | Removes embedded Svelte component. |
| src/svelte/src/components/DataDisplays/CustomByteDisplay/DataValue.svelte | Removes embedded Svelte component. |
| src/svelte/src/components/DataDisplays/CustomByteDisplay/BinaryData.ts | Removes embedded viewport data model/utilities. |
| src/svelte/src/App.debug.svelte | Removes embedded Svelte debug app wrapper. |
| src/svelte/package.json | Removes embedded Svelte package placeholder. |
| src/svelte/index.html | Removes embedded Svelte dev HTML. |
| src/svelte/global.d.ts | Removes embedded Svelte global types. |
| src/launchWizard/script.js | Removes Data Editor port/logging fields from launch wizard config generation. |
| src/launchWizard/launchWizard.ts | Removes Data Editor settings UI block from launch wizard HTML generation. |
| src/dataEditor/svelteWebviewInitializer.ts | Removes embedded Svelte webview initializer. |
| src/dataEditor/omegaEditDataEditor.ts | Adds the new bridge to the external OmegaEdit Data Editor extension (open + highlight integration). |
| src/dataEditor/index.ts | Re-exports the new bridge instead of the removed embedded client. |
| src/dataEditor/include/utils.ts | Removes embedded data editor debug-session helper. |
| src/dataEditor/include/server/Sessions.ts | Removes embedded server session lifecycle manager. |
| src/dataEditor/include/server/ServerInfo.ts | Removes embedded server-info + port/checkpoint validation. |
| src/dataEditor/include/server/LogbackConfig.ts | Removes embedded logback config generator. |
| src/dataEditor/include/server/heartbeat/index.ts | Removes embedded heartbeat loop integration. |
| src/dataEditor/include/server/heartbeat/HeartBeatInfo.ts | Removes embedded heartbeat data model. |
| src/dataEditor/demos/demo-infinite_scrolling.html | Removes embedded demo artifact. |
| src/dataEditor/demos/demo-highlight_overlays.html | Removes embedded demo artifact. |
| src/dataEditor/config/index.ts | Removes embedded data editor config module exports. |
| src/dataEditor/config/Extract.ts | Removes embedded config extraction logic. |
| src/dataEditor/config/ConfigKeyword.ts | Removes embedded config keyword replacement helper. |
| src/dataEditor/config/Config.ts | Removes embedded data editor config model/defaults/log path normalization. |
| src/classes/vscode-launch.ts | Removes dataEditor config field from the debug configuration args interface. |
| src/classes/dataEditor.ts | Removes the DataEditorConfig interface. |
| README.md | Updates user-facing description to reflect external Ωedit Data Editor dependency and highlight integration. |
| package.json | Removes embedded editor dependencies/scripts/schema and adds extensionDependencies. |
| LICENSE | Removes license entries for assets that were deleted with the embedded Svelte editor. |
| DEVELOPMENT.md | Updates development/test documentation to align with the external dependency and removed embedded stack. |
| build/yarn-scripts.ts | Removes OmegaEdit runtime patch/sync logic and removes jq dependency for license listing. |
| build/package/NONOTICE | Removes NONOTICE entries tied to the removed embedded OmegaEdit runtime packaging. |
| .prettierrc | Removes the Svelte Prettier plugin now that Svelte sources are removed. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
4037c85 to
e32e5fd
Compare
e32e5fd to
a8e2315
Compare
Comment on lines
+340
to
+344
| function dataPathLooksLikeUri(dataPath: string): boolean { | ||
| return ( | ||
| /^[a-z][a-z0-9+.-]*:/i.test(dataPath) && !/^[a-z]:[\\/]/i.test(dataPath) | ||
| ) | ||
| } |
Comment on lines
+192
to
+196
| return record.data.body | ||
| } | ||
| } | ||
|
|
||
| return [] |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Tracks #1725.
Description
This replaces Daffodil's embedded Data Editor stack with an integration against the standalone OmegaEdit Data Editor VS Code extension.
ctc-oss.omega-edit-data-editoras anextensionDependenciesentryextension.data.editcommand and delegates opens to the OmegaEdit extension APIdaffodil.datadebug events to OmegaEdit external current-byte highlightsWiki
Updated repository documentation in
README.md,DEVELOPMENT.md, andsrc/tests/README.mdto describe the external Data Editor dependency and the narrower Daffodil integration surface.Review Instructions including Screenshots
Review the new bridge in
src/dataEditor/omegaEditDataEditor.tsand the manifest changes inpackage.json. The key behavior is that Daffodil still owns theextension.data.editcommand and debugger event handling, while the standalone OmegaEdit extension owns the Data Editor UI/runtime.Confirmation Testing
yarn install --ignore-scriptsyarn nodeclean; yarn gen-version-ts; yarn tsc -p ./; yarn vite:devyarn tsc -p ./yarn lintnode ./out/tests/runTest.js(45 passing)yarn check-missing-license-datayarn check-license-compatibilityNote: the VS Code test runtime logged benign mutex/chat-registry messages while still exiting successfully.
Regression Testing
The VS Code integration test suite now installs a lightweight
ctc-oss.omega-edit-data-editorfixture extension so Daffodil tests validate the extension dependency contract without starting the removed embedded editor stack.