Merged
Conversation
Replace the vanilla HTML/CSS/JS export webview with a Svelte 5 + Tailwind 4 implementation that uses VS Code theme tokens, so the form looks native in every theme instead of hardcoded light-blue. Add a ready handshake to fix the initial-message race with the async module load, normalize unit validation to strings (unit 0 freely reusable), and associate labels with inputs. Refresh the Simvia and code_aster logos with dedicated dark-theme variants, and swap the Edit-export-file command icon for a colored pencil-on-document SVG matching the other command icons.
Drop aster.png (superseded by code-aster.svg) and media/icons/3d.svg / 3d_light.svg, which are not referenced anywhere in the code or README.
Register a TextMate grammar for the export language so P/F lines, directions (D/R/RC), and trailing # comments get colored by the active theme, instead of being rendered as plain text.
Register a DocumentFormattingEditProvider so "Format Document" on a .export file groups lines into sections (parameters, inputs, results) ordered by file-type priority (comm, *med, rmed, other, mess), with comments travelling with the line they precede. Activate the extension on .export so the provider is registered before the user invokes format.
Major pass on the export form: native VS Code input styling, sticky
submit bar with click-to-scroll error/warning counts, drag-to-reorder
rows via svelte-dnd-action (with theme-colored drop zone), direction-
filtered type dropdowns with a placeholder, per-row delete, same-type
scoped unit auto-increment, arrow-key integer stepping, .export suffix
locked on the filename field, and draft persistence so switching tabs
no longer loses in-progress edits. New files are pre-seeded with a
comm+mmed+rmed starter and a "comm is required" blocker. Saving a
renamed file now deletes the old one (previewed as a warning).
The formatter emits a file-header shoutout, three section comments
("# Simulation parameters", "# Input files", "# Output files"), sorts
F lines by a canonical type priority, and is applied on every save so
files stay clean across edits.
Add the 1.8.0 changelog entry covering the Svelte rewrite, new UX, validation overhaul, syntax highlighting, formatter, and format-on-save. Refresh the README section about the export form to match the new behavior (pencil icon, live tab title, locked .export suffix, drag-to- reorder, inline validation, sticky footer, formatter) and mention the export webview in the architecture overview.
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.
[1.8.0] - 2026-04-20
Full rewrite of the
.exportform in Svelte + Tailwind, first-class language support for.exportfiles (syntax highlighting, formatter, format-on-save), and a batch of UX upgrades.Added
--vscode-input-*,--vscode-focusBorder,--vscode-editorWarning-foreground, ...), so it looks native in every theme.untitled).comm+mmedinputs and anrmedoutput, filenamessimvia.comm / simvia.mmed / simvia.rmed..exportextension locked as a visual suffix on the filename field — it can't be edited away.subdir/file.export); missing folders are created on save.vscode.setState+retainContextWhenHidden, so switching tabs or reloading the panel no longer clears the form.svelte-dnd-action, theme-colored drop zones, keyboard-accessible); per-row × delete; full-width "Add input/output file" button at the end of each section.Typeplaceholder on new rows; the file-type list is the full code_aster set (comm, mmed, rmed, mess, nom, base, mail, libr, tab, msh, dat).med: 20, 50→ next is51, not21), idempotent when re-picking the same type;nomrows are locked to unit 0; ArrowUp/Down steps integer inputs.comminput file required.rmedoutput set, rename-in-edit-mode (tells the user the original file will be deleted)..exportlanguage support — new TextMate grammar (source.export) colorsP/Fdirectives, parameter names, file types, direction flags (DvsR/RC), unit numbers, and#comments..export— available via Format Document. On save/create the form applies the same formatter automatically:# Simulation parameters,# Input files,# Output filessections separated by blank lines.comm, mmed, rmed, mess, nom, base, mail, libr, tab, msh, dat).#comments attached to the line they precede.media/images/icone-edit.svg) for the "Edit export file" command, replacing the plain$(book)codicon.onLanguage:export, so opening a.exportfile registers the formatter without any prior command run.Changed
Fixed
.exportinto the form (e.g. after a tab switch) no longer clobbers the pre-filled data with the seeded default.Removed
webviews/export/export.{html,css,js}) and its hardcoded blue-on-light styling.media/images/aster.png,media/icons/3d.svg,media/icons/3d_light.svg.