@@ -2,7 +2,6 @@ package main
2
2
3
3
import (
4
4
"encoding/json"
5
- "fmt"
6
5
"os"
7
6
8
7
"cdr.dev/coder-cli/internal/x/xtabwriter"
@@ -14,8 +13,9 @@ import (
14
13
func makeUsersCmd () cli.Command {
15
14
var output string
16
15
return cli.Command {
17
- Name : "users" ,
18
- Usage : "Interact with Coder user accounts" ,
16
+ Name : "users" ,
17
+ Usage : "Interact with Coder user accounts" ,
18
+ Action : exitHelp ,
19
19
Subcommands : []cli.Command {
20
20
{
21
21
Name : "ls" ,
@@ -24,7 +24,7 @@ func makeUsersCmd() cli.Command {
24
24
Flags : []cli.Flag {
25
25
cli.StringFlag {
26
26
Name : "output" ,
27
- Usage : "( json | human) " ,
27
+ Usage : "json | human" ,
28
28
Value : "human" ,
29
29
Destination : & output ,
30
30
},
@@ -43,17 +43,10 @@ func listUsers(outputFmt *string) func(c *cli.Context) {
43
43
44
44
switch * outputFmt {
45
45
case "human" :
46
- w := xtabwriter .NewWriter ()
47
- if len (users ) > 0 {
48
- _ , err = fmt .Fprintln (w , xtabwriter .StructFieldNames (users [0 ]))
49
- requireSuccess (err , "failed to write: %v" , err )
50
- }
51
- for _ , u := range users {
52
- _ , err = fmt .Fprintln (w , xtabwriter .StructValues (u ))
53
- requireSuccess (err , "failed to write: %v" , err )
54
- }
55
- err = w .Flush ()
56
- requireSuccess (err , "failed to flush writer: %v" , err )
46
+ err := xtabwriter .WriteTable (len (users ), func (i int ) interface {} {
47
+ return users [i ]
48
+ })
49
+ requireSuccess (err , "failed to write table: %v" , err )
57
50
case "json" :
58
51
err = json .NewEncoder (os .Stdout ).Encode (users )
59
52
requireSuccess (err , "failed to encode users to json: %v" , err )
0 commit comments