Estoy usando Syntastic en Vim, y destaca la nueva sintaxis de Ruby como errores. Por ejemplo, si uso argumentos de palabras clave requeridos (introducidos en Ruby 2.1), así:
def distance(from:, to:)
# whatever
end
... resalta la línea de definición y dice "inesperado ','".
¿Cómo puedo lograr que reconozca esto como una sintaxis válida de Ruby? Ya lo he actualizado ~/.vim/syntax/ruby.vim
.
~/.vim/syntax/ruby.vim
no tiene nada que ver con verificar la sintaxis en los archivos; Es para resaltar la sintaxis . Ver robots.thoughtbot.com/writing-vim-syntax-pluginsRespuestas:
Especifique el ejecutable ruby para Syntastic
Llamadas fantásticas
ruby -c
para verificar la sintaxis de un archivo, por lo que los errores que muestra dependen de la versión de ruby que esté usando.Puede señalarlo al que desea usar así:
NOTA: en versiones más nuevas de Syntastic:
$ type ruby
le dirá dónde está su ejecutable actual de Ruby. Los instaladores de Ruby tienen sus propias convenciones sobre dónde ubican sus archivos binarios. P.ej:~/.rubies
y versiones específicas en rutas como~/.rubies/ruby-2.2.0/bin/ruby
~/.rvm/rubies
y versiones específicas en rutas como~/.rvm/rubies/ruby-2.2.0/bin/ruby
fuente
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'
para que cuando las versiones de ruby cambien, debería recogerlo automáticamente, creo.system("rbenv which ruby")
en mi .vimrcUsando terminal macvim también tuve este problema, que se agravó por el hecho de que estaba usando zsh, que por alguna razón no respetaba el binario rvm que di fantástico. Me di cuenta de que mis rutas
!echo $PATH
eran incorrectas cuando se ejecutaba en el terminal macvim, tenía varias rutas del sistema adjuntas a la parte superior que no estaban en mi shell normal y todavía causaban que se cargara la MRI predeterminada.Para solucionar esto, no necesitaba especificar el verificador de sintaxis en mi .vimrc, sin embargo, tuve que actualizar cómo comenzó zsh. Usando el hilo en: http://vim.1045645.n5.nabble.com/MacVim-and-PATH-td3388705.html Terminé simplemente corriendo
sudo mv /etc/zshenv /etc/zprofile
y ahora todo funciona y mis caminos son correctos en mvim. Esto también debería resolver el problema de actualizar Syntastic al instalar una nueva versión de Ruby a través de rvm.fuente
Para un proyecto de Rails.
.ruby-version
archivo en la raíz del proyecto.Syntastic hará la verificación de sintaxis con la versión ruby especificada.
fuente