Parse a `Key: Value` trailer line from a commit message.
(message: &str, key: &str)
| 551 | |
| 552 | /// Parse a `Key: Value` trailer line from a commit message. |
| 553 | fn parse_trailer(message: &str, key: &str) -> Option<String> { |
| 554 | let prefix = format!("{}:", key); |
| 555 | for line in message.lines() { |
| 556 | let line = line.trim(); |
| 557 | if let Some(rest) = line.strip_prefix(&prefix) { |
| 558 | let value = rest.trim(); |
| 559 | if !value.is_empty() { |
| 560 | return Some(value.to_string()); |
| 561 | } |
| 562 | } |
| 563 | } |
| 564 | None |
| 565 | } |
| 566 | |
| 567 | #[cfg(test)] |
| 568 | mod tests { |
no test coverage detected