diff --git a/CHANGELOG.md b/CHANGELOG.md index e86076e..b43811c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## 0.4.1 — 2026-10-04 + +- The new-diagram command is now titled **New Diagram Archify…** everywhere, including the Explorer folder menu, where it read *New Diagram…*. + ## 0.4.0 — 2026-10-04 - **New Diagram…** (Explorer folder menu, *File → New File…*, Command Palette): pick Architecture, Workflow, Sequence, Data Flow, Lifecycle or Everyday Plan, enter a name, and a small valid `.archify` (YAML) file is created from a template and opened as a diagram. Title and output file follow the name. diff --git a/README.md b/README.md index 9eae705..8ec438c 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ This is an unofficial extension. It bundles the Archify renderer (MIT, © tt-a1i ## Quick start -The fastest start: right-click a folder in the Explorer and choose **New Archify Diagram…** (also in *File → New File…* and the Command Palette). Pick a kind of diagram (Architecture, Workflow, Sequence, Data Flow, Lifecycle or Everyday Plan), give it a name, and a small working `.archify` file is created and opened. Change its YAML to fit your case. +The fastest start: right-click a folder in the Explorer and choose **New Diagram Archify…** (also in *File → New File…* and the Command Palette). Pick a kind of diagram (Architecture, Workflow, Sequence, Data Flow, Lifecycle or Everyday Plan), give it a name, and a small working `.archify` file is created and opened. Change its YAML to fit your case. To write one by hand: @@ -45,7 +45,7 @@ Archify's own JSON naming, `name.architecture.json`, `name.workflow.json` and so ## Features -- **New diagram from a template**: *Archify: New Diagram…* creates a starter `.archify` file for any of the five diagram kinds, or an everyday plan, in the chosen folder. +- **New diagram from a template**: *New Diagram Archify…* creates a starter `.archify` file for any of the five diagram kinds, or an everyday plan, in the chosen folder. - **Diagram editor**: `.archify` files open as the rendered diagram. **Show Source** opens the YAML beside it, and edits re-render live. - **Live preview**: for Archify's `*.architecture.json`-style files, or any JSON with a `diagram_type`. Use the preview button in the editor title, Cmd/Ctrl+K V (to the side) or Cmd/Ctrl+Shift+V. The preview keeps the focus and route you selected (`#focus=…`, `#route=…`) when it re-renders. - **HTML viewer**: right-click a rendered `.html` file and choose **Open in Archify Viewer**, or use *Reopen Editor With… → Archify Diagram Viewer*. For Archify HTML already open as text, a button appears in the editor title. The viewer reloads when the file changes on disk. @@ -53,7 +53,7 @@ Archify's own JSON naming, `name.architecture.json`, `name.workflow.json` and so - **Schema help**: completion and hover come from Archify's own schemas: built in for the JSON files, and through the YAML extension for `.archify` files. - **Source links**: in source-backed diagrams, clicking a source reference opens that file and line range in the editor. If the file is not in the workspace, the web link opens instead. - **Export**: the diagram's own Export menu (PNG, SVG, share card, …) saves through a VS Code save dialog. -- **Commands**: *Archify: New Diagram…*, *Archify: Render to HTML File…*, *Archify: Open in Browser*, *Archify: Refresh Preview*, *Archify: Show Source*. +- **Commands**: *New Diagram Archify…*, *Archify: Render to HTML File…*, *Archify: Open in Browser*, *Archify: Refresh Preview*, *Archify: Show Source*. ## Source evidence diff --git a/package-lock.json b/package-lock.json index 4e24e6d..7417403 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "archify-vscode-ext", - "version": "0.4.0", + "version": "0.4.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "archify-vscode-ext", - "version": "0.4.0", + "version": "0.4.1", "license": "MIT", "dependencies": { "yaml": "^2.9.1" diff --git a/package.json b/package.json index f881b6b..75954d1 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "archify-vscode-ext", "displayName": "Archify Diagram Viewer", "description": "Visualize Archify diagrams: .archify files (YAML) open straight into the interactive diagram; also previews Archify JSON sources and rendered Archify HTML inside VS Code.", - "version": "0.4.0", + "version": "0.4.1", "publisher": "root-at-skic", "license": "MIT", "icon": "media/icon.png", @@ -40,8 +40,7 @@ "commands": [ { "command": "archify.newDiagram", - "title": "New Diagram\u2026", - "category": "Archify", + "title": "New Diagram Archify\u2026", "icon": "$(new-file)" }, { diff --git a/src/extension.ts b/src/extension.ts index 2f55f14..ca18ef9 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -112,7 +112,7 @@ export function activate(context: vscode.ExtensionContext): void { vscode.commands.registerCommand('archify.newDiagram', async (arg?: unknown) => { const template = await vscode.window.showQuickPick( TEMPLATES.map((item) => ({ label: item.label, description: item.description, template: item })), - { title: 'New Archify Diagram', placeHolder: 'Kind of diagram' }, + { title: 'New Diagram Archify', placeHolder: 'Kind of diagram' }, ); if (!template) return; const { file, defaultName } = template.template; @@ -121,7 +121,7 @@ export function activate(context: vscode.ExtensionContext): void { let target: vscode.Uri | undefined; if (folder) { const name = await vscode.window.showInputBox({ - title: 'New Archify Diagram', + title: 'New Diagram Archify', prompt: `File name in ${vscode.workspace.asRelativePath(folder, true)}`, value: defaultName, validateInput: async (value) => @@ -133,7 +133,7 @@ export function activate(context: vscode.ExtensionContext): void { } else { // No workspace: let the user choose where to save. target = await vscode.window.showSaveDialog({ - title: 'New Archify Diagram', + title: 'New Diagram Archify', filters: { 'Archify Diagram': ['archify'] }, saveLabel: 'Create', }); diff --git a/test/integration/suite.ts b/test/integration/suite.ts index 2210dd2..3badf87 100644 --- a/test/integration/suite.ts +++ b/test/integration/suite.ts @@ -97,7 +97,12 @@ export async function run(): Promise { assert.ok(diagnostics[0].range.start.line >= 2, `reported on line ${diagnostics[0].range.start.line + 1}`); }); - await check('New Diagram creates a .archify file from a template and opens the diagram', async () => { + await check('New Diagram Archify creates a .archify file from a template and opens the diagram', async () => { + // Menus show the bare title, so it must name Archify by itself. + const commands = vscode.extensions.getExtension(EXTENSION_ID)?.packageJSON.contributes.commands as { command: string; title: string; category?: string }[]; + const newDiagram = commands.find((item) => item.command === 'archify.newDiagram'); + assert.equal(newDiagram?.title, 'New Diagram Archify…'); + assert.equal(newDiagram?.category, undefined); const folder = workspaceFile('.'); // Stub the template pick and the name prompt; check the name validation on the way. const window = vscode.window as unknown as Record;