summaryrefslogtreecommitdiffstats
path: root/src/parse.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/parse.rs')
-rw-r--r--src/parse.rs12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/parse.rs b/src/parse.rs
index a62d486c..c6a0860f 100644
--- a/src/parse.rs
+++ b/src/parse.rs
@@ -268,6 +268,18 @@ fn get_extension(s: &str) -> Option<&str> {
.or_else(|| path.file_name().and_then(|s| s.to_str()))
}
+lazy_static! {
+ static ref SUBMODULE_SHORT_LINE_REGEX: Regex =
+ Regex::new("^[-+]Subproject commit ([0-9a-f]{40})$").unwrap();
+}
+
+pub fn get_submodule_short_commit(line: &str) -> Option<&str> {
+ match SUBMODULE_SHORT_LINE_REGEX.captures(line) {
+ Some(caps) => Some(caps.get(1).unwrap().as_str()),
+ None => None,
+ }
+}
+
#[cfg(test)]
mod tests {
use super::*;