Skip to content

Commit c58fac0

Browse files
authored
Merge pull request #40 from kiyonlin/master
Fix ui and bump dependency
2 parents 9d28187 + 0765ed0 commit c58fac0

File tree

8 files changed

+38
-20
lines changed

8 files changed

+38
-20
lines changed

cmd/internal/cmd.go

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,14 @@ import (
99

1010
"github.com/charmbracelet/bubbles/spinner"
1111
tea "github.com/charmbracelet/bubbletea"
12+
"github.com/containerd/console"
1213
"github.com/muesli/termenv"
1314
)
1415

1516
type SpinnerCmd struct {
1617
p *tea.Program
1718
spinnerModel spinner.Model
19+
size console.WinSize
1820
err error
1921
title string
2022
cmd *exec.Cmd
@@ -28,7 +30,7 @@ type SpinnerCmd struct {
2830

2931
func NewSpinnerCmd(cmd *exec.Cmd, title ...string) *SpinnerCmd {
3032
spinnerModel := spinner.NewModel()
31-
spinnerModel.Frames = spinner.Dot
33+
spinnerModel.Spinner = spinner.Dot
3234

3335
c := &SpinnerCmd{
3436
spinnerModel: spinnerModel,
@@ -49,7 +51,7 @@ func NewSpinnerCmd(cmd *exec.Cmd, title ...string) *SpinnerCmd {
4951
}
5052

5153
func (t *SpinnerCmd) Init() tea.Cmd {
52-
return tea.Batch(t.init(), spinner.Tick(t.spinnerModel))
54+
return tea.Batch(t.init(), spinner.Tick)
5355
}
5456

5557
func (t *SpinnerCmd) init() tea.Cmd {
@@ -100,7 +102,7 @@ func (t *SpinnerCmd) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
100102
}
101103

102104
var cmd tea.Cmd
103-
t.spinnerModel, cmd = spinner.Update(msg, t.spinnerModel)
105+
t.spinnerModel, cmd = t.spinnerModel.Update(msg)
104106
return t, cmd
105107
}
106108

@@ -110,13 +112,19 @@ func (t *SpinnerCmd) View() string {
110112
}
111113

112114
s := termenv.
113-
String(spinner.View(t.spinnerModel)).
115+
String(t.spinnerModel.View()).
114116
Foreground(term.Color("205")).
115117
String()
116118

117119
t.UpdateOutput(t.stdout)
118120
t.UpdateOutput(t.stderr)
119121

122+
// Make sure buf length not exceed screen width
123+
maxWidth := int(t.size.Width) - 2 - len(s) - 1 - len(t.title) - 1
124+
if len(t.buf) > maxWidth {
125+
t.buf = append(t.buf[:maxWidth-3], []byte("...")...)
126+
}
127+
120128
return fmt.Sprintf(spinnerCmdTemplate, s, t.title, t.buf)
121129
}
122130

@@ -128,7 +136,7 @@ const spinnerCmdTemplate = `
128136
`
129137

130138
func (t *SpinnerCmd) Run() (err error) {
131-
if err = checkConsole(); err != nil {
139+
if t.size, err = checkConsole(); err != nil {
132140
return
133141
}
134142

cmd/internal/helpers.go

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,14 @@ var term = termenv.ColorProfile()
1212

1313
type finishedMsg struct{ error }
1414

15-
func checkConsole() (err error) {
15+
func checkConsole() (size console.WinSize, err error) {
1616
defer func() {
1717
if e := recover(); e != nil {
1818
err = fmt.Errorf("%v", e)
1919
}
2020
}()
2121

22-
console.Current()
23-
24-
return
22+
return console.Current().Size()
2523
}
2624

2725
func errCmd(err error) tea.Cmd {

cmd/internal/prompt.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ func parseBool(str string) bool {
5050
}
5151

5252
func (p *Prompt) Answer() (result string, err error) {
53-
if err = checkConsole(); err != nil {
53+
if _, err = checkConsole(); err != nil {
5454
return
5555
}
5656

cmd/internal/prompt_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ func Test_Prompt_Update(t *testing.T) {
7070
at.NotNil(p.err)
7171
at.Nil(cmd)
7272

73-
_, cmd = p.Update(tea.KeyMsg{Type: tea.KeyRune, Rune: 'a'})
73+
_, cmd = p.Update(tea.KeyMsg{Type: tea.KeyRunes, Runes: []rune{'a'}})
7474
at.Nil(cmd)
7575

7676
_, cmd = p.Update(tea.KeyMsg{Type: tea.KeyCtrlC})

cmd/internal/task.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ type SpinnerTask struct {
2020

2121
func NewSpinnerTask(title string, task Task) *SpinnerTask {
2222
spinnerModel := spinner.NewModel()
23-
spinnerModel.Frames = spinner.Dot
23+
spinnerModel.Spinner = spinner.Dot
2424

2525
at := &SpinnerTask{
2626
title: title,
@@ -37,7 +37,7 @@ func (t *SpinnerTask) Init() tea.Cmd {
3737
return tea.Batch(
3838
func() tea.Msg {
3939
return finishedMsg{t.task()}
40-
}, spinner.Tick(t.spinnerModel))
40+
}, spinner.Tick)
4141
}
4242

4343
func (t *SpinnerTask) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
@@ -58,7 +58,7 @@ func (t *SpinnerTask) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
5858

5959
default:
6060
var cmd tea.Cmd
61-
t.spinnerModel, cmd = spinner.Update(msg, t.spinnerModel)
61+
t.spinnerModel, cmd = t.spinnerModel.Update(msg)
6262
return t, cmd
6363
}
6464

@@ -70,15 +70,15 @@ func (t *SpinnerTask) View() string {
7070
}
7171

7272
s := termenv.
73-
String(spinner.View(t.spinnerModel)).
73+
String(t.spinnerModel.View()).
7474
Foreground(term.Color("205")).
7575
String()
7676

7777
return fmt.Sprintf("\n %s %s\n\n(esc/q/ctrl+c to quit)\n\n", s, t.title)
7878
}
7979

8080
func (t *SpinnerTask) Run() (err error) {
81-
if err = checkConsole(); err != nil {
81+
if _, err = checkConsole(); err != nil {
8282
return
8383
}
8484

cmd/root.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import (
99
"github.com/spf13/cobra"
1010
)
1111

12-
const version = "0.0.5"
12+
const version = "0.0.6"
1313
const configName = ".fiberconfig"
1414

1515
var (

go.mod

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ module github.com/gofiber/cli
33
go 1.14
44

55
require (
6-
github.com/charmbracelet/bubbles v0.7.3-0.20201029012715-9b47f26bdd8c
7-
github.com/charmbracelet/bubbletea v0.12.2-0.20201030073758-eae4d669176e
6+
github.com/charmbracelet/bubbles v0.7.5
7+
github.com/charmbracelet/bubbletea v0.12.2
88
github.com/containerd/console v1.0.1
99
github.com/fsnotify/fsnotify v1.4.9
1010
github.com/jarcoal/httpmock v1.0.6
@@ -13,7 +13,8 @@ require (
1313
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e // indirect
1414
github.com/spf13/cobra v1.1.1
1515
github.com/stretchr/testify v1.6.1
16-
golang.org/x/sys v0.0.0-20201029080932-201ba4db2418 // indirect
16+
golang.org/x/crypto v0.0.0-20201117144127-c1f2f97bffc9 // indirect
17+
golang.org/x/sys v0.0.0-20201117222635-ba5294a509c7 // indirect
1718
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f // indirect
1819
gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776 // indirect
1920
)

go.sum

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,14 @@ github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJm
2929
github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
3030
github.com/charmbracelet/bubbles v0.7.3-0.20201029012715-9b47f26bdd8c h1:sXhe4YmFER1XE+Xl4z5aKmxB1vgYFS35rYHl+SdqStw=
3131
github.com/charmbracelet/bubbles v0.7.3-0.20201029012715-9b47f26bdd8c/go.mod h1:UV3dot0XR45cnQX2d8gtohfUFMepquRG2WE56LPKWNc=
32+
github.com/charmbracelet/bubbles v0.7.5 h1:N6TiahuRt2iGNE5gYxKBQ5/C6Lc8xxSp5LY9QJ09mS4=
33+
github.com/charmbracelet/bubbles v0.7.5/go.mod h1:IRTORFvhEI6OUH7WhN2Ks8Z8miNGimk1BE6cmHijOkM=
3234
github.com/charmbracelet/bubbletea v0.12.1 h1:t21pkG2IDBRduPbt2J64Dx5yt8yIidAkXwhhrc11SzY=
3335
github.com/charmbracelet/bubbletea v0.12.1/go.mod h1:3gZkYELUOiEUOp0bTInkxguucy/xRbGSOcbMs1geLxg=
3436
github.com/charmbracelet/bubbletea v0.12.2-0.20201030073758-eae4d669176e h1:YtuSHt+8rTjzKIenKZ0I15Abt9wfItNjHvwTdiwem8U=
3537
github.com/charmbracelet/bubbletea v0.12.2-0.20201030073758-eae4d669176e/go.mod h1:3gZkYELUOiEUOp0bTInkxguucy/xRbGSOcbMs1geLxg=
38+
github.com/charmbracelet/bubbletea v0.12.2 h1:y9Yo2Pv8tcm3mAJsWONGsmHhzrbNxJVxpVtemikxE9A=
39+
github.com/charmbracelet/bubbletea v0.12.2/go.mod h1:3gZkYELUOiEUOp0bTInkxguucy/xRbGSOcbMs1geLxg=
3640
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
3741
github.com/containerd/console v1.0.1 h1:u7SFAJyRqWcG6ogaMAx3KjSTy1e3hT9QxqX7Jco7dRc=
3842
github.com/containerd/console v1.0.1/go.mod h1:XUsP6YE/mKtz6bxc+I8UiKKTP04qjQL4qcS3XoQ5xkw=
@@ -227,6 +231,8 @@ golang.org/x/crypto v0.0.0-20201012173705-84dcc777aaee h1:4yd7jl+vXjalO5ztz6Vc1V
227231
golang.org/x/crypto v0.0.0-20201012173705-84dcc777aaee/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
228232
golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897 h1:pLI5jrR7OSLijeIDcmRxNmw2api+jEfxLoykJVice/E=
229233
golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
234+
golang.org/x/crypto v0.0.0-20201117144127-c1f2f97bffc9 h1:phUcVbl53swtrUN8kQEXFhUxPlIlWyBfKmidCu7P95o=
235+
golang.org/x/crypto v0.0.0-20201117144127-c1f2f97bffc9/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I=
230236
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
231237
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
232238
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
@@ -281,13 +287,18 @@ golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7w
281287
golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
282288
golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
283289
golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
290+
golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
284291
golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
285292
golang.org/x/sys v0.0.0-20200916030750-2334cc1a136f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
286293
golang.org/x/sys v0.0.0-20201009025420-dfb3f7c4e634/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
287294
golang.org/x/sys v0.0.0-20201020230747-6e5568b54d1a h1:e3IU37lwO4aq3uoRKINC7JikojFmE5gO7xhfxs8VC34=
288295
golang.org/x/sys v0.0.0-20201020230747-6e5568b54d1a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
289296
golang.org/x/sys v0.0.0-20201029080932-201ba4db2418 h1:HlFl4V6pEMziuLXyRkm5BIYq1y1GAbb02pRlWvI54OM=
290297
golang.org/x/sys v0.0.0-20201029080932-201ba4db2418/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
298+
golang.org/x/sys v0.0.0-20201117222635-ba5294a509c7 h1:s330+6z/Ko3J0o6rvOcwXe5nzs7UT9tLKHoOXYn6uE0=
299+
golang.org/x/sys v0.0.0-20201117222635-ba5294a509c7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
300+
golang.org/x/term v0.0.0-20201117132131-f5c789dd3221 h1:/ZHdbVpdR/jk3g30/d4yUL0JU9kksj8+F/bnQUVLGDM=
301+
golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
291302
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
292303
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
293304
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=

0 commit comments

Comments
 (0)