Geoff, próbowałem swój kod, ale nie działa na mnie ze składnią ty posługiwać się. Czy to może być problem z wersją? Używam rozbudowanych wersji ctags 5.8.
Zmodyfikowałem również wyrażenie regularne, ponieważ cudzysłowy są opcjonalne i możesz chcieć zezwolić na spacje (ale nic poza tym) poprzedzające słowo kluczowe "has".
Oto, co sprawdziło się u mnie. stworzyłem plik $ HOME/.ctags (nie masz jeszcze konta, w przeciwnym razie po prostu dodać do niego) z następującej linii:
--regex-perl=/^\s*has\s+['"]?([0-9a-zA-Z_]+)/\1/a,attribute/
Następnie dodaje się wiersz w .vimrc jak zasugerował
let tlist_perl_settings='perl;c:constant;l:label;p:package;s:subroutine;a:attribute'
Teraz pokazuje moje atrybuty w modułach Moose.
Ponadto uważam, że warto też mieć informacje na temat klasy nadrzędnej, role i używane moduły pokazać się w taglist, więc tutaj jest mój pełny plik $ HOME/.ctags:
--regex-perl=/^\s*has\s+['"]?([0-9a-zA-Z_]+)/\1/a,attribute/
--regex-perl=/^\s*with\s+(['"])(.+)\1/\2/r,role/
--regex-perl=/^\s*extends\s+(['"])(.+)\1/\2/e,extends/
--regex-perl=/^\s*use\s+([^ ;]+)/\1/u,use/
i to co mam w .vimrc (można zmienić kolejność znaczników w taglist po prostu przez zmianę kolejności w tlist_par_settings):
let tlist_perl_settings='perl;u:use;p:package;r:role;e:extends;c:constant;a:attribute;s:subroutine;l:label'
let Tlist_Show_One_File = 1
ze względu na zawartość dodatkową Uważam, że warto skorzystać z opcji Tlist_Show_One_File , która zmusza taglistę do wyświetlania tylko znaczników aktualnie wybrany plik.
Aby tymczasowo ukryć niektóre tagi, zawsze możesz przenieść kursor do nazwy znacznika i nacisnąć "zc" (i "zo", aby ponownie otworzyć) zakładkę.
MooseX :: AttributeHelpers jest przestarzałe; użyj Łoś :: Meta :: Atrybut :: Natywny :: Cecha :: *. – Ether
Dzięki. Wiedziałem o tym, ale jest to kod "starszy". ;) –