- 论坛徽章:
- 0
|
本帖最后由 tobeychen 于 2011-09-14 17:02 编辑
我创建ctags和cscope的自动脚本如下,为什么我使用ctrl-]或者使用cs命令查找标签定义的时候,会把name.files中的内容也找出来呢?在tags文件中也并没有出现name.files字样。- #!/bin/sh
- OUT_PATH=./vimdatabase
- SRC_PATH=${PWD}
- if [ -d ${OUT_PATH} ];
- then
- echo "Use old out path."
- else
- echo "Mkdir \"${OUT_PATH}\""
- mkdir ${OUT_PATH}
- fi
- if [ -d ${SRC_PATH}/block -a -d ${SRC_PATH}/drivers -a -d ${SRC_PATH}/fs -a -d ${SRC_PATH}/sound -a -d ${SRC_PATH}/arch ];
- then
- echo "Found kernel directory, build kernel names.file."
- find -L ${SRC_PATH}/block/ -name "*.S" -o -name "*.h" -o -name "*.c" -o -name "*.cc" | grep -vi '\.svn' > ${OUT_PATH}/names.file
- #find -L ${SRC_PATH}/drivers/ -name "*.S" -o -name "*.h" -o -name "*.c" -o -name "*.cc" | grep -vi '\.svn' >> ${OUT_PATH}/names.file
- find -L ${SRC_PATH}/fs/ -name "*.S" -o -name "*.h" -o -name "*.c" -o -name "*.cc" | grep -vi '\.svn' >> ${OUT_PATH}/names.file
- find -L ${SRC_PATH}/include/ -name "*.S" -o -name "*.h" -o -name "*.c" -o -name "*.cc" | grep -vi '\.svn' >> ${OUT_PATH}/names.file
- find -L ${SRC_PATH}/init/ -name "*.S" -o -name "*.h" -o -name "*.c" -o -name "*.cc" | grep -vi '\.svn' >> ${OUT_PATH}/names.file
- find -L ${SRC_PATH}/ipc/ -name "*.S" -o -name "*.h" -o -name "*.c" -o -name "*.cc" | grep -vi '\.svn' >> ${OUT_PATH}/names.file
- find -L ${SRC_PATH}/kernel/ -name "*.S" -o -name "*.h" -o -name "*.c" -o -name "*.cc" | grep -vi '\.svn' >> ${OUT_PATH}/names.file
- find -L ${SRC_PATH}/lib/ -name "*.S" -o -name "*.h" -o -name "*.c" -o -name "*.cc" | grep -vi '\.svn' >> ${OUT_PATH}/names.file
- find -L ${SRC_PATH}/mm/ -name "*.S" -o -name "*.h" -o -name "*.c" -o -name "*.cc" | grep -vi '\.svn' >> ${OUT_PATH}/names.file
- find -L ${SRC_PATH}/net/ -name "*.S" -o -name "*.h" -o -name "*.c" -o -name "*.cc" | grep -vi '\.svn' >> ${OUT_PATH}/names.file
- find -L ${SRC_PATH}/scripts/ -name "*.S" -o -name "*.h" -o -name "*.c" -o -name "*.cc" | grep -vi '\.svn' >> ${OUT_PATH}/names.file
- find -L ${SRC_PATH}/sound/ -name "*.S" -o -name "*.h" -o -name "*.c" -o -name "*.cc" | grep -vi '\.svn' >> ${OUT_PATH}/names.file
- if [ $# -eq 1 ];
- then
- find -L ${SRC_PATH}/arch/arm/mach-$1/ -name "*.S" -o -name "*.h" -o -name "*.c" -o -name "*.cc" | grep -vi '\.svn' >> ${OUT_PATH}/names.file
- fi
- find -L ${SRC_PATH}/arch/arm/plat-omap/ -name "*.S" -o -name "*.h" -o -name "*.c" -o -name "*.cc" | grep -vi '\.svn' >> ${OUT_PATH}/names.file
- find -L ${SRC_PATH}/arch/arm/mach-omap2/ -name "*.S" -o -name "*.h" -o -name "*.c" -o -name "*.cc" | grep -vi '\.svn' >> ${OUT_PATH}/names.file
- find -L ${SRC_PATH}/arch/arm/plat-s3c24xx/ -name "*.S" -o -name "*.h" -o -name "*.c" -o -name "*.cc" | grep -vi '\.svn' >> ${OUT_PATH}/names.file
- find -L ${SRC_PATH}/arch/arm/mach-s3c64xx/ -name "*.S" -o -name "*.h" -o -name "*.c" -o -name "*.cc" | grep -vi '\.svn' >> ${OUT_PATH}/names.file
- find -L ${SRC_PATH}/arch/arm/lib/ -name "*.S" -o -name "*.h" -o -name "*.c" -o -name "*.cc" | grep -vi '\.svn' >> ${OUT_PATH}/names.file
- find -L ${SRC_PATH}/arch/arm/kernel/ -name "*.S" -o -name "*.h" -o -name "*.c" -o -name "*.cc" | grep -vi '\.svn' >> ${OUT_PATH}/names.file
- find -L ${SRC_PATH}/arch/arm/include/ -name "*.S" -o -name "*.h" -o -name "*.c" -o -name "*.cc" | grep -vi '\.svn' >> ${OUT_PATH}/names.file
- find -L ${SRC_PATH}/arch/arm/boot/ -name "*.S" -o -name "*.h" -o -name "*.c" -o -name "*.cc" | grep -vi '\.svn' >> ${OUT_PATH}/names.file
- find -L ${SRC_PATH}/arch/arm/common/ -name "*.S" -o -name "*.h" -o -name "*.c" -o -name "*.cc" | grep -vi '\.svn' >> ${OUT_PATH}/names.file
- find -L ${SRC_PATH}/arch/arm/mm/ -name "*.S" -o -name "*.h" -o -name "*.c" -o -name "*.cc" | grep -vi '\.svn' >> ${OUT_PATH}/names.file
- find -L ${SRC_PATH}/arch/arm/nwfpe/ -name "*.S" -o -name "*.h" -o -name "*.c" -o -name "*.cc" | grep -vi '\.svn' >> ${OUT_PATH}/names.file
- find -L ${SRC_PATH}/arch/arm/vfp/ -name "*.S" -o -name "*.h" -o -name "*.c" -o -name "*.cc" | grep -vi '\.svn' >> ${OUT_PATH}/names.file
- find -L ${SRC_PATH}/arch/arm/oprofile/ -name "*.S" -o -name "*.h" -o -name "*.c" -o -name "*.cc" | grep -vi '\.svn' >> ${OUT_PATH}/names.file
- find -L ${SRC_PATH}/arch/arm/tools/ -name "*.S" -o -name "*.h" -o -name "*.c" -o -name "*.cc" | grep -vi '\.svn' >> ${OUT_PATH}/names.file
- find -L ${SRC_PATH}/salsa-lib-0.0.22/ -name "*.S" -o -name "*.h" -o -name "*.c" -o -name "*.cc" | grep -vi '\.svn' >> ${OUT_PATH}/names.file
- else
- echo "For create names.file."
- find -L ${SRC_PATH}/ -name "*.S" -o -name "*.h" -o -name "*.c" -o -name "*.cc" | grep -vi '\.svn' | grep -vi "${OUT_PATH}" > ${OUT_PATH}/names.file
- fi
- echo "for create cscope data base..."
- export TMPDIR=~
- cscope -vbkq -f ${OUT_PATH}/cscope.out -i ${OUT_PATH}/names.file
- echo "for create ctags data base..."
- ctags -L ${OUT_PATH}/names.file -f ${OUT_PATH}/tags
- echo "generate tag file for lookupfile plugin..."
- echo -e "!_TAG_FILE_SORTED\t2\t/2=foldcase/" > ${OUT_PATH}/filenametags
- find -L ${SRC_PATH} -not -regex '.*\.\(png\|gif\)' -type f -printf "%f\t%p\t1\n" | grep -vi '\.svn' | grep -vi "${OUT_PATH}" | sort -f >> ${OUT_PATH}/filenametags
- echo "complete."
复制代码 |
|