# shellcheck shell=bash
# vim: ft=sh

# Speed up autocomplete, force prefix mapping
zstyle ':completion:*'   accept-exact '*(N)'
zstyle ':completion:*'   use-cache on
zstyle ':completion:*'   cache-path "$ZSH_CACHE_DIR"
zstyle ':completion:*'   menu select

zstyle ':completion:*:processes'          command 'ps -ax'
zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#)*=0=01;32'
zstyle ':completion:*:*:kill:*'           menu yes select
zstyle ':completion:*:*:kill:*'           force-list always
zstyle ':completion:*:*:kill:*'           insert-ids single

zstyle ':completion:*:processes-names'    command 'ps -e -o comm='
zstyle ':completion:*:*:killall:*'        menu yes select
zstyle ':completion:*:killall:*'          force-list always

# SSH/SCP/RSYNC
zstyle ':completion:*:(ssh|scp|rsync):*'   hosts off
zstyle ':completion:*:(scp|rsync):*'       tag-order 'hosts:-host hosts:-domain:domain hosts:-ipaddr:ip\ address *'
zstyle ':completion:*:(scp|rsync):*'       group-order users files all-files hosts-domain hosts-host hosts-ipaddr
zstyle ':completion:*:ssh:*'               tag-order users 'hosts:-host hosts:-domain:domain hosts:-ipaddr:ip\ address *'
zstyle ':completion:*:ssh:*'               group-order hosts-domain hosts-host users hosts-ipaddr
zstyle ':completion:*:(ssh|scp|rsync):*:hosts-host'   ignored-patterns '*.*' loopback localhost
zstyle ':completion:*:(ssh|scp|rsync):*:hosts-domain' ignored-patterns '<->.<->.<->.<->' '^*.*' '*@*'
zstyle ':completion:*:(ssh|scp|rsync):*:hosts-ipaddr' ignored-patterns '^<->.<->.<->.<->' '127.0.0.<->'

# marlonrichert/zsh-autocomplete

zinit wait'0' lucid light-mode depth'1' for \
  atinit"ZINIT[COMPINIT_OPTS]=-C; zicompinit; zicdreplay" \
    zdharma-continuum/fast-syntax-highlighting \
  blockf \
    zsh-users/zsh-completions \
  atload"!_zsh_autosuggest_start" \
    zsh-users/zsh-autosuggestions

zinit wait'0' lucid light-mode depth'1' for \
  atload"bindkey '^[[A' history-substring-search-up; \
         bindkey '^[[B' history-substring-search-down" \
    zsh-users/zsh-history-substring-search

#[ "$(lsb_release -c -s)" = "orel" ] && ZSH_HISTORY_SEARCH_MULTI_WORD_MODE=1
#[ -n "${SSH_CONNECTION}" ] && ZSH_HISTORY_SEARCH_MULTI_WORD_MODE=2
#zstyle ':history-search-multi-word' page-size "$((LINES/2))"
#zstyle ':plugin:history-search-multi-word' clear-on-cancel 'yes'
#zinit ice if'[[ -z ${ZSH_HISTORY_SEARCH_MULTI_WORD_MODE+set} ]]' \
#  wait'0' lucid light-mode depth'1' for \
#  atload"bindkey '^K' history-search-multi-word"
#zinit light zdharma-continuum/history-search-multi-word