530 lines
13 KiB
Text
530 lines
13 KiB
Text
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
<plist version="1.0">
|
|
<dict>
|
|
<key>fileTypes</key>
|
|
<array>
|
|
<string>cs</string>
|
|
</array>
|
|
<key>foldingStartMarker</key>
|
|
<string>^\s*/\*|^(?![^{]*?//|[^{]*?/\*(?!.*?\*/.*?\{)).*?\{\s*($|//|/\*(?!.*?\*/.*\S))</string>
|
|
<key>foldingStopMarker</key>
|
|
<string>^\s*\*/|^\s*\}</string>
|
|
<key>keyEquivalent</key>
|
|
<string>^~C</string>
|
|
<key>name</key>
|
|
<string>C#</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>///</string>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.comment.source.cs</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>$\n?</string>
|
|
<key>name</key>
|
|
<string>comment.block.documentation.source.cs</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>(</?)(?:([-_a-zA-Z0-9]+)((:)))?([-_a-zA-Z0-9:]+)</string>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.tag.source.cs</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>entity.name.tag.namespace.source.cs</string>
|
|
</dict>
|
|
<key>3</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>entity.name.tag.source.cs</string>
|
|
</dict>
|
|
<key>4</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.separator.namespace.source.cs</string>
|
|
</dict>
|
|
<key>5</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>entity.name.tag.localname.source.cs</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>(/?>)</string>
|
|
<key>name</key>
|
|
<string>keyword.other.documentation.source.cs</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>entity.other.attribute-name.namespace.source.cs</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>entity.other.attribute-name.source.cs</string>
|
|
</dict>
|
|
<key>3</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.separator.namespace.source.cs</string>
|
|
</dict>
|
|
<key>4</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>entity.other.attribute-name.localname.source.cs</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string> (?:([-_a-zA-Z0-9]+)((:)))?([_a-zA-Z-]+)=</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#doubleQuotedString</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#singleQuotedString</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#comments</string>
|
|
</dict>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>(?x)^\s*
|
|
((?:\b(?:new|public|protected|internal|private|abstract|sealed|static)\b\s)*)
|
|
(class)\s+
|
|
([A-Za-z_]\w+)\b</string>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.modifier.source.cs</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.type.source.cs</string>
|
|
</dict>
|
|
<key>3</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>entity.name.type.class.source.cs</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>{</string>
|
|
<key>name</key>
|
|
<string>meta.definition.class.source.cs</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#classInheritance</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<!--
|
|
Disabled because it causes some lines to be interpreted incorrectly, for example:
|
|
else if (c == ')')
|
|
--->
|
|
<!--
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>(?x)^\s* # start of line
|
|
((?:\b(?:new|public|protected|internal|private|static|virtual|sealed|override|abstract|extern)\b\s*)*) # method-modifiers
|
|
\b((?:\w+\.)*[A-Za-z_]\w*)\b\s* # type
|
|
(operator)\s+ # operator overload
|
|
((?:\+|-|!|~|\+\+|--|true|false|\*|/|%|\&|\||\^|<<|>>|==|!=|<|>|<=|>=)\s*) # operator name
|
|
(?=\()</string>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.modifier.source.cs</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.type.source.cs</string>
|
|
</dict>
|
|
<key>3</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.modifier.source.cs</string>
|
|
</dict>
|
|
<key>4</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>entity.name.function.source.cs</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>\)</string>
|
|
<key>name</key>
|
|
<string>meta.definition.operator.source.cs</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#statementRemainder</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>(?x)^\s* # start of line
|
|
((?:\b(?:new|public|protected|internal|private|static|virtual|sealed|override|abstract|extern)\b\s*)*) # method-modifiers
|
|
\b((?:\w+\.)*[A-Za-z_]\w*)\b\s* # type
|
|
([A-Za-z_]\w*)\s* # name
|
|
(?=\()</string>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.modifier.source.cs</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.type.source.cs</string>
|
|
</dict>
|
|
<key>3</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>entity.name.function.source.cs</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>\)</string>
|
|
<key>name</key>
|
|
<string>meta.definition.method.source.cs</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#statementRemainder</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
-->
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b(true|false|null|this|base)\b</string>
|
|
<key>name</key>
|
|
<string>constant.language.source.cs</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\b</string>
|
|
<key>name</key>
|
|
<string>constant.numeric.source.cs</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b(if|else|while|for|foreach|do|return|continue|break|switch|case|default|goto|throw|try|catch|finally|lock|yield)\b</string>
|
|
<key>name</key>
|
|
<string>keyword.control.source.cs</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b(new|is|checked|unchecked|typeof|sizeof|override|in|out|ref|readonly|params|stackalloc|as)\b</string>
|
|
<key>name</key>
|
|
<string>keyword.operator.source.cs</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b(event|delegate|explicit|implicit|in|set|get)\b</string>
|
|
<key>name</key>
|
|
<string>keyword.other.source.cs</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b(internal|public|protected|private|static|const|new|sealed|abstract|override|extern|unsafe|readonly|volatile|operator)\b</string>
|
|
<key>name</key>
|
|
<string>storage.modifier.source.cs</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#doubleQuotedStringLiteral</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#doubleQuotedString</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#singleQuotedString</string>
|
|
</dict>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>keyword.other.using.source.cs</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>entity.name.type.package.source.cs</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>^\s*(using)\s+([^ ;]*);</string>
|
|
<key>name</key>
|
|
<string>meta.keyword.using.source.cs</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#builtinTypes</string>
|
|
</dict>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>keyword.other.namespace.source.cs</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>entity.name.type.namespace.source.cs</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>^\s*(namespace)\s+([^ ]+)(?:\s*{)?$</string>
|
|
<key>name</key>
|
|
<string>meta.keyword.namespace.source.cs</string>
|
|
</dict>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>keyword.control.import.source.cs</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>^(#)\s*(if|else|elif|endif|define|undef|warning|error|line|region|endregion)\b</string>
|
|
<key>name</key>
|
|
<string>meta.preprocessor.source.cs</string>
|
|
</dict>
|
|
</array>
|
|
<key>repository</key>
|
|
<dict>
|
|
<key>builtinTypes</key>
|
|
<dict>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b(bool|byte|sbyte|char|decimal|double|float|int|uint|long|ulong|object|short|ushort|string|void|class|struct|enum|interface)\b</string>
|
|
<key>name</key>
|
|
<string>storage.type.source.cs</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>classInheritance</key>
|
|
<dict>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>:</string>
|
|
<key>end</key>
|
|
<string>(?={)</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.type.source.cs</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>\s*,?([A-Za-z_]\w*)\b</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>comments</key>
|
|
<dict>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>/\*</string>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.comment.source.cs</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>\*/\n?</string>
|
|
<key>name</key>
|
|
<string>comment.block.source.cs</string>
|
|
</dict>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.comment.source.cs</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>(//).*$\n?</string>
|
|
<key>name</key>
|
|
<string>comment.line.double-slash.source.cs</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>doubleQuotedString</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>"</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.string.begin.source.cs</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>"</string>
|
|
<key>endCaptures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.string.end.source.cs</string>
|
|
</dict>
|
|
</dict>
|
|
<key>name</key>
|
|
<string>string.quoted.double.source.cs</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\\.</string>
|
|
<key>name</key>
|
|
<string>constant.character.escape.source.cs</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>doubleQuotedStringLiteral</key>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.string.begin.source.cs</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>@"([^"]|"")*"</string>
|
|
<key>name</key>
|
|
<string>string.quoted.double.literal.source.cs</string>
|
|
</dict>
|
|
<key>singleQuotedString</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>'</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.string.begin.source.cs</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>'</string>
|
|
<key>endCaptures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.string.end.source.cs</string>
|
|
</dict>
|
|
</dict>
|
|
<key>name</key>
|
|
<string>string.quoted.single.xml</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\\.</string>
|
|
<key>name</key>
|
|
<string>constant.character.escape.source.cs</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>statementRemainder</key>
|
|
<dict>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>\(</string>
|
|
<key>end</key>
|
|
<string>(?=\))</string>
|
|
<key>name</key>
|
|
<string>meta.definition.param-list.source.cs</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#builtinTypes</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
</dict>
|
|
<key>scopeName</key>
|
|
<string>source.cs</string>
|
|
<key>uuid</key>
|
|
<string>1BA75B32-707C-11D9-A928-000D93589AF6</string>
|
|
</dict>
|
|
</plist>
|