]> git.giacomolli.uk - onechat/blobdiff - main.go
Mark the line limit with ASCII only
[onechat] / main.go
diff --git a/main.go b/main.go
index 271a91a56d749d67880213d921a949ecfa6b8b15..9cd619a3cf8a1e207cfecfbbd331321b9fbe5977 100644 (file)
--- a/main.go
+++ b/main.go
@@ -5,6 +5,7 @@ import (
        "fmt"
        "os"
        "os/signal"
        "fmt"
        "os"
        "os/signal"
+       "strings"
        "syscall"
 )
 
        "syscall"
 )
 
@@ -20,9 +21,20 @@ func run() error {
        ctx, cancel := signal.NotifyContext(context.Background(), os.Interrupt, syscall.SIGTERM)
        defer cancel()
 
        ctx, cancel := signal.NotifyContext(context.Background(), os.Interrupt, syscall.SIGTERM)
        defer cancel()
 
-       _, err := fmt.Println("onechat")
-       if err != nil {
-               return err
+       args := os.Args[1:]
+       switch {
+       case len(args) == 0:
+               _, err := fmt.Println("onechat")
+               if err != nil {
+                       return err
+               }
+       case len(args) == 1 && args[0] == "login":
+               err := login(ctx, os.Stdout)
+               if err != nil {
+                       return err
+               }
+       default:
+               return fmt.Errorf("unknown command %q", strings.Join(args, " "))
        }
 
        return ctx.Err()
        }
 
        return ctx.Err()