quire 0.4.1

A YAML-based configuration parsing library
Documentation
pub fn is_printable(character: char) -> bool {
    let ch: u32 = character as u32;
    return ch == 0x09 || ch == 0x0A || ch == 0x0D
        || 0x20 <= ch && ch <= 0x7E
        || ch == 0x85
        || 0xA0 <= ch && ch <= 0xD7FF
        || 0xE000 <= ch && ch <= 0xFFFD
        || 0x10000 <= ch && ch <= 0x10FFFF;
}

pub fn is_flow_indicator(ch: char) -> bool {
    return ch == ',' || ch == '[' || ch == ']' || ch == '{' || ch == '}';
}

pub fn is_whitespace(ch: char) -> bool {
    return ch == '\x20' || ch == '\x09' || ch == '\r' || ch == '\n';
}

pub fn is_anchor_name(ch: char) -> bool {
    return !is_whitespace(ch) && !is_flow_indicator(ch);
}

pub fn is_dec_digit(ch: char) -> bool {
    return '0' <= ch && ch <= '9';
}

pub fn is_word_char(ch: char) -> bool {
    return is_dec_digit(ch) || ch == '-'
        || 'a' <= ch && ch <= 'z' || 'A' <= ch && ch <= 'Z';
}

pub fn is_tag_char(ch: char) -> bool {
    return ch == '%' || is_word_char(ch)
        || ch == '#'
        || ch == ';' || ch == '/' || ch == '?' || ch == ':' || ch == '@'
        || ch == '&' || ch == '=' || ch == '+' || ch == '$'
        || ch == '_' || ch == '.' || ch == '~' || ch == '*'
        || ch == '\'' || ch == '(' || ch == ')';
}

#[test]
fn test_printable() {
    assert!(is_printable('a'));
    assert!(is_printable('я'));
}