@@ -33,22 +33,25 @@ var (
33
33
fields string
34
34
)
35
35
36
+ // ignore unknown flags
37
+ var flags = flag .NewFlagSet (os .Args [0 ], flag .ContinueOnError )
38
+
36
39
// Initialize flags.
37
40
func init () {
38
- flag .BoolVar (& printVersion , "v" , false , "print version." )
39
- flag .StringVar (& inputFile , "L" , "" , `source file names are read from the specified file. If file is "-", input is read from standard in.` )
40
- flag .StringVar (& outputFile , "f" , "" , `write output to specified file. If file is "-", output is written to standard out.` )
41
- flag .BoolVar (& recurse , "R" , false , "recurse into directories in the file list." )
42
- flag .BoolVar (& sortOutput , "sort" , true , "sort tags." )
43
- flag .BoolVar (& silent , "silent" , false , "do not produce any output on error." )
44
- flag .BoolVar (& relative , "tag-relative" , false , "file paths should be relative to the directory containing the tag file." )
45
- flag .BoolVar (& listLangs , "list-languages" , false , "list supported languages." )
46
- flag .StringVar (& fields , "fields" , "" , "include selected extension fields (only +l)." )
47
-
48
- flag .Usage = func () {
41
+ flags .BoolVar (& printVersion , "v" , false , "print version." )
42
+ flags .StringVar (& inputFile , "L" , "" , `source file names are read from the specified file. If file is "-", input is read from standard in.` )
43
+ flags .StringVar (& outputFile , "f" , "" , `write output to specified file. If file is "-", output is written to standard out.` )
44
+ flags .BoolVar (& recurse , "R" , false , "recurse into directories in the file list." )
45
+ flags .BoolVar (& sortOutput , "sort" , true , "sort tags." )
46
+ flags .BoolVar (& silent , "silent" , false , "do not produce any output on error." )
47
+ flags .BoolVar (& relative , "tag-relative" , false , "file paths should be relative to the directory containing the tag file." )
48
+ flags .BoolVar (& listLangs , "list-languages" , false , "list supported languages." )
49
+ flags .StringVar (& fields , "fields" , "" , "include selected extension fields (only +l)." )
50
+
51
+ flags .Usage = func () {
49
52
fmt .Fprintf (os .Stderr , "gotags version %s\n \n " , Version )
50
53
fmt .Fprintf (os .Stderr , "Usage: %s [options] file(s)\n \n " , os .Args [0 ])
51
- flag .PrintDefaults ()
54
+ flags .PrintDefaults ()
52
55
}
53
56
}
54
57
@@ -113,7 +116,7 @@ func readNames(names []string) ([]string, error) {
113
116
func getFileNames () ([]string , error ) {
114
117
var names []string
115
118
116
- names = append (names , flag .Args ()... )
119
+ names = append (names , flags .Args ()... )
117
120
names , err := readNames (names )
118
121
if err != nil {
119
122
return nil , err
@@ -130,7 +133,7 @@ func getFileNames() ([]string, error) {
130
133
}
131
134
132
135
func main () {
133
- flag .Parse ()
136
+ flags .Parse (os . Args [ 1 :] )
134
137
135
138
if printVersion {
136
139
fmt .Printf ("gotags version %s\n " , Version )
@@ -145,13 +148,13 @@ func main() {
145
148
files , err := getFileNames ()
146
149
if err != nil {
147
150
fmt .Fprintf (os .Stderr , "cannot get specified files\n \n " )
148
- flag .Usage ()
151
+ flags .Usage ()
149
152
os .Exit (1 )
150
153
}
151
154
152
155
if len (files ) == 0 && len (inputFile ) == 0 {
153
156
fmt .Fprintf (os .Stderr , "no file specified\n \n " )
154
- flag .Usage ()
157
+ flags .Usage ()
155
158
os .Exit (1 )
156
159
}
157
160
@@ -169,7 +172,7 @@ func main() {
169
172
fieldSet , err := parseFields (fields )
170
173
if err != nil {
171
174
fmt .Fprintf (os .Stderr , "%s\n \n " , err )
172
- flag .Usage ()
175
+ flags .Usage ()
173
176
os .Exit (1 )
174
177
}
175
178
0 commit comments