Jak mogę sprawić, by wtyczka tagów vima pokazywała przydatne informacje dla javascript?

Niedawno porzuciłem edytory GUI sterowane myszką, specyficzne dla platformy i całkowicie zobowiązałem się do vima. Dotychczasowe doświadczenia były fantastyczne, ale utknąłem w JavaScript.

Zawsze popularne narzędzie do tworzenia tagów (używające Exuberant Ctags) było świetne na wszystko oprócz Javascript. Dzięki nadmiernie swobodnej formie i strukturze języka, taglista mogła odebrać tylko kilka funkcji, gdy ją otworzyłem - tylko te zdefiniowane w formacie:

function FUNCNAME (arg1, arg2) {

ale nie zdefiniowano żadnych zmiennych ani obiektów funkcji, takich jak:

var myFunc = function (arg1, arg2) {

Poszukałem więc trochę i znalazłem następujący zestaw definicji dla ctagów, które umieściłem w moim pliku ~ / .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/

Po tym, uruchamianie ctagów z linii poleceń było fantastyczne. Znalazł każdą funkcję i obiekt, którego potrzebowałem, aby ją znaleźć.

Problem polega na tym, że wtyczka taglist.vim nie widzi tych nowych wyników. Kiedy otwieram mój plik javascript w vimie i klikam: TlistToggle, otrzymuję dokładnie taką samą skromną garść funkcji, które otrzymałem wcześniej. Nacisnąłem „u”, aby zaktualizować listę, bez żadnego efektu.

Kopiąc w taglist.vim, znalazłem to:

" 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'

... co oznacza, że ​​patrzymy tylko na jeden konkretny rodzaj wyjścia z narzędzia ctags dla javascript. Niestety, nie jestem wystarczająco doświadczony z taglistą lub vimem w ogóle (jeszcze), aby odkryć, jakie zmiany mogę wprowadzić, aby wszystkie wspaniałe wyniki wiersza poleceń ctags pojawiały się w vimie.

Pomoc mile widziana!

questionAnswers(6)

yourAnswerToTheQuestion