Function below_common::util::fold_string
source · pub fn fold_string<F>(
val: &str,
width: usize,
start_idx: usize,
stop_filter: F
) -> Stringwhere
F: FnMut(char) -> bool,Expand description
Fold a long string to a fixed size string and keep the front and back
The effective length of the string will be width - 3 since this fn will use
3 ’.’s to replace the omitted content. If the width is less than 3, it will
return the original string. This function will also take a stop_filter closure
as an indicator of where to split the string. Please note that, this function
will take the minimal value of (width - 3)/2 and first index that hit the stop_filter
as the front half cutting point.
Arguments
val– The string that needs to be folded.width– The final target string length.start_idx– From which index should we start apply the stop_filterstop_filter– The first half will be cut at the first index that returns false after apply the filter if the index is less than (width - 3)/2