2010-06-11 12 views
5

Mam problem z prawidłowym działaniem wtyczki taglisty w Scali. Zainstalowałem wtyczkę i ctags i zweryfikowałem, że działa poprawnie z Javą i C++. Następnie postępowałem zgodnie z instrukcjami na temat tego page (bez instrukcji specyficznych dla Lift), ale nic nie pokazywało się w oknie taglisty po otwarciu go podczas edytowania pliku Scala. Czy ktoś ma to działa i jakie są właściwe kroki? Dzięki.Czy ktoś ma wtyczkę vim taglist współpracującą ze Scala?

Odpowiedz

4

Najpierw sprawdź, czy w pliku znaczników znajduje się coś. Jeśli postępujesz zgodnie z instrukcjami na stronie, o której wspomniałeś, powinna ona poprawnie identyfikować klasy, metody itp. Jeśli to zadziałało, możesz przejść do następnego kroku.

Na taglist plugin znajduje się zakodowana lista obsługiwanych ustawień językowych, a Scala nie znajduje się wśród nich. Więc nawet jeśli CTag generuje poprawne znaczniki, wtyczka nie odczyta ich dla tego typu pliku.

Powinna istnieć możliwość dodania definicji jako zmiennej globalnej g:tlist_def_<lang>_settings, ale nie udało mi się tego zrobić. Musisz więc zmodyfikować plik taglist.vim w swoim katalogu ~/.vim/plugin, aby dodać obsługę Scala. Nie martw się, to jest łatwe!

Szukaj linii, która definiuje s:tlist_def_yacc_settings i dodaj następującą parę wierszy po nim:

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

Teraz kiedy trafisz Ctrl-T należy zobaczyć wygenerowane tagi Scala w oknie Lista Tag.

+0

Myślę, że masz mnie dużo bliżej. Mogę teraz użyć: tag LiftSession (z przykładów), aby przejść do tego pliku i innych plików w projekcie. Ale Ctrl-T zawsze zwraca "E73: pusty znacznik listy". : TlistToggle jest zawsze puste. Głosuję za twoją odpowiedzią, ponieważ jest pomocna. –

+0

Bardzo nieparzysty - może format pliku znaczników jest w jakiś sposób wyłączony? Próbowałem z najbardziej "ostatnią" (chociaż od 2007 r.) Wtyczką taglisty oraz z ctags 2.7 i 2.8, a te działają z TlistToggle. Jedyną różnicą jest to, że pliki Scala, których używam, nie korzystają z windy. – richq

+0

Próbowałem tego z ctags 2.7 i najnowszym liftem RC 2.0, i działa całkiem nieźle. Może inna opcja ctags wkradła się do twojego pliku .ctags? – richq

0

Ostatnio miałem ten sam problem i zaadoptowałem i rozszerzyłem ekstraktor ctags dla scala, który działa całkiem dobrze z wtyczką tagbar. Tutaj jest kod:

https://github.com/luben/sctags

Jest wolniejszy niż żywiołowy-ctags ponieważ używa parsera scalac i JVM ma zauważalny czas uruchamiania ale daje całkiem kompletne informacje.

Powiązane problemy