diff options
-rwxr-xr-x | include/conflicts | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/include/conflicts b/include/conflicts new file mode 100755 index 0000000..12d916d --- /dev/null +++ b/include/conflicts @@ -0,0 +1,41 @@ +#!/usr/bin/env zsh +## vim:ft=zsh +typeset file dir conflict i +typeset PDIR=$HOME/packages +typeset -a sfpath spath + +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 +} + +# a simple sfpath=${fpath:#/home/derf*} won't work +for i in ${fpath:#/home/derf*}; { + sfpath+=$i +} +for i in ${path:#/home/derf*}; { + spath+=$i +} + +for file in $PDIR/{*/provides/zsh/completions/*(N),zsh/etc/completions/*(N)}; { + conflict=$(is_in_path ${file:t} $sfpath) + if (( ? == 0 )) { + echo "conflict: $file <-> $conflict" + } +} + +for file in $PDIR/*/bin/*(N); { + conflict=$(is_in_path ${file:t} $spath) + if (( ? == 0 )) { + echo "conflict: $file <-> $conflict" + } +} |