30
30
silent bool
31
31
relative bool
32
32
listLangs bool
33
+ fields string
33
34
)
34
35
35
36
// Initialize flags.
@@ -42,6 +43,7 @@ func init() {
42
43
flag .BoolVar (& silent , "silent" , false , "do not produce any output on error." )
43
44
flag .BoolVar (& relative , "tag-relative" , false , "file paths should be relative to the directory containing the tag file." )
44
45
flag .BoolVar (& listLangs , "list-languages" , false , "list supported languages." )
46
+ flag .StringVar (& fields , "fields" , "" , "include selected extension fields (only +l)." )
45
47
46
48
flag .Usage = func () {
47
49
fmt .Fprintf (os .Stderr , "gotags version %s\n \n " , Version )
@@ -164,6 +166,13 @@ func main() {
164
166
}
165
167
}
166
168
169
+ fieldSet , err := parseFields (fields )
170
+ if err != nil {
171
+ fmt .Fprintf (os .Stderr , "%s\n \n " , err )
172
+ flag .Usage ()
173
+ os .Exit (1 )
174
+ }
175
+
167
176
tags := []Tag {}
168
177
for _ , file := range files {
169
178
ts , err := Parse (file , relative , basedir )
@@ -178,6 +187,9 @@ func main() {
178
187
179
188
output := createMetaTags ()
180
189
for _ , tag := range tags {
190
+ if fieldSet .Includes (Language ) {
191
+ tag .Fields [Language ] = "Go"
192
+ }
181
193
output = append (output , tag .String ())
182
194
}
183
195
0 commit comments