diff --git a/melib/Cargo.toml b/melib/Cargo.toml index 1cc790c3..33423ad8 100644 --- a/melib/Cargo.toml +++ b/melib/Cargo.toml @@ -23,3 +23,4 @@ serde = "1.0.71" serde_derive = "1.0.71" bincode = "1.0.1" uuid = { version = "0.6", features = ["serde", "v4"] } +unicode-segmentation = "1.2.1" # >:c diff --git a/ui/src/terminal/grapheme_clusters.rs b/melib/src/grapheme_clusters.rs similarity index 99% rename from ui/src/terminal/grapheme_clusters.rs rename to melib/src/grapheme_clusters.rs index a7b2f148..c41e6541 100644 --- a/ui/src/terminal/grapheme_clusters.rs +++ b/melib/src/grapheme_clusters.rs @@ -9,6 +9,7 @@ */ use super::*; +use unicode_segmentation::UnicodeSegmentation; pub trait Graphemes: UnicodeSegmentation + CodePointsIter { fn split_graphemes<'a>(&'a self) -> Vec<&'a str> { diff --git a/melib/src/lib.rs b/melib/src/lib.rs index 64375e94..6151cbcd 100644 --- a/melib/src/lib.rs +++ b/melib/src/lib.rs @@ -81,7 +81,11 @@ pub mod addressbook; pub mod async_workers; pub mod conf; pub mod error; +pub mod grapheme_clusters; pub mod mailbox; +mod wcwidth; +pub use self::grapheme_clusters::*; +pub use self::wcwidth::*; #[macro_use] extern crate serde_derive; diff --git a/ui/src/terminal/wcwidth.rs b/melib/src/wcwidth.rs similarity index 100% rename from ui/src/terminal/wcwidth.rs rename to melib/src/wcwidth.rs diff --git a/ui/src/terminal.rs b/ui/src/terminal.rs index 4b6f76b4..811c745d 100644 --- a/ui/src/terminal.rs +++ b/ui/src/terminal.rs @@ -22,7 +22,7 @@ extern crate serde; use self::serde::de::Visitor; use self::serde::{de, Deserialize, Deserializer}; extern crate unicode_segmentation; -use self::unicode_segmentation::UnicodeSegmentation; +use melib::grapheme_clusters::*; #[macro_use] mod position; @@ -30,12 +30,8 @@ mod position; mod cells; #[macro_use] mod keys; -mod grapheme_clusters; mod text_editing; -mod wcwidth; pub use self::cells::*; -pub use self::grapheme_clusters::*; pub use self::keys::*; pub use self::position::*; pub use self::text_editing::*; -pub use self::wcwidth::*;