Directives.Said.of: def of bend-lint-rules@0.2.0.0 Import: import bend-lint-rules@0.2.0.0/lib/linter/directives.bend as Directives Lines 500-540 of bend-lint-rules@0.2.0.0/lib/linter/directives.bend: https://jend.leeeet.dev/read.txt?path=bend-lint-rules@0.2.0.0/lib/linter/directives.bend&start_line=500&end_line=540 import Base import bend-lint-api@0.2.0.0/shared/lists.bend as Lists import bend-lint-api@0.2.0.0/shared/strings.bend as Strings # What a comment that holds `draft` (or not) says, checked against the rules there are. def Said.of( draft: Maybe<&2, Draft>, trailing: Bool, comment: Comment, known: List<&2, String>, index: U32 ) -> Said: match draft: case None{}: Wrong{ comment, "Write `# bend-lint: - [@severity] -- `, and, for a disable, " ++ Draft.label() ++ " after it." } case Some{Draft{Keyword{+action, +scope}, Target{+rule, +pinned}, +reasons}}: Said.checked( Problem.first( [ Problem.pinned(pinned), Problem.severity(action, Maybe.is_some(&2, String, pinned), rule), Problem.reason(scope, reasons), Problem.because(action, scope, reasons), Problem.line(scope, trailing), Lists.when( String, Rule.is_reserved(Strings.before(rule, '/')), rule ++ " findings cannot be suppressed." ), Lists.when( String, Bool.not(List.contains(~String, ~String.eq, known, rule)), "There is no rule " ++ rule ++ "." ) ] ), Draft{Keyword{action, scope}, Target{rule, pinned}, reasons}, comment, index ) Uses (27): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool.not https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Char https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List.contains https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Maybe https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Maybe.is_some https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=String https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=String.append https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=String.eq https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32 https://jend.leeeet.dev/definition.txt?path=bend-lint-api@0.2.0.0/shared/lists.bend&name=when https://jend.leeeet.dev/definition.txt?path=bend-lint-api@0.2.0.0/shared/strings.bend&name=before https://jend.leeeet.dev/definition.txt?path=bend-lint-rules@0.2.0.0/lib/linter/directives.bend&name=Comment https://jend.leeeet.dev/definition.txt?path=bend-lint-rules@0.2.0.0/lib/linter/directives.bend&name=Draft https://jend.leeeet.dev/definition.txt?path=bend-lint-rules@0.2.0.0/lib/linter/directives.bend&name=Draft.label https://jend.leeeet.dev/definition.txt?path=bend-lint-rules@0.2.0.0/lib/linter/directives.bend&name=Keyword https://jend.leeeet.dev/definition.txt?path=bend-lint-rules@0.2.0.0/lib/linter/directives.bend&name=Problem.because https://jend.leeeet.dev/definition.txt?path=bend-lint-rules@0.2.0.0/lib/linter/directives.bend&name=Problem.first https://jend.leeeet.dev/definition.txt?path=bend-lint-rules@0.2.0.0/lib/linter/directives.bend&name=Problem.line https://jend.leeeet.dev/definition.txt?path=bend-lint-rules@0.2.0.0/lib/linter/directives.bend&name=Problem.pinned https://jend.leeeet.dev/definition.txt?path=bend-lint-rules@0.2.0.0/lib/linter/directives.bend&name=Problem.reason https://jend.leeeet.dev/definition.txt?path=bend-lint-rules@0.2.0.0/lib/linter/directives.bend&name=Problem.severity https://jend.leeeet.dev/definition.txt?path=bend-lint-rules@0.2.0.0/lib/linter/directives.bend&name=Rule.is_reserved https://jend.leeeet.dev/definition.txt?path=bend-lint-rules@0.2.0.0/lib/linter/directives.bend&name=Said https://jend.leeeet.dev/definition.txt?path=bend-lint-rules@0.2.0.0/lib/linter/directives.bend&name=Said.checked https://jend.leeeet.dev/definition.txt?path=bend-lint-rules@0.2.0.0/lib/linter/directives.bend&name=Target