init.zsh 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. #
  2. # Integrates zsh-syntax-highlighting into Prezto.
  3. #
  4. # Authors:
  5. # Sorin Ionescu <sorin.ionescu@gmail.com>
  6. #
  7. # Return if requirements are not found.
  8. if ! zstyle -t ':prezto:module:syntax-highlighting' color; then
  9. return 1
  10. fi
  11. # Source module files.
  12. source "${0:h}/external/zsh-syntax-highlighting.zsh" || return 1
  13. # Set highlighters.
  14. zstyle -a ':prezto:module:syntax-highlighting' highlighters 'ZSH_HIGHLIGHT_HIGHLIGHTERS'
  15. if (( ${#ZSH_HIGHLIGHT_HIGHLIGHTERS[@]} == 0 )); then
  16. ZSH_HIGHLIGHT_HIGHLIGHTERS=(main)
  17. fi
  18. # Set highlighting styles.
  19. typeset -A syntax_highlighting_styles
  20. zstyle -a ':prezto:module:syntax-highlighting' styles 'syntax_highlighting_styles'
  21. for syntax_highlighting_style in "${(k)syntax_highlighting_styles[@]}"; do
  22. ZSH_HIGHLIGHT_STYLES[$syntax_highlighting_style]="$syntax_highlighting_styles[$syntax_highlighting_style]"
  23. done
  24. unset syntax_highlighting_style{s,}
  25. # Set pattern highlighting styles.
  26. typeset -A syntax_pattern_styles
  27. zstyle -a ':prezto:module:syntax-highlighting' pattern 'syntax_pattern_styles'
  28. for syntax_pattern_style in "${(k)syntax_pattern_styles[@]}"; do
  29. ZSH_HIGHLIGHT_PATTERNS[$syntax_pattern_style]="$syntax_pattern_styles[$syntax_pattern_style]"
  30. done
  31. unset syntax_pattern_style{s,}