From d3562d4c9c8d95ee9f029a20349c1b0f5fbd0f7c Mon Sep 17 00:00:00 2001 From: Amin Yahyaabadi Date: Tue, 6 Feb 2024 22:54:40 -0800 Subject: [PATCH] Fixes for file-watching, user assets, and system dependencies (#2) * fix: avoid panics in case of non-existing path for watching * fix: copy the themes and plugins * Revert "add a few more libraries to the linux script" This reverts commit 7509677003da3398d0df796eca9c5435a12f576e. * fix: add vulkan validation layers to the system deps * fix: fix the themes paths --- Cargo.lock | 1 + crates/fs/src/fs.rs | 7 ++++++- script/linux | 19 +++++++++++-------- 3 files changed, 18 insertions(+), 9 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 817eca20f6..1a1cc787d5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -937,6 +937,7 @@ dependencies = [ [[package]] name = "blade-graphics" version = "0.3.0" +source = "git+https://github.com/kvark/blade?rev=f35bc605154e210ab6190291235889b6ddad73f1#f35bc605154e210ab6190291235889b6ddad73f1" dependencies = [ "ash", "ash-window", diff --git a/crates/fs/src/fs.rs b/crates/fs/src/fs.rs index edd3da101c..bdb32d7d76 100644 --- a/crates/fs/src/fs.rs +++ b/crates/fs/src/fs.rs @@ -287,12 +287,17 @@ impl Fs for RealFs { ) -> Pin>>> { let (tx, rx) = smol::channel::unbounded(); + if !path.exists() { + log::error!("watch path does not exist: {}", path.display()); + return Box::pin(rx); + } + let mut watcher = notify::recommended_watcher(move |res| match res { Ok(event) => { let _ = tx.try_send(vec![event]); } Err(err) => { - eprintln!("watch error: {:?}", err); + log::error!("watch error: {}", err); } }) .unwrap(); diff --git a/script/linux b/script/linux index 2dee0ac9fe..f672ed8b85 100755 --- a/script/linux +++ b/script/linux @@ -3,10 +3,17 @@ # if not on Linux, do nothing [[ $(uname) == "Linux" ]] || exit 0 -# Copy settings and keymap to the user's home directory if they don't exist +# Copy assets to the user's home directory if they don't exist mkdir -p "$HOME/.config/zed" + +mkdir -p "$HOME/.config/zed/plugins" + +mkdir -p "$HOME/.config/zed/themes" +cp -ruL ./assets/themes/*/*.json "$HOME/.config/zed/themes" + test -f "$HOME/.config/zed/settings.json" || cp -uL ./assets/settings/initial_user_settings.json "$HOME/.config/zed/settings.json" + test -f "$HOME/.config/zed/keymap.json" || cp -uL ./assets/keymaps/default.json "$HOME/.config/zed/keymap.json" @@ -21,13 +28,7 @@ if [[ -n $apt ]]; then deps=( libasound2-dev libfontconfig-dev - libxcb-dev - alsa-base - cmake - fontconfig - libssl-dev - build-essential - + vulkan-validationlayers* ) $maysudo "$apt" install -y "${deps[@]}" exit 0 @@ -40,6 +41,7 @@ if [[ -n $dnf ]]; then deps=( alsa-lib-devel fontconfig-devel + vulkan-validation-layers ) $maysudo "$dnf" install -y "${deps[@]}" exit 0 @@ -52,6 +54,7 @@ if [[ -n $pacman ]]; then deps=( alsa-lib fontconfig + vulkan-validation-layers ) $maysudo "$pacman" -S --noconfirm "${deps[@]}" exit 0