From 506f1479b36f7ccd91403b86d5d0a3392cc6f3d8 Mon Sep 17 00:00:00 2001 From: Oleg Lukasonok Date: Sun, 4 Oct 2026 21:49:54 +0300 Subject: [PATCH] =?UTF-8?q?Title=20the=20new-diagram=20command=20New=20Dia?= =?UTF-8?q?gram=20Archify=E2=80=A6=20(0.4.1)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Explorer folder menu shows a command's title without its category, so it read just "New Diagram…". The title now names Archify itself and the category is dropped, so the Command Palette shows the same text. Integration test asserts the title. --- CHANGELOG.md | 4 ++++ README.md | 6 +++--- package-lock.json | 4 ++-- package.json | 5 ++--- src/extension.ts | 6 +++--- test/integration/suite.ts | 7 ++++++- 6 files changed, 20 insertions(+), 12 deletions(-) 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;