2
0

eza.plugin.zsh 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. if ! (( $+commands[eza] )); then
  2. print "zsh eza plugin: eza not found. Please install eza before using this plugin." >&2
  3. return 1
  4. fi
  5. typeset -a _EZA_HEAD
  6. typeset -a _EZA_TAIL
  7. function _configure_eza() {
  8. local _val
  9. # Get the head flags
  10. if zstyle -T ':omz:plugins:eza' 'show-group'; then
  11. _EZA_HEAD+=("g")
  12. fi
  13. if zstyle -t ':omz:plugins:eza' 'header'; then
  14. _EZA_HEAD+=("h")
  15. fi
  16. zstyle -s ':omz:plugins:eza' 'size-prefix' _val
  17. case "${_val:l}" in
  18. binary)
  19. _EZA_HEAD+=("b")
  20. ;;
  21. none)
  22. _EZA_HEAD+=("B")
  23. ;;
  24. esac
  25. # Get the tail long-options
  26. if zstyle -t ':omz:plugins:eza' 'dirs-first'; then
  27. _EZA_TAIL+=("--group-directories-first")
  28. fi
  29. if zstyle -t ':omz:plugins:eza' 'git-status'; then
  30. _EZA_TAIL+=("--git")
  31. fi
  32. if zstyle -t ':omz:plugins:eza' 'icons'; then
  33. _EZA_TAIL+=("--icons=auto")
  34. fi
  35. zstyle -s ':omz:plugins:eza' 'time-style' _val
  36. if [[ $_val ]]; then
  37. _EZA_TAIL+=("--time-style='$_val'")
  38. fi
  39. if zstyle -t ":omz:plugins:eza" "hyperlink"; then
  40. _EZA_TAIL+=("--hyperlink")
  41. fi
  42. }
  43. _configure_eza
  44. function _alias_eza() {
  45. local _head="${(j::)_EZA_HEAD}$2"
  46. local _tail="${(j: :)_EZA_TAIL}"
  47. alias "$1"="eza${_head:+ -}${_head}${_tail:+ }${_tail}${3:+ }$3"
  48. }
  49. _alias_eza la la
  50. _alias_eza ldot ld ".*"
  51. _alias_eza lD lD
  52. _alias_eza lDD lDa
  53. _alias_eza ll l
  54. _alias_eza ls
  55. _alias_eza lsd d
  56. _alias_eza lsdl dl
  57. _alias_eza lS "l -ssize"
  58. _alias_eza lT "l -snewest"
  59. unfunction _alias_eza
  60. unfunction _configure_eza
  61. unset _EZA_HEAD
  62. unset _EZA_TAIL