summaryrefslogtreecommitdiffstats
path: root/vendor/nu-ansi-term/src/util.rs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--vendor/nu-ansi-term/src/util.rs (renamed from vendor/ansi_term/src/util.rs)40
1 files changed, 19 insertions, 21 deletions
diff --git a/vendor/ansi_term/src/util.rs b/vendor/nu-ansi-term/src/util.rs
index ba0f12a02..a35020137 100644
--- a/vendor/ansi_term/src/util.rs
+++ b/vendor/nu-ansi-term/src/util.rs
@@ -1,27 +1,30 @@
-use display::*;
+use crate::display::{AnsiString, AnsiStrings};
use std::ops::Deref;
-/// Return a substring of the given ANSIStrings sequence, while keeping the formatting.
-pub fn sub_string<'a>(start: usize, len: usize, strs: &ANSIStrings<'a>) -> Vec<ANSIString<'static>> {
+/// Return a substring of the given AnsiStrings sequence, while keeping the formatting.
+pub fn sub_string<'a>(
+ start: usize,
+ len: usize,
+ strs: &AnsiStrings<'a>,
+) -> Vec<AnsiString<'static>> {
let mut vec = Vec::new();
let mut pos = start;
let mut len_rem = len;
for i in strs.0.iter() {
- let fragment = i.deref();
- let frag_len = fragment.len();
+ let frag_len = i.string.len();
if pos >= frag_len {
pos -= frag_len;
continue;
}
- if len_rem <= 0 {
+ if len_rem == 0 {
break;
}
let end = pos + len_rem;
let pos_end = if end >= frag_len { frag_len } else { end };
- vec.push(i.style_ref().paint(String::from(&fragment[pos..pos_end])));
+ vec.push(i.style_ref().paint(String::from(&i.string[pos..pos_end])));
if end <= frag_len {
break;
@@ -35,30 +38,29 @@ pub fn sub_string<'a>(start: usize, len: usize, strs: &ANSIStrings<'a>) -> Vec<A
}
/// Return a concatenated copy of `strs` without the formatting, as an allocated `String`.
-pub fn unstyle(strs: &ANSIStrings) -> String {
+pub fn unstyle(strs: &AnsiStrings) -> String {
let mut s = String::new();
for i in strs.0.iter() {
- s += &i.deref();
+ s += i.string.deref();
}
s
}
-/// Return the unstyled length of ANSIStrings. This is equaivalent to `unstyle(strs).len()`.
-pub fn unstyled_len(strs: &ANSIStrings) -> usize {
+/// Return the unstyled length of AnsiStrings. This is equaivalent to `unstyle(strs).len()`.
+pub fn unstyled_len(strs: &AnsiStrings) -> usize {
let mut l = 0;
for i in strs.0.iter() {
- l += i.deref().len();
+ l += i.string.len();
}
l
}
#[cfg(test)]
mod test {
- use Colour::*;
- use display::*;
use super::*;
+ use crate::Color::*;
#[test]
fn test() {
@@ -67,15 +69,11 @@ mod test {
Red.paint("-second"),
White.paint("-third"),
];
- let a = ANSIStrings(&l);
+ let a = AnsiStrings(&l);
assert_eq!(unstyle(&a), "first-second-third");
assert_eq!(unstyled_len(&a), 18);
- let l2 = [
- Black.paint("st"),
- Red.paint("-second"),
- White.paint("-t"),
- ];
- assert_eq!(sub_string(3, 11, &a).as_slice(), &l2);
+ let l2 = [Black.paint("st"), Red.paint("-second"), White.paint("-t")];
+ assert_eq!(sub_string(3, 11, &a), l2);
}
}