13 releases (6 breaking)
0.9.4 | Jan 17, 2022 |
---|---|
0.9.3 | Nov 21, 2021 |
0.8.0 | Nov 1, 2021 |
#2742 in Parser implementations
12,209 downloads per month
Used in 15 crates
(6 directly)
27KB
495 lines
Conventional commit parser
A rust implementation of the conventional commit specification.
Example
use conventional_commit_parser::parse;
use conventional_commit_parser::commit::*;
let message = r#"fix: correct minor typos in code
see the issue for details
on typos fixed.
Reviewed-by: Z
Refs #133"#;
let conventional_commit = parse(message)?;
assert_eq!(conventional_commit.commit_type, CommitType::BugFix);
assert_eq!(conventional_commit.summary, "correct minor typos in code".to_string());
assert_eq!(conventional_commit.body, Some(r#"see the issue for details
on typos fixed."#.to_string()));
assert_eq!(conventional_commit.footers, vec![
Footer {token: "Reviewed-by".to_string(), content: "Z".to_string()},
Footer {token: "Refs".to_string(), content: "133".to_string(),}
]);
Licence
All the code in this repository is released under the MIT License, for more information take a look at the LICENSE file.
Dependencies
~2–2.8MB
~57K SLoC