Crate mit_commit[−][src]
Expand description
A library to parse commit messages in git hooks
Make it a bit easier to write lints and for git hooks
Example
use indoc::indoc;
use mit_commit::{Bodies, CommitMessage, Subject};
let message = CommitMessage::from(indoc!(
"
Update bashrc to include kubernetes completions
This should make it easier to deploy things for the developers.
Benchmarked with Hyperfine, no noticable performance decrease.
; Bitte geben Sie eine Commit-Beschreibung f\u{00FC}r Ihre \u{00E4}nderungen ein. Zeilen,
; die mit ';' beginnen, werden ignoriert, und eine leere Beschreibung
; bricht den Commit ab.
;
; Datum: Sat Jun 27 21:40:14 2020 +0200
;
; Auf Branch master
;
; Initialer Commit
;
; Zum Commit vorgemerkte \u{00E4}nderungen:
; neue Datei: .bashrc
;"
));
assert_eq!(
message.get_subject(),
Subject::from("Update bashrc to include kubernetes completions")
)
Structs
A collection of user input [CommitMessage
] text
A single contiguous block of [CommitMessage
] text
A single comment from a CommitMessage
A collection of comments from a [CommitMessage
]
A CommitMessage
, the primary entry point to the library
A Trailer
you might see a in a [CommitMessage
], for example
‘Co-authored-by: Billie Thompson billie@example.com’
A Collection of Trailer
Enums
A Fragment
from the [CommitMessage
], either a comment or body