diff options
Diffstat (limited to 'crates')
| -rw-r--r-- | crates/atuin-history/src/stats.rs | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/crates/atuin-history/src/stats.rs b/crates/atuin-history/src/stats.rs index ab4127df..b73a5dbb 100644 --- a/crates/atuin-history/src/stats.rs +++ b/crates/atuin-history/src/stats.rs @@ -92,7 +92,7 @@ fn split_at_pipe(command: &str) -> Vec<&str> { "\\" => if graphemes.next().is_some() {}, "|" => { if !quoted { - if command[start..].starts_with('|') { + if current > start && command[start..].starts_with('|') { start += 1; } result.push(&command[start..current]); @@ -396,4 +396,20 @@ mod tests { ["git commit -m \"🚀\""] ); } + + #[test] + fn starts_with_pipe() { + assert_eq!( + split_at_pipe("| sed 's/[0-9a-f]//g'"), + ["", " sed 's/[0-9a-f]//g'"] + ); + } + + #[test] + fn starts_with_spaces_and_pipe() { + assert_eq!( + split_at_pipe(" | sed 's/[0-9a-f]//g'"), + [" ", " sed 's/[0-9a-f]//g'"] + ); + } } |
