From 527be326fd345f06ee43fd07f2d3e0f4933902ca Mon Sep 17 00:00:00 2001 From: NewtonChutney <70827815+NewtonChutney@users.noreply.github.com> Date: Sun, 17 Dec 2023 11:17:19 +0530 Subject: [PATCH] added icon for Windows exe file and cleaned up assets --- Cargo.lock | 29 ++++-- README.md | 8 +- assets/logo.ico | Bin 0 -> 35081 bytes assets/logo.svg | 29 ++++++ assets/logo_dark.svg | 70 +++++++++++++++ assets/logo_light.svg | 70 +++++++++++++++ screenshot.png => assets/screenshot.png | Bin flake.nix | 4 +- helix-term/Cargo.toml | 4 + helix-term/build.rs | 6 ++ logo.svg | 1 - logo_dark.svg | 115 ------------------------ logo_light.svg | 115 ------------------------ 13 files changed, 208 insertions(+), 243 deletions(-) create mode 100644 assets/logo.ico create mode 100644 assets/logo.svg create mode 100644 assets/logo_dark.svg create mode 100644 assets/logo_light.svg rename screenshot.png => assets/screenshot.png (100%) delete mode 100644 logo.svg delete mode 100644 logo_dark.svg delete mode 100644 logo_light.svg diff --git a/Cargo.lock b/Cargo.lock index f58ac4ff0f09e..952e5a0f89834 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1075,7 +1075,7 @@ dependencies = [ "smallvec", "smartstring", "textwrap", - "toml", + "toml 0.7.6", "tree-sitter", "unicode-general-category", "unicode-segmentation", @@ -1119,7 +1119,7 @@ dependencies = [ "serde", "tempfile", "threadpool", - "toml", + "toml 0.7.6", "tree-sitter", "which", ] @@ -1187,9 +1187,10 @@ dependencies = [ "tempfile", "tokio", "tokio-stream", - "toml", + "toml 0.7.6", "url", "which", + "winres", ] [[package]] @@ -1252,7 +1253,7 @@ dependencies = [ "slotmap", "tokio", "tokio-stream", - "toml", + "toml 0.7.6", "url", "which", ] @@ -2140,6 +2141,15 @@ dependencies = [ "tokio", ] +[[package]] +name = "toml" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" +dependencies = [ + "serde", +] + [[package]] name = "toml" version = "0.7.6" @@ -2600,6 +2610,15 @@ dependencies = [ "memchr", ] +[[package]] +name = "winres" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b68db261ef59e9e52806f688020631e987592bd83619edccda9c47d42cde4f6c" +dependencies = [ + "toml 0.5.11", +] + [[package]] name = "xtask" version = "23.10.0" @@ -2608,7 +2627,7 @@ dependencies = [ "helix-loader", "helix-term", "helix-view", - "toml", + "toml 0.7.6", ] [[package]] diff --git a/README.md b/README.md index 227e1c91fb71c..2911780f2f93e 100644 --- a/README.md +++ b/README.md @@ -2,9 +2,9 @@

- - - Helix + + + Helix

@@ -16,7 +16,7 @@ -![Screenshot](./screenshot.png) +![Screenshot](./assets/screenshot.png) A Kakoune / Neovim inspired editor, written in Rust. diff --git a/assets/logo.ico b/assets/logo.ico new file mode 100644 index 0000000000000000000000000000000000000000..d0f40729a17fbc8b568ae4343f75594782c436eb GIT binary patch literal 35081 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 N + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/logo_dark.svg b/assets/logo_dark.svg new file mode 100644 index 0000000000000..7c36a5c6f13be --- /dev/null +++ b/assets/logo_dark.svg @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/logo_light.svg b/assets/logo_light.svg new file mode 100644 index 0000000000000..bde042197fe89 --- /dev/null +++ b/assets/logo_light.svg @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/screenshot.png b/assets/screenshot.png similarity index 100% rename from screenshot.png rename to assets/screenshot.png diff --git a/flake.nix b/flake.nix index e113d94b99752..da151a752f280 100644 --- a/flake.nix +++ b/flake.nix @@ -41,8 +41,6 @@ ".ignore" ".github" ".gitignore" - "logo_dark.svg" - "logo_light.svg" "rust-toolchain.toml" "rustfmt.toml" "runtime" @@ -142,7 +140,7 @@ postInstall = '' mkdir -p $out/share/applications $out/share/icons/hicolor/scalable/apps $out/share/icons/hicolor/256x256/apps cp contrib/Helix.desktop $out/share/applications - cp logo.svg $out/share/icons/hicolor/scalable/apps/helix.svg + cp assets/logo.svg $out/share/icons/hicolor/scalable/apps/helix.svg cp contrib/helix.png $out/share/icons/hicolor/256x256/apps ''; }); diff --git a/helix-term/Cargo.toml b/helix-term/Cargo.toml index 4ff7fc0b1798c..f9c2b9df03ba6 100644 --- a/helix-term/Cargo.toml +++ b/helix-term/Cargo.toml @@ -81,6 +81,10 @@ crossterm = { version = "0.27", features = ["event-stream", "use-dev-tty"] } [build-dependencies] helix-loader = { path = "../helix-loader" } +[target.'cfg(windows)'.build-dependencies] +# winres to inject icon into Windows binary +winres = "0.1.12" + [dev-dependencies] smallvec = "1.11" indoc = "2.0.4" diff --git a/helix-term/build.rs b/helix-term/build.rs index b47dae8ef6530..bbb2c938b3860 100644 --- a/helix-term/build.rs +++ b/helix-term/build.rs @@ -1,4 +1,5 @@ use helix_loader::grammar::{build_grammars, fetch_grammars}; +extern crate winres; fn main() { if std::env::var("HELIX_DISABLE_AUTO_GRAMMAR_BUILD").is_err() { @@ -6,4 +7,9 @@ fn main() { build_grammars(Some(std::env::var("TARGET").unwrap())) .expect("Failed to compile tree-sitter grammars"); } + if cfg!(target_os = "windows") { + let mut res = winres::WindowsResource::new(); + res.set_icon("../assets/logo.ico"); + res.compile().unwrap(); + } } diff --git a/logo.svg b/logo.svg deleted file mode 100644 index 05dd73a8afb9f..0000000000000 --- a/logo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/logo_dark.svg b/logo_dark.svg deleted file mode 100644 index f6e94f1b4c39f..0000000000000 --- a/logo_dark.svg +++ /dev/null @@ -1,115 +0,0 @@ - - diff --git a/logo_light.svg b/logo_light.svg deleted file mode 100644 index cdd5ddb8b0a62..0000000000000 --- a/logo_light.svg +++ /dev/null @@ -1,115 +0,0 @@ - -