22package main
33
44import (
5+ "context"
56 "fmt"
67 "os"
8+ "strings"
79 "text/tabwriter"
810
11+ log "github.com/obalunenko/logger"
912 "github.com/obalunenko/version"
1013 "github.com/urfave/cli"
1114)
1215
13- func printVersion (_ * cli.Context ) error {
16+ func printHeader (_ * cli.Context ) error {
1417 w := tabwriter .NewWriter (os .Stdout , 0 , 0 , 1 , ' ' , tabwriter .TabIndent )
1518
19+ _ , err := fmt .Fprintf (w , `
20+
21+ █████╗ ██████╗ ██╗ ██╗███████╗███╗ ██╗████████╗ ██████╗ ███████╗ ██████╗ ██████╗ ██████╗ ███████╗
22+ ██╔══██╗██╔══██╗██║ ██║██╔════╝████╗ ██║╚══██╔══╝ ██╔═══██╗██╔════╝ ██╔════╝██╔═══██╗██╔══██╗██╔════╝
23+ ███████║██║ ██║██║ ██║█████╗ ██╔██╗ ██║ ██║ ██║ ██║█████╗ ██║ ██║ ██║██║ ██║█████╗
24+ ██╔══██║██║ ██║╚██╗ ██╔╝██╔══╝ ██║╚██╗██║ ██║ ██║ ██║██╔══╝ ██║ ██║ ██║██║ ██║██╔══╝
25+ ██║ ██║██████╔╝ ╚████╔╝ ███████╗██║ ╚████║ ██║ ╚██████╔╝██║ ╚██████╗╚██████╔╝██████╔╝███████╗
26+ ╚═╝ ╚═╝╚═════╝ ╚═══╝ ╚══════╝╚═╝ ╚═══╝ ╚═╝ ╚═════╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═════╝ ╚══════╝
27+
28+ ` )
29+ if err != nil {
30+ return fmt .Errorf ("print version: %w" , err )
31+ }
32+
33+ return nil
34+ }
35+
36+ func printVersion (ctx context.Context ) string {
37+ var buf strings.Builder
38+
39+ w := tabwriter .NewWriter (& buf , 0 , 0 , 1 , ' ' , tabwriter .TabIndent )
40+
1641 _ , err := fmt .Fprintf (w , `
1742| app_name: %s |
1843| version: %s |
@@ -34,8 +59,12 @@ func printVersion(_ *cli.Context) error {
3459 version .GetBuildDate (),
3560 version .GetGoVersion ())
3661 if err != nil {
37- return fmt . Errorf ( "print version: %w" , err )
62+ log . WithError ( ctx , err ). Fatal ( "fprintf" )
3863 }
3964
40- return nil
65+ if err := w .Flush (); err != nil {
66+ log .WithError (ctx , err ).Fatal ("flush" )
67+ }
68+
69+ return buf .String ()
4170}
0 commit comments