Case.misfit: def of bend-lint-rules@0.2.0.0 Import: import bend-lint-rules@0.2.0.0/layout/case.bend as Case Lines 258-277 of bend-lint-rules@0.2.0.0/layout/case.bend: https://jend.leeeet.dev/read.txt?path=bend-lint-rules@0.2.0.0/layout/case.bend&start_line=258&end_line=277 import Base import bend-lint-api@0.2.0.0/linter/lint.bend as Lint import bend-lint-api@0.2.0.0/shared/strings.bend as Strings # The finding for a name that does not fit: it says the new name when recasing makes one that fits, and, for a local # name, offers the rename. def misfit( +syntax: Lint.Syntax, +want: Case, +name: String, +span: Lint.Span ) -> List<&2, Lint.Finding>: +seg = Strings.after_last(name, '.') +to = String.take(name, Nat.sub(String.length(name), String.length(seg))) ++ recased(want, seg) +ok = fits(want, recased(want, seg)) rename = Bool.pick(String, ok, "Rename " ++ name ++ " to " ++ to, "Rename " ++ name) [ Lint.Finding{ Lint.Warning{}, span, rename ++ ": " ++ what(syntax, want) ++ ".", renames(Bool.and(ok, is_local(syntax)), span, to, recased(want, seg)) } ] Uses (20): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool.and https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool.pick 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=Nat.sub 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.length https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=String.take https://jend.leeeet.dev/definition.txt?path=bend-lint-api@0.2.0.0/linter/lint.bend&name=Finding https://jend.leeeet.dev/definition.txt?path=bend-lint-api@0.2.0.0/linter/lint.bend&name=Severity https://jend.leeeet.dev/definition.txt?path=bend-lint-api@0.2.0.0/linter/lint.bend&name=Span https://jend.leeeet.dev/definition.txt?path=bend-lint-api@0.2.0.0/linter/lint.bend&name=Syntax https://jend.leeeet.dev/definition.txt?path=bend-lint-api@0.2.0.0/shared/strings.bend&name=after_last https://jend.leeeet.dev/definition.txt?path=bend-lint-rules@0.2.0.0/layout/case.bend&name=Case https://jend.leeeet.dev/definition.txt?path=bend-lint-rules@0.2.0.0/layout/case.bend&name=fits https://jend.leeeet.dev/definition.txt?path=bend-lint-rules@0.2.0.0/layout/case.bend&name=is_local https://jend.leeeet.dev/definition.txt?path=bend-lint-rules@0.2.0.0/layout/case.bend&name=recased https://jend.leeeet.dev/definition.txt?path=bend-lint-rules@0.2.0.0/layout/case.bend&name=renames https://jend.leeeet.dev/definition.txt?path=bend-lint-rules@0.2.0.0/layout/case.bend&name=what