Używam Syntastic w Vimie, a to podkreśla nowszą składnię Ruby jako błędy. Na przykład, jeśli użyję wymaganych argumentów słów kluczowych (wprowadzonych w Ruby 2.1), to tak:
def distance(from:, to:)
# whatever
end
... podświetla linię definicji i mówi „nieoczekiwany”, „”.
Jak mogę to rozpoznać jako prawidłową składnię Ruby? Już zaktualizowałem ~/.vim/syntax/ruby.vim
.
~/.vim/syntax/ruby.vim
nie ma nic wspólnego ze sprawdzaniem składni plików; służy do podświetlania składni . Zobacz robots.thoughtbot.com/writing-vim-syntax-pluginsOdpowiedzi:
Podaj plik wykonywalny ruby dla Syntastic
Wywołania syntastyczne w
ruby -c
celu sprawdzenia składni pliku, więc wyświetlane błędy zależą od używanej wersji Ruby.Możesz wskazać ten, którego chcesz użyć w następujący sposób:
UWAGA: w nowszych wersjach Syntastic:
$ type ruby
powie ci, gdzie jest twój obecny plik wykonywalny Ruby. Instalatorzy Ruby mają własne konwencje dotyczące tego, gdzie umieszczają swoje pliki binarne. Na przykład:~/.rubies
i określone wersje na ścieżkach takich jak~/.rubies/ruby-2.2.0/bin/ruby
~/.rvm/rubies
i określone wersje na ścieżkach takich jak~/.rvm/rubies/ruby-2.2.0/bin/ruby
źródło
let g:syntastic_ruby_exec = '~/.rvm/rubies/ruby-2.2.0/bin/ruby'
let g:syntastic_ruby_mri_exec='path/to/ruby/executable'
let g:syntastic_ruby_exec = '~/.rbenv/shims/ruby'
tak jak sądzę , gdy przełącznik wersji Ruby automatycznie się przełączy.system("rbenv which ruby")
w .vimrcUżywając terminala macvim miałem również ten problem, który spotęgował fakt, że korzystałem z zsh, który z jakiegoś powodu nie szanował pliku binarnego rvm, który dałem syntastic. Zdałem sobie sprawę, że moje ścieżki były niepoprawne, gdy
!echo $PATH
działałem w terminalowym macvimie, miałem kilka ścieżek systemowych dołączonych na górze, które nie były w mojej zwykłej powłoce, wciąż powodując załadowanie domyślnego MRI.Aby to naprawić, nie musiałem wcale określać sprawdzania składni w moim .vimrc, jednak musiałem zaktualizować sposób uruchamiania zsh. Używając wątku na: http://vim.1045645.n5.nabble.com/MacVim-and-PATH-td3388705.html Skończyło się na tym, że po prostu
sudo mv /etc/zshenv /etc/zprofile
działam i teraz wszystko działa i moje ścieżki są poprawne w mvim. To powinno również rozwiązać problem aktualizacji syntastic podczas instalowania nowej wersji Ruby przez rvm.źródło
Dla projektu Rails.
.ruby-version
pliku w katalogu głównym projektu.Syntastic sprawdzi składnię podaną wersją ruby.
źródło