From be91ed15f2241949681c243a744647ed652de893 Mon Sep 17 00:00:00 2001
From: databasedav <31483365+databasedav@users.noreply.github.com>
Date: Wed, 11 Sep 2024 01:17:28 -0700
Subject: [PATCH] public import cosmic text (#158)

* public import cosmic_text

* fmt
---
 examples/basic_sprite.rs            |  5 ++++-
 examples/basic_ui.rs                |  5 ++++-
 examples/every_option.rs            |  5 ++++-
 examples/font_per_widget.rs         |  5 ++++-
 examples/image_background.rs        |  5 ++++-
 examples/multiple_sprites.rs        |  5 ++++-
 examples/password.rs                |  2 +-
 examples/placeholder.rs             |  5 ++++-
 examples/readonly.rs                |  5 ++++-
 examples/sprite_and_ui_clickable.rs |  5 ++++-
 src/buffer.rs                       |  1 +
 src/cosmic_edit.rs                  |  1 +
 src/lib.rs                          | 17 +++++------------
 src/user_select.rs                  |  1 +
 src/util.rs                         |  1 +
 src/widget.rs                       |  1 +
 16 files changed, 47 insertions(+), 22 deletions(-)

diff --git a/examples/basic_sprite.rs b/examples/basic_sprite.rs
index 8f498f2..818f24d 100644
--- a/examples/basic_sprite.rs
+++ b/examples/basic_sprite.rs
@@ -1,5 +1,8 @@
 use bevy::{prelude::*, window::PrimaryWindow};
-use bevy_cosmic_edit::*;
+use bevy_cosmic_edit::{
+    cosmic_text::{Attrs, Family, Metrics},
+    *,
+};
 
 fn setup(
     mut commands: Commands,
diff --git a/examples/basic_ui.rs b/examples/basic_ui.rs
index a6b6ee2..7a6dffa 100644
--- a/examples/basic_ui.rs
+++ b/examples/basic_ui.rs
@@ -1,5 +1,8 @@
 use bevy::prelude::*;
-use bevy_cosmic_edit::*;
+use bevy_cosmic_edit::{
+    cosmic_text::{Attrs, Family, Metrics},
+    *,
+};
 
 fn setup(mut commands: Commands, mut font_system: ResMut<CosmicFontSystem>) {
     let camera_bundle = Camera2dBundle {
diff --git a/examples/every_option.rs b/examples/every_option.rs
index 9464623..1104db3 100644
--- a/examples/every_option.rs
+++ b/examples/every_option.rs
@@ -1,5 +1,8 @@
 use bevy::prelude::*;
-use bevy_cosmic_edit::*;
+use bevy_cosmic_edit::{
+    cosmic_text::{Attrs, AttrsOwned, Metrics},
+    *,
+};
 
 #[derive(Resource)]
 struct TextChangeTimer(pub Timer);
diff --git a/examples/font_per_widget.rs b/examples/font_per_widget.rs
index 3c9804a..2285602 100644
--- a/examples/font_per_widget.rs
+++ b/examples/font_per_widget.rs
@@ -1,7 +1,10 @@
 #![allow(clippy::type_complexity)]
 
 use bevy::prelude::*;
-use bevy_cosmic_edit::*;
+use bevy_cosmic_edit::{
+    cosmic_text::{Attrs, Family, Metrics},
+    *,
+};
 
 fn setup(mut commands: Commands, mut font_system: ResMut<CosmicFontSystem>) {
     commands.spawn(Camera2dBundle::default());
diff --git a/examples/image_background.rs b/examples/image_background.rs
index e21c35a..7df8a51 100644
--- a/examples/image_background.rs
+++ b/examples/image_background.rs
@@ -1,5 +1,8 @@
 use bevy::prelude::*;
-use bevy_cosmic_edit::*;
+use bevy_cosmic_edit::{
+    cosmic_text::{Attrs, AttrsOwned},
+    *,
+};
 
 fn setup(mut commands: Commands, asset_server: Res<AssetServer>) {
     commands.spawn(Camera2dBundle::default());
diff --git a/examples/multiple_sprites.rs b/examples/multiple_sprites.rs
index de0012a..714b943 100644
--- a/examples/multiple_sprites.rs
+++ b/examples/multiple_sprites.rs
@@ -1,5 +1,8 @@
 use bevy::{prelude::*, window::PrimaryWindow};
-use bevy_cosmic_edit::*;
+use bevy_cosmic_edit::{
+    cosmic_text::{Attrs, Family, Metrics},
+    *,
+};
 
 fn setup(
     mut commands: Commands,
diff --git a/examples/password.rs b/examples/password.rs
index 290a2c7..d9655cc 100644
--- a/examples/password.rs
+++ b/examples/password.rs
@@ -1,5 +1,5 @@
 use bevy::prelude::*;
-use bevy_cosmic_edit::*;
+use bevy_cosmic_edit::{cosmic_text::Attrs, *};
 
 fn setup(mut commands: Commands) {
     commands.spawn(Camera2dBundle::default());
diff --git a/examples/placeholder.rs b/examples/placeholder.rs
index 69bda09..bf09920 100644
--- a/examples/placeholder.rs
+++ b/examples/placeholder.rs
@@ -1,5 +1,8 @@
 use bevy::prelude::*;
-use bevy_cosmic_edit::*;
+use bevy_cosmic_edit::{
+    cosmic_text::{Attrs, Family, Metrics},
+    *,
+};
 
 fn setup(mut commands: Commands, mut font_system: ResMut<CosmicFontSystem>) {
     let camera_bundle = Camera2dBundle {
diff --git a/examples/readonly.rs b/examples/readonly.rs
index 7dbaf3f..0e42c72 100644
--- a/examples/readonly.rs
+++ b/examples/readonly.rs
@@ -1,5 +1,8 @@
 use bevy::prelude::*;
-use bevy_cosmic_edit::*;
+use bevy_cosmic_edit::{
+    cosmic_text::{Attrs, Family, Metrics},
+    *,
+};
 
 fn setup(mut commands: Commands, mut font_system: ResMut<CosmicFontSystem>) {
     commands.spawn(Camera2dBundle::default());
diff --git a/examples/sprite_and_ui_clickable.rs b/examples/sprite_and_ui_clickable.rs
index be242fc..362ce26 100644
--- a/examples/sprite_and_ui_clickable.rs
+++ b/examples/sprite_and_ui_clickable.rs
@@ -1,5 +1,8 @@
 use bevy::prelude::*;
-use bevy_cosmic_edit::*;
+use bevy_cosmic_edit::{
+    cosmic_text::{Attrs, AttrsOwned},
+    *,
+};
 
 fn setup(mut commands: Commands) {
     commands.spawn(Camera2dBundle::default());
diff --git a/src/buffer.rs b/src/buffer.rs
index 308705a..69f90f8 100644
--- a/src/buffer.rs
+++ b/src/buffer.rs
@@ -1,5 +1,6 @@
 use crate::*;
 use bevy::{prelude::*, window::PrimaryWindow};
+use cosmic_text::{Attrs, AttrsOwned, Buffer, Edit, FontSystem, Metrics, Shaping};
 
 /// Set of all buffer setup functions. Runs in [`First`]
 #[derive(SystemSet, Debug, Clone, PartialEq, Eq, Hash)]
diff --git a/src/cosmic_edit.rs b/src/cosmic_edit.rs
index 41c6c18..953b28d 100644
--- a/src/cosmic_edit.rs
+++ b/src/cosmic_edit.rs
@@ -1,5 +1,6 @@
 use crate::*;
 use bevy::prelude::*;
+use cosmic_text::{Attrs, AttrsOwned, Editor, FontSystem};
 
 /// Enum representing text wrapping in a cosmic [`Buffer`]
 #[derive(Clone, Component, PartialEq, Default)]
diff --git a/src/lib.rs b/src/lib.rs
index b8ec066..18eeb5f 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -102,11 +102,7 @@ use bevy::prelude::*;
 pub use buffer::*;
 pub use cosmic_edit::*;
 #[doc(no_inline)]
-pub use cosmic_text::{
-    Action, Attrs, AttrsOwned, Buffer, CacheKeyFlags, Color as CosmicColor, Cursor, Edit, Editor,
-    Family, FamilyOwned, FontSystem, Metrics, Shaping, Stretch, Style as FontStyle,
-    Weight as FontWeight,
-};
+pub use cosmic_text::{self, Color as CosmicColor, Style as FontStyle, Weight as FontWeight};
 pub use cursor::*;
 pub use events::*;
 pub use focus::*;
@@ -205,7 +201,7 @@ impl Default for CosmicFontConfig {
     }
 }
 
-fn create_cosmic_font_system(cosmic_font_config: CosmicFontConfig) -> FontSystem {
+fn create_cosmic_font_system(cosmic_font_config: CosmicFontConfig) -> cosmic_text::FontSystem {
     let locale = sys_locale::get_locale().unwrap_or_else(|| String::from("en-US"));
     let mut db = cosmic_text::fontdb::Database::new();
     if let Some(dir_path) = cosmic_font_config.fonts_dir_path.clone() {
@@ -234,13 +230,10 @@ mod tests {
         mut commands: Commands,
         mut font_system: ResMut<CosmicFontSystem>,
     ) {
-        let attrs = Attrs::new();
+        let attrs = cosmic_text::Attrs::new();
         commands.spawn(CosmicEditBundle {
-            buffer: CosmicBuffer::new(&mut font_system, Metrics::new(20., 20.)).with_rich_text(
-                &mut font_system,
-                vec![("Blah", attrs)],
-                attrs,
-            ),
+            buffer: CosmicBuffer::new(&mut font_system, cosmic_text::Metrics::new(20., 20.))
+                .with_rich_text(&mut font_system, vec![("Blah", attrs)], attrs),
             ..Default::default()
         });
     }
diff --git a/src/user_select.rs b/src/user_select.rs
index 8b0aa95..1c573e7 100644
--- a/src/user_select.rs
+++ b/src/user_select.rs
@@ -1,5 +1,6 @@
 use crate::*;
 use bevy::prelude::*;
+use cosmic_text::Edit;
 
 pub(crate) struct UserSelectPlugin;
 
diff --git a/src/util.rs b/src/util.rs
index 61bb4fa..c4439f3 100644
--- a/src/util.rs
+++ b/src/util.rs
@@ -1,6 +1,7 @@
 // Common functions for examples
 use crate::*;
 use bevy::{prelude::*, window::PrimaryWindow};
+use cosmic_text::Edit;
 
 /// Trait for adding color conversion from [`bevy::prelude::Color`] to [`cosmic_text::Color`]
 pub trait ColorExtras {
diff --git a/src/widget.rs b/src/widget.rs
index 0950977..6e4b2f8 100644
--- a/src/widget.rs
+++ b/src/widget.rs
@@ -1,6 +1,7 @@
 use crate::*;
 use bevy::{prelude::*, window::PrimaryWindow};
 use cosmic_text::Affinity;
+use cosmic_text::Edit;
 
 /// System set for cosmic text layout systems. Runs in [`PostUpdate`]
 #[derive(SystemSet, Debug, Clone, PartialEq, Eq, Hash)]
-- 
GitLab