vim-tagbar springt nicht zu Methodendefinitionen, zumindest für Ruby

1

Ich benutze die vim-Plugin-Tag-Leiste, aber bei Ruby scheint das nicht zu funktionieren, zumindest nicht ganz. Anfangs funktionierte es überhaupt nicht, aber durch die Änderung der Konfiguration so, dass Ripper-ctags verwendet wurden:

let g:tagbar_type_ruby = {
    \ 'kinds' : [
        \ 'm:modules',
        \ 'c:classes',
        \ 'd:describes',
        \ 'C:contexts',
        \ 'f:methods',
        \ 'F:singleton methods'
    \ ],
        \ 'ctagsbin':  'ripper-tags',
        \ 'ctagsargs': ['-f', '-']
\ }

Ich kann zwar die Tags anzeigen, aber durch Drücken der Eingabetaste auf dem Tag in der Tag-Leiste springen Sie nicht zur Methodendefinition / Konstante. Stattdessen springen Sie einfach zum Anfang der Datei und zu nichts anderem.

P.S. Ich habe ctags installiert, nur wenn Sie sich fragen

P.P.S. Es funktionierte völlig einwandfrei, aber ich habe vor einiger Zeit etwas getan und jetzt funktioniert es mit normalen Ctags überhaupt nicht. Ich schätze, es ist eine Konfigurationsoption oder ein Plugin, aber ich weiß nicht, was es überhaupt macht, wenn du willst nachsehen, hier sind meine dotfiles .

Thermatix
quelle

Antworten:

1

Das ist weil ripper-tags Die Standardausgabe enthält keine Zeilennummerninformationen. Ich habe eine Pull-Anforderung geöffnet, um das Problem zu beheben: https://github.com/tmm1/ripper-tags/pull/65 .
Sie könnten es versuchen durch:

  1. Klonen Sie mein Repo und wechseln Sie zu add-line-number-to-vim-formatter Ast
  2. Bauen Sie den Edelstein lokal auf und installieren Sie ihn

Dann sollte die Tagbar gut funktionieren.

Larry Lv
quelle
GROSSARTIGE SOSSE! Das löst zwar nicht, warum ich überhaupt Ripper-Tags verwenden muss (was fair ist, ist nicht wirklich die Frage von OP), aber ich werde dies auf jeden Fall nutzen, danke!
Thermatix