Ctags


Ctags es una herramienta de programación que genera un archivo de índice (o etiqueta) de nombres que se encuentran en archivos fuente y de encabezado de varios lenguajes de programación para ayudar a la comprensión del código . Dependiendo del idioma, se pueden indexar funciones , variables , miembros de clase , macros , etc. Estas etiquetas permiten que un editor de texto , un motor de búsqueda de códigos u otra utilidad localicen las definiciones de forma rápida y sencilla . Alternativamente, también hay un modo de salida que genera un archivo de referencia cruzada , que enumera información sobre varios nombres que se encuentran en un conjunto de archivos de idioma en formato legible por humanos. formulario.

Los Ctags originales se introdujeron en BSD Unix 3.0 y fueron escritos por Ken Arnold , con el apoyo de Fortran de Jim Kleckner y el de Pascal de Bill Joy . Es parte del lanzamiento inicial de Single Unix Specification y XPG4 de 1992.

GNU Emacs viene con dos utilidades ctags, etags y ctags, que se compilan a partir del mismo código fuente. Etags genera un archivo de tabla de etiquetas para Emacs, mientras que el comando ctags se usa para crear una tabla similar en un formato entendido por vi . Tienen diferentes conjuntos de opciones de línea de comandos: etags no reconoce e ignora las opciones que solo tienen sentido para los archivos de etiquetas de estilo vi producidos por el comando ctags. [3]

Exuberant Ctags , escrito y mantenido por Darren Hiebert hasta 2009, [4] se distribuyó inicialmente con Vim , pero se convirtió en un proyecto separado con el lanzamiento de Vim 6. Incluye soporte para Emacs y etagscompatibilidad. [5] [6]

Exuberant Ctags incluye soporte para más de 40 lenguajes de programación con la capacidad de agregar soporte para aún más usando expresiones regulares .

Universal Ctags es un fork de Exuberant Ctags, con el objetivo de continuar su desarrollo. Algunos analizadores se han reescrito para admitir mejor los idiomas. [7]