Crate mit_lint

Source
Expand description

A set of lints to use with mit-commit

§Examples

use mit_commit::CommitMessage;
use mit_lint::{Code, lint, Problem, Lints, Lint};
use std::option::Option::None;

let message:String = "x".repeat(73).into();
let expected = vec![Problem::new(
    "Your subject is longer than 72 characters".into(),
    "It's important to keep the subject of the commit less than 72 characters because when you look at the git log, that's where it truncates the message. This means that people won't get the entirety of the information in your commit.\n\nPlease keep the subject line 72 characters or under"
        .into(),
    Code::SubjectLongerThan72Characters,&message.clone().into(),Some(vec![(String::from("Too long"), 72, 1)]),
    Some("https://git-scm.com/book/en/v2/Distributed-Git-Contributing-to-a-Project#_commit_guidelines".parse().unwrap()),
)];
let lints = Lints::new(vec![Lint::SubjectLongerThan72Characters].into_iter().collect());
let actual = lint(&CommitMessage::from(message), &lints);
assert_eq!(
    actual, expected,
    "Expected {:?}, found {:?}",
    expected, actual
);

Structs§

Lints
A collection of lints
Problem
Information about the breaking of the lint

Enums§

Code
Error codes for lints that have failed
Error
General lint related errors
Lint
The lints that are supported
LintError
Errors

Constants§

CONFIG_KEY_PREFIX
The prefix we put in front of the lint when serialising

Functions§

async_lint
Lint a commit message
lint
Lint a commit message