¿Cómo puedo hacer que el plugin de lista de etiquetas de vim muestre información útil para JavaScript?

Recientemente he abandonado a los editores de GUI dirigidos por el ratón y específicos de la plataforma y me he comprometido por completo con vim. La experiencia hasta ahora ha sido fantástica, pero estoy atascado cuando se trata de Javascript.

La utilidad de lista de etiquetas siempre popular (que usa Ctags exuberantes) ha sido excelente para todo excepto para Javascript. Con la forma y estructura excesivamente libres del lenguaje, la lista de etiquetas solo podía captar algunas funciones cuando lo abría, solo aquellas definidas en el formato:

function FUNCNAME (arg1, arg2) {

pero no hay variables u objetos de función definidos como:

var myFunc = function (arg1, arg2) {

Así que busqué un poco en Google y encontré el siguiente conjunto de definiciones para ctags, que puse en mi archivo ~ / .ctags:

--langdef=js
--langmap=js:.js
--regex-js=/([A-Za-z0-9._$]+)[ \t]*[:=][ \t]*\{/\1/,object/
--regex-js=/([A-Za-z0-9._$()]+)[ \t]*[:=][ \t]*function[ \t]*\(/\1/,function/
--regex-js=/function[ \t]+([A-Za-z0-9._$]+)[ \t]*([^])])/\1/,function/
--regex-js=/([A-Za-z0-9._$]+)[ \t]*[:=][ \t]*\[/\1/,array/
--regex-js=/([^= ]+)[ \t]*=[ \t]*[^""]'[^'']*/\1/,string/
--regex-js=/([^= ]+)[ \t]*=[ \t]*[^'']"[^""]*/\1/,string/

Después de eso, ejecutar ctags desde la línea de comando fue fantástico. Encontró cada función y objeto que necesitaba para encontrar.

El problema es que el complemento taglist.vim no está viendo esos nuevos resultados. Cuando abro mi archivo javascript en vim y pulso: TlistToggle, obtengo exactamente el mismo puñado de funciones que recibí antes. Presioné 'u' para actualizar la lista, sin ningún efecto.

Cavando en taglist.vim, encontré esto:

" java language
let s:tlist_def_java_settings = 'java;p:package;c:class;i:interface;' .
                               \ 'f:field;m:method'

" javascript language
let s:tlist_def_javascript_settings = 'javascript;f:function'

... lo que implica que solo estamos viendo un tipo específico de salida de la utilidad ctags para javascript. Desafortunadamente, no soy lo suficientemente inteligente con taglist o vim en general (todavía) para descubrir qué cambio puedo hacer para que todos los maravillosos resultados de la línea de comandos de ctags aparezcan en vim.

Ayuda apreciada!

Respuestas a la pregunta(6)

Su respuesta a la pregunta