J'utilise Syntastic dans Vim, et cela met en évidence la nouvelle syntaxe Ruby comme des erreurs. Par exemple, si j'utilise les arguments de mots clés requis (introduits dans Ruby 2.1), comme ceci:
def distance(from:, to:)
# whatever
end
... il met en évidence la ligne de définition et indique "inattendu", "".
Comment puis-je lui faire reconnaître cela comme une syntaxe Ruby valide? J'ai déjà mis à jour ~/.vim/syntax/ruby.vim
.
~/.vim/syntax/ruby.vim
n'a rien à voir avec la vérification de la syntaxe dans les fichiers; il est pour la syntaxe mise en évidence . Voir robots.thoughtbot.com/writing-vim-syntax-pluginsRéponses:
Spécifiez l'exécutable ruby pour Syntastic
Syntastic appelle
ruby -c
pour vérifier la syntaxe d'un fichier, donc les erreurs qu'il montre dépendent de la version de ruby qu'il utilise.Vous pouvez le pointer vers celui que vous souhaitez utiliser comme ceci:
REMARQUE: sur les versions plus récentes de Syntastic:
$ type ruby
vous indiquera où se trouve votre exécutable Ruby actuel. Les installateurs Ruby ont leurs propres conventions sur l'endroit où ils placent leurs binaires. Par exemple:~/.rubies
et des versions spécifiques sur des chemins comme~/.rubies/ruby-2.2.0/bin/ruby
~/.rvm/rubies
et des versions spécifiques sur des chemins comme~/.rvm/rubies/ruby-2.2.0/bin/ruby
la source
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'
pour que lorsque les versions de rubis changent, il le ramasse automatiquement, je pense.system("rbenv which ruby")
dans mon .vimrcEn utilisant le macvim terminal, j'ai également eu ce problème, qui était aggravé par le fait que j'utilisais zsh, qui pour une raison quelconque ne respectait pas le binaire rvm que j'ai donné à la syntaxe. Je me suis rendu compte que mes chemins
!echo $PATH
étaient incorrects lors de l'exécution dans le terminal macvim, j'avais plusieurs chemins système ajoutés en haut qui n'étaient pas dans mon shell normal, provoquant toujours le chargement de l'IRM par défaut.Pour résoudre ce problème, je n'avais pas du tout besoin de spécifier le vérificateur de syntaxe dans mon .vimrc, mais j'ai dû mettre à jour le démarrage de zsh. En utilisant le fil à: http://vim.1045645.n5.nabble.com/MacVim-and-PATH-td3388705.html J'ai fini par simplement courir
sudo mv /etc/zshenv /etc/zprofile
et maintenant tout fonctionne et mes chemins sont corrects dans mvim. Cela devrait également résoudre le problème de la mise à jour de la syntaxe lors de l'installation d'une nouvelle version de ruby via rvm.la source
Pour un projet Rails.
.ruby-version
fichier à la racine du projet.Syntastic effectuera la vérification de la syntaxe avec la version ruby spécifiée.
la source