@@ -2,13 +2,13 @@ package main
2
2
3
3
import (
4
4
cryptorand "crypto/rand"
5
+ "flag"
5
6
"fmt"
6
7
mathrand "math/rand"
7
8
"os"
8
9
"strings"
9
10
"time"
10
11
11
- getopt "github.com/pborman/getopt/v2"
12
12
"github.com/xray-bit/sulid"
13
13
)
14
14
@@ -17,30 +17,26 @@ const (
17
17
rfc3339ms = "2006-01-02T15:04:05.000Z07:00"
18
18
)
19
19
20
- func main () {
21
- // Completely obnoxious.
22
- getopt .HelpColumn = 50
23
- getopt .DisplayWidth = 140
20
+ var (
21
+ formatFlag string
22
+ localFlag bool
23
+ quickFlag bool
24
+ zeroFlag bool
25
+ )
24
26
25
- fs := getopt .New ()
26
- var (
27
- format = fs .StringLong ("format" , 'f' , "default" , "when parsing, show times in this format: default, rfc3339, unix, ms" , "<format>" )
28
- local = fs .BoolLong ("local" , 'l' , "when parsing, show local time instead of UTC" )
29
- quick = fs .BoolLong ("quick" , 'q' , "when generating, use non-crypto-grade entropy" )
30
- zero = fs .BoolLong ("zero" , 'z' , "when generating, fix entropy to all-zeroes" )
31
- help = fs .BoolLong ("help" , 'h' , "print this help text" )
32
- )
33
- if err := fs .Getopt (os .Args , nil ); err != nil {
34
- fmt .Fprintf (os .Stderr , "%v\n " , err )
35
- os .Exit (1 )
36
- }
37
- if * help {
38
- fs .PrintUsage (os .Stderr )
39
- os .Exit (0 )
40
- }
27
+ func init () {
28
+ flag .StringVar (& formatFlag , "f" , "default" , "when parsing, show times in this format: default, rfc3339, unix, ms" )
29
+ flag .BoolVar (& localFlag , "l" , false , "when parsing, show local time instead of UTC" )
30
+ flag .BoolVar (& quickFlag , "q" , false , "when generating, use non-crypto-grade entropy" )
31
+ flag .BoolVar (& zeroFlag , "z" , false , "when generating, fix entropy to all-zeroes" )
32
+ }
33
+
34
+ func main () {
35
+ flag .Parse ()
36
+ args := flag .Args ()
41
37
42
38
var formatFunc func (time.Time ) string
43
- switch strings .ToLower (* format ) {
39
+ switch strings .ToLower (formatFlag ) {
44
40
case "default" :
45
41
formatFunc = func (t time.Time ) string { return t .Format (defaultms ) }
46
42
case "rfc3339" :
@@ -50,15 +46,15 @@ func main() {
50
46
case "ms" :
51
47
formatFunc = func (t time.Time ) string { return fmt .Sprint (t .UnixNano () / 1e6 ) }
52
48
default :
53
- fmt .Fprintf (os .Stderr , "invalid --format %s\n " , * format )
49
+ fmt .Fprintf (os .Stderr , "invalid -f %s\n " , formatFlag )
54
50
os .Exit (1 )
55
51
}
56
52
57
- switch args := fs . Args (); len (args ) {
53
+ switch len (args ) {
58
54
case 0 :
59
- generate (* quick , * zero )
55
+ generate (quickFlag , zeroFlag )
60
56
default :
61
- parse (args [0 ], * local , formatFunc )
57
+ parse (args [0 ], localFlag , formatFunc )
62
58
}
63
59
}
64
60
0 commit comments