From 5a254e2ab4741bc88c373ae1673c2ad9a7e6a588 Mon Sep 17 00:00:00 2001 From: _ov4 Date: Wed, 21 Oct 2026 11:02:26 +0000 Subject: feat(bundle): add the Tauri editor with shared Dark+ language support Add a single-document Monaco editor, native file dialogs, save handling and prefilled input/output panels. Reuse the plugin's grammar and editor core. Verify frontend behavior and compile the desktop app on Linux. Co-Authored-By: Claude Opus 5.5 --- bundle/AGENTS/DEVELOPMENT.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 bundle/AGENTS/DEVELOPMENT.md (limited to 'bundle/AGENTS') diff --git a/bundle/AGENTS/DEVELOPMENT.md b/bundle/AGENTS/DEVELOPMENT.md new file mode 100644 index 0000000..543962a --- /dev/null +++ b/bundle/AGENTS/DEVELOPMENT.md @@ -0,0 +1,21 @@ +# Bundle development + +Use Node.js 22+, stable Rust and Tauri 2's native platform prerequisites. On Debian/Ubuntu install `libwebkit2gtk-4.1-dev`, `build-essential`, `libxdo-dev`, `libayatana-appindicator3-dev`, `librsvg2-dev`, `patchelf` and `pkg-config`. + +Build the compiler in EMBEDDED mode using the repository build instructions, then run from `bundle/`: + +```sh +npm ci --ignore-scripts +npm run prepare:compiler +npm run tauri -- dev +``` + +`prepare:compiler` copies `../build/cpsc` (or `cpsc.exe`) with the Rust host target suffix needed by Tauri's externalBin packaging. An optional argument selects another compiler executable. Windows uses MSVC Rust for the shell and retains the existing MinGW compiler as a separate process. + +For a Linux compilation check use `npm run tauri -- build --no-bundle`. Release targets are NSIS on Windows x64 and DMG on macOS arm64. Keep dependency lockfiles committed. + +The editor imports the plugin's grammar, language configuration and pure CommonJS modules directly. Vite's CommonJS adapter includes those sources. Do not duplicate their rules or add a second tokenizer. Dark+ and its parent theme are pinned under `vendor/vscode/`; retain upstream attribution. + +The language editing core (grammar, configuration, indentation, lexical masking and bracket matching) is shared in full. Platform editor API adapters, file dialogs and process management are separate. Keep the plugin free of Bundle runtime dependencies. + +Use brief English UI labels and messages. Keep the first version to one document and prefilled stdin. Before feature commits, run affected plugin tests, build the frontend and check native compilation as appropriate. Do not add a separate UI test framework for routine changes. -- cgit v1.3.1-4-g156e