@@ -2,13 +2,21 @@ package main
2
2
3
3
import (
4
4
"bytes"
5
- "fmt"
6
5
"path/filepath"
7
6
"strings"
7
+ "text/template"
8
8
9
9
"github.com/golangci/golangci-lint/scripts/website/types"
10
10
)
11
11
12
+ const exclusionTmpl = `{{ $tick := "` + "`" + `" }}
13
+ ### {{ .ID }}
14
+
15
+ - linter: {{ $tick }}{{ .Linter }}{{ $tick }}
16
+ - pattern: {{ $tick }}{{ .Pattern }}{{ $tick }}
17
+ - why: {{ .Why }}
18
+ `
19
+
12
20
func getDefaultExclusions () (string , error ) {
13
21
defaultExcludePatterns , err := readJSONFile [[]types.ExcludePattern ](filepath .Join ("assets" , "default-exclusions.json" ))
14
22
if err != nil {
@@ -17,13 +25,23 @@ func getDefaultExclusions() (string, error) {
17
25
18
26
bufferString := bytes .NewBufferString ("" )
19
27
28
+ tmpl , err := template .New ("exclusions" ).Parse (exclusionTmpl )
29
+ if err != nil {
30
+ return "" , err
31
+ }
32
+
20
33
for _ , pattern := range defaultExcludePatterns {
21
- _ , _ = fmt .Fprintln (bufferString )
22
- _ , _ = fmt .Fprintf (bufferString , "### %s\n " , pattern .ID )
23
- _ , _ = fmt .Fprintln (bufferString )
24
- _ , _ = fmt .Fprintf (bufferString , "- linter: `%s`\n " , pattern .Linter )
25
- _ , _ = fmt .Fprintf (bufferString , "- pattern: `%s`\n " , strings .ReplaceAll (pattern .Pattern , "`" , "`" ))
26
- _ , _ = fmt .Fprintf (bufferString , "- why: %s\n " , pattern .Why )
34
+ data := map [string ]any {
35
+ "ID" : pattern .ID ,
36
+ "Linter" : pattern .Linter ,
37
+ "Pattern" : strings .ReplaceAll (pattern .Pattern , "`" , "`" ),
38
+ "Why" : pattern .Why ,
39
+ }
40
+
41
+ err := tmpl .Execute (bufferString , data )
42
+ if err != nil {
43
+ return "" , err
44
+ }
27
45
}
28
46
29
47
return bufferString .String (), nil
0 commit comments