Question

Je cherchais des tâches de râteau qui me aider à traquer les erreurs de syntaxe, et je suis tombé sur haml --check comme une solution possible pour les fichiers HAML double vérification. Malheureusement, quand je l'ai passé cet exemple cassé, haml dit la syntaxe est OK.

Ai-je mal compris le but de haml --check ou est cette fonction pas pleinement mis en œuvre?

Je suppose que je devrais mentionner que je utilise Haml / Sass 3.0.25 (Classy Cassidy), rails 3.0.3, rubis 1.9.2p0 et Mac 10.6.6.

$ haml --check /tmp/edit.html.haml
Syntax OK

#/tmp/edit.html.haml
- content_for :head do
  = include_javascripts :aspects

#aspect_edit_pane
  #facebox_header
    %h4
      = @aspect
      .description
        = t('contacts', :count =>@aspect_contacts.count)}

Le dernier caractère (accolade) devrait déclencher une erreur de syntaxe, certainement lorsque le modèle est exécuté dans le cadre d'une demande:

ActionView::Template::Error (compile error 
    /usr/local/app/diaspora/app/views/aspects/edit.html.haml:13: 
    syntax error, unexpected '}', expecting ')'
Était-ce utile?

La solution

Peut-être parce que -c, --check Just check syntax, don't evaluate.

Je suppose:. Il vérifie que la syntaxe haml et ne pas évaluer ruby ??en ligne

- modifier

a besoin probablement certains plus de tests, mais je l'ai eu à travailler sur les fichiers HAML simples:)

haml --debug newsletter.html.haml 2> /dev/null | sed '$d' | ruby -c

En théorie:

imprime HAML sur la source Ruby précompilés (et les messages d'erreur à la fin), nous essayons d'obtenir seulement la partie de rubis et vérifier la syntaxe.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top