From 5c6b71b3a877125e6666560a9ff5870425799f36 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Krist=C3=B3f=20T=C3=B3th?= Date: Tue, 24 Dec 2019 22:20:41 +0100 Subject: [PATCH] Refactor awgo's unmaintainable global hell out of main --- main.go | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/main.go b/main.go index 1eec795..0c154d8 100644 --- a/main.go +++ b/main.go @@ -9,17 +9,21 @@ import ( "regexp" ) -var wf *aw.Workflow - -func init() { - wf = aw.New() -} func main() { - wf.Run(run) + translations := translateProgramArgs() + + wf := aw.New() + wf.Run(func() { + for _, translation := range translations { + wf.NewItem(translation).Arg(translation).Valid(true) + } + wf.WarnEmpty("No results", "Try a different query?") + wf.SendFeedback() + }) } -func run() { +func translateProgramArgs() []string { word, fromLang, toLang := parseProgramArgs(os.Args) if fromLang == "" && toLang == "" { fromLang, toLang = decideWhatLanguagesToUse(word) @@ -28,11 +32,7 @@ func run() { t := trans.New(word) t.Language = fromLang translations := t.Translate(toLang) - for _, translation := range translations { - wf.NewItem(translation).Arg(translation).Valid(true) - } - wf.WarnEmpty("No results", "Try a different query?") - wf.SendFeedback() + return translations } func parseProgramArgs(args []string) (string, string, string) {