fix(tui): move props.ref to onMount (#7702)

This commit is contained in:
Mani Sundararajan
2026-01-11 01:20:04 -05:00
committed by GitHub
parent 0cc3c3bc78
commit 9280db3297

View File

@@ -317,6 +317,38 @@ export function Prompt(props: PromptProps) {
onMount(() => {
promptPartTypeId = input.extmarks.registerType("prompt-part")
props.ref?.({
get focused() {
return input.focused
},
get current() {
return store.prompt
},
focus() {
input.focus()
},
blur() {
input.blur()
},
set(prompt) {
input.setText(prompt.input)
setStore("prompt", prompt)
restoreExtmarksFromParts(prompt.parts)
input.gotoBufferEnd()
},
reset() {
input.clear()
input.extmarks.clear()
setStore("prompt", {
input: "",
parts: [],
})
setStore("extmarkToPartIndex", new Map())
},
submit() {
submit()
},
})
})
function restoreExtmarksFromParts(parts: PromptInfo["parts"]) {
@@ -452,39 +484,6 @@ export function Prompt(props: PromptProps) {
},
])
props.ref?.({
get focused() {
return input.focused
},
get current() {
return store.prompt
},
focus() {
input.focus()
},
blur() {
input.blur()
},
set(prompt) {
input.setText(prompt.input)
setStore("prompt", prompt)
restoreExtmarksFromParts(prompt.parts)
input.gotoBufferEnd()
},
reset() {
input.clear()
input.extmarks.clear()
setStore("prompt", {
input: "",
parts: [],
})
setStore("extmarkToPartIndex", new Map())
},
submit() {
submit()
},
})
async function submit() {
if (props.disabled) return
if (autocomplete?.visible) return