dev: sorts deprecated linters at the end of lists ()

This commit is contained in:
Ludovic Fernandez 2024-04-14 14:40:04 +02:00 committed by GitHub
parent 5f9277dbc9
commit ad70a8884b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 36 additions and 2 deletions
pkg/commands
scripts/website
expand_templates
types

@ -2,6 +2,7 @@ package commands
import (
"fmt"
"slices"
"sort"
"strings"
@ -106,8 +107,20 @@ func (c *helpCommand) printPresets() {
}
func printLinters(lcs []*linter.Config) {
sort.Slice(lcs, func(i, j int) bool {
return lcs[i].Name() < lcs[j].Name()
slices.SortFunc(lcs, func(a, b *linter.Config) int {
if a.IsDeprecated() && b.IsDeprecated() {
return strings.Compare(a.Name(), b.Name())
}
if a.IsDeprecated() {
return 1
}
if b.IsDeprecated() {
return -1
}
return strings.Compare(a.Name(), b.Name())
})
for _, lc := range lcs {

@ -5,6 +5,7 @@ import (
"os"
"path/filepath"
"reflect"
"slices"
"sort"
"strings"
"unicode"
@ -53,6 +54,22 @@ func getLintersListMarkdown(enabled bool) string {
return neededLcs[i].Name < neededLcs[j].Name
})
slices.SortFunc(neededLcs, func(a, b *types.LinterWrapper) int {
if a.IsDeprecated() && b.IsDeprecated() {
return strings.Compare(a.Name, b.Name)
}
if a.IsDeprecated() {
return 1
}
if b.IsDeprecated() {
return -1
}
return strings.Compare(a.Name, b.Name)
})
lines := []string{
"|Name|Description|Presets|AutoFix|Since|",
"|---|---|---|---|---|---|",

@ -45,3 +45,7 @@ type LinterWrapper struct {
Since string `json:"since,omitempty"`
Deprecation *Deprecation `json:"deprecation,omitempty"`
}
func (l *LinterWrapper) IsDeprecated() bool {
return l.Deprecation != nil
}