Skip to content

Commit aac5616

Browse files
committed
feat: コミットメッセージの生成を並列化し、ローディング処理を実装
1 parent 4d7990c commit aac5616

File tree

1 file changed

+18
-16
lines changed

1 file changed

+18
-16
lines changed

cmd/suggest.go

+18-16
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,13 @@ import (
1717
)
1818

1919
type model struct {
20-
choices []string
21-
currentIdx int
22-
errorMsg string
23-
isLoading bool
24-
animationIdx int
25-
isEditing bool
26-
spinner spinner.Model
27-
textInput textinput.Model
20+
choices []string
21+
currentIdx int
22+
errorMsg string
23+
isLoading bool
24+
isEditing bool
25+
spinner spinner.Model
26+
textInput textinput.Model
2827
}
2928

3029
func (m *model) Init() tea.Cmd {
@@ -41,13 +40,16 @@ func (m *model) Init() tea.Cmd {
4140
gi = gateway.NewGrpcServeGateway()
4241
}
4342

44-
messages, err := gi.FetchCommitMessages()
45-
if err != nil {
46-
log.Fatal("コミットメッセージの生成に失敗: ", err)
47-
os.Exit(-1)
48-
}
49-
m.choices = messages
50-
m.isLoading = false
43+
go func() {
44+
messages, err := gi.FetchCommitMessages()
45+
if err != nil {
46+
log.Fatal("コミットメッセージの生成に失敗: ", err)
47+
os.Exit(-1)
48+
}
49+
m.choices = messages
50+
m.isLoading = false
51+
}()
52+
5153
return textinput.Blink
5254
}
5355

@@ -86,7 +88,7 @@ func (m *model) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
8688
m.spinner, cmd = m.spinner.Update(msg)
8789
return m, cmd
8890
}
89-
return m, nil
91+
return m, m.spinner.Tick
9092
}
9193

9294
func (m *model) resetSpinner() {

0 commit comments

Comments
 (0)