#!/bin/bash Dir=. [ $# -gt 0 ] && Dir=$1 cd $Dir rm -f .glimpse_filenames .glimpse_filenames_index .glimpse_filetimes \ .glimpse_index .glimpse_messages .glimpse_partitions .glimpse_statistics find . \ -name .svn -prune -o -name rootdisk -prune -o -name shadows -prune -o -name \*-pak -prune -o \ -name doxygen -prune -o -type f -print | cut -c3- \ | /bin/grep -v -E '^tags$|\.glimpse_|\.pdf$|\.o$|\.so$|\.so\.|\.a$|/mapfile$' \ | while read L ;do read -n4 T < "$L"; [[ $T != ?ELF && $T != BZh* && $T != $'\x1f\x8b\x08'* ]] && echo "$L" done \ | glimpseindex-tt -n -F -H $Dir | awk '!/^Indexing /' echo -n "Creating tags ... " ctags --recurse --exclude=.svn --exclude=rootdisk --exclude=\*-pak \ --sort=no --links=no --excmd=number -f - --extra=+fq --totals=yes \ | { X=$(mktemp); rm -f $X; ctags -f $X /dev/null; cat $X -; rm -f $X; } \ | gawk -F '\t' ' /^!_TAG_FILE_SORTED/ {sub(/[0-9]/, "2")} {print} $NF == "F" && $1 ~ /\.h$/ { file = $2 #print "Searching " file " .." >"/dev/stderr" lno = 0 while (getline l "/dev/stderr"} ' > tags LC_ALL=C sort --ignore-case -o tags tags echo done