@@ -95,64 +95,42 @@ func main() {
9595 }
9696
9797 if len (os .Args ) < 2 {
98- // Directly run the executable
9998 handleSetup ()
10099 logic .OpenUI (url.Values {}, false )
101100 return
102101 }
103102
104103 command := os .Args [1 ]
105-
106- if command == "run" || command == "debug" {
107- err := s .Run ()
108- if err != nil {
109- panic (err )
110- }
111- return
112- }
113-
114- if command == "version" {
115- fmt .Println (constants .Version )
116- return
117- }
118-
119- if command == "url" {
120- handleUrlScheme (os .Args [2 ])
121- return
122- }
123-
124- if command == "setup" {
125- handleSetup ()
126- return
127- }
128-
129- if command == "install-and-start" {
130- handleInstallAndStart (& s , serviceName )
131- return
132- }
133-
134- if command == "uninstall" {
135- handleSudo (false , []string {"uninstall-impl" })
104+ commandHandlers := map [string ]func (){
105+ "run" : func () { mustRun (s .Run ()) },
106+ "debug" : func () { mustRun (s .Run ()) },
107+ "version" : func () { fmt .Println (constants .Version ) },
108+ "url" : func () { handleUrlScheme (os .Args [2 ]) },
109+ "setup" : handleSetup ,
110+ "install-and-start" : func () { handleInstallAndStart (& s , serviceName ) },
111+ "uninstall" : func () { handleSudo (false , []string {"uninstall-impl" }) },
112+ "uninstall-impl" : func () { handleUninstall (s , serviceName ) },
113+ "sudo" : func () { handleSudoCommand () },
114+ }
115+
116+ if handler , exists := commandHandlers [command ]; exists {
117+ handler ()
136118 return
137119 }
138120
139- if command == "uninstall-impl" {
140- handleUninstall (s , serviceName )
141- return
142- }
121+ prg .logger .Infof ("Executing command: %s\n " , command )
122+ mustRun (service .Control (s , command ))
123+ }
143124
144- if command == "sudo" {
145- if len (os .Args ) < 3 {
146- fmt .Println ("Usage: sudo <command>" )
147- return
148- }
149- handleSudo (false , os .Args [2 :])
125+ func handleSudoCommand () {
126+ if len (os .Args ) < 3 {
127+ fmt .Println ("Usage: sudo <command>" )
150128 return
151129 }
130+ handleSudo (false , os .Args [2 :])
131+ }
152132
153- prg .logger .Infof ("Executing command: %s\n " , command )
154-
155- err = service .Control (s , command )
133+ func mustRun (err error ) {
156134 if err != nil {
157135 panic (err )
158136 }
@@ -222,10 +200,6 @@ func handleSudo(useInstalled bool, args []string) {
222200}
223201
224202func handleUrlScheme (url string ) {
225- if ! strings .HasPrefix (url , "uni-token://" ) {
226- fmt .Println ("Invalid URL scheme. Expected 'uni-token://'." )
227- return
228- }
229203 url = strings .TrimPrefix (url , "uni-token://" )
230204
231205 switch url {
0 commit comments