zsh
change
commit 19f0217b35c9298c57d22b33372a896ae2b4c4f1
author Alpha Chen <alpha@kejadlen.dev>
date
parent 8f21e8e0
diff --git a/.zshrc b/.zshrc
index 60c55e4e..a266bb6d 100644
--- a/.zshrc
+++ b/.zshrc
@@ -133,6 +133,17 @@ if (( $+commands[fzf] )); then
 
   # https://github.com/junegunn/fzf/issues/164#issuecomment-581837757
   z4h bindkey fzf-cd-widget ç
+
+  # https://blog.revathskumar.com/2024/02/curl-fuzzy-search-options-using-fzf.html
+  _fzf_complete_curl() {
+    _fzf_complete --header-lines=1  --prompt="curl> " -- "$@" < <(
+      curl -h all
+    )
+  }
+
+  _fzf_complete_curl_post() {
+    awk '{print $1}' | cut -d ',' -f -1
+  }
 fi
 
 # Autoload functions.
@@ -150,19 +161,25 @@ if type brew &>/dev/null; then
   compinit
 fi
 
+# has to go after compinit
+if (( $+commands[zoxide] )); then
+  eval "$(zoxide init zsh)"
+fi
+
 # Define named directories: ~w <=> Windows home directory on WSL.
 # [[ -z $z4h_win_home ]] || hash -d w=$z4h_win_home
 
 # Define aliases.
+alias be='bundle exec'
 alias clear=z4h-clear-screen-soft-bottom
 (( $+commands[eza] )) && alias ls=eza
 alias git='noglob git' # so that shortcuts like @^ work
 alias rake='noglob rake' # don't match on square brackets
 alias tat='tmux new-session -As `basename $PWD | ruby -e "puts ARGF.read.strip.downcase.gsub(/[^\w]+/, ?-)"`'
-alias tree='tree -a -I .git'
+alias tree='eza --tree'
 
 # Add flags to existing aliases.
-alias ls="${aliases[ls]:-ls} -A --git-ignore"
+alias ls="${aliases[ls]:-ls} -A"
 
 # Set shell options: http://zsh.sourceforge.net/Doc/Release/Options.html.
 setopt glob_dots  # no special treatment for file names with a leading dot