Skip to content

Commit 46f3130

Browse files
committed
re: eliminate goto usage
1 parent 55fba98 commit 46f3130

File tree

1 file changed

+43
-41
lines changed

1 file changed

+43
-41
lines changed

cmd/ytgo/yt.go

Lines changed: 43 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import (
1111
"github.com/ergochat/readline"
1212
)
1313

14-
const VERSION string = "v3.3.1"
14+
const VERSION string = "v3.4.0"
1515

1616
const (
1717
C_RED string = "\x1b[31m"
@@ -69,56 +69,58 @@ func main() {
6969
// get search query
7070
if p {
7171
rl = GetReadline()
72-
goto prompt
72+
} else {
73+
query = strings.Join(flag.Args(), " ")
7374
}
74-
query = strings.Join(flag.Args(), " ")
7575

76-
entrypoint:
77-
if query == "" {
76+
for {
7877
if p {
79-
fmt.Println("No search query provided.")
80-
goto prompt
78+
query, err = rl.ReadLine()
79+
if err != nil {
80+
return // exit on EOF/SIGINT
81+
}
8182
}
82-
flag.Usage()
83-
fmt.Println()
84-
log.Fatalln("no query provided")
85-
}
8683

87-
// play media from YT or display URL
88-
if u {
89-
v, err = GetVideoFromURL(query)
90-
} else if i {
91-
vs, err := GetSearchResults(query)
92-
if err == nil {
93-
v, err = GetVideoFromMenu(vs)
94-
if v == BACK_FLAG {
95-
goto prompt
84+
if query == "" {
85+
if p {
86+
fmt.Println("No search query provided.")
87+
continue
9688
}
89+
flag.Usage()
90+
fmt.Println()
91+
log.Fatalln("no query provided")
9792
}
98-
} else {
99-
v, err = GetVideoFromSearch(query, n)
100-
}
101-
if err != nil {
102-
log.Fatalln(err)
103-
} else if v == nil {
104-
return
105-
} else if d {
106-
fmt.Println(v.Id.URL())
107-
} else {
108-
fmt.Println("Playing:", v)
109-
err = v.Play(m)
110-
}
111-
if err != nil {
112-
log.Fatalln(err)
113-
}
11493

115-
prompt:
116-
if p {
117-
query, err = rl.ReadLine()
94+
// play media from YT or display URL
95+
if u {
96+
v, err = GetVideoFromURL(query)
97+
} else if i {
98+
vs, err := GetSearchResults(query)
99+
if err == nil {
100+
v, err = GetVideoFromMenu(vs)
101+
if v == BACK_FLAG {
102+
continue
103+
}
104+
}
105+
} else {
106+
v, err = GetVideoFromSearch(query, n)
107+
}
118108
if err != nil {
119-
return // exit on EOF/SIGINT
109+
log.Fatalln(err)
110+
} else if v == nil {
111+
return
112+
} else if d {
113+
fmt.Println(v.Id.URL())
114+
} else {
115+
fmt.Println("Playing:", v)
116+
err = v.Play(m)
117+
}
118+
if err != nil {
119+
log.Fatalln(err)
120+
}
121+
if !p {
122+
break
120123
}
121-
goto entrypoint
122124
}
123125
}
124126

0 commit comments

Comments
 (0)