diff --git a/packages/app/src/utils/file-mention-autocomplete.test.ts b/packages/app/src/utils/file-mention-autocomplete.test.ts index db975a760..e5e2ec506 100644 --- a/packages/app/src/utils/file-mention-autocomplete.test.ts +++ b/packages/app/src/utils/file-mention-autocomplete.test.ts @@ -36,6 +36,14 @@ describe("findActiveFileMention", () => { }); expect(mention).toBeNull(); }); + + it("returns null when @ at start is followed by a delimiter", () => { + const mention = findActiveFileMention({ + text: "@ ", + cursorIndex: 2, + }); + expect(mention).toBeNull(); + }); }); describe("applyFileMentionReplacement", () => { diff --git a/packages/app/src/utils/file-mention-autocomplete.ts b/packages/app/src/utils/file-mention-autocomplete.ts index 21c99a9c5..748a13458 100644 --- a/packages/app/src/utils/file-mention-autocomplete.ts +++ b/packages/app/src/utils/file-mention-autocomplete.ts @@ -24,7 +24,7 @@ export function findActiveFileMention(input: FindActiveFileMentionInput): FileMe for ( let atIndex = beforeCursor.lastIndexOf("@"); atIndex >= 0; - atIndex = beforeCursor.lastIndexOf("@", atIndex - 1) + atIndex = atIndex === 0 ? -1 : beforeCursor.lastIndexOf("@", atIndex - 1) ) { const query = beforeCursor.slice(atIndex + 1); if (INVALID_MENTION_QUERY_CHARS.test(query)) {