styled-str 0.5.0

Tools for parsing and managing ANSI-styled strings
Documentation
//! General-purpose traits.

use crate::alloc::String;

/// Pops a char from the end of a string.
pub trait PopChar {
    /// Performs popping.
    fn pop_char(&mut self) -> Option<char>;
}

impl PopChar for String {
    fn pop_char(&mut self) -> Option<char> {
        self.pop()
    }
}

impl PopChar for &str {
    fn pop_char(&mut self) -> Option<char> {
        let (pos, ch) = self.char_indices().next_back()?;
        *self = &self[..pos];
        Some(ch)
    }
}