- the GRML_ZSH_CNF_HANDLER variable, the default is:
- "/usr/share/command-not-found/command-not-found"
-
-A value greater than 0 is enables a feature; a value equal to zero
-disables it. If you like one or the other of these settings, you can
-add them to ~/.zshrc.pre to ensure they are set when sourcing grml'\''s
-zshrc.'
-
- print "
-$bg[white]$fg[black]
-Please report wishes + bugs to the grml-team: http://grml.org/bugs/
-Enjoy your grml system with the zsh!$reset_color"
-}
-
-# debian stuff
-if [[ -r /etc/debian_version ]] ; then
- #a3# Execute \kbd{apt-cache search}
- alias acs='apt-cache search'
- #a3# Execute \kbd{apt-cache show}
- alias acsh='apt-cache show'
- #a3# Execute \kbd{apt-cache policy}
- alias acp='apt-cache policy'
- #a3# Execute \kbd{apt-get dist-upgrade}
- salias adg="apt-get dist-upgrade"
- #a3# Execute \kbd{apt-get install}
- salias agi="apt-get install"
- #a3# Execute \kbd{aptitude install}
- salias ati="aptitude install"
- #a3# Execute \kbd{apt-get upgrade}
- salias ag="apt-get upgrade"
- #a3# Execute \kbd{apt-get update}
- salias au="apt-get update"
- #a3# Execute \kbd{aptitude update ; aptitude safe-upgrade}
- salias -a up="aptitude update ; aptitude safe-upgrade"
- #a3# Execute \kbd{dpkg-buildpackage}
- alias dbp='dpkg-buildpackage'
- #a3# Execute \kbd{grep-excuses}
- alias ge='grep-excuses'
-
- # debian upgrade
- #f3# Execute \kbd{apt-get update \&\& }\\&\quad \kbd{apt-get dist-upgrade}
- upgrade() {
- emulate -L zsh
- if [[ -z $1 ]] ; then
- $SUDO apt-get update
- $SUDO apt-get -u upgrade
- else
- ssh $1 $SUDO apt-get update
- # ask before the upgrade
- local dummy
- ssh $1 $SUDO apt-get --no-act upgrade
- echo -n 'Process the upgrade?'
- read -q dummy
- if [[ $dummy == "y" ]] ; then
- ssh $1 $SUDO apt-get -u upgrade --yes
- fi
- fi
- }
-
- # get a root shell as normal user in live-cd mode:
- if isgrmlcd && [[ $UID -ne 0 ]] ; then
- alias su="sudo su"
- fi
-
- #a1# Take a look at the syslog: \kbd{\$PAGER /var/log/syslog}
- salias llog="$PAGER /var/log/syslog" # take a look at the syslog
- #a1# Take a look at the syslog: \kbd{tail -f /var/log/syslog}
- salias tlog="tail -f /var/log/syslog" # follow the syslog
-fi
-
-# sort installed Debian-packages by size
-if check_com -c grep-status ; then
- #a3# List installed Debian-packages sorted by size
- alias debs-by-size='grep-status -FStatus -sInstalled-Size,Package -n "install ok installed" | paste -sd " \n" | sort -rn'
-fi
-
-# if cdrecord is a symlink (to wodim) or isn't present at all warn:
-if [[ -L /usr/bin/cdrecord ]] || ! check_com -c cdrecord; then
- if check_com -c wodim; then
- cdrecord() {
- cat <<EOMESS
-cdrecord is not provided under its original name by Debian anymore.
-See #377109 in the BTS of Debian for more details.
-
-Please use the wodim binary instead
-EOMESS
- return 1
- }
- fi
-fi
-
-# get_tw_cli has been renamed into get_3ware
-if check_com -c get_3ware ; then
- get_tw_cli() {
- echo 'Warning: get_tw_cli has been renamed into get_3ware. Invoking get_3ware for you.'>&2
- get_3ware
- }
-fi
-
-# I hate lacking backward compatibility, so provide an alternative therefore
-if ! check_com -c apache2-ssl-certificate ; then
-
- apache2-ssl-certificate() {
-
- print 'Debian does not ship apache2-ssl-certificate anymore (see #398520). :('
- print 'You might want to take a look at Debian the package ssl-cert as well.'
- print 'To generate a certificate for use with apache2 follow the instructions:'
-
- echo '
-
-export RANDFILE=/dev/random
-mkdir /etc/apache2/ssl/
-openssl req $@ -new -x509 -days 365 -nodes -out /etc/apache2/ssl/apache.pem -keyout /etc/apache2/ssl/apache.pem
-chmod 600 /etc/apache2/ssl/apache.pem
-
-Run "grml-tips ssl-certificate" if you need further instructions.
-'
- }
-fi
-# }}}
-
-# {{{ Use hard limits, except for a smaller stack and no core dumps
-unlimit
-is425 && limit stack 8192
-isgrmlcd && limit core 0 # important for a live-cd-system
-limit -s
-# }}}
-
-# {{{ completion system
-
-# called later (via is4 && grmlcomp)
-# note: use 'zstyle' for getting current settings
-# press ^Xh (control-x h) for getting tags in context; ^X? (control-x ?) to run complete_debug with trace output
-grmlcomp() {
- # TODO: This could use some additional information
-
- # allow one error for every three characters typed in approximate completer
- zstyle ':completion:*:approximate:' max-errors 'reply=( $((($#PREFIX+$#SUFFIX)/3 )) numeric )'
-
- # don't complete backup files as executables
- zstyle ':completion:*:complete:-command-::commands' ignored-patterns '(aptitude-*|*\~)'
-
- # start menu completion only if it could find no unambiguous initial string
- zstyle ':completion:*:correct:*' insert-unambiguous true
- zstyle ':completion:*:corrections' format $'%{\e[0;31m%}%d (errors: %e)%{\e[0m%}'
- zstyle ':completion:*:correct:*' original true
-
- # activate color-completion
- zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
-
- # format on completion
- zstyle ':completion:*:descriptions' format $'%{\e[0;31m%}completing %B%d%b%{\e[0m%}'
-
- # automatically complete 'cd -<tab>' and 'cd -<ctrl-d>' with menu
- # zstyle ':completion:*:*:cd:*:directory-stack' menu yes select
-
- # insert all expansions for expand completer
- zstyle ':completion:*:expand:*' tag-order all-expansions
- zstyle ':completion:*:history-words' list false
-
- # activate menu
- zstyle ':completion:*:history-words' menu yes
-
- # ignore duplicate entries
- zstyle ':completion:*:history-words' remove-all-dups yes
- zstyle ':completion:*:history-words' stop yes
-
- # match uppercase from lowercase
- zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}'
-
- # separate matches into groups
- zstyle ':completion:*:matches' group 'yes'
- zstyle ':completion:*' group-name ''
-
- if [[ "$NOMENU" -eq 0 ]] ; then
- # if there are more than 5 options allow selecting from a menu
- zstyle ':completion:*' menu select=5
- else
- # don't use any menus at all
- setopt no_auto_menu
- fi
-
- zstyle ':completion:*:messages' format '%d'
- zstyle ':completion:*:options' auto-description '%d'
-
- # describe options in full
- zstyle ':completion:*:options' description 'yes'
-
- # on processes completion complete all user processes
- zstyle ':completion:*:processes' command 'ps -au$USER'
-
- # offer indexes before parameters in subscripts
- zstyle ':completion:*:*:-subscript-:*' tag-order indexes parameters
-
- # provide verbose completion information
- zstyle ':completion:*' verbose true
-
- # recent (as of Dec 2007) zsh versions are able to provide descriptions
- # for commands (read: 1st word in the line) that it will list for the user
- # to choose from. The following disables that, because it's not exactly fast.
- zstyle ':completion:*:-command-:*:' verbose false
-
- # set format for warnings
- zstyle ':completion:*:warnings' format $'%{\e[0;31m%}No matches for:%{\e[0m%} %d'
-
- # define files to ignore for zcompile
- zstyle ':completion:*:*:zcompile:*' ignored-patterns '(*~|*.zwc)'
- zstyle ':completion:correct:' prompt 'correct to: %e'
-
- # Ignore completion functions for commands you don't have:
- zstyle ':completion::(^approximate*):*:functions' ignored-patterns '_*'
-
- # Provide more processes in completion of programs like killall:
- zstyle ':completion:*:processes-names' command 'ps c -u ${USER} -o command | uniq'
-
- # complete manual by their section
- zstyle ':completion:*:manuals' separate-sections true
- zstyle ':completion:*:manuals.*' insert-sections true
- zstyle ':completion:*:man:*' menu yes select
-
- # provide .. as a completion
- zstyle ':completion:*' special-dirs ..
-
- # run rehash on completion so new installed program are found automatically:
- _force_rehash() {
- (( CURRENT == 1 )) && rehash
- return 1
- }
-
- ## correction
- # some people don't like the automatic correction - so run 'NOCOR=1 zsh' to deactivate it
- if [[ "$NOCOR" -gt 0 ]] ; then
- zstyle ':completion:*' completer _oldlist _expand _force_rehash _complete _files _ignored
- setopt nocorrect
- else
- # try to be smart about when to use what completer...
- setopt correct
- zstyle -e ':completion:*' completer '
- if [[ $_last_try != "$HISTNO$BUFFER$CURSOR" ]] ; then
- _last_try="$HISTNO$BUFFER$CURSOR"
- reply=(_complete _match _ignored _prefix _files)
- else
- if [[ $words[1] == (rm|mv) ]] ; then
- reply=(_complete _files)
- else
- reply=(_oldlist _expand _force_rehash _complete _ignored _correct _approximate _files)
- fi
- fi'
- fi
-
- # command for process lists, the local web server details and host completion
- zstyle ':completion:*:urls' local 'www' '/var/www/' 'public_html'
-
- # caching
- [[ -d $ZSHDIR/cache ]] && zstyle ':completion:*' use-cache yes && \
- zstyle ':completion::complete:*' cache-path $ZSHDIR/cache/
-
- # host completion /* add brackets as vim can't parse zsh's complex cmdlines 8-) {{{ */
- if is42 ; then
- [[ -r ~/.ssh/known_hosts ]] && _ssh_hosts=(${${${${(f)"$(<$HOME/.ssh/known_hosts)"}:#[\|]*}%%\ *}%%,*}) || _ssh_hosts=()
- [[ -r /etc/hosts ]] && : ${(A)_etc_hosts:=${(s: :)${(ps:\t:)${${(f)~~"$(</etc/hosts)"}%%\#*}##[:blank:]#[^[:blank:]]#}}} || _etc_hosts=()
- else
- _ssh_hosts=()
- _etc_hosts=()
- fi
- hosts=(
- $(hostname)
- "$_ssh_hosts[@]"
- "$_etc_hosts[@]"
- grml.org
- localhost
- )
- zstyle ':completion:*:hosts' hosts $hosts
- # TODO: so, why is this here?
- # zstyle '*' hosts $hosts
-
- # use generic completion system for programs not yet defined; (_gnu_generic works
- # with commands that provide a --help option with "standard" gnu-like output.)
- for compcom in cp deborphan df feh fetchipac head hnb ipacsum mv \
- pal stow tail uname ; do
- [[ -z ${_comps[$compcom]} ]] && compdef _gnu_generic ${compcom}
- done; unset compcom