#!/usr/bin/env zsh ## vim:ft=zsh autoload check_com typeset file dir alias typeset PDIR=$HOME/packages typeset -a sfpath spath conflict is_in_path () { typeset -i ret=1 typeset dir typeset file=$1 shift for dir in $@; { if [[ -e $dir/$file ]] { ret=0 echo $dir/$file } } return $ret } sfpath=(${fpath:#$HOME*}) spath=(${path:#$HOME*}) for file in $PDIR/{*/provides/zsh/completions/*(N),zsh/etc/completions/*(N)}; { conflict=($(is_in_path ${file:t} $sfpath)) if (( ? == 0 )) { echo "conflict: $file <-> ${(j:, :)conflict}" } } for file in $PDIR/*/bin/*(N); { conflict=($(is_in_path ${file:t} $spath)) if (( ? == 0 )) { echo "conflict: $file <-> ${(j:, :)conflict}" } } for alias in ${(k)aliases}; { if check_com -c $alias && [[ $aliases[$alias] != (sudo|)$alias* ]]; then echo "conflicting alias: $alias" fi }