Title the new-diagram command New Diagram Archify… (0.4.1)
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.
This commit is contained in:
@@ -1,5 +1,9 @@
|
|||||||
# Changelog
|
# 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
|
## 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.
|
- **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.
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ This is an unofficial extension. It bundles the Archify renderer (MIT, © tt-a1i
|
|||||||
|
|
||||||
## Quick start
|
## 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:
|
To write one by hand:
|
||||||
|
|
||||||
@@ -45,7 +45,7 @@ Archify's own JSON naming, `name.architecture.json`, `name.workflow.json` and so
|
|||||||
|
|
||||||
## Features
|
## 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.
|
- **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, <kbd>Cmd/Ctrl+K V</kbd> (to the side) or <kbd>Cmd/Ctrl+Shift+V</kbd>. The preview keeps the focus and route you selected (`#focus=…`, `#route=…`) when it re-renders.
|
- **Live preview**: for Archify's `*.architecture.json`-style files, or any JSON with a `diagram_type`. Use the preview button in the editor title, <kbd>Cmd/Ctrl+K V</kbd> (to the side) or <kbd>Cmd/Ctrl+Shift+V</kbd>. 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.
|
- **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.
|
- **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.
|
- **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.
|
- **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
|
## Source evidence
|
||||||
|
|
||||||
|
|||||||
Generated
+2
-2
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "archify-vscode-ext",
|
"name": "archify-vscode-ext",
|
||||||
"version": "0.4.0",
|
"version": "0.4.1",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "archify-vscode-ext",
|
"name": "archify-vscode-ext",
|
||||||
"version": "0.4.0",
|
"version": "0.4.1",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"yaml": "^2.9.1"
|
"yaml": "^2.9.1"
|
||||||
|
|||||||
+2
-3
@@ -2,7 +2,7 @@
|
|||||||
"name": "archify-vscode-ext",
|
"name": "archify-vscode-ext",
|
||||||
"displayName": "Archify Diagram Viewer",
|
"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.",
|
"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",
|
"publisher": "root-at-skic",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"icon": "media/icon.png",
|
"icon": "media/icon.png",
|
||||||
@@ -40,8 +40,7 @@
|
|||||||
"commands": [
|
"commands": [
|
||||||
{
|
{
|
||||||
"command": "archify.newDiagram",
|
"command": "archify.newDiagram",
|
||||||
"title": "New Diagram\u2026",
|
"title": "New Diagram Archify\u2026",
|
||||||
"category": "Archify",
|
|
||||||
"icon": "$(new-file)"
|
"icon": "$(new-file)"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
+3
-3
@@ -112,7 +112,7 @@ export function activate(context: vscode.ExtensionContext): void {
|
|||||||
vscode.commands.registerCommand('archify.newDiagram', async (arg?: unknown) => {
|
vscode.commands.registerCommand('archify.newDiagram', async (arg?: unknown) => {
|
||||||
const template = await vscode.window.showQuickPick(
|
const template = await vscode.window.showQuickPick(
|
||||||
TEMPLATES.map((item) => ({ label: item.label, description: item.description, template: item })),
|
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;
|
if (!template) return;
|
||||||
const { file, defaultName } = template.template;
|
const { file, defaultName } = template.template;
|
||||||
@@ -121,7 +121,7 @@ export function activate(context: vscode.ExtensionContext): void {
|
|||||||
let target: vscode.Uri | undefined;
|
let target: vscode.Uri | undefined;
|
||||||
if (folder) {
|
if (folder) {
|
||||||
const name = await vscode.window.showInputBox({
|
const name = await vscode.window.showInputBox({
|
||||||
title: 'New Archify Diagram',
|
title: 'New Diagram Archify',
|
||||||
prompt: `File name in ${vscode.workspace.asRelativePath(folder, true)}`,
|
prompt: `File name in ${vscode.workspace.asRelativePath(folder, true)}`,
|
||||||
value: defaultName,
|
value: defaultName,
|
||||||
validateInput: async (value) =>
|
validateInput: async (value) =>
|
||||||
@@ -133,7 +133,7 @@ export function activate(context: vscode.ExtensionContext): void {
|
|||||||
} else {
|
} else {
|
||||||
// No workspace: let the user choose where to save.
|
// No workspace: let the user choose where to save.
|
||||||
target = await vscode.window.showSaveDialog({
|
target = await vscode.window.showSaveDialog({
|
||||||
title: 'New Archify Diagram',
|
title: 'New Diagram Archify',
|
||||||
filters: { 'Archify Diagram': ['archify'] },
|
filters: { 'Archify Diagram': ['archify'] },
|
||||||
saveLabel: 'Create',
|
saveLabel: 'Create',
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -97,7 +97,12 @@ export async function run(): Promise<void> {
|
|||||||
assert.ok(diagnostics[0].range.start.line >= 2, `reported on line ${diagnostics[0].range.start.line + 1}`);
|
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('.');
|
const folder = workspaceFile('.');
|
||||||
// Stub the template pick and the name prompt; check the name validation on the way.
|
// Stub the template pick and the name prompt; check the name validation on the way.
|
||||||
const window = vscode.window as unknown as Record<string, unknown>;
|
const window = vscode.window as unknown as Record<string, unknown>;
|
||||||
|
|||||||
Reference in New Issue
Block a user