mural 0.1.0

Conversational terminal rendering for command-line applications.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
use crate::{Span, TextError};
use unicode_width::UnicodeWidthStr;

pub(super) fn validate_non_empty_display_text(content: &str) -> Result<usize, TextError> {
    Span::validate_content(content)?;

    let width = UnicodeWidthStr::width(content);
    if width == 0 {
        return Err(TextError::StructuralContent);
    }

    Ok(width)
}