From 20654f9c40b6c37741009cabb1d1b88ec2b36a19 Mon Sep 17 00:00:00 2001 From: Hare Date: Thu, 16 Jul 2026 07:50:13 +0900 Subject: [PATCH] fix: disable hash console completions --- .../src/lib/workspace/console/composer-completion.test.ts | 3 ++- .../src/lib/workspace/console/composer-completion.ts | 6 ++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/web/workspace/src/lib/workspace/console/composer-completion.test.ts b/web/workspace/src/lib/workspace/console/composer-completion.test.ts index ae8d04c9..0f62ed03 100644 --- a/web/workspace/src/lib/workspace/console/composer-completion.test.ts +++ b/web/workspace/src/lib/workspace/console/composer-completion.test.ts @@ -22,7 +22,7 @@ function assertEquals(actual: T, expected: T): void { } } -Deno.test("completionTokenAt detects TUI-style sigils before the cursor", () => { +Deno.test("completionTokenAt detects command and file sigils before the cursor", () => { assertEquals(completionTokenAt("open @src/ma", "open @src/ma".length), { sigil: "@", kind: "file", @@ -32,6 +32,7 @@ Deno.test("completionTokenAt detects TUI-style sigils before the cursor", () => }); assertEquals(completionTokenAt(":comp", 5)?.kind, "command"); assertEquals(completionTokenAt("run /work", 9), null); + assertEquals(completionTokenAt("ask #plain", "ask #plain".length), null); }); Deno.test("applyCompletion replaces the active token and advances the cursor", () => { diff --git a/web/workspace/src/lib/workspace/console/composer-completion.ts b/web/workspace/src/lib/workspace/console/composer-completion.ts index 45179a56..41cc3d52 100644 --- a/web/workspace/src/lib/workspace/console/composer-completion.ts +++ b/web/workspace/src/lib/workspace/console/composer-completion.ts @@ -1,7 +1,7 @@ export type ComposerCompletionKind = "command" | "file"; export type ComposerCompletionToken = { - sigil: ":" | "@" | "#"; + sigil: ":" | "@"; kind: ComposerCompletionKind; start: number; end: number; @@ -35,7 +35,7 @@ export function completionTokenAt( ): ComposerCompletionToken | null { const boundedCursor = Math.max(0, Math.min(cursor, value.length)); const before = value.slice(0, boundedCursor); - const match = /(^|\s)([:@#])([^\s]*)$/.exec(before); + const match = /(^|\s)([:@])([^\s]*)$/.exec(before); if (!match) { return null; } @@ -83,8 +83,6 @@ function completionKindForSigil( switch (sigil) { case ":": return "command"; - default: - return "file"; case "@": return "file"; }