@@ -13,12 +13,14 @@ import (
13
13
"os"
14
14
"os/exec"
15
15
"path/filepath"
16
+ "reflect"
16
17
"sort"
17
18
"strings"
18
19
19
20
"gopkg.in/yaml.v3"
20
21
21
22
"github.com/golangci/golangci-lint/internal/renameio"
23
+ "github.com/golangci/golangci-lint/pkg/config"
22
24
"github.com/golangci/golangci-lint/pkg/lint/linter"
23
25
"github.com/golangci/golangci-lint/pkg/lint/lintersdb"
24
26
)
@@ -251,7 +253,11 @@ func getName(lc *linter.Config) string {
251
253
name := lc .Name ()
252
254
253
255
if lc .OriginalURL != "" {
254
- name = fmt .Sprintf ("[%s](%s)" , lc .Name (), lc .OriginalURL )
256
+ name = fmt .Sprintf ("[%s](%s)" , name , lc .OriginalURL )
257
+ }
258
+
259
+ if hasSettings (lc .Name ()) {
260
+ name = fmt .Sprintf ("%s [%s](#%s)" , name , span ("Configuration" , "⚙️" ), lc .Name ())
255
261
}
256
262
257
263
if ! lc .IsDeprecated () {
@@ -285,6 +291,18 @@ func check(b bool, title string) string {
285
291
return ""
286
292
}
287
293
294
+ func hasSettings (name string ) bool {
295
+ tp := reflect .TypeOf (config.LintersSettings {})
296
+
297
+ for i := 0 ; i < tp .NumField (); i ++ {
298
+ if strings .EqualFold (name , tp .Field (i ).Name ) {
299
+ return true
300
+ }
301
+ }
302
+
303
+ return false
304
+ }
305
+
288
306
func span (title , icon string ) string {
289
307
return fmt .Sprintf (`<span title=%q>%s</span>` , title , icon )
290
308
}
0 commit comments