<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language name= "Haml" version= "1.1" kateversion= "2.3" section= "Markup"
extensions="*.haml"
author="Cies Breijs (cies_at_kde_nl)" license="LGPL"
mimetype="text/x-haml">
<!-- mimetype="text/x - haml" this might be a problem as is doesn't exist -->
<!-- learned and copied a lot from rhtml.xml -->
<!-- ripped out some functionality from rhtml, like GDL, maybe put this back in some day... -->
<!-- rhtml is rails specific, i ripped the rails helper keywords out as i'm a _merb_ guy... -->
<!-- 1.1: fixed many many many buggers, clearly shows how arbitrary the title '1.0' was -->
<!-- TODO: multi - line - based - on - indenting (comments, filters) don't work, mark more errors with error_hl_test.haml(?) (currently only unpaired spaces on indentation), give ruby code a little background, pipe character as a multiline splitter can use a little color (can it be escaped? "\|"), use hamls unittests for inspiration for better *_test.haml files -->
<highlighting >
<list name= "keywords" >
<item > BEGIN </item>
<item > END </item>
<item > and </item>
<item > begin </item>
<item > break </item>
<item > case </item>
<item > defined? </item>
<item > do </item>
<item > else </item>
<item > elsif </item>
<item > end </item>
<item > ensure </item>
<item > for </item>
<item > if </item>
<item > in </item>
<item > include </item>
<item > next </item>
<item > not </item>
<item > or </item>
<item > redo </item>
<item > rescue </item>
<item > retry </item>
<item > return </item>
<item > then </item>
<item > unless </item>
<item > until </item>
<item > when </item>
<item > while </item>
<item > yield </item>
</list>
<list name= "access-control" >
<item > private_class_method </item>
<item > private </item>
<item > protected </item>
<item > public_class_method </item>
<item > public </item>
</list>
<list name= "attribute-definitions" >
<item > attr_reader </item>
<item > attr_writer </item>
<item > attr_accessor </item>
</list>
<list name= "definitions" >
<item > alias </item>
<item > module </item>
<item > class </item>
<item > def </item>
<item > undef </item>
</list>
<list name= "pseudo-variables" >
<item > self </item>
<item > super </item>
<item > nil </item>
<item > false </item>
<item > true </item>
<item > caller </item>
<item > __FILE__ </item>
<item > __LINE__ </item>
</list>
<list name= "default-globals" >
<item > $stdout </item>
<item > $defout </item>
<item > $stderr </item>
<item > $deferr </item>
<item > $stdin </item>
</list>
<!-- Kernel module methods.
NOTE: Methods ending in ? or !
are included below as regexes.
-->
<list name= "kernel-methods" >
<!-- backquote ` -->
<item > abort </item>
<item > at_exit </item>
<item > autoload </item>
<item > autoload? </item>
<item > binding </item>
<item > block_given? </item>
<item > callcc </item>
<item > caller </item>
<item > catch </item>
<item > chomp </item>
<item > chomp! </item>
<item > chop </item>
<item > chop! </item>
<item > eval </item>
<item > exec </item>
<item > exit </item>
<item > exit! </item>
<item > fail </item>
<item > fork </item>
<item > format </item>
<item > getc </item>
<item > gets </item>
<item > global_variables </item>
<item > gsub </item>
<item > gsub! </item>
<item > iterator? </item>
<item > lambda </item>
<item > load </item>
<item > local_variables </item>
<item > loop </item>
<item > method_missing </item>
<item > open </item>
<item > p </item>
<item > print </item>
<item > printf </item>
<item > proc </item>
<item > putc </item>
<item > puts </item>
<item > raise </item>
<item > rand </item>
<item > readline </item>
<item > readlines </item>
<item > require </item>
<item > scan </item>
<item > select </item>
<item > set_trace_func </item>
<item > sleep </item>
<item > split </item>
<item > sprintf </item>
<item > srand </item>
<item > sub </item>
<item > sub! </item>
<item > syscall </item>
<item > system </item>
<item > test </item>
<item > throw </item>
<item > trace_var </item>
<item > trap </item>
<item > untrace_var </item>
<item > warn </item>
</list>
<list name= "attention" >
<item > TODO </item>
<item > FIXME </item>
<item > NOTE </item>
</list>
<contexts >
<context attribute= "Normal Text" lineEndContext= "#stay" name= "normal" >
<RegExpr attribute= "Error" firstNonSpace= "false" context= "#stay" String= "^[ ]{1}([ ]{2})*[^ ]+" />
<RegExpr attribute= "Doctype" context= "#stay" String= "^!!!.*$" />
<!-- 2 failed attempts to implement multiline comments -->
<!-- <RegExpr attribute="Comment" String="/.*$" context="#stay" beginRegion="comment0" column="0"/>
<RegExpr attribute= "Comment" String= "[^ /]" context= "#stay" endRegion= "comment0" column= "0" />
<RegExpr attribute= "Comment" String= "^[ ]{2}/.*$" context= "#stay" beginRegion= "comment2" column= "0" />
<RegExpr attribute= "Comment" String= "^[^ ]{4}" context= "#stay" endRegion= "comment2" column= "0" /> -->
<!-- <RegExpr attribute="Comment" context="comment0" String="^/.*" />
<RegExpr attribute= "Comment" context= "comment2" String= "^[ ]{2}/.*" />
<RegExpr attribute= "Comment" context= "comment4" String= "^[ ]{4}/.*" /> -->
<DetectSpaces />
<DetectChar attribute= "Escaped Text" context= "escaped" char= "\" />
<DetectChar attribute= "Comment" context= "comment" char= "/" />
<Detect2Chars attribute= "Keyword" context= "unquoted" char= "=" char1= "=" />
<DetectChar attribute= "Keyword" context= "rubysourceline" char= "=" />
<DetectChar attribute= "Keyword" context= "rubysourceline" char= "-" />
<DetectChar attribute= "Keyword" context= "rubysourceline" char= "~" />
<Detect2Chars attribute= "Keyword" context= "rubysourceline" char= "!" char1= "=" />
<Detect2Chars attribute= "Keyword" context= "rubysourceline" char= "&" char1= "=" />
<DetectChar attribute= "Operator" context= "array" char= "[" beginRegion= "Array" />
<DetectChar attribute= "Operator" context= "hash" char= "{" beginRegion= "Hash" />
<RegExpr attribute= "Filter" firstNonSpace= "true" context= "#stay" String= ":[a-zA-Z0-9_\-]*" />
<RegExpr attribute= "Tag" firstNonSpace= "true" context= "#stay" String= "%[a-zA-Z_][a-zA-Z0-9_\-]*" />
<RegExpr attribute= "Div Id" firstNonSpace= "true" context= "#stay" String= "#[a-zA-Z_][a-zA-Z0-9_\-]*" />
<RegExpr attribute= "Div Class" firstNonSpace= "true" context= "#stay" String= "\.[a-zA-Z_][a-zA-Z0-9_\-]*" />
<RegExpr attribute= "Element Id" context= "#stay" String= "#[a-zA-Z_][a-zA-Z0-9_\-]*" />
<RegExpr attribute= "Element Class" context= "#stay" String= "\.[a-zA-Z_][a-zA-Z0-9_\-]*" />
<RegExpr attribute= "Entity" context= "#stay" String= "&[a-zA-Z]+;" />
</context>
<context attribute= "Array" lineEndContext= "#stay" name= "array" >
<DetectSpaces />
<DetectChar attribute= "Operator" context= "#pop" char= "]" endRegion= "Array" />
<IncludeRules context= "rubysourceline" />
</context>
<context attribute= "Hash" lineEndContext= "#stay" name= "hash" >
<DetectSpaces />
<DetectChar attribute= "Operator" context= "#pop" char= "}" endRegion= "Hash" />
<IncludeRules context= "rubysourceline" />
</context>
<context attribute= "Unquoted String" lineEndContext= "#pop" name= "unquoted" >
<IncludeRules context= "Quoted String" />
</context>
<context attribute= "String" lineEndContext= "#stay" name= "string" >
<DetectIdentifier />
<DetectChar attribute= "String" context= "#pop" char= "'" endRegion= "String" />
</context>
<context attribute= "String" lineEndContext= "#stay" name= "stringx" >
<DetectIdentifier />
<DetectChar attribute= "String" context= "#pop" char= """ endRegion= "String" />
</context>
<context attribute= "Comment" lineEndContext= "#pop" name= "comment0" >
<DetectSpaces />
<IncludeRules context= "##Alerts" />
<DetectIdentifier />
<!-- <RegExpr attribute="Comment" context="#pop" String="^[^/ ]" endRegion="comment" /> attempt for multiline comments -->
</context>
<context attribute= "Comment" lineEndContext= "#pop" name= "comment2" >
<DetectSpaces />
<IncludeRules context= "##Alerts" />
<DetectIdentifier />
<RegExpr attribute= "Comment" context= "#pop" String= "^[ ]{2}[^ /]" endRegion= "comment" />
</context>
<context attribute= "Comment" lineEndContext= "#pop" name= "comment" >
<DetectSpaces />
<IncludeRules context= "##Alerts" />
<DetectIdentifier />
<StringDetect attribute= "Comment" context= "#pop" String= "-->" endRegion= "comment" />
</context>
<context attribute= "Escaped Text" lineEndContext= "#pop" name= "escaped" >
</context>
<context name= "rubysourceline" attribute= "Ruby embedded in haml" lineEndContext= "#pop" >
<IncludeRules context= "rubysource" />
</context>
<context name= "rubysource" attribute= "Ruby embedded in haml" lineEndContext= "#stay" >
<!-- ruby ignores newline after \ -->
<LineContinue attribute= "Ruby Normal Text" context= "Line Continue" />
<!-- "def" - "end" blocks -->
<!-- check for statement modifiers with regexes -->
<RegExpr attribute= "Keyword" String= "(\=|\(|\[|\{)\s*(if|unless|while|until)\b" context= "#stay" beginRegion= "def block" />
<RegExpr attribute= "Keyword" String= "(while|until)\b(?!.*\bdo\b)" context= "#stay" beginRegion= "def block" firstNonSpace= "true" />
<RegExpr attribute= "Keyword" String= "\;\s*(while|until)\b(?!.*\bdo\b)" context= "#stay" beginRegion= "def block" />
<RegExpr attribute= "Keyword" String= "(if|unless)\b" context= "#stay" beginRegion= "def block" firstNonSpace= "true" />
<RegExpr attribute= "Keyword" String= "\;\s*(if|unless)\b" context= "#stay" beginRegion= "def block" />
<RegExpr attribute= "Keyword" String= "\bclass\b" context= "#stay" beginRegion= "def block" />
<RegExpr attribute= "Keyword" String= "\bmodule\b" context= "#stay" beginRegion= "def block" />
<RegExpr attribute= "Keyword" String= "\bbegin\b" context= "#stay" beginRegion= "def block" />
<RegExpr attribute= "Keyword" String= "\bfor\b(?!.*\bdo\b)" context= "#stay" beginRegion= "def block" />
<RegExpr attribute= "Keyword" String= "\bcase\b" context= "#stay" beginRegion= "def block" />
<RegExpr attribute= "Keyword" String= "\bdo\b" context= "#stay" beginRegion= "def block" />
<RegExpr attribute= "Keyword" String= "\bdef\b" context= "#stay" beginRegion= "def block" />
<RegExpr attribute= "Keyword" String= "\bend\b" context= "#stay" endRegion= "def block" />
<!-- elsif/else close the current block and start a new one -->
<RegExpr attribute= "Keyword" String= "(\b|^\s*)(else|elsif|rescue|ensure)(\s+|$)" context= "#stay" endRegion= "def block" beginRegion= "def block" />
<StringDetect attribute= "Operator" String= "..." context= "#stay" />
<Detect2Chars attribute= "Operator" char= "." char1= "." context= "#stay" />
<!-- marks a message (being sent, not defined) -->
<RegExpr attribute= "Message" String= "\.[_a-z][_a-zA-Z0-9]*(\?|\!|\b)" context= "#stay" />
<!-- Check for "ASCII code operator". e.g.: ?a -->
<RegExpr attribute= "Dec" String= "\s\?(\\M\-)?(\\C\-)?\\?\S" context= "#stay" />
<keyword attribute= "Keyword" String= "keywords" context= "#stay" />
<keyword attribute= "Attribute Definition" String= "attribute-definitions" context= "#stay" />
<keyword attribute= "Access Control" String= "access-control" context= "#stay" />
<keyword attribute= "Definition" String= "definitions" context= "#stay" />
<keyword attribute= "Pseudo variable" String= "pseudo-variables" context= "#stay" />
<keyword attribute= "Default globals" String= "default-globals" context= "#stay" />
<keyword attribute= "Kernel methods" String= "kernel-methods" context= "#stay" />
<!-- (global) vars starting with $
Match them before $_.
-->
<RegExpr attribute= "Global Variable" String= "\$[a-zA-Z_0-9]+" context= "#stay" />
<RegExpr attribute= "Global Variable" String= "\$\-[a-zA-z_]\b" context= "#stay" />
<!-- special - character globals -->
<RegExpr attribute= "Default globals" String= "\$[\d_*`\!:?'/\\\-\&]" context= "#stay" />
<RegExpr attribute= "Global Constant" String= "\b[_A-Z]+[A-Z_0-9]+\b" context= "#stay" />
<!-- Generally a module or class name like "File", "MyModule_1", .. -->
<RegExpr attribute= "Constant" String= "\b[A-Z]+_*([0-9]|[a-z])[_a-zA-Z0-9]*\b" context= "#stay" />
<RegExpr attribute= "Hex" String= "\b\-?0[xX][_0-9a-fA-F]+" context= "#stay" />
<RegExpr attribute= "Bin" String= "\b\-?0[bB][_01]+" context= "#stay" />
<RegExpr attribute= "Octal" String= "\b\-?0[1-7][_0-7]*" context= "#stay" />
<RegExpr attribute= "Float" String= "\b\-?[0-9][0-9_]*\.[0-9][0-9_]*([eE]\-?[1-9][0-9]*(\.[0-9]*)?)?" context= "#stay" />
<RegExpr attribute= "Dec" String= "\b\-?[1-9][0-9_]*\b" context= "#stay" />
<Int attribute= "Dec" context= "#stay" />
<HlCChar attribute= "Char" context= "#stay" />
<!-- Check for =begin before assignment operator. -->
<StringDetect attribute= "Blockcomment" String= "=begin" context= "Embedded documentation" beginRegion= "comment block" column= "0" />
<DetectChar attribute= "Operator" char= "." context= "#stay" />
<Detect2Chars attribute= "Operator" char= "&" char1= "&" context= "#stay" />
<Detect2Chars attribute= "Operator" char= "|" char1= "|" context= "#stay" />
<RegExpr attribute= "Operator" String= "\s[\?\:\%/]\s" context= "#stay" />
<RegExpr attribute= "Operator" String= "[|&<>\^\+*~\-=]+" context= "#stay" />
<!-- regexp hack -->
<RegExpr attribute= "Operator" String= "\s!" context= "#stay" />
<RegExpr attribute= "Operator" String= "/=\s" context= "#stay" insensitive= "0" />
<StringDetect attribute= "Operator" String= "%=" context= "#stay" insensitive= "0" />
<Detect2Chars attribute= "Operator" char= ":" char1= ":" context= "Member Access" />
<RegExpr attribute= "Symbol" String= ":[a-zA-Z_][a-zA-Z0-9_]*" context= "#stay" />
<DetectChar attribute= "String" char= """ context= "Quoted String" />
<DetectChar attribute= "Raw String" char= "'" context= "Apostrophed String" />
<DetectChar attribute= "Command" char= "`" context= "Command String" />
<StringDetect attribute= "Normal Text" String= "?#" context= "#stay" />
<RegExpr attribute= "Comment" String= "#\s*BEGIN.*$" context= "#stay" beginRegion= "marker" column= "0" />
<RegExpr attribute= "Comment" String= "#\s*END.*$" context= "#stay" endRegion= "marker" column= "0" />
<RegExpr attribute= "Comment" String= "#" context= "General Comment" />
<RegExpr attribute= "Delimiter" String= "[\[\]]+" context= "#stay" />
<DetectChar attribute= "Delimiter" char= "{" context= "#stay" beginRegion= "def block" />
<DetectChar attribute= "Delimiter" char= "}" context= "#stay" endRegion= "def block" />
<RegExpr attribute= "Instance Variable" String= "@[a-zA-Z_0-9]+" context= "#stay" />
<RegExpr attribute= "Class Variable" String= "@@[a-zA-Z_0-9]+" context= "#stay" />
<!-- handle the different regular expression formats -->
<DetectChar attribute= "Regular Expression" char= "/" context= "RegEx 1" />
</context>
<context name= "Line Continue" attribute= "Ruby Normal Text" lineEndContext= "#pop" >
<RegExpr attribute= "Keyword" String= "(while|until)\b(?!.*\bdo\b)" context= "#stay" firstNonSpace= "true" />
<RegExpr attribute= "Keyword" String= "(if|unless)\b" context= "#stay" firstNonSpace= "true" />
<IncludeRules context= "rubysource" />
</context>
<context name= "Quoted String" attribute= "String" lineEndContext= "#stay" >
<StringDetect attribute= "String" String= "\\" context= "#stay" />
<RegExpr attribute= "String" String= "\\\"" context= "#stay" />
<RegExpr attribute= "Substitution" String= "#@{1,2}" context= "Short Subst" />
<Detect2Chars attribute= "Substitution" char= "#" char1= "{" context= "Subst" />
<!-- HlCChar attribute="Char" context="#pop"/ -->
<DetectChar char= """ attribute= "String" context= "#pop" />
</context>
<context name= "Apostrophed String" attribute= "Raw String" lineEndContext= "#stay" >
<!-- <HlCChar attribute="Char" context="#pop"/> -->
<StringDetect attribute= "String" String= "\\" context= "#stay" />
<RegExpr attribute= "String" String= "\\\'" context= "#stay" />
<DetectChar char= "'" attribute= "Raw String" context= "#pop" />
</context>
<context name= "Command String" attribute= "Command" lineEndContext= "#stay" >
<StringDetect attribute= "String" String= "\\" context= "#stay" />
<RegExpr attribute= "String" String= "\\\`" context= "#stay" />
<RegExpr attribute= "Substitution" String= "#@{1,2}" context= "Short Subst" />
<Detect2Chars attribute= "Substitution" char= "#" char1= "{" context= "Subst" />
<HlCChar attribute= "Char" context= "#pop" />
<DetectChar char= "`" attribute= "Command" context= "#pop" />
</context>
<context name= "Embedded documentation" attribute= "Ruby Comment" lineEndContext= "#stay" >
<StringDetect attribute= "Ruby Comment" String= "=end" context= "#pop" endRegion= "comment block" column= "0" />
</context>
<context name= "RegEx 1" attribute= "Regular Expression" lineEndContext= "#stay" >
<RegExpr attribute= "Regular Expression" String= "\\\/" context= "#stay" />
<RegExpr attribute= "Regular Expression" String= "[^\\]$" context= "#pop" />
<RegExpr attribute= "Substitution" String= "#@{1,2}" context= "Short Subst" />
<Detect2Chars attribute= "Substitution" char= "#" char1= "{" context= "Subst" />
<RegExpr attribute= "Regular Expression" String= "/[uiomxn]*" context= "#pop" />
</context>
<!-- Substitutions can be nested -->
<context name= "Subst" attribute= "Ruby Normal Text" lineEndContext= "#stay" >
<DetectChar attribute= "Substitution" char= "}" context= "#pop" />
<!-- Highlight substitution as code. -->
<IncludeRules context= "rubysource" />
</context>
<context name= "Short Subst" attribute= "Substitution" lineEndContext= "#pop" >
<!-- Check for e.g.: "#@var#@@xy" -->
<RegExpr attribute= "Substitution" String= "#@{1,2}" context= "#stay" />
<RegExpr attribute= "Substitution" String= "\w(?!\w)" context= "#pop" />
</context>
<!-- This handles access of nested module classes and class methods -->
<context name= "Member Access" attribute= "Member" lineEndContext= "#pop" >
<!-- marks a message (being sent, not defined) -->
<RegExpr attribute= "Message" String= "\.?[_a-z]\w*(\?|\!)?(?=[^\w\d\.\:])" context= "#pop" />
<RegExpr attribute= "Message" String= "\.?[_a-z]\w*(\?|\!)?" context= "#stay" />
<RegExpr attribute= "Constant" String= "[A-Z]+_*(\d|[a-z])\w*(?=[^\w\d\.\:])" context= "#pop" />
<RegExpr attribute= "Constant" String= "[A-Z]+_*([0-9]|[a-z])\w*" context= "#stay" />
<RegExpr attribute= "Constant Value" String= "[_A-Z][_A-Z0-9]*(?=[^\w\d\.\:])" context= "#pop" />
<RegExpr attribute= "Constant Value" String= "[_A-Z][_A-Z0-9]*" context= "#stay" />
<Detect2Chars attribute= "Operator" char= ":" char1= ":" context= "#stay" />
<DetectChar attribute= "Member" char= "." context= "#stay" />
<AnyChar attribute= "Operator" String= "=+-*/%|&[]{}~" context= "#pop" />
<DetectChar attribute= "Ruby Comment" char= "#" context= "#pop" />
<AnyChar attribute= "Ruby Normal Text" String= "()\" context= "#pop" />
<RegExpr attribute= "Member" String= "\W" context= "#pop" />
</context>
<context name= "Comment Line" attribute= "Ruby Comment" lineEndContext= "#pop" >
<keyword attribute= "Alert" String= "attention" context= "#stay" />
<RegExpr attribute= "Keyword" context= "#pop#pop" String= "-?%>" />
</context>
<context name= "General Comment" attribute= "Ruby Comment" lineEndContext= "#pop" >
<keyword attribute= "Dec" String= "attention" context= "#stay" />
</context>
</contexts>
<itemDatas >
<!-- BEGIN Ruby itemData -->
<itemData name= "Ruby Normal Text" defStyleNum= "dsNormal" />
<itemData name= "Keyword" defStyleNum= "dsKeyword" />
<itemData name= "Attribute Definition" defStyleNum= "dsOthers" />
<itemData name= "Access Control" defStyleNum= "dsKeyword" color= "#0000FF" />
<itemData name= "Definition" defStyleNum= "dsKeyword" />
<itemData name= "Pseudo variable" defStyleNum= "dsDecVal" />
<itemData name= "Dec" defStyleNum= "dsDecVal" />
<itemData name= "Float" defStyleNum= "dsFloat" />
<itemData name= "Char" defStyleNum= "dsChar" />
<itemData name= "Octal" defStyleNum= "dsBaseN" />
<itemData name= "Hex" defStyleNum= "dsBaseN" />
<itemData name= "Bin" defStyleNum= "dsBaseN" />
<itemData name= "Symbol" defStyleNum= "dsString" color= "#D40000" />
<itemData name= "String" defStyleNum= "dsString" />
<itemData name= "Unquoted String" defStyleNum= "dsString" />
<itemData name= "Raw String" defStyleNum= "dsString" color= "#DD4A4A" selColor= "#DD4A4A" />
<itemData name= "Command" defStyleNum= "dsString" color= "#AA3000" />
<itemData name= "Message" defStyleNum= "dsNormal" color= "#4000A7" /> <!-- #4A00C0 -->
<itemData name= "Regular Expression" defStyleNum= "dsOthers" color= "#4A5704" />
<itemData name= "Substitution" defStyleNum= "dsOthers" />
<itemData name= "Data" defStyleNum= "dsNormal" />
<!-- short for 'general delimited input' -->
<itemData name= "GDL input" defStyleNum= "dsOthers" />
<itemData name= "Default globals" defStyleNum= "dsDataType" color= "#C00000" bold= "1" />
<itemData name= "Global Variable" defStyleNum= "dsDataType" color= "#C00000" />
<itemData name= "Global Constant" defStyleNum= "dsDataType" color= "#bb1188" bold= "1" />
<itemData name= "Constant" defStyleNum= "dsDataType" />
<itemData name= "Constant Value" defStyleNum= "dsDataType" color= "#bb1188" />
<itemData name= "Kernel methods" defStyleNum= "dsNormal" color= "#000080" selColor= "#ffffff" /> <!-- #CC0E86 -->
<itemData name= "Member" defStyleNum= "dsNormal" />
<itemData name= "Instance Variable" defStyleNum= "dsOthers" />
<itemData name= "Class Variable" defStyleNum= "dsOthers" />
<itemData name= "Ruby Comment" defStyleNum= "dsComment" />
<itemData name= "Blockcomment" defStyleNum= "dsComment" />
<itemData name= "Region Marker" defStyleNum= "dsNormal" color= "#0000ff" />
<itemData name= "RDoc Value" defStyleNum= "dsOthers" />
<!-- use these to mark errors and alerts things -->
<itemData name= "Error" defStyleNum= "dsError" />
<itemData name= "Alert" defStyleNum= "dsAlert" />
<itemData name= "Delimiter" defStyleNum= "dsChar" />
<itemData name= "Expression" defStyleNum= "dsOthers" />
<itemData name= "Operator" defStyleNum= "dsChar" />
<!-- HAML itemData -->
<itemData name= "Normal Text" defStyleNum= "dsNormal" />
<itemData name= "Hash" defStyleNum= "dsNormal" />
<itemData name= "Comment" defStyleNum= "dsComment" />
<itemData name= "Symbol" defStyleNum= "dsDataType" />
<itemData name= "Doctype" defStyleNum= "dsDataType" bold= "1" />
<itemData name= "Filter" defStyleNum= "dsOthers" />
<itemData name= "Element Id" defStyleNum= "dsFloat" bold= "1" />
<itemData name= "Element Class" defStyleNum= "dsFloat" />
<itemData name= "Div Id" defStyleNum= "dsDecVal" bold= "1" />
<itemData name= "Div Class" defStyleNum= "dsDecVal" />
<itemData name= "String" defStyleNum= "dsNormal" />
<itemData name= "Tag" defStyleNum= "dsKeyword" />
<itemData name= "Keyword" defStyleNum= "dsKeyword" />
<itemData name= "Entity" defStyleNum= "dsDecVal" />
</itemDatas>
</highlighting>
<general >
<folding indentationsensitive= "1" />
<emptyLines >
<emptyLine regexpr= "\s+" casesensitive= "false" />
</emptyLines>
<comments >
<comment name= "singleLine" start= "/" />
</comments>
<keywords casesensitive= "1" />
</general>
</language>