devela/text/
mod.rs

1// devela::text
2//
3//! Text types and operations, text processing.
4#![doc = crate::doc_!(modules: crate; text: fmt, parse, str)]
5#![doc = crate::doc_!(newline)]
6//!
7#![doc = crate::doc_!(extends: ascii, char, fmt, str, string)]
8//
9// safety
10#![cfg_attr(feature = "safe_text", forbid(unsafe_code))]
11
12mod ascii;
13#[allow(hidden_glob_reexports, reason = "re-exported char")]
14mod char;
15mod error;
16mod grapheme; // Grapheme
17
18pub mod fmt;
19pub mod parse;
20pub mod str;
21
22crate::items! { // structural access: _mods, _pub_mods, _all, _always
23    #[allow(unused)]
24    pub use _mods::*;
25    #[allow(unused)] #[doc(hidden, no_inline)]
26    pub use {_always::*, _pub_mods::*};
27
28    mod _mods {
29        pub use super::{ascii::_all::*, char::_all::*, error::*, grapheme::_all::*};
30        // WIPZONE
31        // pub use super::bytes::*;
32        // pub use super::cell::*;
33    }
34    mod _pub_mods {
35        pub use super::{fmt::_all::*, parse::_all::*, str::_all::*};
36    }
37    pub(super) mod _all {
38        #[doc(inline)]
39        pub use super::{_mods::*, _pub_mods::*};
40    }
41    pub(super) mod _always { #![allow(unused)]
42        pub use super::{
43            fmt::_always::*, char::_always::*, parse::_always::*, str::_always::*,
44        };
45    }
46}
47// WIPZONE
48// mod bytes; // Utf8Byte
49// mod cell; // TextCell