Fixes for file-watching, user assets, and system dependencies (#2)
Amin Yahyaabadi
created 2 years ago
* 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
Change summary
Cargo.lock | 1 +
crates/fs/src/fs.rs | 7 ++++++-
script/linux | 19 +++++++++++--------
3 files changed, 18 insertions(+), 9 deletions(-)
Detailed changes
@@ -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",
@@ -287,12 +287,17 @@ impl Fs for RealFs {
) -> Pin<Box<dyn Send + Stream<Item = Vec<Event>>>> {
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();
@@ -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