Documentation ¶
Index ¶
- Variables
- type Options
- type Rule
- func (r *Rule) CanIgnoreLine(line string) bool
- func (r *Rule) Disabled() bool
- func (r *Rule) FindMatchIndexes(text string) [][]int
- func (r *Rule) MatchString(s string, wordBoundary bool) bool
- func (r *Rule) Reason(violation string) string
- func (r *Rule) ReasonWithNote(violation string) string
- func (r *Rule) SetIncludeNote(includeNote bool)
- func (r *Rule) SetRegexp()
- type Severity
Constants ¶
This section is empty.
Variables ¶
var DefaultRules = []*Rule{}
DefaultRules are the default rules always used. This will be populated by the embed package on init
var TestRule = Rule{ Name: "whitelist", Terms: []string{"whitelist", "white-list", "whitelisted", "white-listed"}, Alternatives: []string{"allowlist"}, Severity: 1, Options: Options{ WordBoundary: false, }, }
TestRule is only meant to be used in tests. TODO: Use test terms
Functions ¶
This section is empty.
Types ¶
type Options ¶ added in v0.4.0
type Options struct { WordBoundary bool `yaml:"word_boundary"` IncludeNote *bool `yaml:"include_note"` }
Options are options that can be configured and applied on a per-rule basis
type Rule ¶
type Rule struct { Name string `yaml:"name"` Terms []string `yaml:"terms"` Alternatives []string `yaml:"alternatives"` Note string `yaml:"note"` Severity Severity `yaml:"severity"` Options Options `yaml:"options"` // contains filtered or unexported fields }
Rule is a linter rule
func (*Rule) CanIgnoreLine ¶ added in v0.1.4
CanIgnoreLine returns a boolean value if the line contains the ignore directive. For example, if a line has anywhere, wokeignore:rule=whitelist (should be commented out via whatever the language comment syntax is) it will not report that line in violation with the Rule with the name `whitelist` wokeignore:rule=whitelist
func (*Rule) Disabled ¶ added in v0.1.16
Disabled denotes if the rule is disabled If no terms are provided, this essentially disables the rule which is helpful for disabling default rules. Eventually, there should be a better way to disable a default rule, and then, if a rule has no Terms, it falls back to the Name.
func (*Rule) FindMatchIndexes ¶ added in v0.1.14
FindMatchIndexes returns the start and end indexes for all rule violations for the text supplied.
func (*Rule) MatchString ¶ added in v0.1.14
MatchString reports whether the string s contains any match of the regular expression re.
func (*Rule) ReasonWithNote ¶
ReasonWithNote returns a human-readable reason for the rule violation with an additional note, if defined.
func (*Rule) SetIncludeNote ¶ added in v0.9.0
SetIncludeNote populates IncludeNote attributte in Options Options.IncludeNote is ussed in ReasonWithNote If "include_note" is already defined for the rule in yaml, it will not be overridden
type Severity ¶
type Severity int
Severity is a log severity
func (*Severity) MarshalJSON ¶ added in v0.2.0
MarshalJSON to marshal Severity as a string
func (*Severity) UnmarshalYAML ¶
UnmarshalYAML to unmarshal severity string