1432 строки
33 KiB
Plaintext
1432 строки
33 KiB
Plaintext
<?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>m</string>
|
|
<string>h</string>
|
|
</array>
|
|
<key>keyEquivalent</key>
|
|
<string>^~O</string>
|
|
<key>name</key>
|
|
<string>Objective-C</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>((@)(interface|protocol))(?!.+;)\s+([A-Za-z_][A-Za-z0-9_]*)\s*((:)(?:\s*)([A-Za-z][A-Za-z0-9]*))?(\s|\n)?</string>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.type.objc</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.storage.type.objc</string>
|
|
</dict>
|
|
<key>4</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>entity.name.type.objc</string>
|
|
</dict>
|
|
<key>6</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.entity.other.inherited-class.objc</string>
|
|
</dict>
|
|
<key>7</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>entity.other.inherited-class.objc</string>
|
|
</dict>
|
|
<key>8</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>meta.divider.objc</string>
|
|
</dict>
|
|
<key>9</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>meta.inherited-class.objc</string>
|
|
</dict>
|
|
</dict>
|
|
<key>contentName</key>
|
|
<string>meta.scope.interface.objc</string>
|
|
<key>end</key>
|
|
<string>((@)end)\b</string>
|
|
<key>name</key>
|
|
<string>meta.interface-or-protocol.objc</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#interface_innards</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>((@)(implementation))\s+([A-Za-z_][A-Za-z0-9_]*)\s*(?::\s*([A-Za-z][A-Za-z0-9]*))?</string>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.type.objc</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.storage.type.objc</string>
|
|
</dict>
|
|
<key>4</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>entity.name.type.objc</string>
|
|
</dict>
|
|
<key>5</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>entity.other.inherited-class.objc</string>
|
|
</dict>
|
|
</dict>
|
|
<key>contentName</key>
|
|
<string>meta.scope.implementation.objc</string>
|
|
<key>end</key>
|
|
<string>((@)end)\b</string>
|
|
<key>name</key>
|
|
<string>meta.implementation.objc</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#implementation_innards</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<dict>
|
|
<key>applyEndPatternLast</key>
|
|
<true/>
|
|
<key>begin</key>
|
|
<string>(?=@")</string>
|
|
<key>end</key>
|
|
<string>(?=\S)</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>@?"</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.string.begin.objc</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>"</string>
|
|
<key>endCaptures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.string.end.objc</string>
|
|
</dict>
|
|
</dict>
|
|
<key>name</key>
|
|
<string>string.quoted.double.objc</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>source.c#string_escaped_char</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>(?x)%
|
|
(\d+\$)? # field (argument #)
|
|
[#0\- +']* # flags
|
|
((-?\d+)|\*(-?\d+\$)?)? # minimum field width
|
|
(\.((-?\d+)|\*(-?\d+\$)?)?)? # precision
|
|
[@] # conversion type
|
|
</string>
|
|
<key>name</key>
|
|
<string>constant.other.placeholder.objc</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>source.c#string_placeholder</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>\b(id)\s*(?=<)</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.type.objc</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>(?<=>)</string>
|
|
<key>name</key>
|
|
<string>meta.id-with-protocol.objc</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#protocol_list</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b(NS_DURING|NS_HANDLER|NS_ENDHANDLER)\b</string>
|
|
<key>name</key>
|
|
<string>keyword.control.macro.objc</string>
|
|
</dict>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.keyword.objc</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>(@)(try|catch|finally|throw)\b</string>
|
|
<key>name</key>
|
|
<string>keyword.control.exception.objc</string>
|
|
</dict>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.keyword.objc</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>(@)(synchronized)\b</string>
|
|
<key>name</key>
|
|
<string>keyword.control.synchronize.objc</string>
|
|
</dict>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.keyword.objc</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>(@)(required|optional)\b</string>
|
|
<key>name</key>
|
|
<string>keyword.control.protocol-specification.objc</string>
|
|
</dict>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.keyword.objc</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>(@)(defs|encode)\b</string>
|
|
<key>name</key>
|
|
<string>keyword.other.objc</string>
|
|
</dict>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.storage.type.objc</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>(@)(class|protocol)\b</string>
|
|
<key>name</key>
|
|
<string>storage.type.objc</string>
|
|
</dict>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>((@)selector)\s*(\()</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>storage.type.objc</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.storage.type.objc</string>
|
|
</dict>
|
|
<key>3</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.storage.type.objc</string>
|
|
</dict>
|
|
</dict>
|
|
<key>contentName</key>
|
|
<string>meta.selector.method-name.objc</string>
|
|
<key>end</key>
|
|
<string>(\))</string>
|
|
<key>endCaptures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.storage.type.objc</string>
|
|
</dict>
|
|
</dict>
|
|
<key>name</key>
|
|
<string>meta.selector.objc</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.separator.arguments.objc</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>\b(?:[a-zA-Z_:][\w]*)+</string>
|
|
<key>name</key>
|
|
<string>support.function.any-method.name-of-parameter.objc</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.storage.modifier.objc</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>(@)(synchronized|public|package|private|protected)\b</string>
|
|
<key>name</key>
|
|
<string>storage.modifier.objc</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b(YES|NO|Nil|nil)\b</string>
|
|
<key>name</key>
|
|
<string>constant.language.objc</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>source.objc.platform</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>source.c</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#bracketed_content</string>
|
|
</dict>
|
|
</array>
|
|
<key>repository</key>
|
|
<dict>
|
|
<key>bracketed_content</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>\[</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.section.scope.begin.objc</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>\]</string>
|
|
<key>endCaptures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.section.scope.end.objc</string>
|
|
</dict>
|
|
</dict>
|
|
<key>name</key>
|
|
<string>meta.bracketed.objc</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>(?=predicateWithFormat:)(?<=NSPredicate )(predicateWithFormat:)</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>support.function.any-method.objc</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.separator.arguments.objc</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>(?=\])</string>
|
|
<key>name</key>
|
|
<string>meta.function-call.predicate.objc</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.separator.arguments.objc</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>\bargument(Array|s)(:)</string>
|
|
<key>name</key>
|
|
<string>support.function.any-method.name-of-parameter.objc</string>
|
|
</dict>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.separator.arguments.objc</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>\b\w+(:)</string>
|
|
<key>name</key>
|
|
<string>invalid.illegal.unknown-method.objc</string>
|
|
</dict>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>@"</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.string.begin.objc</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>"</string>
|
|
<key>endCaptures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.string.end.objc</string>
|
|
</dict>
|
|
</dict>
|
|
<key>name</key>
|
|
<string>string.quoted.double.objc</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b(AND|OR|NOT|IN)\b</string>
|
|
<key>name</key>
|
|
<string>keyword.operator.logical.predicate.cocoa</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b(ALL|ANY|SOME|NONE)\b</string>
|
|
<key>name</key>
|
|
<string>constant.language.predicate.cocoa</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b(NULL|NIL|SELF|TRUE|YES|FALSE|NO|FIRST|LAST|SIZE)\b</string>
|
|
<key>name</key>
|
|
<string>constant.language.predicate.cocoa</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b(MATCHES|CONTAINS|BEGINSWITH|ENDSWITH|BETWEEN)\b</string>
|
|
<key>name</key>
|
|
<string>keyword.operator.comparison.predicate.cocoa</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\bC(ASEINSENSITIVE|I)\b</string>
|
|
<key>name</key>
|
|
<string>keyword.other.modifier.predicate.cocoa</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b(ANYKEY|SUBQUERY|CAST|TRUEPREDICATE|FALSEPREDICATE)\b</string>
|
|
<key>name</key>
|
|
<string>keyword.other.predicate.cocoa</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\\(\\|[abefnrtv'"?]|[0-3]\d{0,2}|[4-7]\d?|x[a-zA-Z0-9]+)</string>
|
|
<key>name</key>
|
|
<string>constant.character.escape.objc</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\\.</string>
|
|
<key>name</key>
|
|
<string>invalid.illegal.unknown-escape.objc</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#special_variables</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#c_functions</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>$base</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>(?=\w)(?<=[\w\])"] )(\w+(?:(:)|(?=\])))</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>support.function.any-method.objc</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.separator.arguments.objc</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>(?=\])</string>
|
|
<key>name</key>
|
|
<string>meta.function-call.objc</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.separator.arguments.objc</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>\b\w+(:)</string>
|
|
<key>name</key>
|
|
<string>support.function.any-method.name-of-parameter.objc</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#special_variables</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#c_functions</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>$base</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#special_variables</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#c_functions</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>$self</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>c_functions</key>
|
|
<dict>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>source.c.platform#functions</string>
|
|
</dict>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.whitespace.function-call.leading.c</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>support.function.any-method.c</string>
|
|
</dict>
|
|
<key>3</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.parameters.c</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>(?x) (?: (?= \s ) (?:(?<=else|new|return) | (?<!\w)) (\s+))?
|
|
(\b
|
|
(?!(while|for|do|if|else|switch|catch|enumerate|return|r?iterate)\s*\()(?:(?!NS)[A-Za-z_][A-Za-z0-9_]*+\b | :: )++ # actual name
|
|
)
|
|
\s*(\()</string>
|
|
<key>name</key>
|
|
<string>meta.function-call.c</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>comment</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.objc</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>\*/</string>
|
|
<key>name</key>
|
|
<string>comment.block.objc</string>
|
|
</dict>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>(^[ \t]+)?(?=//)</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.whitespace.comment.leading.objc</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>(?!\G)</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>//</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>0</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.comment.objc</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>\n</string>
|
|
<key>name</key>
|
|
<string>comment.line.double-slash.objc</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>(?>\\\s*\n)</string>
|
|
<key>name</key>
|
|
<string>punctuation.separator.continuation.objc</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>disabled</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>^\s*#\s*if(n?def)?\b.*$</string>
|
|
<key>comment</key>
|
|
<string>eat nested preprocessor if(def)s</string>
|
|
<key>end</key>
|
|
<string>^\s*#\s*endif\b.*$</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#disabled</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#pragma-mark</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>implementation_innards</key>
|
|
<dict>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#preprocessor-rule-enabled-implementation</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#preprocessor-rule-disabled-implementation</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#preprocessor-rule-other-implementation</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#property_directive</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#special_variables</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#method_super</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>$base</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>interface_innards</key>
|
|
<dict>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#preprocessor-rule-enabled-interface</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#preprocessor-rule-disabled-interface</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#preprocessor-rule-other-interface</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#properties</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#protocol_list</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#method</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>$base</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>method</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>^(-|\+)\s*</string>
|
|
<key>end</key>
|
|
<string>(?=\{|#)|;</string>
|
|
<key>name</key>
|
|
<string>meta.function.objc</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>(\()</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.type.begin.objc</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>(\))\s*(\w+\b)</string>
|
|
<key>endCaptures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.type.end.objc</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>entity.name.function.objc</string>
|
|
</dict>
|
|
</dict>
|
|
<key>name</key>
|
|
<string>meta.return-type.objc</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#protocol_list</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#protocol_type_qualifier</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>$base</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b\w+(?=:)</string>
|
|
<key>name</key>
|
|
<string>entity.name.function.name-of-parameter.objc</string>
|
|
</dict>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>((:))\s*(\()</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>entity.name.function.name-of-parameter.objc</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.separator.arguments.objc</string>
|
|
</dict>
|
|
<key>3</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.type.begin.objc</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>(\))\s*(\w+\b)?</string>
|
|
<key>endCaptures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.type.end.objc</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>variable.parameter.function.objc</string>
|
|
</dict>
|
|
</dict>
|
|
<key>name</key>
|
|
<string>meta.argument-type.objc</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#protocol_list</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#protocol_type_qualifier</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>$base</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#comment</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>method_super</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>^(?=-|\+)</string>
|
|
<key>end</key>
|
|
<string>(?<=\})|(?=#)</string>
|
|
<key>name</key>
|
|
<string>meta.function-with-body.objc</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#method</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>$base</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>pragma-mark</key>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>meta.preprocessor.c</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>keyword.control.import.pragma.c</string>
|
|
</dict>
|
|
<key>3</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>meta.toc-list.pragma-mark.c</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>^\s*(#\s*(pragma\s+mark)\s+(.*))</string>
|
|
<key>name</key>
|
|
<string>meta.section</string>
|
|
</dict>
|
|
<key>preprocessor-rule-disabled-implementation</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>^\s*(#(if)\s+(0)\b).*</string>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>meta.preprocessor.c</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>keyword.control.import.if.c</string>
|
|
</dict>
|
|
<key>3</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>constant.numeric.preprocessor.c</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>^\s*(#\s*(endif)\b.*?(?:(?=(?://|/\*))|$))</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>^\s*(#\s*(else)\b)</string>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>meta.preprocessor.c</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>keyword.control.import.else.c</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>(?=^\s*#\s*endif\b.*?(?:(?=(?://|/\*))|$))</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#interface_innards</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string></string>
|
|
<key>end</key>
|
|
<string>(?=^\s*#\s*(else|endif)\b.*?(?:(?=(?://|/\*))|$))</string>
|
|
<key>name</key>
|
|
<string>comment.block.preprocessor.if-branch.c</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#disabled</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#pragma-mark</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>preprocessor-rule-disabled-interface</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>^\s*(#(if)\s+(0)\b).*</string>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>meta.preprocessor.c</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>keyword.control.import.if.c</string>
|
|
</dict>
|
|
<key>3</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>constant.numeric.preprocessor.c</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>^\s*(#\s*(endif)\b.*?(?:(?=(?://|/\*))|$))</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>^\s*(#\s*(else)\b)</string>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>meta.preprocessor.c</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>keyword.control.import.else.c</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>(?=^\s*#\s*endif\b.*?(?:(?=(?://|/\*))|$))</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#interface_innards</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string></string>
|
|
<key>end</key>
|
|
<string>(?=^\s*#\s*(else|endif)\b.*?(?:(?=(?://|/\*))|$))</string>
|
|
<key>name</key>
|
|
<string>comment.block.preprocessor.if-branch.c</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#disabled</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#pragma-mark</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>preprocessor-rule-enabled-implementation</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>^\s*(#(if)\s+(0*1)\b)</string>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>meta.preprocessor.c</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>keyword.control.import.if.c</string>
|
|
</dict>
|
|
<key>3</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>constant.numeric.preprocessor.c</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>^\s*(#\s*(endif)\b.*?(?:(?=(?://|/\*))|$))</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>^\s*(#\s*(else)\b).*</string>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>meta.preprocessor.c</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>keyword.control.import.else.c</string>
|
|
</dict>
|
|
</dict>
|
|
<key>contentName</key>
|
|
<string>comment.block.preprocessor.else-branch.c</string>
|
|
<key>end</key>
|
|
<string>(?=^\s*#\s*endif\b.*?(?:(?=(?://|/\*))|$))</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#disabled</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#pragma-mark</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string></string>
|
|
<key>end</key>
|
|
<string>(?=^\s*#\s*(else|endif)\b.*?(?:(?=(?://|/\*))|$))</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#implementation_innards</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>preprocessor-rule-enabled-interface</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>^\s*(#(if)\s+(0*1)\b)</string>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>meta.preprocessor.c</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>keyword.control.import.if.c</string>
|
|
</dict>
|
|
<key>3</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>constant.numeric.preprocessor.c</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>^\s*(#\s*(endif)\b.*?(?:(?=(?://|/\*))|$))</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>^\s*(#\s*(else)\b).*</string>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>meta.preprocessor.c</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>keyword.control.import.else.c</string>
|
|
</dict>
|
|
</dict>
|
|
<key>contentName</key>
|
|
<string>comment.block.preprocessor.else-branch.c</string>
|
|
<key>end</key>
|
|
<string>(?=^\s*#\s*endif\b.*?(?:(?=(?://|/\*))|$))</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#disabled</string>
|
|
</dict>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#pragma-mark</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string></string>
|
|
<key>end</key>
|
|
<string>(?=^\s*#\s*(else|endif)\b.*?(?:(?=(?://|/\*))|$))</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#interface_innards</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>preprocessor-rule-other-implementation</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>^\s*(#\s*(if(n?def)?)\b.*?(?:(?=(?://|/\*))|$))</string>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>meta.preprocessor.c</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>keyword.control.import.c</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>^\s*(#\s*(endif)\b).*?(?:(?=(?://|/\*))|$)</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#implementation_innards</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>preprocessor-rule-other-interface</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>^\s*(#\s*(if(n?def)?)\b.*?(?:(?=(?://|/\*))|$))</string>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>meta.preprocessor.c</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>keyword.control.import.c</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>^\s*(#\s*(endif)\b).*?(?:(?=(?://|/\*))|$)</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>#interface_innards</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>properties</key>
|
|
<dict>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>((@)property)\s*(\()</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>keyword.other.property.objc</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.keyword.objc</string>
|
|
</dict>
|
|
<key>3</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.section.scope.begin.objc</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>(\))</string>
|
|
<key>endCaptures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.section.scope.end.objc</string>
|
|
</dict>
|
|
</dict>
|
|
<key>name</key>
|
|
<string>meta.property-with-attributes.objc</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b(getter|setter|readonly|readwrite|assign|retain|copy|atomic|nonatomic|strong|weak)\b</string>
|
|
<key>name</key>
|
|
<string>keyword.other.property.attribute</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>keyword.other.property.objc</string>
|
|
</dict>
|
|
<key>2</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.keyword.objc</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>((@)property)\b</string>
|
|
<key>name</key>
|
|
<string>meta.property.objc</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>property_directive</key>
|
|
<dict>
|
|
<key>captures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.definition.keyword.objc</string>
|
|
</dict>
|
|
</dict>
|
|
<key>match</key>
|
|
<string>(@)(dynamic|synthesize)\b</string>
|
|
<key>name</key>
|
|
<string>keyword.other.property.directive.objc</string>
|
|
</dict>
|
|
<key>protocol_list</key>
|
|
<dict>
|
|
<key>begin</key>
|
|
<string>(<)</string>
|
|
<key>beginCaptures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.section.scope.begin.objc</string>
|
|
</dict>
|
|
</dict>
|
|
<key>end</key>
|
|
<string>(>)</string>
|
|
<key>endCaptures</key>
|
|
<dict>
|
|
<key>1</key>
|
|
<dict>
|
|
<key>name</key>
|
|
<string>punctuation.section.scope.end.objc</string>
|
|
</dict>
|
|
</dict>
|
|
<key>name</key>
|
|
<string>meta.protocol-list.objc</string>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>include</key>
|
|
<string>source.objc.platform#protocols</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
<key>protocol_type_qualifier</key>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b(in|out|inout|oneway|bycopy|byref)\b</string>
|
|
<key>name</key>
|
|
<string>storage.modifier.protocol.objc</string>
|
|
</dict>
|
|
<key>special_variables</key>
|
|
<dict>
|
|
<key>patterns</key>
|
|
<array>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b_cmd\b</string>
|
|
<key>name</key>
|
|
<string>variable.other.selector.objc</string>
|
|
</dict>
|
|
<dict>
|
|
<key>match</key>
|
|
<string>\b(self|super)\b</string>
|
|
<key>name</key>
|
|
<string>variable.language.objc</string>
|
|
</dict>
|
|
</array>
|
|
</dict>
|
|
</dict>
|
|
<key>scopeName</key>
|
|
<string>source.objc</string>
|
|
<key>uuid</key>
|
|
<string>F85CC716-6B1C-11D9-9A20-000D93589AF6</string>
|
|
</dict>
|
|
</plist> |