summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authoradamdottv <[email protected]>2025-06-16 12:23:58 -0500
committeradamdottv <[email protected]>2025-06-16 12:24:18 -0500
commitb9f894f1e94e0bd21cd1cc6080f21498d674e371 (patch)
treeda7d37ad74cada38bb11f79211c8016157123c20
parent7c0d10a4cec17d4cb2e04793c56363f2e746278b (diff)
downloadopencode-b9f894f1e94e0bd21cd1cc6080f21498d674e371.tar.gz
opencode-b9f894f1e94e0bd21cd1cc6080f21498d674e371.zip
feat: even faster tui init
-rw-r--r--packages/tui/internal/components/chat/messages.go4
-rw-r--r--packages/tui/internal/components/dialog/complete.go33
2 files changed, 22 insertions, 15 deletions
diff --git a/packages/tui/internal/components/chat/messages.go b/packages/tui/internal/components/chat/messages.go
index b59f96761..d0d839845 100644
--- a/packages/tui/internal/components/chat/messages.go
+++ b/packages/tui/internal/components/chat/messages.go
@@ -396,8 +396,8 @@ func NewMessagesComponent(app *app.App) layout.ModelWithView {
}
s := spinner.New(spinner.WithSpinner(customSpinner))
- vp := viewport.New() //(0, 0)
- attachments := viewport.New() //(0, 0)
+ vp := viewport.New()
+ attachments := viewport.New()
vp.KeyMap.PageUp = messageKeys.PageUp
vp.KeyMap.PageDown = messageKeys.PageDown
vp.KeyMap.HalfPageUp = messageKeys.HalfPageUp
diff --git a/packages/tui/internal/components/dialog/complete.go b/packages/tui/internal/components/dialog/complete.go
index 9bde1fd04..0f460ba30 100644
--- a/packages/tui/internal/components/dialog/complete.go
+++ b/packages/tui/internal/components/dialog/complete.go
@@ -141,6 +141,8 @@ func (c *completionDialogComponent) close() tea.Cmd {
func (c *completionDialogComponent) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
var cmds []tea.Cmd
switch msg := msg.(type) {
+ case []CompletionItemI:
+ c.list.SetItems(msg)
case tea.KeyMsg:
if c.pseudoSearchTextArea.Focused() {
if !key.Matches(msg, completionDialogKeys.Complete) {
@@ -155,18 +157,20 @@ func (c *completionDialogComponent) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
}
if query != c.query {
- items, err := c.completionProvider.GetChildEntries(query)
- if err != nil {
- // status.Error(err.Error())
- }
-
- c.list.SetItems(items)
c.query = query
+ cmd = func() tea.Msg {
+ items, err := c.completionProvider.GetChildEntries(query)
+ if err != nil {
+ // status.Error(err.Error())
+ }
+ // c.list.SetItems(items)
+ return items
+ }
+ cmds = append(cmds, cmd)
}
u, cmd := c.list.Update(msg)
c.list = u.(list.List[CompletionItemI])
-
cmds = append(cmds, cmd)
}
@@ -254,18 +258,21 @@ func (c *completionDialogComponent) SetProvider(provider CompletionProvider) {
func NewCompletionDialogComponent(completionProvider CompletionProvider) CompletionDialog {
ti := textarea.New()
- items, err := completionProvider.GetChildEntries("")
- if err != nil {
- // status.Error(err.Error())
- }
-
li := list.NewListComponent(
- items,
+ []CompletionItemI{},
7,
"No matches",
false,
)
+ go func() {
+ items, err := completionProvider.GetChildEntries("")
+ if err != nil {
+ // status.Error(err.Error())
+ }
+ li.SetItems(items)
+ }()
+
return &completionDialogComponent{
query: "",
completionProvider: completionProvider,