Description
Description
Typing @ immediately after ( does not trigger file/autocomplete. e.g. (@ or See (@ shows no dropdown, while @ (space before) works.
Steps to reproduce
- Open opencode TUI (
opencode 1.18.25)
- Type
foo (@ or See (@
- Observe: no
@ autocomplete appears
- Type
foo @ -> works
Expected
@ should trigger after ( (and other common prefix punctuation like [, {, ", ', `) — typical in Markdown [@label](@file) or func(@file).
Actual
No trigger. Must insert a space (@, pick file, then delete space.
Root cause
packages/tui/src/prompt/display.ts:33 mentionTriggerIndex only allows start-of-line or \s:
const before = index === 0 ? undefined : text[index - 1]
if ((before === undefined || /\s/.test(before)) && !/\s/.test(query)) {
return promptOffsetWidth(text.slice(0, index))
}
( fails /\s/.test("(") so show("@") in packages/tui/src/component/prompt/autocomplete.tsx:308 never fires.
Proposed fix
- if ((before === undefined || /\s/.test(before)) && !/\s/.test(query)) {
+ if ((before === undefined || /[\s\(\[\{"'`]/.test(before)) && !/\s/.test(query)) {
Minimal fix for the reported bug: /[\s\(]/. Extended set covers [@, {@, "@, '@.
Workaround
Type (@, select, delete space.
Environment
- opencode 1.18.25 (Go binary ~/.opencode/bin/opencode)
- macOS Darwin, zsh
### Plugins
_No response_
### OpenCode version
1.18.25
### Steps to reproduce
_No response_
### Screenshot and/or share link
_No response_
### Operating System
macOS Darwin, zsh
### Terminal
Warp
Description
Description
Typing
@immediately after(does not trigger file/autocomplete. e.g.(@orSee (@shows no dropdown, while@(space before) works.Steps to reproduce
opencode1.18.25)foo (@orSee (@@autocomplete appearsfoo @-> worksExpected
@should trigger after((and other common prefix punctuation like[,{,",',`) — typical in Markdown[@label](@file)orfunc(@file).Actual
No trigger. Must insert a space
(@, pick file, then delete space.Root cause
packages/tui/src/prompt/display.ts:33mentionTriggerIndexonly allows start-of-line or\s: