2010-06-11 19 views
5

Tengo problemas para que el plugin de taglist funcione correctamente con Scala. Instalé el complemento y los ctags y verifiqué que funciona correctamente con Java y C++. Luego seguí las instrucciones en este page (menos las instrucciones específicas de Lift), pero no apareció nada en la ventana de taglist cuando lo abrí mientras editaba un archivo Scala. ¿Alguien ha conseguido esto funcionando y cuáles son los pasos adecuados? Gracias.¿Alguien tiene el plugin vim taglist trabajando con Scala?

Respuesta

4

Primero compruebe que el archivo de etiquetas contenga algo. Si ha seguido las instrucciones en la página que menciona, debería identificar correctamente las clases, los métodos, etc. Si eso ha funcionado, puede ir al siguiente paso.

El taglist plugin tiene una lista codificada de ajustes de idioma compatibles y Scala no se encuentra entre ellos. Entonces, incluso si CTags genera las etiquetas correctas, el complemento no las leerá para este tipo de archivo.

Debería ser posible agregar una definición como variable global g:tlist_def_<lang>_settings, pero no he podido hacer que funcione. Por lo tanto, debe modificar el archivo taglist.vim en su directorio ~/.vim/plugin para agregar compatibilidad con Scala. No te preocupes, ¡esto es fácil de hacer!

Buscar la línea que define s:tlist_def_yacc_settings y agregue el siguiente par de líneas después:

let s:tlist_def_scala_settings = 'scala;t:trait;c:class;T:type;' . 
         \ 'm:method;C:constant;l:local;p:package;o:object' 

Ahora, cuando se pulsa Ctrl-T debería ver las etiquetas de Scala generados en la ventana de lista de etiquetas.

+0

Creo que me tienes mucho más cerca. Ahora puedo usar: etiquetar LiftSession (de los ejemplos) para saltar a ese archivo y a otros archivos en el proyecto. Pero Ctrl-T siempre devuelve 'E73: Lista de etiquetas vacía'. : TlistToggle siempre está vacío también. Estoy votando tu respuesta, ya que es útil. –

+0

Muy extraño: ¿tal vez el formato del archivo de etiquetas está desactivado de alguna manera? He intentado con el plugin de taglist más "reciente" (aunque desde 2007) y con los ctags 2.7 y 2.8, y aquellos que funcionan con TlistToggle. La única diferencia es que los archivos de Scala que tengo no hacen uso de Lift. – richq

+0

Acabo de probar esto con ctags 2.7 y la última versión RC 2.0, y funciona bastante bien. ¿Tal vez otra opción de ctags se haya colado en su archivo .ctags? – richq

0

Tuve el mismo problema recientemente y he adoptado y ampliado un extractor de ctags para scala que funciona bastante bien con el complemento de la barra de etiquetas. Aquí está el código:

https://github.com/luben/sctags

Es más lento que exuberantes-ctags, ya que utiliza el analizador scalac y JVM tiene tiempo de arranque notable, pero que da una información bastante completa.

Cuestiones relacionadas