github.com/yoheimuta/protolint@v0.49.8-0.20240515023657-4ecaebb7575d/internal/linter/rule/rules.go (about) 1 package rule 2 3 import "github.com/yoheimuta/protolint/linter/rule" 4 5 // Rules is a list of Rules. 6 type Rules []rule.Rule 7 8 // Default returns a default set of rules. 9 func (rs Rules) Default() Rules { 10 var d Rules 11 for _, r := range rs { 12 if r.IsOfficial() { 13 d = append(d, r) 14 } 15 } 16 return d 17 } 18 19 // IDs returns a set of rule ids. 20 func (rs Rules) IDs() []string { 21 return ruleIDs(rs) 22 } 23 24 func ruleIDs(rules []rule.Rule) []string { 25 var ids []string 26 for _, rule := range rules { 27 ids = append(ids, rule.ID()) 28 } 29 return ids 30 }