summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authoradamdottv <[email protected]>2025-06-16 12:34:34 -0500
committeradamdottv <[email protected]>2025-06-16 12:34:34 -0500
commitc8eb1b24c38aad7b1d0375f4e09738f72ca1c929 (patch)
treeceb20787f305893179e43985764f84b6279a7ac5
parentb9f894f1e94e0bd21cd1cc6080f21498d674e371 (diff)
downloadopencode-c8eb1b24c38aad7b1d0375f4e09738f72ca1c929.tar.gz
opencode-c8eb1b24c38aad7b1d0375f4e09738f72ca1c929.zip
feat: believe it or not, even faster tui init
-rw-r--r--packages/tui/internal/components/dialog/complete.go20
-rw-r--r--packages/tui/internal/page/chat.go5
2 files changed, 11 insertions, 14 deletions
diff --git a/packages/tui/internal/components/dialog/complete.go b/packages/tui/internal/components/dialog/complete.go
index 0f460ba30..7a15c8c70 100644
--- a/packages/tui/internal/components/dialog/complete.go
+++ b/packages/tui/internal/components/dialog/complete.go
@@ -190,14 +190,17 @@ func (c *completionDialogComponent) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
return c, tea.Batch(cmds...)
} else {
- items, err := c.completionProvider.GetChildEntries("")
- if err != nil {
- // status.Error(err.Error())
+ cmd := func() tea.Msg {
+ items, err := c.completionProvider.GetChildEntries("")
+ if err != nil {
+ // status.Error(err.Error())
+ }
+ return items
}
-
- c.list.SetItems(items)
+ cmds = append(cmds, cmd)
+ cmds = append(cmds, c.pseudoSearchTextArea.Focus())
c.pseudoSearchTextArea.SetValue(msg.String())
- return c, c.pseudoSearchTextArea.Focus()
+ return c, tea.Batch(cmds...)
}
case tea.WindowSizeMsg:
c.width = msg.Width
@@ -247,11 +250,6 @@ func (c *completionDialogComponent) IsEmpty() bool {
func (c *completionDialogComponent) SetProvider(provider CompletionProvider) {
if c.completionProvider.GetId() != provider.GetId() {
c.completionProvider = provider
- items, err := provider.GetChildEntries("")
- if err != nil {
- // status.Error(err.Error())
- }
- c.list.SetItems(items)
}
}
diff --git a/packages/tui/internal/page/chat.go b/packages/tui/internal/page/chat.go
index d97171e16..b96f52b2c 100644
--- a/packages/tui/internal/page/chat.go
+++ b/packages/tui/internal/page/chat.go
@@ -98,7 +98,6 @@ func (p *chatPage) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
// Get the current text from the editor to determine which provider to use
editorModel := p.editor.GetContent().(interface{ GetValue() string })
currentInput := editorModel.GetValue()
-
provider := p.completionManager.GetProvider(currentInput)
p.completionDialog.SetProvider(provider)
@@ -106,9 +105,9 @@ func (p *chatPage) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
p.completionDialog = context.(dialog.CompletionDialog)
cmds = append(cmds, contextCmd)
- // Doesn't forward event if enter key is pressed and there are completions
+ // Doesn't forward event if enter key is pressed
if keyMsg, ok := msg.(tea.KeyMsg); ok {
- if keyMsg.String() == "enter" { // && !p.completionDialog.IsEmpty() {
+ if keyMsg.String() == "enter" {
return p, tea.Batch(cmds...)
}
}