exuberant exuberant-ctags

exuberant-ctags - exuberant - ctags vim



Excluyendo directorios en CTG exuberantes (2)

En algún momento, puede ser más fácil definir la lista de archivos que desea indexar; guarde esa lista en un archivo y use ctags -L <filename> para indexar solo unos pocos elegidos.

Esto le permite usar find(1) para eliminar los directorios que no desea indexar, por ejemplo:

find . -path ./Documentation -prune -o -print > indexme

omitiría todos los archivos en todos los subdirectorios de ./Documentation .

Estoy trabajando con una base de código muy grande y me resulta útil ser selectivo sobre qué directorios se incluyen para usar con Ctags exuberantes.

La opción --exclude funciona bien para eliminar nombres de archivos y directorios individuales (con comodines globales), pero no puedo averiguar cómo hacer que se excluyan los patrones de ruta que contienen más de un directorio.

Por ejemplo, es posible que desee excluir las tests un directorio, pero solo cuando se procesa thirdparty/tests (bajo Windows). El problema es que si solo uso --exclude=tests , excluyo demasiados directorios, incluido un directorio de prueba en el código en el que estoy trabajando activamente.

Aquí hay algunas cosas que he probado:

--exclude=thirdparty/tests --exclude=thirdparty//tests --exclude=*/thirdparty/tests --exclude=*//thirdparty//tests --exclude=thirdparty/tests

Ctags silenciosamente ignora todo esto como lo demuestra un examen del archivo de etiquetas.

¿Cómo puedo excluir un directorio solo cuando está precedido por un directorio principal dado?

ADICIONAL:

Aquí está mi ctags --version salida:

Exuberant Ctags 5.8, Copyright (C) 1996-2009 Darren Hiebert Compiled: Jul 9 2009, 17:05:35 Addresses: <[email protected]>, http://ctags.sourceforge.net Optional compiled features: +win32, +regex, +internal-sort


ack -f | ctags -L -

ack los archivos fuente en un directorio dado. Puede limitar el alcance a un lenguaje específico con ack -f --ruby o ack -f --type=ruby . También puede excluir dirs con --ignore-dir .

Use ack --dump para ver los tipos de archivos incorporados para ack.