Sublimetext 2, Rails, Haml :: цветното кодиране на методите на rails в .haml файлове е неуспешно

Играя със Sublimetext2 за разработване на приложение за Rails (превключване от Textmate). Имам проблем с цветното кодиране на методите на rails в моите .haml файлове. Файловете с разширение .haml са настроени да се отварят с Ruby Haml пакет, копиран от Textmate. Проблемът се появява във всяка от цветовите теми, които опитах.

Така например във файл:

_form.html.haml

= form_for @object do |f|
  f.label ...
  f.text_field ...
  ...

ключовите думи "form_for", "label", "text_field" трябва да са червени (когато използвате тема Railscast). Но са бели.

Не изглежда да е проблем с темата Railscasts, тъй като проблемът (не методите за цветно кодиране на релси) съществува във всички теми в .haml файлове.

Пропускам ли нещо или това е грешка?

Благодаря, Мартин


person Arta    schedule 25.10.2012    source източник


Отговори (2)


Може би трябва да опитате друг пакет за haml - https://github.com/n00ge/sublime-text-haml-sass

person palaniraja    schedule 25.10.2012
comment
Опитах толкова различни HAML пакети (пакети), колкото намерих, този, който предложихте сред тях. Не го прави. Между другото, пакетът, който използвам, цветни кодове: javascript вътре -content_for в Sublimetext, другите, които опитах, не го правят. - person Arta; 25.10.2012

Това е недостатък в HAML файла. Ето поправката:

    diff --git a/Packages/Rails/Ruby Haml.tmLanguage b/Packages/Rails/Ruby Haml.tmLanguage
    index 88d43f2..8bf14a4 100644
    --- a/Packages/Rails/Ruby Haml.tmLanguage       
    +++ b/Packages/Rails/Ruby Haml.tmLanguage       
    @@ -90,7 +90,7 @@
                                    </dict>
                            </dict>
                            <key>end</key>
    -                       <string>$|(?!\.|#|\{|\[|=|-|~|/)</string>
    +                       <string>$|(?!\.|#|\{|\[|(?:!?=)|-|~|/)</string>
                            <key>patterns</key>
                            <array>
                                    <dict>
    @@ -199,7 +199,7 @@
                    <key>rubyline</key>
                    <dict>
                            <key>begin</key>
    -                       <string>=|-|~</string>
    +                       <string>(?:!?=)|-|~</string>
                            <key>contentName</key>
                            <string>source.ruby.embedded.haml</string>
                            <key>end</key>

Не съм сигурен обаче как да получа това нагоре. Ето моята оригинална публикация: http://www.sublimetext.com/forum/viewtopic.php?f=3&t=10246

person bronson    schedule 11.12.2012
comment
Всъщност тази корекция коригира '!='. '=' трябва да работи извън кутията (аз съм на компилация 2217). '-' подчертава ли Ruby кода правилно за вас? - person bronson; 12.12.2012
comment
Да, „-“ подчертава правилно, „=“ не. - person Arta; 29.05.2013