2011-04-14 5 views
5

mi generar GTAGS versión alemana es generar GTAGS - GNU GLOBAL 5.9.2Cómo agregar Python plug-in para Gnu Global

he descargado un plug-in pitón para GNU Global here

copiar el globalrc.example a ~ /.globalrc

copiar el script/python_global_tags.py a ~/bin/python_global_tags.py que está en mi $ PATH

tipo: "generar GTAGS" en un directorio de archivos pitón

sin quejarse

tipo: "test.py -f global"

ninguna salida

pero "-g mundial" funciona, me pregunto a si es sólo un envoltorio de grep

Mi La pregunta es:

  • ¿Es posible escribir un plugin en python?
  • ¿Hay algún tutorial para configurar ~/.globalrc, tutoials en offical site que se mencione tan poco al respecto?

Muchas gracias,

GNU mundial está aumentando, pero todavía apoya tan pocos idiomas cierto

+1

aparentemente esta pregunta también se publicó en la lista de correo global de ayuda, y recibió una respuesta allí. Aquí está el enlace para cualquier persona interesada: http://lists.gnu.org/archive/html/help-global/2011-04/msg00001.html – mgalgs

Respuesta

0

Por lo que entiendo, GNU Global no soporta Python todavía. La página de inicio dice:

compatible con C, C++, Yacc, Java, PHP4 y ensamblaje. (Definición y referencia)

Y this post básicamente dice que tendría que escribir un plugin en C. Dado que no se admite mundial, que volvió de nuevo a la vieja Exuberant Ctags:

ctags -e -R . 

funciona bien , pero no obtienes referencias. Vea también this other question about etags.

5

Sólo para los que lleguen en esta página a través de Google: ahora GNU Global hace Python apoyo (y más) a través de un maravilloso complemento a base de Pygments:

https://github.com/yoshizow/global-pygments-plugin

sólo tienes que seguir el README, el único La nota es que en mi caso los gtags produjeron archivos vacíos para árboles de archivos grandes, posiblemente debido al uso intensivo de enlaces simbólicos. la solución es utilizar find como se aconseja en el manual:

find . -name '*.py' >/tmp/list  # make a file set 
gtags -f /tmp/list     # and use it 

Ahora uno puede buscar las definiciones

global -x main  # suppose you have at least one main() somewhere in the code 

o referencias

global -rsx sys     # this is likely to list *all* your modules 

o incluso la búsqueda de posibles terminaciones para incompleta etiquetas:

global -cs OrderedD    # -c: "complete", -s: "non-local references"