diff --git a/Cargo.lock b/Cargo.lock index ce9496be5b9de3093a22fc8c3ddc05c486e62a46..9bc19c7ad98e1a5da85c24391d94941c94e7b01b 100644 --- a/Cargo.lock +++ b/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", ] diff --git a/crates/gpui/src/app.rs b/crates/gpui/src/app.rs index 80b9ead9bc074aacc4b9170c33d655e2827f03cf..90c25efe5bb838e63194c155365c6d1747b81ac7 100644 --- a/crates/gpui/src/app.rs +++ b/crates/gpui/src/app.rs @@ -283,6 +283,10 @@ impl App { Ok(app) } + pub fn background(&self) -> Arc { + self.0.borrow().background().clone() + } + pub fn on_become_active(self, mut callback: F) -> Self where F: 'static + FnMut(&mut MutableAppContext), diff --git a/crates/server/Cargo.toml b/crates/server/Cargo.toml index 38aeac8a6b0a1d82ad9b2f3bf0e8a8f04cc74ceb..15f218178b5cd50b87b7ce24d710976c8afa5b7b 100644 --- a/crates/server/Cargo.toml +++ b/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" diff --git a/crates/workspace/src/settings.rs b/crates/workspace/src/settings.rs index c74576ef7ec541614fd8e46f6a3a4177589dc9ac..a1598836a48c626591ced292a3bd53622437863f 100644 --- a/crates/workspace/src/settings.rs +++ b/crates/workspace/src/settings.rs @@ -36,7 +36,7 @@ impl Settings { ) -> Result { 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, diff --git a/crates/zed/Cargo.toml b/crates/zed/Cargo.toml index 4d4d8f8b915476ee2accc94e4406d99dddb3d19d..3f4cf8a96f6c26ea95ad0b0568f0d95961d1d7e1 100644 --- a/crates/zed/Cargo.toml +++ b/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" diff --git a/crates/zed/assets/fonts/inconsolata/Inconsolata-Bold.ttf b/crates/zed/assets/fonts/inconsolata/Inconsolata-Bold.ttf deleted file mode 100644 index 6c930e3bc724408d0e9884aeb91cdbcd4edc98ec..0000000000000000000000000000000000000000 Binary files a/crates/zed/assets/fonts/inconsolata/Inconsolata-Bold.ttf and /dev/null differ diff --git a/crates/zed/assets/fonts/inconsolata/Inconsolata-Regular.ttf b/crates/zed/assets/fonts/inconsolata/Inconsolata-Regular.ttf deleted file mode 100644 index 3b74e08a12d9abf807de632719ab781c809d6bf2..0000000000000000000000000000000000000000 Binary files a/crates/zed/assets/fonts/inconsolata/Inconsolata-Regular.ttf and /dev/null differ diff --git a/crates/zed/assets/fonts/zed-mono/zed-mono-bold.ttf b/crates/zed/assets/fonts/zed-mono/zed-mono-bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..4db0387f74dd50a8377a02117d8e4eb37756da03 Binary files /dev/null and b/crates/zed/assets/fonts/zed-mono/zed-mono-bold.ttf differ diff --git a/crates/zed/assets/fonts/zed-mono/zed-mono-bolditalic.ttf b/crates/zed/assets/fonts/zed-mono/zed-mono-bolditalic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..311427a7bce397e4a939776c8b8c8d33ad2cc712 Binary files /dev/null and b/crates/zed/assets/fonts/zed-mono/zed-mono-bolditalic.ttf differ diff --git a/crates/zed/assets/fonts/zed-mono/zed-mono-italic.ttf b/crates/zed/assets/fonts/zed-mono/zed-mono-italic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..2c97a2d7059a2bb15103375955e4b61f7a8ed566 Binary files /dev/null and b/crates/zed/assets/fonts/zed-mono/zed-mono-italic.ttf differ diff --git a/crates/zed/assets/fonts/zed-mono/zed-mono-regular.ttf b/crates/zed/assets/fonts/zed-mono/zed-mono-regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..4c6733e2a5b851bf283ee93c751f15c23556fd0a Binary files /dev/null and b/crates/zed/assets/fonts/zed-mono/zed-mono-regular.ttf differ diff --git a/crates/zed/assets/fonts/zed-sans/zed-sans-bold.ttf b/crates/zed/assets/fonts/zed-sans/zed-sans-bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..a4ed560d5af2abbb806748a0a3bdd660101fead2 Binary files /dev/null and b/crates/zed/assets/fonts/zed-sans/zed-sans-bold.ttf differ diff --git a/crates/zed/assets/fonts/zed-sans/zed-sans-bolditalic.ttf b/crates/zed/assets/fonts/zed-sans/zed-sans-bolditalic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..83cc0c2a4b70c64223f6c64c1046e55653be782c Binary files /dev/null and b/crates/zed/assets/fonts/zed-sans/zed-sans-bolditalic.ttf differ diff --git a/crates/zed/assets/fonts/zed-sans/zed-sans-italic.ttf b/crates/zed/assets/fonts/zed-sans/zed-sans-italic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..cc7dbb4c35dd08397bbb03941c31ccfaccdeb2d4 Binary files /dev/null and b/crates/zed/assets/fonts/zed-sans/zed-sans-italic.ttf differ diff --git a/crates/zed/assets/fonts/zed-sans/zed-sans-regular.ttf b/crates/zed/assets/fonts/zed-sans/zed-sans-regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..8bfd8202cbf49a802bd90dad9b2c12ec79958f6f Binary files /dev/null and b/crates/zed/assets/fonts/zed-sans/zed-sans-regular.ttf differ diff --git a/crates/zed/assets/themes/_base.toml b/crates/zed/assets/themes/_base.toml index 389f4571070cc3dd2274fd1cfc9ed5f30f75699d..ed4c4c90391637225812632371070ed8db54f3e4 100644 --- a/crates/zed/assets/themes/_base.toml +++ b/crates/zed/assets/themes/_base.toml @@ -1,5 +1,5 @@ [text] -base = { family = "Inconsolata", size = 15 } +base = { family = "Zed Sans", size = 14 } [workspace] background = "$surface.0" diff --git a/crates/zed/src/main.rs b/crates/zed/src/main.rs index 19f11ebc1ecd4080f9c44e270c61836e33642d17..b15424134399f0ec98e5606421ecff199abd55e4 100644 --- a/crates/zed/src/main.rs +++ b/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::>(); - 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 { }) .collect::>() } + +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(); +} diff --git a/crates/zed/src/test.rs b/crates/zed/src/test.rs index 5bf43b555ff3755185af0c9dab02eb54f6eeee85..9e12e2601c42c2b699fb2f61ddc4756f6bebd23d 100644 --- a/crates/zed/src/test.rs +++ b/crates/zed/src/test.rs @@ -52,11 +52,9 @@ pub fn test_app_state(cx: &mut MutableAppContext) -> Arc { fn build_settings(cx: &gpui::AppContext) -> Settings { lazy_static::lazy_static! { static ref DEFAULT_THEME: parking_lot::Mutex>> = Default::default(); - static ref FONTS: Vec>> = Assets - .list("fonts") - .into_iter() - .map(|f| Arc::new(Assets.load(&f).unwrap().to_vec())) - .collect(); + static ref FONTS: Vec>> = vec![ + Assets.load("fonts/zed-sans/zed-sans-regular.ttf").unwrap().to_vec().into() + ]; } cx.platform().fonts().add_fonts(&FONTS).unwrap(); @@ -72,5 +70,5 @@ fn build_settings(cx: &gpui::AppContext) -> Settings { theme }; - Settings::new("Inconsolata", cx.font_cache(), theme).unwrap() + Settings::new("Zed Sans", cx.font_cache(), theme).unwrap() }