Replace Inconsolata with Zed Mono and Zed Sans

Antonio Scandurra created

Change summary

Cargo.lock                                                  | 18 ++--
crates/gpui/src/app.rs                                      |  4 
crates/server/Cargo.toml                                    |  2 
crates/workspace/src/settings.rs                            |  2 
crates/zed/Cargo.toml                                       |  2 
crates/zed/assets/fonts/inconsolata/Inconsolata-Bold.ttf    |  0 
crates/zed/assets/fonts/inconsolata/Inconsolata-Regular.ttf |  0 
crates/zed/assets/fonts/zed-mono/zed-mono-bold.ttf          |  0 
crates/zed/assets/fonts/zed-mono/zed-mono-bolditalic.ttf    |  0 
crates/zed/assets/fonts/zed-mono/zed-mono-italic.ttf        |  0 
crates/zed/assets/fonts/zed-mono/zed-mono-regular.ttf       |  0 
crates/zed/assets/fonts/zed-sans/zed-sans-bold.ttf          |  0 
crates/zed/assets/fonts/zed-sans/zed-sans-bolditalic.ttf    |  0 
crates/zed/assets/fonts/zed-sans/zed-sans-italic.ttf        |  0 
crates/zed/assets/fonts/zed-sans/zed-sans-regular.ttf       |  0 
crates/zed/assets/themes/_base.toml                         |  2 
crates/zed/src/main.rs                                      | 29 +++++-
17 files changed, 38 insertions(+), 21 deletions(-)

Detailed changes

Cargo.lock 🔗

@@ -2104,9 +2104,9 @@ checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574"
 
 [[package]]
 name = "globset"
-version = "0.4.6"
+version = "0.4.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c152169ef1e421390738366d2f796655fec62621dabbd0fd476f905934061e4a"
+checksum = "10463d9ff00a2a068db14231982f5132edebad0d7660cd956a1c30292dbcbfbd"
 dependencies = [
  "aho-corasick",
  "bstr",
@@ -3913,9 +3913,9 @@ dependencies = [
 
 [[package]]
 name = "rust-embed"
-version = "6.2.0"
+version = "6.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1be44a6694859b7cfc955699935944a6844aa9fe416aeda5d40829e3e38dfee6"
+checksum = "d40377bff8cceee81e28ddb73ac97f5c2856ce5522f0b260b763f434cdfae602"
 dependencies = [
  "rust-embed-impl",
  "rust-embed-utils",
@@ -3924,9 +3924,9 @@ dependencies = [
 
 [[package]]
 name = "rust-embed-impl"
-version = "6.1.0"
+version = "6.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f567ca01565c50c67b29e535f5f67b8ea8aeadaeed16a88f10792ab57438b957"
+checksum = "94e763e24ba2bf0c72bc6be883f967f794a019fafd1b86ba1daff9c91a7edd30"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -3937,11 +3937,11 @@ dependencies = [
 
 [[package]]
 name = "rust-embed-utils"
-version = "7.0.0"
+version = "7.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6116e7ab9ea963f60f2f20291d8fcf6c7273192cdd7273b3c80729a9605c97b2"
+checksum = "ad22c7226e4829104deab21df575e995bfbc4adfad13a595e387477f238c1aec"
 dependencies = [
- "glob",
+ "globset",
  "sha2",
  "walkdir",
 ]

crates/gpui/src/app.rs 🔗

@@ -283,6 +283,10 @@ impl App {
         Ok(app)
     }
 
+    pub fn background(&self) -> Arc<executor::Background> {
+        self.0.borrow().background().clone()
+    }
+
     pub fn on_become_active<F>(self, mut callback: F) -> Self
     where
         F: 'static + FnMut(&mut MutableAppContext),

crates/server/Cargo.toml 🔗

@@ -34,7 +34,7 @@ oauth2-surf = "0.1.1"
 parking_lot = "0.11.1"
 postage = { version = "0.4.1", features = ["futures-traits"] }
 rand = "0.8"
-rust-embed = { version = "6.2", features = ["include-exclude"] }
+rust-embed = { version = "6.3", features = ["include-exclude"] }
 scrypt = "0.7"
 serde = { version = "1.0", features = ["derive"] }
 serde_json = "1.0"

crates/workspace/src/settings.rs 🔗

@@ -36,7 +36,7 @@ impl Settings {
     ) -> Result<Self> {
         Ok(Self {
             buffer_font_family: font_cache.load_family(&[buffer_font_family])?,
-            buffer_font_size: 16.,
+            buffer_font_size: 15.,
             tab_size: 4,
             soft_wrap: SoftWrap::None,
             preferred_line_length: 80,

crates/zed/Cargo.toml 🔗

@@ -76,7 +76,7 @@ postage = { version = "0.4.1", features = ["futures-traits"] }
 rand = "0.8.3"
 regex = "1.5"
 rsa = "0.4"
-rust-embed = { version = "6.2", features = ["include-exclude"] }
+rust-embed = { version = "6.3", features = ["include-exclude"] }
 serde = { version = "1", features = ["derive"] }
 serde_json = { version = "1.0.64", features = ["preserve_order"] }
 serde_path_to_error = "0.1.4"

crates/zed/src/main.rs 🔗

@@ -3,7 +3,7 @@
 
 use client::{self, http, ChannelList, UserStore};
 use fs::OpenOptions;
-use gpui::AssetSource;
+use gpui::{App, AssetSource};
 use log::LevelFilter;
 use parking_lot::Mutex;
 use simplelog::SimpleLogger;
@@ -18,16 +18,11 @@ fn main() {
     init_logger();
 
     let app = gpui::App::new(Assets).unwrap();
-    let embedded_fonts = Assets
-        .list("fonts")
-        .into_iter()
-        .map(|f| Arc::new(Assets.load(&f).unwrap().to_vec()))
-        .collect::<Vec<_>>();
-    app.platform().fonts().add_fonts(&embedded_fonts).unwrap();
+    load_embedded_fonts(&app);
 
     let themes = ThemeRegistry::new(Assets, app.font_cache());
     let theme = themes.get(DEFAULT_THEME_NAME).unwrap();
-    let settings = Settings::new("Inconsolata", &app.font_cache(), theme)
+    let settings = Settings::new("Zed Mono", &app.font_cache(), theme)
         .unwrap()
         .with_overrides(
             language::PLAIN_TEXT.name(),
@@ -147,3 +142,21 @@ fn collect_path_args() -> Vec<PathBuf> {
         })
         .collect::<Vec<_>>()
 }
+
+fn load_embedded_fonts(app: &App) {
+    let font_paths = Assets.list("fonts");
+    let embedded_fonts = Mutex::new(Vec::new());
+    smol::block_on(app.background().scoped(|scope| {
+        for font_path in &font_paths {
+            scope.spawn(async {
+                let font_path = &*font_path;
+                let font_bytes = Assets.load(&font_path).unwrap().to_vec();
+                embedded_fonts.lock().push(Arc::from(font_bytes));
+            });
+        }
+    }));
+    app.platform()
+        .fonts()
+        .add_fonts(&embedded_fonts.into_inner())
+        .unwrap();
+}