From 12155ad58c568521082e517f72507ca3dbef22d4 Mon Sep 17 00:00:00 2001 From: Prad Nukala Date: Thu, 13 Aug 2026 19:49:09 -0400 Subject: [PATCH] feat(shell): add zsh-syntax-highlighting and switch to suvadu history --- .chezmoidata/packages.yaml | 5 ++++- dot_zshrc | 17 ++++++++++++++--- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/.chezmoidata/packages.yaml b/.chezmoidata/packages.yaml index 7a6340b..4e23c43 100644 --- a/.chezmoidata/packages.yaml +++ b/.chezmoidata/packages.yaml @@ -42,6 +42,7 @@ packages: - atuin - wget - starship + - zsh-syntax-highlighting # fonts - ttf-victor-mono-nerd aur: @@ -84,6 +85,7 @@ packages: - glow - atuin - starship + - zsh-syntax-highlighting - topgrade cask: - kitty @@ -95,4 +97,5 @@ packages: - dlvhdr/gh-dash - meiji163/gh-notify go: [] - cargo: [] + cargo: + - suvadu diff --git a/dot_zshrc b/dot_zshrc index ac7ab97..8157660 100644 --- a/dot_zshrc +++ b/dot_zshrc @@ -29,12 +29,23 @@ fi # ZLE keybinds — zsh ports of fish_user_key_bindings.fish [ -f "$HOME/.config/zsh/keybinds.zsh" ] && . "$HOME/.config/zsh/keybinds.zsh" -# atuin shell history -[ -f "$HOME/.atuin/bin/env" ] && . "$HOME/.atuin/bin/env" -command -v atuin >/dev/null 2>&1 && eval "$(atuin init zsh)" +# suvadu shell history (replaces atuin here; fish keeps atuin — suvadu has no +# fish support yet, bash still on atuin too) +command -v suv >/dev/null 2>&1 && eval "$(suv init zsh)" # Generated for envman. Do not edit. [ -s "$HOME/.config/envman/load.sh" ] && . "$HOME/.config/envman/load.sh" # Prompt — starship, consistent with fish command -v starship >/dev/null 2>&1 && eval "$(starship init zsh)" + +# Fish-style syntax highlighting (zsh-users/zsh-syntax-highlighting). +# MUST stay last in .zshrc: it wraps every zle widget defined above +# (keybinds, compinit, suv/starship hooks). +for _zsh_hl in \ + /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh \ + /opt/homebrew/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh \ + /usr/local/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh; do + [ -r "$_zsh_hl" ] && . "$_zsh_hl" && break +done +unset _zsh_hl