mirror of
https://github.com/troglobit/libuev.git
synced 2026-10-21 11:09:31 +00:00
46 lines
1.7 KiB
Bash
Executable File
46 lines
1.7 KiB
Bash
Executable File
#!/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 <file) {
|
|
lno++
|
|
if (l ~ /^MessageNodeType\(/) {
|
|
split(substr(l, 17), arg, ",")
|
|
tag = gensub(/^ */, "", 1, arg[1])
|
|
print tag "\t" file "\t" lno " \"\tt"
|
|
#tags=tags " " tag
|
|
extra++
|
|
}
|
|
}
|
|
}
|
|
$NF == "f" && $1 ~ /:/ && $2 ~ /\.lua$/ {
|
|
npath = split($1, pth, ":")
|
|
print pth[npath] "\t" $2 "\t" $3 "\tf"
|
|
}
|
|
END {print extra+0 " extra tags added" tags >"/dev/stderr"}
|
|
' > tags
|
|
LC_ALL=C sort --ignore-case -o tags tags
|
|
|
|
echo done
|