Browse Source

working on SD-1592: translated PHP-Mode.xshd to the new format

pull/14/head
Siegfried Pammer 15 years ago
parent
commit
f7c9cb8c1c
  1. 350
      src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Highlighting/Resources/PHP-Mode.xshd

350
src/Libraries/AvalonEdit/ICSharpCode.AvalonEdit/Highlighting/Resources/PHP-Mode.xshd

@ -1,198 +1,158 @@
<?xml version="1.0"?> <?xml version="1.0"?>
<!-- syntaxdefinition for PHP 2001 by Chad Smith & Mike Krueger --> <!-- syntaxdefinition for PHP 2001 by Chad Smith & Mike Krueger -->
<!-- converted to AvalonEdit format by Siegfried Pammer in 2010 -->
<SyntaxDefinition name ="PHP" extensions = ".php"> <SyntaxDefinition name ="PHP" extensions = ".php" xmlns="http://icsharpcode.net/sharpdevelop/syntaxdefinition/2008">
<Color name="Comment" foreground="Green" exampleText="// comment" />
<Digits name ="Digits" bold ="false" italic ="false" color ="DarkBlue"/> <Color name="String" foreground="Blue" exampleText="$text = &quot;Hello, World!&quot;" />
<Color name="NumberLiteral" foreground="DarkBlue" exampleText="3.1415" />
<RuleSets> <Color name="Punctuation" foreground="DarkGreen" exampleText="a(b + c)" />
<RuleSet ignorecase = "false"> <Color name="FunctionCall" foreground="MidnightBlue" fontWeight="bold" exampleText="abs(num);"/>
<Delimiters>~!%^*()-+=|\#/{}[]:;"'&lt;&gt; , .?</Delimiters> <Color name="AccessKeywords" foreground="Black" fontWeight="bold" exampleText="global $database;" />
<Color name="OperatorKeywords" foreground="DarkCyan" fontWeight="bold" exampleText="if (x === false and y === false) { }" />
<Span name ="PreprocessorDirectives" bold="false" italic = "false" color = "Green" stopateol ="true"> <Color name="SelectionStatements" foreground="Blue" fontWeight="bold" exampleText="if (true) { } else { }" />
<Begin>#</Begin> <Color name="IterationStatements" foreground="Blue" fontWeight="bold" exampleText="while (true) { }" />
</Span> <Color name="JumpStatements" foreground="Navy" fontWeight="bold" exampleText="if (x == 5) continue;" />
<Color name="ControlStatements" foreground="Teal" fontWeight="bold" exampleText="include(&quot;test.php&quot;);" />
<Span name ="LINECOMMENT" rule = "DocumentSet" bold ="false" italic ="true" color ="SlateGray" stopateol ="true"> <Color name="ValueTypes" foreground="Red" fontWeight="bold" exampleText="int test = 5;" />
<Begin>///</Begin> <Color name="OtherTypes" foreground="Red" exampleText="object test = null;" />
</Span> <Color name="AccessModifiers" foreground="Blue" fontWeight="bold" exampleText="public function test() {}" />
<RuleSet>
<Span name ="LINECOMMENT" rule = "TestSet" bold ="false" italic ="true" color ="SlateGray" stopateol ="true"> <Span color="Comment">
<Begin>//@!/@</Begin> <Begin>\#</Begin>
</Span> </Span>
<Span name ="BLOCKCOMMENT" rule = "TestSet" bold ="false" italic ="true" color ="SlateGray" stopateol ="false"> <Span color="Comment">
<Begin>/*</Begin> <Begin>//</Begin>
<End>*/</End> </Span>
</Span>
<Span color="Comment" multiline="true">
<Span name ="STRING" bold ="false" italic ="false" color ="Magenta" stopateol ="true" escapecharacter="\"> <Begin>/\*</Begin>
<Begin>"</Begin> <End>\*/</End>
<End>"</End> </Span>
</Span>
<!-- Digits -->
<Span name ="MORELINEDSTRING" bold ="false" italic ="false" color ="Magenta" stopateol ="false" escapecharacter="\"> <Rule color="NumberLiteral">
<Begin>@@"</Begin> \b0[xX][0-9a-fA-F]+ # hex number
<End>"</End> |
</Span> \b0[0-9]+ # octal number
|
<Span name ="CHAR" bold ="false" italic ="false" color ="Magenta" stopateol ="true" escapecharacter="\"> ( \b\d+(\.[0-9]+)? #number with optional floating point
<Begin>'</Begin> | \.[0-9]+ #or just starting with floating point
<End>'</End> )
</Span> ([eE][+-]?[0-9]+)? # optional exponent
</Rule>
<MarkPrevious bold ="true" italic ="false" color ="MidnightBlue">(</MarkPrevious>
<Rule color="Punctuation">
<KeyWords name ="Punctuation" bold ="false" italic ="false" color ="DarkGreen"> [?,.:;()\[\]{}+\-/%*&lt;&gt;&amp;^!|~@]+
<Key word = "?" /> </Rule>
<Key word = "," />
<Key word = "." /> <!-- Mark previous rule-->
<Key word = "(" /> <Rule color="FunctionCall">
<Key word = ")" /> \b
<Key word = "[" /> [\d\w_]+ # an identifier
<Key word = "]" /> (?=\s*\() # followed by (
<Key word = "{" /> </Rule>
<Key word = "}" />
<Key word = "+" /> <Span color="String" multiline="true">
<Key word = "-" /> <Begin>'</Begin>
<Key word = "/" /> <End>'</End>
<Key word = "%" /> <RuleSet>
<Key word = "*" /> <!-- span for escape sequences -->
<Key word = "&lt;" /> <Span begin="\\" end="."/>
<Key word = "&gt;" /> </RuleSet>
<Key word = "^" /> </Span>
<Key word = "!" />
<Key word = "|" /> <Span color="String" multiline="true">
</KeyWords> <Begin>"</Begin>
<End>"</End>
<KeyWords name ="AccessKeywords" bold="true" italic = "false" color = "Black"> <RuleSet>
<Key word = "global" /> <!-- span for escape sequences -->
<Key word = "my" /> <Span begin="\\" end="."/>
</KeyWords> </RuleSet>
</Span>
<KeyWords name ="OperatorKeywords" bold="true" italic = "false" color = "DarkCyan">
<Key word = "and" /> <!-- heredoc syntax -->
<Key word = "or" /> <Span color="String" multiline="true">
<Key word = "new" /> <Begin>&lt;&lt;&lt;\"?[\d\w_]+\"?$</Begin>
<Key word = "xor" /> <End>^[\d\w_]+;</End>
<Key word = "true" /> </Span>
<Key word = "false" />
</KeyWords> <!-- nowdoc syntax -->
<Span color="String" multiline="true">
<Begin>&lt;&lt;&lt;\'[\d\w_]+\'$</Begin>
<KeyWords name ="SelectionStatements" bold="true" italic = "false" color = "Blue"> <End>^[\d\w_]+;</End>
<Key word = "else" /> </Span>
<Key word = "if" />
<Key word = "switch" /> <Keywords color="AccessKeywords">
<Key word = "case" /> <Word>global</Word>
<Key word = "endif" /> <Word>my</Word>
<Key word = "elseif" /> <Word>var</Word>
</KeyWords> </Keywords>
<KeyWords name ="IterationStatements" bold="true" italic = "false" color = "Blue"> <Keywords color="OperatorKeywords">
<Key word = "do" /> <Word>and</Word>
<Key word = "for" /> <Word>or</Word>
<Key word = "foreach" /> <Word>new</Word>
<Key word = "while" /> <Word>clone</Word>
<Key word = "endwhile" /> <Word>instanceof</Word>
<Key word = "exit" /> <Word>xor</Word>
</KeyWords> <Word>true</Word>
<Word>false</Word>
<KeyWords name ="JumpStatements" bold="false" italic = "false" color = "Navy"> </Keywords>
<Key word = "break" />
<Key word = "continue" /> <Keywords color="SelectionStatements">
<Key word = "default" /> <Word>else</Word>
<Key word = "goto" /> <Word>else</Word>
<Key word = "return" /> <Word>switch</Word>
</KeyWords> <Word>case</Word>
<Word>endif</Word>
<KeyWords name ="ExceptionHandlingStatements" bold="true" italic = "false" color = "Teal"> <Word>elseif</Word>
<Key word = "require" /> </Keywords>
<Key word = "include" />
<Key word = "function" /> <Keywords color="IterationStatements">
<Key word = "return" /> <Word>do</Word>
<Key word = "old_function" /> <Word>for</Word>
</KeyWords> <Word>foreach</Word>
<Word>while</Word>
<KeyWords name ="ValueTypes" bold="true" italic = "false" color = "Red"> <Word>endwhile</Word>
<Key word = "int" /> <Word>exit</Word>
<Key word = "integer" /> </Keywords>
<Key word = "real" />
<Key word = "double" /> <Keywords color="JumpStatements">
<Key word = "float" /> <Word>break</Word>
<Key word = "string" /> <Word>continue</Word>
<Key word = "array" /> <Word>default</Word>
<Key word = "object" /> <Word>goto</Word>
</KeyWords> <Word>return</Word>
</Keywords>
<KeyWords name ="ReferenceTypes" bold="false" italic = "false" color = "Red">
<Key word = "class" /> <Keywords color="ControlStatements">
<Key word = "new" /> <Word>require</Word>
</KeyWords> <Word>include</Word>
<Word>require</Word>
<KeyWords name ="Void" bold="false" italic = "false" color = "Red"> <Word>include</Word>
<Key word = "void" /> <Word>function</Word>
</KeyWords> </Keywords>
<KeyWords name ="AccessModifiers" bold="true" italic = "false" color = "Blue"> <Keywords color="ValueTypes">
<Key word = "public" /> <Word>int</Word>
<Key word = "private" /> <Word>integer</Word>
</KeyWords> <Word>real</Word>
<Word>double</Word>
<KeyWords name ="GetSet" bold="false" italic = "false" color = "SaddleBrown"> <Word>float</Word>
<Key word = "get" /> <Word>string</Word>
<Key word = "set" /> <Word>array</Word>
</KeyWords> <Word>object</Word>
</Keywords>
<KeyWords name ="Literals" bold="true" italic = "false" color = "Black">
<Key word = "null" /> <Keywords color="OtherTypes">
<Key word = "value" /> <Word>class</Word>
</KeyWords> <Word>void</Word>
</Keywords>
<KeyWords name ="Statements" bold="true" italic = "false" color = "DarkBlue">
<Key word = "var" /> <Keywords color="AccessModifiers">
<Key word = "extends" /> <Word>public</Word>
<Key word = "list" /> <Word>private</Word>
<Key word = "each" /> </Keywords>
<Key word = "PHP_SELF" /> </RuleSet>
</KeyWords>
</RuleSet>
<RuleSet name ="TestSet" ignorecase = "true">
<Delimiters>~!@%^*()-+=|\#/{}[]:;"'&lt;&gt; , .?</Delimiters>
<KeyWords name ="Testword" bold="true" italic = "true" color = "Red">
<Key word = "TODO" />
</KeyWords>
</RuleSet>
<RuleSet name ="DocumentSet" ignorecase = "false">
<Delimiters>~!@%^*()-+=|\#/{}[]:;"'&lt;&gt; , .?</Delimiters>
<Span name ="XMLTAG" rule = "XMLDocuSet" bold ="false" italic ="true" color ="Gray" stopateol ="true">
<Begin>&lt;</Begin>
<End>&gt;</End>
</Span>
<KeyWords name ="Testword" bold="true" italic = "true" color = "Red">
<Key word = "TODO" />
</KeyWords>
</RuleSet>
<RuleSet name ="XMLDocuSet" ignorecase = "false">
<Delimiters>~!@%^*()-+=|\#/{}[]:;"'&lt;&gt; , .?</Delimiters>
<Span name ="STRING" bold ="true" italic ="true" color ="Silver" stopateol ="true">
<Begin>"</Begin>
<End>"</End>
</Span>
<KeyWords name ="Punctuation" bold ="true" italic ="true" color ="Gray">
<Key word = "/" />
<Key word = "|" />
<Key word = "=" />
</KeyWords>
</RuleSet>
</RuleSets>
</SyntaxDefinition> </SyntaxDefinition>

Loading…
Cancel
Save