@@ -2,12 +2,13 @@ package main
22
33import (
44 "context"
5- "flag"
65 "fmt"
76
87 "github.com/sourcegraph/sourcegraph/lib/errors"
98
9+ "github.com/sourcegraph/src-cli/internal/clicompat"
1010 "github.com/sourcegraph/src-cli/internal/oauth"
11+ "github.com/urfave/cli/v3"
1112)
1213
1314var (
@@ -21,37 +22,40 @@ type oauthTokenRefresher interface {
2122 GetToken (ctx context.Context ) (oauth.Token , error )
2223}
2324
24- func init () {
25- flagSet := flag .NewFlagSet ("token" , flag .ExitOnError )
26- header := flagSet .Bool ("header" , false , "print the token as an Authorization header" )
27- usageFunc := func () {
28- fmt .Fprintf (flag .CommandLine .Output (), "Usage of 'src auth token':\n \n " )
29- fmt .Fprintf (flag .CommandLine .Output (), "Print the current authentication token.\n " )
30- fmt .Fprintf (flag .CommandLine .Output (), "Use --header to print a complete Authorization header instead.\n \n " )
31- flagSet .PrintDefaults ()
32- }
33-
34- handler := func (args []string ) error {
35- if err := flagSet .Parse (args ); err != nil {
36- return err
37- }
38-
39- token , err := resolveAuthToken (context .Background (), cfg )
25+ const authTokenExamples = `
26+ Print the current authentication token.
27+
28+ Use --header to print a complete Authorization header instead.
29+
30+ Examples:
31+
32+ $ src auth token
33+ $ src auth token --header
34+ `
35+
36+ var authTokenCommand = clicompat .Wrap (& cli.Command {
37+ Name : "token" ,
38+ Usage : "prints the current authentication token or Authorization header" ,
39+ UsageText : "src auth token [options]" ,
40+ Description : authTokenExamples ,
41+ HideVersion : true ,
42+ Flags : []cli.Flag {
43+ & cli.BoolFlag {
44+ Name : "header" ,
45+ Usage : "print the token as an Authorization header" ,
46+ },
47+ },
48+ Action : func (ctx context.Context , cmd * cli.Command ) error {
49+ token , err := resolveAuthToken (ctx , cfg )
4050 if err != nil {
4151 return err
4252 }
4353
44- token = formatAuthTokenOutput (token , cfg .AuthMode (), * header )
45- fmt .Println (token )
46- return nil
47- }
48-
49- authCommands = append (authCommands , & command {
50- flagSet : flagSet ,
51- handler : handler ,
52- usageFunc : usageFunc ,
53- })
54- }
54+ token = formatAuthTokenOutput (token , cfg .AuthMode (), cmd .Bool ("header" ))
55+ _ , err = fmt .Fprintln (cmd .Writer , token )
56+ return err
57+ },
58+ })
5559
5660func resolveAuthToken (ctx context.Context , cfg * config ) (string , error ) {
5761 if err := cfg .requireCIAccessToken (); err != nil {
0 commit comments