rust/hg-core/src/utils.rs
changeset 49632 29cf3167e459
parent 48417 5734b03ecf3e
child 49633 048f829a445a
equal deleted inserted replaced
49631:c7fb9b74e753 49632:29cf3167e459
   140         if let Some(pos) = find_slice_in_slice(self, separator) {
   140         if let Some(pos) = find_slice_in_slice(self, separator) {
   141             Some((&self[..pos], &self[pos + separator.len()..]))
   141             Some((&self[..pos], &self[pos + separator.len()..]))
   142         } else {
   142         } else {
   143             None
   143             None
   144         }
   144         }
   145     }
       
   146 }
       
   147 
       
   148 pub trait StrExt {
       
   149     // TODO: Use https://doc.rust-lang.org/nightly/std/primitive.str.html#method.split_once
       
   150     // once we require Rust 1.52+
       
   151     fn split_2(&self, separator: char) -> Option<(&str, &str)>;
       
   152 }
       
   153 
       
   154 impl StrExt for str {
       
   155     fn split_2(&self, separator: char) -> Option<(&str, &str)> {
       
   156         let mut iter = self.splitn(2, separator);
       
   157         let a = iter.next()?;
       
   158         let b = iter.next()?;
       
   159         Some((a, b))
       
   160     }
   145     }
   161 }
   146 }
   162 
   147 
   163 pub trait Escaped {
   148 pub trait Escaped {
   164     /// Return bytes escaped for display to the user
   149     /// Return bytes escaped for display to the user