49 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package main
 | |
| 
 | |
| import (
 | |
| 	"bytes"
 | |
| 	"path/filepath"
 | |
| 	"strings"
 | |
| 	"text/template"
 | |
| 
 | |
| 	"github.com/golangci/golangci-lint/scripts/website/types"
 | |
| )
 | |
| 
 | |
| const exclusionTmpl = `{{ $tick := "` + "`" + `" }}
 | |
| ### {{ .ID }}
 | |
| 
 | |
| - linter: {{ $tick }}{{ .Linter }}{{ $tick }}
 | |
| - pattern: {{ $tick }}{{ .Pattern }}{{ $tick }}
 | |
| - why: {{ .Why }}
 | |
| `
 | |
| 
 | |
| func getDefaultExclusions() (string, error) {
 | |
| 	defaultExcludePatterns, err := readJSONFile[[]types.ExcludePattern](filepath.Join("assets", "default-exclusions.json"))
 | |
| 	if err != nil {
 | |
| 		return "", err
 | |
| 	}
 | |
| 
 | |
| 	bufferString := bytes.NewBufferString("")
 | |
| 
 | |
| 	tmpl, err := template.New("exclusions").Parse(exclusionTmpl)
 | |
| 	if err != nil {
 | |
| 		return "", err
 | |
| 	}
 | |
| 
 | |
| 	for _, pattern := range defaultExcludePatterns {
 | |
| 		data := map[string]any{
 | |
| 			"ID":      pattern.ID,
 | |
| 			"Linter":  pattern.Linter,
 | |
| 			"Pattern": strings.ReplaceAll(pattern.Pattern, "`", "`"),
 | |
| 			"Why":     pattern.Why,
 | |
| 		}
 | |
| 
 | |
| 		err := tmpl.Execute(bufferString, data)
 | |
| 		if err != nil {
 | |
| 			return "", err
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 	return bufferString.String(), nil
 | |
| }
 | 
