43 lines
1.3 KiB
Bash
43 lines
1.3 KiB
Bash
#!/usr/bin/env zsh
|
|
# Eryn Wells <eryn@erynwells.me>
|
|
|
|
function init_rc_configure_completion
|
|
{
|
|
ShellLog 'Initializing completion system'
|
|
|
|
autoload -U compinit
|
|
compinit
|
|
|
|
# Cache completions
|
|
zstyle ':completion::complete:*' use-cache 1
|
|
zstyle ':completion::complete:*' cache-path ~/.zsh/cache
|
|
|
|
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
|
|
|
|
# For rm, cp, and mv don't complete if file is on the line already
|
|
zstyle ':completion:*:rm:*' ignore-line yes
|
|
zstyle ':completion:*:cp:*' ignore-line yes
|
|
zstyle ':completion:*:mv:*' ignore-line yes
|
|
|
|
# Remove trailing slashes in directory arguments
|
|
zstyle ':completion:*' squeeze-slashes true
|
|
|
|
# Never select parent directory
|
|
zstyle ':completion:*:cd:*' ignore-parents parent pwd
|
|
|
|
# Expand partial paths
|
|
zstyle ':completion:*' expand 'yes'
|
|
|
|
# Show a pretty menu of killable processes
|
|
zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#)*=0=01;31'
|
|
zstyle ':completion:*:*:kill:*' menu yes select
|
|
|
|
# Complete man pages by section
|
|
zstyle ':completion:*:manuals' separate-sections true
|
|
zstyle ':completion:*:manuals.*' insert-sections true
|
|
|
|
# Use git completion for the g function
|
|
compdef g='git'
|
|
}
|
|
|
|
init_rc_configure_completion "$@"
|