From 50e26f32f283ac26fe79ef3d84c8b00db4d9e5d8 Mon Sep 17 00:00:00 2001 From: Ulysse Bouchet Date: Wed, 15 Apr 2026 09:56:35 +0200 Subject: [PATCH 1/4] Refresh code_aster logo with updated SVG source Replaces the bundled PNG with a regenerated version from the new vector source, keeping the SVG in the repo for future regenerations. --- media/images/icone-code-aster.png | Bin 50712 -> 62786 bytes media/images/icone-code-aster.svg | 40 ++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100755 media/images/icone-code-aster.svg diff --git a/media/images/icone-code-aster.png b/media/images/icone-code-aster.png index a30eb7a9d1641de0e76e0e73ccd84b7809acd068..e676fdece5b0d44f649d4c2b5fa87b06752c7a01 100644 GIT binary patch literal 62786 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

qbp# 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 z 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 RQJ$hOFg;VH#e7g0pINbkggN(X7umEL=i7L?wL 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 diff --git a/media/images/icone-code-aster.svg b/media/images/icone-code-aster.svg new file mode 100755 index 0000000..baf0ec0 --- /dev/null +++ b/media/images/icone-code-aster.svg @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file From c9f9a36a0b93ba36b450ad5410fe61e32821ff9d Mon Sep 17 00:00:00 2001 From: Ulysse Bouchet Date: Wed, 15 Apr 2026 09:57:02 +0200 Subject: [PATCH 2/4] Add language icons for .export and .med files MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Declares "export" and "med" as VS Code languages so .export, .med, .mmed and .rmed files get dedicated icons in the explorer. Adds a vs-code-aster.medFileExtensions setting that dynamically syncs files.associations, letting users treat arbitrary numeric extensions (e.g. .21, .71) as MED files — code_aster writes MED data under the I/O unit number. --- media/images/icone-export-dark.svg | 8 ++++ media/images/icone-export-light.svg | 8 ++++ media/images/icone-med-dark.svg | 6 +++ media/images/icone-med-light.svg | 6 +++ package.json | 45 +++++++++++++++++- src/MedLanguageSync.ts | 71 +++++++++++++++++++++++++++++ src/extension.ts | 3 ++ 7 files changed, 145 insertions(+), 2 deletions(-) create mode 100644 media/images/icone-export-dark.svg create mode 100644 media/images/icone-export-light.svg create mode 100644 media/images/icone-med-dark.svg create mode 100644 media/images/icone-med-light.svg create mode 100644 src/MedLanguageSync.ts diff --git a/media/images/icone-export-dark.svg b/media/images/icone-export-dark.svg new file mode 100644 index 0000000..a66c0e3 --- /dev/null +++ b/media/images/icone-export-dark.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/media/images/icone-export-light.svg b/media/images/icone-export-light.svg new file mode 100644 index 0000000..a66c0e3 --- /dev/null +++ b/media/images/icone-export-light.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/media/images/icone-med-dark.svg b/media/images/icone-med-dark.svg new file mode 100644 index 0000000..e113e74 --- /dev/null +++ b/media/images/icone-med-dark.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/media/images/icone-med-light.svg b/media/images/icone-med-light.svg new file mode 100644 index 0000000..e113e74 --- /dev/null +++ b/media/images/icone-med-light.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/package.json b/package.json index 35f3e17..56aa11f 100644 --- a/package.json +++ b/package.json @@ -78,10 +78,38 @@ ".com9" ], "icon": { - "light": "./media/images/icone-code-aster.png", - "dark": "./media/images/icone-code-aster.png" + "light": "./media/images/icone-code-aster.svg", + "dark": "./media/images/icone-code-aster.svg" }, "configuration": "./language-configuration.json" + }, + { + "id": "export", + "aliases": [ + "Aster Export" + ], + "extensions": [ + ".export" + ], + "icon": { + "light": "./media/images/icone-export-light.svg", + "dark": "./media/images/icone-export-dark.svg" + } + }, + { + "id": "med", + "aliases": [ + "MED" + ], + "extensions": [ + ".med", + ".mmed", + ".rmed" + ], + "icon": { + "light": "./media/images/icone-med-light.svg", + "dark": "./media/images/icone-med-dark.svg" + } } ], "grammars": [ @@ -143,6 +171,19 @@ ], "markdownDescription": "Specifies the file extensions to be recognized as Code Aster command files. Default includes `.comm`, `.com`, and `.com0`-`.com9`. You can customize this list as needed." }, + "vs-code-aster.medFileExtensions": { + "order": 0, + "type": "array", + "items": { + "type": "string" + }, + "default": [ + ".med", + ".mmed", + ".rmed" + ], + "markdownDescription": "Specifies the file extensions to be recognized as MED mesh/result files. code_aster may also write MED data under numeric extensions matching the I/O unit (e.g. `.21`, `.71`). Add such extensions here to apply the MED icon and language association. Extensions listed here are automatically written to `files.associations`." + }, "vs-code-aster.aliasForRun": { "order": 1, "type": "string", diff --git a/src/MedLanguageSync.ts b/src/MedLanguageSync.ts new file mode 100644 index 0000000..fc786d7 --- /dev/null +++ b/src/MedLanguageSync.ts @@ -0,0 +1,71 @@ +/** + * Keeps `files.associations` in sync with the `vs-code-aster.medFileExtensions` setting. + * + * VS Code's `contributes.languages[].extensions` is static (read once from package.json at + * load time). To let users dynamically map arbitrary extensions (e.g. `.71`, `.72`) to the + * `med` language — which gives them the MED icon and language ID — we programmatically + * write `files.associations` entries on activation and whenever the setting changes. + * + * Ownership tracking: we only ever touch `files.associations` entries whose value is `med`. + * Other entries (added by the user or other extensions) are left untouched. + */ +import * as vscode from 'vscode'; + +const MED_LANGUAGE_ID = 'med'; +const SETTING_KEY = 'medFileExtensions'; + +function normalizeExtension(ext: string): string | null { + const trimmed = ext.trim(); + if (!trimmed) { + return null; + } + const withDot = trimmed.startsWith('.') ? trimmed : `.${trimmed}`; + return withDot.toLowerCase(); +} + +async function syncAssociations(): Promise { + const asterConfig = vscode.workspace.getConfiguration('vs-code-aster'); + const raw = asterConfig.get(SETTING_KEY, ['.med', '.mmed', '.rmed']); + + const desiredPatterns = new Set( + raw + .map(normalizeExtension) + .filter((e): e is string => e !== null) + .map((ext) => `*${ext}`) + ); + + const filesConfig = vscode.workspace.getConfiguration('files'); + const current = filesConfig.get>('associations') ?? {}; + const next: Record = {}; + + for (const [pattern, language] of Object.entries(current)) { + if (language === MED_LANGUAGE_ID) { + continue; + } + next[pattern] = language; + } + + for (const pattern of desiredPatterns) { + next[pattern] = MED_LANGUAGE_ID; + } + + const before = JSON.stringify(current); + const after = JSON.stringify(next); + if (before === after) { + return; + } + + await filesConfig.update('associations', next, vscode.ConfigurationTarget.Global); +} + +export function activateMedLanguageSync(context: vscode.ExtensionContext): void { + void syncAssociations(); + + const listener = vscode.workspace.onDidChangeConfiguration((event) => { + if (event.affectsConfiguration(`vs-code-aster.${SETTING_KEY}`)) { + void syncAssociations(); + } + }); + + context.subscriptions.push(listener); +} diff --git a/src/extension.ts b/src/extension.ts index 15f77bd..0d63061 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -9,6 +9,7 @@ import { ExportEditor } from './ExportEditor'; import { RunAster } from './RunAster'; import { LspServer } from './LspServer'; import { StatusBar } from './StatusBar'; +import { activateMedLanguageSync } from './MedLanguageSync'; import { setTelemetryContext } from './telemetry'; /** @@ -39,6 +40,8 @@ export async function activate(context: vscode.ExtensionContext) { StatusBar.instance.activate(context); + activateMedLanguageSync(context); + context.subscriptions.push(runaster); context.subscriptions.push(createExportDoc); context.subscriptions.push(createMesh); From 5fa6f47ce754979a71690d9ab754d284d459fe38 Mon Sep 17 00:00:00 2001 From: Ulysse Bouchet Date: Wed, 15 Apr 2026 10:05:39 +0200 Subject: [PATCH 3/4] Limit pre-commit prettier to staged files Previously `git add -u` swept every tracked modification into the commit, making atomic splits impossible. The hook now formats only the files staged for the current commit and re-stages just those. --- .husky/pre-commit | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/.husky/pre-commit b/.husky/pre-commit index 0cd5fd7..553f74e 100644 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -1,8 +1,17 @@ #!/bin/sh set -e -npx prettier --write "src/**/*.ts" "webviews/viewer/src/**/*.{ts,svelte}" "webviews/export/**/*.{js,css,html}" -git add -u +# Only format files staged for this commit, and re-stage only those files. +# A blanket `git add -u` would otherwise sweep unrelated tracked +# modifications into the commit. +staged_files=$(git diff --cached --name-only --diff-filter=ACMR | \ + grep -E '^(src/.*\.ts|webviews/viewer/src/.*\.(ts|svelte)|webviews/export/.*\.(js|css|html))$' || true) + +if [ -n "$staged_files" ]; then + echo "$staged_files" | tr '\n' '\0' | xargs -0 npx prettier --write + echo "$staged_files" | tr '\n' '\0' | xargs -0 git add +fi + npx eslint --max-warnings=0 src/ webviews/export/ npx svelte-check --tsconfig webviews/viewer/tsconfig.json --fail-on-warnings python3 -m ruff check python/lsp/ python/med2obj.py From 5682e5947e9ce2d446c7873d24dc20c9c72f57bc Mon Sep 17 00:00:00 2001 From: Ulysse Bouchet Date: Wed, 15 Apr 2026 10:28:15 +0200 Subject: [PATCH 4/4] [1.5.4] Bump version to 1.5.4 --- CHANGELOG.md | 9 +++++++++ CITATION.cff | 2 +- README.md | 2 +- ROADMAP.md | 2 +- package-lock.json | 4 ++-- package.json | 2 +- 6 files changed, 15 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c6662ce..add871c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,15 @@ All notable changes to the **VS Code Aster** extension will be documented in thi The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [1.5.4] - 2026-04-15 + +File icon improvements and language support for `.export` and MED files. + +### Added +- Dedicated file icons for `.export` files (blue rocket) and `.med` / `.mmed` / `.rmed` files (orange cube) +- Refreshed code_aster logo, now bundled with its SVG source +- `vs-code-aster.medFileExtensions` setting to register arbitrary extensions (e.g. `.21`, `.71`) as MED files, which code_aster writes under the I/O unit number + ## [1.5.3] - 2026-03-26 Comment toggle support and Windows debugging improvements. diff --git a/CITATION.cff b/CITATION.cff index e4e2a92..a3dffb4 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -1,4 +1,4 @@ -cff-version: 1.5.3 +cff-version: 1.5.4 title: VS Code Aster message: >- If you use this software, please cite it using the diff --git a/README.md b/README.md index 710c4b6..e072e84 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@

Simvia Logo

- Version + Version License

diff --git a/ROADMAP.md b/ROADMAP.md index 27711ee..949c6b7 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -4,7 +4,7 @@ The extension aims to reduce friction between modeling, validation, execution, and analysis by bringing **code_aster** native workflows into the editor. -## Current Capabilities (v1.5.3) +## Current Capabilities (v1.5.4) - `.export` file generator - 3D mesh viewer diff --git a/package-lock.json b/package-lock.json index 8a8c731..f255755 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "vs-code-aster", - "version": "1.5.3", + "version": "1.5.4", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "vs-code-aster", - "version": "1.5.3", + "version": "1.5.4", "license": "GPL-3.0", "dependencies": { "@tailwindcss/cli": "^4.1.17", diff --git a/package.json b/package.json index 56aa11f..457bc47 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "vs-code-aster", "displayName": "VS Code Aster", - "version": "1.5.3", + "version": "1.5.4", "description": "VS Code extension for code_aster", "publisher": "simvia", "license": "GPL-3.0",