| @@ -0,0 +1 @@ | ||
| +A |
| @@ -0,0 +1 @@ | ||
| +Versions/Current/XPCServices |
| @@ -0,0 +1 @@ | ||
| +Versions/Current/DTXConnectionServices |
| @@ -0,0 +1 @@ | ||
| +Versions/Current/Resources |
| @@ -0,0 +1,46 @@ | ||
| +<?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>BuildMachineOSBuild</key> | ||
| + <string>16B2338</string> | ||
| + <key>CFBundleDevelopmentRegion</key> | ||
| + <string>English</string> | ||
| + <key>CFBundleExecutable</key> | ||
| + <string>DTXConnectionServices</string> | ||
| + <key>CFBundleIdentifier</key> | ||
| + <string>com.apple.dt.instruments.DTXConnectionServices</string> | ||
| + <key>CFBundleInfoDictionaryVersion</key> | ||
| + <string>6.0</string> | ||
| + <key>CFBundleName</key> | ||
| + <string>DTXConnectionServices</string> | ||
| + <key>CFBundlePackageType</key> | ||
| + <string>FMWK</string> | ||
| + <key>CFBundleShortVersionString</key> | ||
| + <string>8.2</string> | ||
| + <key>CFBundleSignature</key> | ||
| + <string>????</string> | ||
| + <key>CFBundleSupportedPlatforms</key> | ||
| + <array> | ||
| + <string>MacOSX</string> | ||
| + </array> | ||
| + <key>CFBundleVersion</key> | ||
| + <string>61751</string> | ||
| + <key>DTCompiler</key> | ||
| + <string>com.apple.compilers.llvm.clang.1_0</string> | ||
| + <key>DTPlatformBuild</key> | ||
| + <string></string> | ||
| + <key>DTPlatformVersion</key> | ||
| + <string>GM</string> | ||
| + <key>DTSDKBuild</key> | ||
| + <string>16C37</string> | ||
| + <key>DTSDKName</key> | ||
| + <string>macosx10.12internal</string> | ||
| + <key>DTXcode</key> | ||
| + <string>0821</string> | ||
| + <key>DTXcodeBuild</key> | ||
| + <string></string> | ||
| + <key>NSHumanReadableCopyright</key> | ||
| + <string>Copyright © 2016 Apple Computer. All rights reserved.</string> | ||
| +</dict> | ||
| +</plist> |
| @@ -0,0 +1,24 @@ | ||
| +<?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>CFBundleDevelopmentRegion</key> | ||
| + <string>en</string> | ||
| + <key>CFBundleExecutable</key> | ||
| + <string>${EXECUTABLE_NAME}</string> | ||
| + <key>CFBundleIdentifier</key> | ||
| + <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string> | ||
| + <key>CFBundleInfoDictionaryVersion</key> | ||
| + <string>6.0</string> | ||
| + <key>CFBundleName</key> | ||
| + <string>${EXECUTABLE_NAME}</string> | ||
| + <key>CFBundlePackageType</key> | ||
| + <string>BNDL</string> | ||
| + <key>CFBundleShortVersionString</key> | ||
| + <string>$(MARKETING_VERSION)</string> | ||
| + <key>CFBundleSignature</key> | ||
| + <string>????</string> | ||
| + <key>CFBundleVersion</key> | ||
| + <string>61751</string> | ||
| +</dict> | ||
| +</plist> |
| @@ -0,0 +1 @@ | ||
| +hello, world |
| @@ -0,0 +1,16 @@ | ||
| +<?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>BuildVersion</key> | ||
| + <string>4</string> | ||
| + <key>CFBundleShortVersionString</key> | ||
| + <string>8.2</string> | ||
| + <key>CFBundleVersion</key> | ||
| + <string>61751</string> | ||
| + <key>ProjectName</key> | ||
| + <string>DVTInstrumentsFrameworks</string> | ||
| + <key>SourceVersion</key> | ||
| + <string>61751000000000000</string> | ||
| +</dict> | ||
| +</plist> |
| @@ -0,0 +1,139 @@ | ||
| +<?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>files</key> | ||
| + <dict> | ||
| + <key>Resources/Info.plist</key> | ||
| + <data> | ||
| + mvTzyDr0VniabiVjB6j4odbaXto= | ||
| + </data> | ||
| + <key>Resources/InstrumentsBundle-Info.plist</key> | ||
| + <data> | ||
| + zBcBvOVzjRIvT47Ivs3m08ApOGQ= | ||
| + </data> | ||
| + <key>Resources/testdata_01.txt</key> | ||
| + <data> | ||
| + zVDRl4SJcIWo0OPkE/hhKwl8A/E= | ||
| + </data> | ||
| + <key>Resources/version.plist</key> | ||
| + <data> | ||
| + Kn1XVnPcgU/mCVTEgdunU7q8428= | ||
| + </data> | ||
| + </dict> | ||
| + <key>files2</key> | ||
| + <dict> | ||
| + <key>Resources/Info.plist</key> | ||
| + <data> | ||
| + mvTzyDr0VniabiVjB6j4odbaXto= | ||
| + </data> | ||
| + <key>Resources/InstrumentsBundle-Info.plist</key> | ||
| + <data> | ||
| + zBcBvOVzjRIvT47Ivs3m08ApOGQ= | ||
| + </data> | ||
| + <key>Resources/testdata_01.txt</key> | ||
| + <data> | ||
| + zVDRl4SJcIWo0OPkE/hhKwl8A/E= | ||
| + </data> | ||
| + <key>Resources/version.plist</key> | ||
| + <data> | ||
| + Kn1XVnPcgU/mCVTEgdunU7q8428= | ||
| + </data> | ||
| + </dict> | ||
| + <key>rules</key> | ||
| + <dict> | ||
| + <key>^Resources/</key> | ||
| + <true/> | ||
| + <key>^Resources/.*\.lproj/</key> | ||
| + <dict> | ||
| + <key>optional</key> | ||
| + <true/> | ||
| + <key>weight</key> | ||
| + <real>1000</real> | ||
| + </dict> | ||
| + <key>^Resources/.*\.lproj/locversion.plist$</key> | ||
| + <dict> | ||
| + <key>omit</key> | ||
| + <true/> | ||
| + <key>weight</key> | ||
| + <real>1100</real> | ||
| + </dict> | ||
| + <key>^version.plist$</key> | ||
| + <true/> | ||
| + </dict> | ||
| + <key>rules2</key> | ||
| + <dict> | ||
| + <key>.*\.dSYM($|/)</key> | ||
| + <dict> | ||
| + <key>weight</key> | ||
| + <real>11</real> | ||
| + </dict> | ||
| + <key>^(.*/)?\.DS_Store$</key> | ||
| + <dict> | ||
| + <key>omit</key> | ||
| + <true/> | ||
| + <key>weight</key> | ||
| + <real>2000</real> | ||
| + </dict> | ||
| + <key>^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/</key> | ||
| + <dict> | ||
| + <key>nested</key> | ||
| + <true/> | ||
| + <key>weight</key> | ||
| + <real>10</real> | ||
| + </dict> | ||
| + <key>^.*</key> | ||
| + <true/> | ||
| + <key>^Info\.plist$</key> | ||
| + <dict> | ||
| + <key>omit</key> | ||
| + <true/> | ||
| + <key>weight</key> | ||
| + <real>20</real> | ||
| + </dict> | ||
| + <key>^PkgInfo$</key> | ||
| + <dict> | ||
| + <key>omit</key> | ||
| + <true/> | ||
| + <key>weight</key> | ||
| + <real>20</real> | ||
| + </dict> | ||
| + <key>^Resources/</key> | ||
| + <dict> | ||
| + <key>weight</key> | ||
| + <real>20</real> | ||
| + </dict> | ||
| + <key>^Resources/.*\.lproj/</key> | ||
| + <dict> | ||
| + <key>optional</key> | ||
| + <true/> | ||
| + <key>weight</key> | ||
| + <real>1000</real> | ||
| + </dict> | ||
| + <key>^Resources/.*\.lproj/locversion.plist$</key> | ||
| + <dict> | ||
| + <key>omit</key> | ||
| + <true/> | ||
| + <key>weight</key> | ||
| + <real>1100</real> | ||
| + </dict> | ||
| + <key>^[^/]+$</key> | ||
| + <dict> | ||
| + <key>nested</key> | ||
| + <true/> | ||
| + <key>weight</key> | ||
| + <real>10</real> | ||
| + </dict> | ||
| + <key>^embedded\.provisionprofile$</key> | ||
| + <dict> | ||
| + <key>weight</key> | ||
| + <real>20</real> | ||
| + </dict> | ||
| + <key>^version\.plist$</key> | ||
| + <dict> | ||
| + <key>weight</key> | ||
| + <real>20</real> | ||
| + </dict> | ||
| + </dict> | ||
| +</dict> | ||
| +</plist> |
| @@ -0,0 +1 @@ | ||
| +A |
| @@ -0,0 +1 @@ | ||
| +Versions/Current/DVTFoundation |
| @@ -0,0 +1 @@ | ||
| +Versions/Current/Resources |
| @@ -0,0 +1,122 @@ | ||
| +// ARM Assembler language specs | ||
| +( | ||
| + | ||
| +/****************************************************************************/ | ||
| +// MARK: Keywords | ||
| +/****************************************************************************/ | ||
| + | ||
| + { | ||
| + Identifier = "xcode.lang.asm.arm.identifier"; | ||
| + Syntax = { | ||
| + StartChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_"; | ||
| + Chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789$_."; | ||
| + Type = "xcode.syntax.identifier"; | ||
| + }; | ||
| + }, | ||
| + | ||
| + { | ||
| + Identifier = "xcode.lang.asm.arm.directive"; | ||
| + Syntax = { | ||
| + StartAtBOL = YES; | ||
| + StartChars = "."; | ||
| + Chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_"; | ||
| + Type = "xcode.syntax.keyword"; | ||
| + }; | ||
| + }, | ||
| + | ||
| +/****************************************************************************/ | ||
| +// MARK: Simple Syntax Coloring | ||
| +/****************************************************************************/ | ||
| + | ||
| + { | ||
| + Identifier = "xcode.lang.asm.arm"; | ||
| + Description = "ARM Assembler Coloring"; | ||
| + BasedOn = "xcode.lang.simpleColoring"; | ||
| + IncludeInMenu = YES; | ||
| + Name = "Assembly (ARM)"; | ||
| + Syntax = { | ||
| + Tokenizer = "xcode.lang.asm.arm.lexer"; | ||
| + IncludeRules = ( | ||
| + "xcode.lang.asm.arm.label" | ||
| + ); | ||
| + Type = "xcode.syntax.plain"; | ||
| + }; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.lang.asm.arm.lexer"; | ||
| + Syntax = { | ||
| + IncludeRules = ( | ||
| + "xcode.lang.comment", | ||
| + "xcode.lang.comment.singleline", | ||
| + "xcode.lang.asm.arm.comment.singleline.semi", | ||
| + "xcode.lang.asm.arm.comment.singleline.at", | ||
| + "xcode.lang.asm.arm.comment.singleline.pound", | ||
| + "xcode.lang.string", | ||
| + "xcode.lang.character", | ||
| + "xcode.lang.number", | ||
| + "xcode.lang.asm.arm.directive", | ||
| + "xcode.lang.asm.arm.identifier", | ||
| + ); | ||
| + }; | ||
| + }, | ||
| + | ||
| + { | ||
| + Identifier = "xcode.lang.asm.arm.comment.singleline.semi"; | ||
| + Syntax = { | ||
| + Start = ";"; | ||
| + EscapeChar = "\\"; | ||
| + End = "\n"; | ||
| + IncludeRules = ( "xcode.lang.url", "xcode.lang.url.mail", "xcode.lang.comment.mark" ); | ||
| + Type = "xcode.syntax.comment"; | ||
| + }; | ||
| + }, | ||
| + | ||
| + { | ||
| + Identifier = "xcode.lang.asm.arm.comment.singleline.at"; | ||
| + Syntax = { | ||
| + Start = "@"; | ||
| + EscapeChar = "\\"; | ||
| + End = "\n"; | ||
| + IncludeRules = ( "xcode.lang.url", "xcode.lang.url.mail", "xcode.lang.comment.mark" ); | ||
| + Type = "xcode.syntax.comment"; | ||
| + }; | ||
| + }, | ||
| + | ||
| + { | ||
| + Identifier = "xcode.lang.asm.arm.comment.singleline.pound"; | ||
| + Syntax = { | ||
| + StartAtBOL = YES; | ||
| + Start = "#"; | ||
| + EscapeChar = "\\"; | ||
| + End = "\n"; | ||
| + IncludeRules = ( "xcode.lang.url", "xcode.lang.url.mail", "xcode.lang.comment.mark" ); | ||
| + Type = "xcode.syntax.comment"; | ||
| + }; | ||
| + }, | ||
| + | ||
| + { | ||
| + Identifier = "xcode.lang.asm.arm.label"; | ||
| + Syntax = { | ||
| + StartAtBOL = YES; | ||
| + Tokenizer = "xcode.lang.asm.arm.lexer"; | ||
| + Rules = ( | ||
| + "xcode.lang.asm.arm.label.name", | ||
| + ":", | ||
| + ); | ||
| + Type = "xcode.syntax.definition.function"; | ||
| + }; | ||
| + }, | ||
| + | ||
| + { | ||
| + Identifier = "xcode.lang.asm.arm.label.name"; | ||
| + Syntax = { | ||
| + StartAtBOL = YES; | ||
| + Tokenizer = "xcode.lang.asm.arm.lexer"; | ||
| + Rules = ( | ||
| + "xcode.lang.asm.arm.identifier", | ||
| + ); | ||
| + Type = "xcode.syntax.name.partial"; | ||
| + }; | ||
| + }, | ||
| + | ||
| +) |
| @@ -0,0 +1,120 @@ | ||
| +// Ada language specs | ||
| +( | ||
| + | ||
| +/****************************************************************************/ | ||
| +// MARK: Keywords | ||
| +/****************************************************************************/ | ||
| + | ||
| + { | ||
| + Identifier = "xcode.lang.ada.keyword"; | ||
| + Syntax = { | ||
| + StartChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_"; | ||
| + Chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_"; | ||
| + Words = ( | ||
| + "abort", | ||
| + "abs", | ||
| + "abstract", | ||
| + "accept", | ||
| + "access", | ||
| + "aliased", | ||
| + "all", | ||
| + "and", | ||
| + "array", | ||
| + "at", | ||
| + "begin", | ||
| + "body", | ||
| + "case", | ||
| + "constant", | ||
| + "declare", | ||
| + "delay", | ||
| + "delta", | ||
| + "digits", | ||
| + "do", | ||
| + "else", | ||
| + "elsif", | ||
| + "end", | ||
| + "entry", | ||
| + "exception", | ||
| + "exit", | ||
| + "for", | ||
| + "function", | ||
| + "generic", | ||
| + "goto", | ||
| + "if", | ||
| + "in", | ||
| + "is", | ||
| + "limited", | ||
| + "loop", | ||
| + "mod", | ||
| + "new", | ||
| + "not", | ||
| + "null", | ||
| + "of", | ||
| + "or", | ||
| + "others", | ||
| + "out", | ||
| + "package", | ||
| + "pragma", | ||
| + "private", | ||
| + "procedure", | ||
| + "protected", | ||
| + "raise", | ||
| + "range", | ||
| + "record", | ||
| + "rem", | ||
| + "renames", | ||
| + "requeue", | ||
| + "return", | ||
| + "reverse", | ||
| + "select", | ||
| + "separate", | ||
| + "subtype", | ||
| + "tagged", | ||
| + "task", | ||
| + "terminate", | ||
| + "then", | ||
| + "type", | ||
| + "until", | ||
| + "use", | ||
| + "when", | ||
| + "while", | ||
| + "with", | ||
| + "xor", | ||
| + ); | ||
| + Type = "xcode.syntax.keyword"; | ||
| + }; | ||
| + }, | ||
| + | ||
| + | ||
| +/****************************************************************************/ | ||
| +// MARK: Simple Syntax Coloring | ||
| +/****************************************************************************/ | ||
| + | ||
| + { | ||
| + Identifier = "xcode.lang.ada"; | ||
| + Description = "Ada Coloring"; | ||
| + BasedOn = "xcode.lang.simpleColoring"; | ||
| + IncludeInMenu = YES; | ||
| + Name = "Ada"; | ||
| + Syntax = { | ||
| + IncludeRules = ( // processed in order | ||
| + "xcode.lang.ada.comment.singleline", | ||
| + "xcode.lang.string", | ||
| + "xcode.lang.number", | ||
| + "xcode.lang.ada.keyword", | ||
| + ); | ||
| + Type = "xcode.syntax.plain"; | ||
| + }; | ||
| + }, | ||
| + | ||
| + { | ||
| + Identifier = "xcode.lang.ada.comment.singleline"; | ||
| + Syntax = { | ||
| + Start = "--"; | ||
| + EscapeChar = "\\"; | ||
| + End = "\n"; | ||
| + IncludeRules = ( "xcode.lang.url", "xcode.lang.url.mail", "xcode.lang.comment.mark" ); | ||
| + Type = "xcode.syntax.comment"; | ||
| + }; | ||
| + }, | ||
| +) |
| @@ -0,0 +1,187 @@ | ||
| +( | ||
| + { | ||
| + Identifier = "xcode.lang.url"; | ||
| + Syntax = { | ||
| + StartChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; | ||
| + Chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789;/?:@&=+$,-_.!~*'()%#"; | ||
| + Match = ( | ||
| + "^(acap|afp|afs|cid|data|fax|feed|file|ftp|go|gopher|http|https|imap|ldap|mailserver|mid|modem|news|nntp|opaquelocktoken|pop|prospero|rdar|rtsp|service|sip|soap\\.beep|soap\\.beeps|tel|telnet|tip|tn3270|urn|vemmi|wais|xcdoc|z39\\.50r|z39\\.50s)://([a-zA-Z0-9\\-_.]+/)?[a-zA-Z0-9;/?:@\\&=+$,\\-_.!~*'()%#]+$", | ||
| + "^(mailto|im):[a-zA-Z0-9\\-_]+@[a-zA-Z0-9\\-_\\.!%]+$", | ||
| + "^radar:[a-zA-Z0-9;/?:@\\&=+$,\\-_.!~*'()%#]+$", | ||
| + ); | ||
| + Type = "xcode.syntax.url"; | ||
| + }; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.lang.url.mail"; | ||
| + Syntax = { | ||
| + StartChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; | ||
| + Chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789;/?:@&=+$,-_.!~*'()%#"; | ||
| + Match = ( | ||
| + "^[a-zA-Z0-9\\-_\\.]+@[a-zA-Z0-9\\-_\\.!%]+$", | ||
| + ); | ||
| + Type = "xcode.syntax.url.mail"; | ||
| + }; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.lang.string"; | ||
| + Syntax = { | ||
| + Start = "\""; | ||
| + EscapeChar = "\\"; | ||
| + End = "\""; | ||
| + AltEnd = "\n"; | ||
| + Type = "xcode.syntax.string"; | ||
| + }; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.lang.character"; | ||
| + Syntax = { | ||
| + Start = "'"; | ||
| + EscapeChar = "\\"; | ||
| + End = "'"; | ||
| + AltEnd = "\n"; | ||
| + Type = "xcode.syntax.character"; | ||
| + }; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.lang.string.singlequote"; | ||
| + BasedOn = "xcode.lang.string"; | ||
| + Syntax = { | ||
| + Start = "'"; | ||
| + EscapeChar = "\\"; | ||
| + End = "'"; | ||
| + AltEnd = "\n"; | ||
| + Type = "xcode.syntax.string"; | ||
| + }; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.lang.completionplaceholder"; | ||
| + Syntax = { | ||
| + Start = "<#"; | ||
| + End = "#>"; | ||
| + Type = "xcode.syntax.completionplaceholder"; | ||
| + }; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.lang.comment"; | ||
| + Syntax = { | ||
| + Start = "/*"; | ||
| + End = "*/"; | ||
| + "ParseEndBeforeIncludedRules" = YES; | ||
| + Foldable = YES; | ||
| + IncludeRules = ( | ||
| + "xcode.lang.url", | ||
| + "xcode.lang.url.mail", | ||
| + "xcode.lang.comment.mark", | ||
| + ); | ||
| + Type = "xcode.syntax.comment"; | ||
| + }; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.lang.comment.singleline"; | ||
| + BasedOn = "xcode.lang.comment"; | ||
| + Syntax = { | ||
| + Start = "//"; | ||
| + EscapeChar = "\\"; | ||
| + Until = "\n"; | ||
| + IncludeRules = ( | ||
| + "xcode.lang.url", | ||
| + "xcode.lang.url.mail", | ||
| + "xcode.lang.comment.mark", | ||
| + ); | ||
| + Type = "xcode.syntax.comment"; | ||
| + }; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.lang.comment.singleline.pound"; | ||
| + BasedOn = "xcode.lang.comment"; | ||
| + Syntax = { | ||
| + Start = "#"; | ||
| + EscapeChar = "\\"; | ||
| + Until = "\n"; | ||
| + IncludeRules = ( | ||
| + "xcode.lang.url", | ||
| + "xcode.lang.url.mail", | ||
| + "xcode.lang.comment.mark", | ||
| + ); | ||
| + Type = "xcode.syntax.comment"; | ||
| + }; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.lang.comment.mark"; | ||
| + Syntax = { | ||
| + StartChars = "MTF!?"; | ||
| + Match = ( | ||
| + "^MARK:[ \t]+(.*)$", | ||
| + "^(TODO:[ \t]+.*)$", | ||
| + "^(FIXME:[ \t]+.*)$", | ||
| + "^(!!!:.*)$", | ||
| + "^(\\?\\?\\?:.*)$", | ||
| + ); | ||
| + CaptureTypes = ( | ||
| + "xcode.syntax.mark", | ||
| + ); | ||
| + Type = "xcode.syntax.comment"; | ||
| + }; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.lang.number"; | ||
| + Syntax = { | ||
| + "SourceScannerClassName" = DVTNumberScanner; | ||
| + StartChars = "+-0123456789."; | ||
| + Chars = "0123456789+-.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; | ||
| + Match = ( | ||
| + "^[+-]?0[bB][01]+([lL])?", | ||
| + "^[+-]?0[xX][0-9a-fA-F]+((\\.[0-9a-fA-F]*)?([pP][+-]?[0-9]+)?)?([lLfF])?", | ||
| + "^[+-]?0[xX][0-9a-fA-F]*\\.[0-9a-fA-F]+([pP][+-]?[0-9]+)?([lLfF])?", | ||
| + "^[+-]?[0-9]+((\\.[0-9]*)?([eE][+-]?[0-9]+)?)?([lLfF])?", | ||
| + "^[+-]?[0-9]*\\.[0-9]+([eE][+-]?[0-9]+)?([lLfF])?", | ||
| + ); | ||
| + Type = "xcode.syntax.number"; | ||
| + }; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.lang.plainColoring"; | ||
| + Description = "Xcode Plain Coloring"; | ||
| + IncludeInMenu = YES; | ||
| + Name = "Plain Coloring"; | ||
| + Syntax = { | ||
| + Type = "xcode.syntax.plain"; | ||
| + }; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.lang.simpleColoring"; | ||
| + Description = "Xcode Simple Coloring"; | ||
| + IncludeInMenu = YES; | ||
| + Name = "Simple Coloring"; | ||
| + Syntax = { | ||
| + IncludeRules = ( | ||
| + "xcode.lang.comment", | ||
| + "xcode.lang.comment.singleline", | ||
| + "xcode.lang.comment.singleline.pound", | ||
| + "xcode.lang.string", | ||
| + "xcode.lang.character", | ||
| + "xcode.lang.number", | ||
| + "xcode.lang.simpleColoring.block", | ||
| + ); | ||
| + Type = "xcode.syntax.plain"; | ||
| + }; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.lang.simpleColoring.block"; | ||
| + Syntax = { | ||
| + Start = "{"; | ||
| + End = "}"; | ||
| + Foldable = YES; | ||
| + Recursive = YES; | ||
| + IncludeRules = ( | ||
| + "xcode.lang.comment", | ||
| + "xcode.lang.comment.singleline", | ||
| + "xcode.lang.comment.singleline.pound", | ||
| + "xcode.lang.string", | ||
| + "xcode.lang.character", | ||
| + "xcode.lang.number", | ||
| + ); | ||
| + }; | ||
| + }, | ||
| +) |
| @@ -0,0 +1,342 @@ | ||
| +( | ||
| + { | ||
| + Identifier = "xcode.syntax.plain"; | ||
| + Name = "Plain Text"; | ||
| + Color = "0.000 0.000 0.000"; | ||
| + IncludeInPrefs = YES; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.syntax.comment"; | ||
| + Name = "Comments"; | ||
| + Color = "0.000 0.456 0.000"; | ||
| + IncludeInPrefs = YES; | ||
| + IgnoreToken = YES; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.syntax.comment.doc"; | ||
| + Name = "Documentation Markup"; | ||
| + Color = "0.000 0.456 0.000"; | ||
| + IncludeInPrefs = YES; | ||
| + IgnoreToken = YES; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.syntax.comment.doc.keyword"; | ||
| + Name = "Documentation Markup Keywords"; | ||
| + Color = "0.000 0.456 0.000"; | ||
| + IncludeInPrefs = YES; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.syntax.string"; | ||
| + Name = "Strings"; | ||
| + Color = "0.770 0.102 0.086"; | ||
| + IncludeInPrefs = YES; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.syntax.character"; | ||
| + Name = "Characters"; | ||
| + Color = "0.110 0.000 0.810"; | ||
| + IncludeInPrefs = YES; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.syntax.number"; | ||
| + Name = "Numbers"; | ||
| + Color = "0.110 0.000 0.810"; | ||
| + IncludeInPrefs = YES; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.syntax.keyword"; | ||
| + Name = "Keywords"; | ||
| + Color = "0.665 0.052 0.569"; | ||
| + IncludeInPrefs = YES; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.syntax.preprocessor"; | ||
| + Name = "Preprocessor Statements"; | ||
| + Color = "0.391 0.220 0.125"; | ||
| + IncludeInPrefs = YES; | ||
| + IgnoreToken = YES; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.syntax.preprocessor.include"; | ||
| + IncludeInPrefs = NO; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.syntax.objc.import"; | ||
| + BasedOn = "xcode.syntax.preprocessor.include"; | ||
| + IncludeInPrefs = NO; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.syntax.c.attribute"; | ||
| + IncludeInPrefs = NO; | ||
| + IgnoreToken = YES; | ||
| + }, | ||
| + | ||
| + // MARK: identifiers | ||
| + // By default we do nothing. In C/C++, etc, we will look up names in the index and color them | ||
| + { | ||
| + Identifier = "xcode.syntax.identifier"; | ||
| + Color = "0.000 0.000 0.000"; | ||
| + IncludeInPrefs = NO; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.syntax.identifier.plain"; | ||
| + Color = "0.000 0.000 0.000"; | ||
| + IncludeInPrefs = NO; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.syntax.identifier.class"; | ||
| + Name = "Project Class Names"; | ||
| + Color = "0.247 0.431 0.456"; | ||
| + IncludeInPrefs = YES; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.syntax.identifier.function"; | ||
| + Name = "Project Function and Method Names"; | ||
| + Color = "0.149 0.278 0.294"; | ||
| + IncludeInPrefs = YES; | ||
| + CanSetFont = NO; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.syntax.identifier.constant"; | ||
| + Name = "Project Constants"; | ||
| + Color = "0.149 0.278 0.294"; | ||
| + IncludeInPrefs = YES; | ||
| + CanSetFont = NO; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.syntax.identifier.type"; | ||
| + Name = "Project Type Names"; | ||
| + Color = "0.247 0.431 0.456"; | ||
| + IncludeInPrefs = YES; | ||
| + CanSetFont = NO; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.syntax.identifier.variable"; | ||
| + Name = "Project Instance Variables and Globals"; | ||
| + Color = "0.247 0.431 0.456"; | ||
| + IncludeInPrefs = YES; | ||
| + CanSetFont = NO; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.syntax.identifier.macro"; | ||
| + Name = "Project Preprocessor Macros"; | ||
| + Color = "0.391 0.220 0.125"; | ||
| + IncludeInPrefs = YES; | ||
| + CanSetFont = NO; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.syntax.identifier.class.system"; | ||
| + Name = "Other Class Names"; | ||
| + Color = "0.359 0.149 0.601"; | ||
| + IncludeInPrefs = YES; | ||
| + CanSetFont = NO; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.syntax.identifier.function.system"; | ||
| + Name = "Other Function and Method Names"; | ||
| + Color = "0.181 0.052 0.431"; | ||
| + IncludeInPrefs = YES; | ||
| + CanSetFont = NO; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.syntax.identifier.constant.system"; | ||
| + Name = "Other Constants"; | ||
| + Color = "0.181 0.052 0.431"; | ||
| + IncludeInPrefs = YES; | ||
| + CanSetFont = NO; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.syntax.identifier.type.system"; | ||
| + Name = "Other Type Names"; | ||
| + Color = "0.359 0.149 0.601"; | ||
| + IncludeInPrefs = YES; | ||
| + CanSetFont = NO; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.syntax.identifier.variable.system"; | ||
| + Name = "Other Instance Variables and Globals"; | ||
| + Color = "0.359 0.149 0.601"; | ||
| + IncludeInPrefs = YES; | ||
| + CanSetFont = NO; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.syntax.identifier.macro.system"; | ||
| + Name = "Other Preprocessor Macros"; | ||
| + Color = "0.391 0.220 0.125"; | ||
| + IncludeInPrefs = YES; | ||
| + CanSetFont = NO; | ||
| + }, | ||
| + | ||
| + | ||
| + // MARK: declarations and definitions | ||
| + // These automatically show up in the function popup | ||
| + { | ||
| + Identifier = "xcode.syntax.definition.function"; | ||
| + IncludeInPrefs = NO; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.syntax.declaration.function"; | ||
| + IncludeInPrefs = NO; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.syntax.definition.method"; | ||
| + IncludeInPrefs = NO; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.syntax.declaration.method"; | ||
| + IncludeInPrefs = NO; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.syntax.declaration.property"; | ||
| + IncludeInPrefs = NO; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.syntax.typedef"; | ||
| + IncludeInPrefs = NO; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.syntax.definition.class"; | ||
| + IncludeInPrefs = NO; | ||
| + }, | ||
| + // n.b. BasedOn is used internally to see if one type should be treated like another. However, none of the other attributes are inherited through this hierarchy. | ||
| + { | ||
| + Identifier = "xcode.syntax.definition.objc.implementation"; | ||
| + BasedOn = "xcode.syntax.definition.class"; | ||
| + IncludeInPrefs = NO; | ||
| + NameFormat = "@implementation %@"; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.syntax.declaration.extension"; | ||
| + BasedOn = "xcode.syntax.declaration.class"; | ||
| + IncludeInPrefs = NO; | ||
| + NameFormat = "extension %@"; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.syntax.declaration.protocol"; | ||
| + BasedOn = "xcode.syntax.declaration.class"; | ||
| + IncludeInPrefs = NO; | ||
| + NameFormat = "@protocol %@"; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.syntax.declaration.objc.interface"; | ||
| + BasedOn = "xcode.syntax.declaration.class"; | ||
| + IncludeInPrefs = NO; | ||
| + NameFormat = "@interface %@"; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.syntax.declaration.java.interface"; | ||
| + BasedOn = "xcode.syntax.declaration.class"; | ||
| + IncludeInPrefs = NO; | ||
| + NameFormat = "interface %@"; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.syntax.definition.java.class"; | ||
| + BasedOn = "xcode.syntax.definition.class"; | ||
| + IncludeInPrefs = NO; | ||
| + NameFormat = "class %@"; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.syntax.definition.cpp.class"; | ||
| + BasedOn = "xcode.syntax.definition.class"; | ||
| + IncludeInPrefs = NO; | ||
| + NameFormat = "class %@"; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.syntax.definition.c.function"; | ||
| + BasedOn = "xcode.syntax.definition.function"; | ||
| + IncludeInPrefs = NO; | ||
| + NameFormat = "%@()"; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.syntax.declaration.c.function"; | ||
| + BasedOn = "xcode.syntax.declaration.function"; | ||
| + IncludeInPrefs = NO; | ||
| + NameFormat = "%@()"; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.syntax.declaration.class"; | ||
| + IncludeInPrefs = NO; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.syntax.declaration.struct"; | ||
| + IncludeInPrefs = NO; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.syntax.declaration.enum"; | ||
| + IncludeInPrefs = NO; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.syntax.declaration.union"; | ||
| + IncludeInPrefs = NO; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.syntax.definition.macro"; | ||
| + IncludeInPrefs = NO; | ||
| + }, | ||
| + { // the name is this whole subtree | ||
| + Identifier = "xcode.syntax.name"; | ||
| + IncludeInPrefs = NO; | ||
| + }, | ||
| + { // the name is made from nodes under this subtree | ||
| + Identifier = "xcode.syntax.name.tree"; | ||
| + IncludeInPrefs = NO; | ||
| + }, | ||
| + { // this node is one of many that need to be concatenated together to get the full name | ||
| + Identifier = "xcode.syntax.name.partial"; | ||
| + IncludeInPrefs = NO; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.syntax.java.package"; | ||
| + IncludeInPrefs = NO; | ||
| + NameFormat = "package %@"; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.syntax.java.import"; | ||
| + IncludeInPrefs = NO; | ||
| + NameFormat = "import %@"; | ||
| + }, | ||
| + | ||
| + | ||
| + // MARK: URLs | ||
| + { | ||
| + Identifier = "xcode.syntax.url"; | ||
| + Name = "URLs"; | ||
| + Color = "0.055 0.055 1.000"; | ||
| + IncludeInPrefs = YES; | ||
| + IsLink = YES; | ||
| + URLFormat = "%@"; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.syntax.url.mail"; | ||
| + BasedOn = "xcode.syntax.url"; | ||
| + Color = "0.055 0.055 1.000"; | ||
| + IncludeInPrefs = NO; | ||
| + IsLink = YES; | ||
| + URLFormat = "mailto:%@"; | ||
| + }, | ||
| + | ||
| + // MARK: XML | ||
| + { | ||
| + Identifier = "xcode.syntax.attribute"; | ||
| + Name = "Attributes"; | ||
| + Color = "0.512 0.423 0.157"; | ||
| + IncludeInPrefs = YES; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.syntax.entity"; | ||
| + Color = "0.665 0.052 0.569"; // Ignored (but necessary). Converted to the Keyword color internally | ||
| + IncludeInPrefs = NO; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.syntax.entity.start"; // shows up in the funciton popup | ||
| + Color = "0.665 0.052 0.569"; // Ignored (but necessary). Converted to the Keyword color internally | ||
| + IncludeInPrefs = NO; | ||
| + }, | ||
| + | ||
| + // MARK: Pragma mark support | ||
| + { | ||
| + Identifier = "xcode.syntax.mark"; | ||
| + IncludeInPrefs = NO; | ||
| + IsMark = YES; | ||
| + }, | ||
| +) |
| @@ -0,0 +1,22 @@ | ||
| +<?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>DVTDiffContextAutoupdatingDelay</key> | ||
| + <integer>1</integer> | ||
| + <key>DVTDiffContextIgnoresCase</key> | ||
| + <false/> | ||
| + <key>DVTDiffContextIgnoresLeadingSpaces</key> | ||
| + <false/> | ||
| + <key>DVTDiffContextIgnoresLineEnds</key> | ||
| + <false/> | ||
| + <key>DVTDiffContextIgnoresSpacesInRuns</key> | ||
| + <false/> | ||
| + <key>DVTDiffContextIgnoresTrailingSpaces</key> | ||
| + <false/> | ||
| + <key>DVTDiffContextMergeDirection</key> | ||
| + <integer>1</integer> | ||
| + <key>DVTDiffContextNumberOfContextTokens</key> | ||
| + <integer>3</integer> | ||
| +</dict> | ||
| +</plist> |
| @@ -0,0 +1,223 @@ | ||
| +// Fortran language specs | ||
| +( | ||
| + | ||
| +/****************************************************************************/ | ||
| +// MARK: Keywords | ||
| +/****************************************************************************/ | ||
| + | ||
| + { | ||
| + Identifier = "xcode.lang.fortran.keyword"; | ||
| + Syntax = { | ||
| + StartChars = "abcdefghijklmnopqrstuvwxyz_"; | ||
| + Chars = "abcdefghijklmnopqrstuvwxyz$_"; | ||
| + CaseSensitive = NO; | ||
| + Words = ( | ||
| + "allocatable", | ||
| + "allocate", | ||
| + "assign", | ||
| + "assignment", | ||
| + "backspace", | ||
| + "block", | ||
| + "blockdata", | ||
| + "call", | ||
| + "case", | ||
| + "character", | ||
| + "close", | ||
| + "common", | ||
| + "complex", | ||
| + "contains", | ||
| + "continue", | ||
| + "cycle", | ||
| + "data", | ||
| + "deallocate", | ||
| + "default", | ||
| + "dimension", | ||
| + "do", | ||
| + "double", | ||
| + "doublecomplex", | ||
| + "doubleprecision", | ||
| + "else", | ||
| + "elseif", | ||
| + "elsewhere", | ||
| + "end", | ||
| + "endblock", | ||
| + "endblockdata", | ||
| + "enddo", | ||
| + "endfile", | ||
| + "endforall", | ||
| + "endfunction", | ||
| + "endif", | ||
| + "endinterface", | ||
| + "endmodule", | ||
| + "endprogram", | ||
| + "endselect", | ||
| + "endsubroutine", | ||
| + "endtype", | ||
| + "endwhere", | ||
| + "endmap", | ||
| + "endstructure", | ||
| + "endunion", | ||
| + "entry", | ||
| + "equivalence", | ||
| + "exit", | ||
| + "external", | ||
| + "extrinsic", | ||
| + "forall", | ||
| + "format", | ||
| + "function", | ||
| + "global", | ||
| + "go", | ||
| + "goto", | ||
| + "if", | ||
| + "implicit", | ||
| + "in", | ||
| + "inout", | ||
| + "include", | ||
| + "inquire", | ||
| + "integer", | ||
| + "intent", | ||
| + "interface", | ||
| + "intrinsic", | ||
| + "logical", | ||
| + "map", | ||
| + "module", | ||
| + "namelist", | ||
| + "none", | ||
| + "nullify", | ||
| + "open", | ||
| + "operator", | ||
| + "optional", | ||
| + "out", | ||
| + "parameter", | ||
| + "pause", | ||
| + "pointer", | ||
| + "precision", | ||
| + "print", | ||
| + "private", | ||
| + "procedure", | ||
| + "program", | ||
| + "public", | ||
| + "pure", | ||
| + "read", | ||
| + "real", | ||
| + "record", | ||
| + "recursive", | ||
| + "return", | ||
| + "rewind", | ||
| + "save", | ||
| + "select", | ||
| + "selectcase", | ||
| + "sequence", | ||
| + "stop", | ||
| + "string", | ||
| + "structure", | ||
| + "subroutine", | ||
| + "target", | ||
| + "then", | ||
| + "to", | ||
| + "type", | ||
| + "union", | ||
| + "use", | ||
| + "where", | ||
| + "while", | ||
| + "write", | ||
| + ); | ||
| + Type = "xcode.syntax.keyword"; | ||
| + AltType = "xcode.syntax.identifier"; // non-keywords are identifiers | ||
| + }; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.lang.fortran.logicals"; | ||
| + Syntax = { | ||
| + StartChars = "."; | ||
| + CaseSensitive = NO; | ||
| + Match = ( | ||
| + "^\.(lt|le|gt|ge|eq|ne|or|and|not|true|false)\.", | ||
| + ); | ||
| + Type = "xcode.syntax.keyword"; | ||
| + }; | ||
| + }, | ||
| + | ||
| + | ||
| +/****************************************************************************/ | ||
| +// MARK: FORTRAN Coloring | ||
| +/****************************************************************************/ | ||
| + | ||
| + { | ||
| + Identifier = "xcode.lang.fortran"; | ||
| + Description = "Fortran Coloring"; | ||
| + BasedOn = "xcode.lang.simpleColoring"; | ||
| + IncludeInMenu = YES; | ||
| + Name = "Fortran 77"; | ||
| + Syntax = { | ||
| + IncludeRules = ( // processed in order | ||
| + "xcode.lang.fortran.comment.fullline", | ||
| + "xcode.lang.fortran.comment.singleline", | ||
| + "xcode.lang.fortran.string", | ||
| + "xcode.lang.fortran.string.singlequote", | ||
| + "xcode.lang.number", | ||
| + "xcode.lang.fortran.logicals", | ||
| + "xcode.lang.fortran.keyword", | ||
| + ); | ||
| + Type = "xcode.syntax.plain"; | ||
| + }; | ||
| + }, | ||
| + | ||
| + { | ||
| + Identifier = "xcode.lang.fortran.f90"; | ||
| + Description = "Fortran 90 Coloring"; | ||
| + BasedOn = "xcode.lang.fortran"; | ||
| + IncludeInMenu = YES; | ||
| + Name = "Fortran 90"; | ||
| + Syntax = { | ||
| + IncludeRules = ( // processed in order | ||
| + "xcode.lang.fortran.comment.singleline", | ||
| + "xcode.lang.fortran.string", | ||
| + "xcode.lang.fortran.string.singlequote", | ||
| + "xcode.lang.number", | ||
| + "xcode.lang.fortran.logicals", | ||
| + "xcode.lang.fortran.keyword", | ||
| + ); | ||
| + Type = "xcode.syntax.plain"; | ||
| + }; | ||
| + }, | ||
| + | ||
| + { | ||
| + Identifier = "xcode.lang.fortran.comment.singleline"; | ||
| + Syntax = { | ||
| + Start = "!"; | ||
| + End = "\n"; | ||
| + IncludeRules = ( "xcode.lang.url", "xcode.lang.url.mail", "xcode.lang.comment.mark" ); | ||
| + Type = "xcode.syntax.comment"; | ||
| + }; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.lang.fortran.comment.fullline"; | ||
| + Syntax = { | ||
| + StartAtColumnZero = YES; | ||
| + Match = ( | ||
| + "^[^ \t0-9].*$", | ||
| + ); | ||
| + IncludeRules = ( "xcode.lang.url", "xcode.lang.url.mail", "xcode.lang.comment.mark" ); | ||
| + Type = "xcode.syntax.comment"; | ||
| + }; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.lang.fortran.string"; | ||
| + Syntax = { | ||
| + Start = "\""; | ||
| + EscapeChar = "&"; | ||
| + End = "\""; | ||
| + Type = "xcode.syntax.string"; | ||
| + }; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.lang.fortran.string.singlequote"; | ||
| + Syntax = { | ||
| + Start = "'"; | ||
| + EscapeChar = "&"; | ||
| + End = "'"; | ||
| + Type = "xcode.syntax.string"; | ||
| + }; | ||
| + }, | ||
| +) |
| @@ -0,0 +1,87 @@ | ||
| +// Intel Assembler language specs | ||
| + | ||
| +( | ||
| + | ||
| +/****************************************************************************/ | ||
| +// MARK: Keywords | ||
| +/****************************************************************************/ | ||
| + | ||
| + { | ||
| + Identifier = "xcode.lang.asm.intel.identifier"; | ||
| + Syntax = { | ||
| + StartChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_"; | ||
| + Chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789$_."; | ||
| + Type = "xcode.syntax.identifier"; | ||
| + }; | ||
| + }, | ||
| + | ||
| + { | ||
| + Identifier = "xcode.lang.asm.intel.directive"; | ||
| + Syntax = { | ||
| + StartAtBOL = YES; | ||
| + StartChars = "."; | ||
| + Chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_"; | ||
| + Type = "xcode.syntax.keyword"; | ||
| + }; | ||
| + }, | ||
| + | ||
| +/****************************************************************************/ | ||
| +// MARK: Simple Syntax Coloring | ||
| +/****************************************************************************/ | ||
| + | ||
| + { | ||
| + Identifier = "xcode.lang.asm.i386"; | ||
| + Description = "Intel386 Assembler Coloring"; | ||
| + BasedOn = "xcode.lang.simpleColoring"; | ||
| + IncludeInMenu = YES; | ||
| + Name = "Assembly (Intel)"; | ||
| + Syntax = { | ||
| + Tokenizer = "xcode.lang.asm.intel.lexer"; | ||
| + IncludeRules = ( | ||
| + "xcode.lang.asm.intel.label" | ||
| + ); | ||
| + Type = "xcode.syntax.plain"; | ||
| + }; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.lang.asm.intel.lexer"; | ||
| + Syntax = { | ||
| + IncludeRules = ( | ||
| + "xcode.lang.comment", | ||
| + "xcode.lang.comment.singleline", | ||
| + "xcode.lang.comment.singleline.pound", | ||
| + "xcode.lang.string", | ||
| + "xcode.lang.character", | ||
| + "xcode.lang.number", | ||
| + "xcode.lang.asm.intel.directive", | ||
| + "xcode.lang.asm.intel.identifier", | ||
| + ); | ||
| + }; | ||
| + }, | ||
| + | ||
| + { | ||
| + Identifier = "xcode.lang.asm.intel.label"; | ||
| + Syntax = { | ||
| + StartAtBOL = YES; | ||
| + Tokenizer = "xcode.lang.asm.intel.lexer"; | ||
| + Rules = ( | ||
| + "xcode.lang.asm.intel.label.name", | ||
| + ":", | ||
| + ); | ||
| + Type = "xcode.syntax.definition.function"; | ||
| + }; | ||
| + }, | ||
| + | ||
| + { | ||
| + Identifier = "xcode.lang.asm.intel.label.name"; | ||
| + Syntax = { | ||
| + StartAtBOL = YES; | ||
| + Tokenizer = "xcode.lang.asm.intel.lexer"; | ||
| + Rules = ( | ||
| + "xcode.lang.asm.intel.identifier", | ||
| + ); | ||
| + Type = "xcode.syntax.name.partial"; | ||
| + }; | ||
| + }, | ||
| + | ||
| +) |
| @@ -0,0 +1,210 @@ | ||
| +// JavaScript | ||
| +( | ||
| + | ||
| +/****************************************************************************/ | ||
| +// MARK: JavaScript keywords | ||
| +/****************************************************************************/ | ||
| + | ||
| + { | ||
| + Identifier = "xcode.lang.javascript.identifier"; | ||
| + Syntax = { | ||
| + StartChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_"; | ||
| + Chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_"; | ||
| + Words = ( | ||
| + "break", | ||
| + "case", | ||
| + "catch", | ||
| + "class", | ||
| + "const", | ||
| + "continue", | ||
| + "debugger", | ||
| + "default", | ||
| + "delete", | ||
| + "do", | ||
| + "else", | ||
| + "enum", | ||
| + "export", | ||
| + "extends", | ||
| + "false", | ||
| + "finally", | ||
| + "for", | ||
| + "function", | ||
| + "if", | ||
| + "import", | ||
| + "in", | ||
| + "instanceof", | ||
| + "new", | ||
| + "null", | ||
| + "return", | ||
| + "super", | ||
| + "switch", | ||
| + "this", | ||
| + "throw", | ||
| + "true", | ||
| + "try", | ||
| + "typeof", | ||
| + "var", | ||
| + "void", | ||
| + "while", | ||
| + "with", | ||
| + ); | ||
| + Type = "xcode.syntax.keyword"; | ||
| + AltType = "xcode.syntax.identifier"; // non-keywords are identifiers | ||
| + }; | ||
| + }, | ||
| + | ||
| + | ||
| +/****************************************************************************/ | ||
| +// MARK: JavaScript Syntax Coloring | ||
| +/****************************************************************************/ | ||
| + | ||
| + { | ||
| + Identifier = "xcode.lang.javascript"; | ||
| + Description = "JavaScript Coloring"; | ||
| + BasedOn = "xcode.lang.simpleColoring"; | ||
| + IncludeInMenu = YES; | ||
| + UsesCLikeIndentation = YES; | ||
| + Name = "JavaScript"; | ||
| + Syntax = { | ||
| + Tokenizer = "xcode.lang.javascript.lexer"; | ||
| + IncludeRules = ( | ||
| + "xcode.lang.javascript.function", | ||
| + "xcode.lang.javascript.function.closure", | ||
| + "xcode.lang.javascript.block", | ||
| + "xcode.lang.javascript.bracketexpr", | ||
| + "xcode.lang.javascript.parenexpr", | ||
| + ); | ||
| + Type = "xcode.syntax.plain"; | ||
| + }; | ||
| + }, | ||
| + | ||
| + // The following rule returns tokens to the other rules | ||
| + { | ||
| + Identifier = "xcode.lang.javascript.lexer"; | ||
| + Syntax = { | ||
| + IncludeRules = ( | ||
| + "xcode.lang.comment", | ||
| + "xcode.lang.comment.singleline", | ||
| + "xcode.lang.string", | ||
| + "xcode.lang.character", | ||
| + "xcode.lang.javascript.identifier", | ||
| + "xcode.lang.number", | ||
| + ); | ||
| + }; | ||
| + }, | ||
| + | ||
| + { | ||
| + Identifier = "xcode.lang.javascript.function"; | ||
| + Syntax = { | ||
| + Tokenizer = "xcode.lang.javascript.lexer"; | ||
| + Rules = ( | ||
| + "xcode.lang.javascript.function.declarator", | ||
| + "xcode.lang.javascript.block", | ||
| + ); | ||
| + Type = "xcode.syntax.definition.function"; | ||
| + }; | ||
| + }, | ||
| + | ||
| + { | ||
| + Identifier = "xcode.lang.javascript.function.declarator"; | ||
| + Syntax = { | ||
| + Tokenizer = "xcode.lang.javascript.lexer"; | ||
| + Rules = ( | ||
| + "function", | ||
| + "xcode.lang.javascript.function.name", | ||
| + "xcode.lang.javascript.parenexpr", | ||
| + ); | ||
| + }; | ||
| + }, | ||
| + | ||
| + { | ||
| + Identifier = "xcode.lang.javascript.function.closure"; | ||
| + Syntax = { | ||
| + Tokenizer = "xcode.lang.javascript.lexer"; | ||
| + Rules = ( | ||
| + "xcode.lang.javascript.function.closure.declarator", | ||
| + "xcode.lang.javascript.block", | ||
| + ); | ||
| + Type = "xcode.syntax.definition.function"; | ||
| + }; | ||
| + }, | ||
| + | ||
| + { | ||
| + Identifier = "xcode.lang.javascript.function.closure.declarator"; | ||
| + Syntax = { | ||
| + Tokenizer = "xcode.lang.javascript.lexer"; | ||
| + Rules = ( | ||
| + "xcode.lang.javascript.function.name", | ||
| + "=", | ||
| + "function", | ||
| + "xcode.lang.javascript.parenexpr", | ||
| + ); | ||
| + }; | ||
| + }, | ||
| + | ||
| + { | ||
| + Identifier = "xcode.lang.javascript.function.name"; | ||
| + Syntax = { | ||
| + Tokenizer = "xcode.lang.javascript.lexer"; | ||
| + Rules = ( | ||
| + "xcode.lang.javascript.identifier", | ||
| + "xcode.lang.javascript.function.name.more*", | ||
| + ); | ||
| + Type = "xcode.syntax.name.partial"; | ||
| + }; | ||
| + }, | ||
| + | ||
| + { | ||
| + Identifier = "xcode.lang.javascript.function.name.more"; | ||
| + Syntax = { | ||
| + Tokenizer = "xcode.lang.javascript.lexer"; | ||
| + Rules = ( | ||
| + ".", | ||
| + "xcode.lang.javascript.identifier", | ||
| + ); | ||
| + Type = "xcode.syntax.name.partial"; | ||
| + }; | ||
| + }, | ||
| + | ||
| + { | ||
| + Identifier = "xcode.lang.javascript.block"; | ||
| + Syntax = { | ||
| + Tokenizer = "xcode.lang.javascript.lexer"; | ||
| + Start = "{"; | ||
| + End = "}"; | ||
| + Foldable = YES; | ||
| + Recursive = YES; | ||
| + IncludeRules = ( | ||
| + "xcode.lang.javascript.function", | ||
| + "xcode.lang.javascript.function.closure", | ||
| + "xcode.lang.javascript.bracketexpr", | ||
| + "xcode.lang.javascript.parenexpr", | ||
| + ); | ||
| + }; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.lang.javascript.parenexpr"; | ||
| + Syntax = { | ||
| + Tokenizer = "xcode.lang.javascript.lexer"; | ||
| + Start = "("; | ||
| + End = ")"; | ||
| + Recursive = YES; | ||
| + IncludeRules = ( | ||
| + "xcode.lang.javascript.bracketexpr", | ||
| + ); | ||
| + }; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.lang.javascript.bracketexpr"; | ||
| + Syntax = { | ||
| + Tokenizer = "xcode.lang.javascript.lexer"; | ||
| + Start = "["; | ||
| + End = "]"; | ||
| + Recursive = YES; | ||
| + IncludeRules = ( | ||
| + "xcode.lang.javascript.parenexpr", | ||
| + ); | ||
| + }; | ||
| + }, | ||
| +) | ||
| + |
| @@ -0,0 +1,151 @@ | ||
| +// Make language specs | ||
| +( | ||
| + | ||
| +/****************************************************************************/ | ||
| +// MARK: Keywords | ||
| +/****************************************************************************/ | ||
| + | ||
| + { | ||
| + Identifier = "xcode.lang.make.keyword"; | ||
| + Syntax = { | ||
| + StartChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_."; | ||
| + Chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_.-"; | ||
| + Words = ( | ||
| + ".DEFAULT", | ||
| + ".DELETE_ON_ERROR", | ||
| + ".EXPORT_ALL_VARIABLES", | ||
| + ".IGNORE", | ||
| + ".INTERMEDIATE", | ||
| + ".NOTPARALLEL", | ||
| + ".PHONY", | ||
| + ".PRECIOUS", | ||
| + ".SECONDARY", | ||
| + ".SILENT", | ||
| + ".SUFFIXES", | ||
| + "addprefix", | ||
| + "addsuffix", | ||
| + "basename", | ||
| + "call", | ||
| + "define", | ||
| + "dir", | ||
| + "else", | ||
| + "endef", | ||
| + "endif", | ||
| + "error", | ||
| + "export", | ||
| + "filter", | ||
| + "filter-out", | ||
| + "findstring", | ||
| + "firstword", | ||
| + "foreach", | ||
| + "ifdef", | ||
| + "ifeq", | ||
| + "ifndef", | ||
| + "ifneq", | ||
| + "include", | ||
| + "join", | ||
| + "notdir", | ||
| + "origin", | ||
| + "override", | ||
| + "patsubst", | ||
| + "shell", | ||
| + "sinclude", | ||
| + "sort", | ||
| + "strip", | ||
| + "subst", | ||
| + "suffix", | ||
| + "unexport", | ||
| + "vpath", | ||
| + "warning", | ||
| + "wildcard", | ||
| + "word", | ||
| + "wordlist", | ||
| + "words", | ||
| + | ||
| + ".LIBPATTERNS", | ||
| + "CURDIR", | ||
| + "MAKE", | ||
| + "MAKECMDGOALS", | ||
| + "MAKEFILES", | ||
| + "MAKEFLAGS", | ||
| + "MAKELEVEL", | ||
| + "MAKESHELL", | ||
| + "SHELL", | ||
| + "SUFFIXES", | ||
| + "VPATH", | ||
| + ); | ||
| + Type = "xcode.syntax.keyword"; | ||
| + AltType = "xcode.syntax.identifier"; // non-keywords are identifiers | ||
| + }; | ||
| + }, | ||
| + | ||
| + | ||
| +/****************************************************************************/ | ||
| +// MARK: Simple Syntax Coloring | ||
| +/****************************************************************************/ | ||
| + | ||
| + { | ||
| + Identifier = "xcode.lang.make"; | ||
| + Description = "Make Coloring"; | ||
| + BasedOn = "xcode.lang.simpleColoring"; | ||
| + IncludeInMenu = YES; | ||
| + Name = "Make"; | ||
| + Syntax = { | ||
| + Tokenizer = "xcode.lang.make.lexer"; | ||
| + IncludeRules = ( // processed in order | ||
| + "xcode.lang.make.label", | ||
| + ); | ||
| + Type = "xcode.syntax.plain"; | ||
| + }; | ||
| + }, | ||
| + | ||
| + // The following rule returns tokens to the other rules | ||
| + { | ||
| + Identifier = "xcode.lang.make.lexer"; | ||
| + Syntax = { | ||
| + IncludeRules = ( | ||
| + "xcode.lang.comment.singleline.pound", | ||
| + "xcode.lang.make.string", | ||
| + "xcode.lang.string", | ||
| + "xcode.lang.string.backquote", | ||
| + "xcode.lang.make.keyword", | ||
| + "xcode.lang.number", | ||
| + ); | ||
| + }; | ||
| + }, | ||
| + | ||
| + { | ||
| + Identifier = "xcode.lang.make.label"; | ||
| + Syntax = { | ||
| + StartAtBOL = YES; | ||
| + Tokenizer = "xcode.lang.make.lexer"; | ||
| + Rules = ( | ||
| + "xcode.lang.make.label.name", | ||
| + ":", | ||
| + ); | ||
| + Type = "xcode.syntax.definition.function"; | ||
| + }; | ||
| + }, | ||
| + | ||
| + { | ||
| + Identifier = "xcode.lang.make.label.name"; | ||
| + Syntax = { | ||
| + StartAtBOL = YES; | ||
| + Tokenizer = "xcode.lang.make.lexer"; | ||
| + Rules = ( | ||
| + "xcode.lang.make.keyword", | ||
| + ); | ||
| + Type = "xcode.syntax.name.partial"; | ||
| + }; | ||
| + }, | ||
| + | ||
| + { | ||
| + Identifier = "xcode.lang.make.string"; | ||
| + Syntax = { | ||
| + Start = "\\\""; | ||
| + EscapeChar = "\\"; | ||
| + End = "\\\""; | ||
| + Type = "xcode.syntax.string"; | ||
| + }; | ||
| + }, | ||
| +) |
| @@ -0,0 +1,163 @@ | ||
| +// Markdown | ||
| +( | ||
| + { | ||
| + Identifier = "xcode.lang.markdown"; | ||
| + Description = "Markdown Coloring"; | ||
| + BasedOn = "xcode.lang.simpleColoring"; | ||
| + IncludeInMenu = YES; | ||
| + Name = "Markdown"; | ||
| + Syntax = { | ||
| + Tokenizer = "xcode.lang.markdown.lexer"; | ||
| + IncludeRules = ( | ||
| + "xcode.lang.markdown.code.double", | ||
| + "xcode.lang.markdown.code.single", | ||
| + "xcode.lang.markdown.link.auto", | ||
| + "xcode.lang.markdown.image", | ||
| + "xcode.lang.markdown.link", | ||
| + "xcode.lang.markdown.header", | ||
| + ); | ||
| + Type = "xcode.syntax.plain"; | ||
| + }; | ||
| + PreservesTrailingWhitespace = YES; | ||
| + }, | ||
| + | ||
| + { | ||
| + Identifier = "xcode.lang.markdown.lexer"; | ||
| + Syntax = { | ||
| + IncludeRules = ( | ||
| + "xcode.lang.markdown.comment", | ||
| + ); | ||
| + }; | ||
| + }, | ||
| + | ||
| + { | ||
| + Identifier = "xcode.lang.markdown.comment"; | ||
| + Syntax = { | ||
| + Start = "<!--"; | ||
| + EscapeChar = "\\"; | ||
| + End = "-->"; | ||
| + Foldable = YES; | ||
| + IncludeRules = ( | ||
| + "xcode.lang.url", | ||
| + "xcode.lang.url.mail" | ||
| + ); | ||
| + Type = "xcode.syntax.comment"; | ||
| + }; | ||
| + }, | ||
| + | ||
| + { | ||
| + Identifier = "xcode.lang.markdown.code.double"; | ||
| + Syntax = { | ||
| + Start = "``"; | ||
| + End = "``"; | ||
| + ParseEndBeforeIncludedRules = YES; | ||
| + Type = "xcode.syntax.string"; | ||
| + }; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.lang.markdown.code.single"; | ||
| + Syntax = { | ||
| + Start = "`"; | ||
| + End = "`"; | ||
| + ParseEndBeforeIncludedRules = YES; | ||
| + Type = "xcode.syntax.string"; | ||
| + }; | ||
| + }, | ||
| + | ||
| + { | ||
| + Identifier = "xcode.lang.markdown.link.auto"; | ||
| + Syntax = { | ||
| + Start = "<"; | ||
| + EscapeChar = "\\"; | ||
| + End = ">"; | ||
| + IncludeRules = ( | ||
| + "xcode.lang.url", | ||
| + "xcode.lang.url.mail", | ||
| + ); | ||
| + ParseEndBeforeIncludedRules = YES; | ||
| + }; | ||
| + }, | ||
| + | ||
| + { | ||
| + Identifier = "xcode.lang.markdown.link"; | ||
| + Syntax = { | ||
| + Tokenizer = "xcode.lang.markdown.lexer"; | ||
| + Rules = ( | ||
| + "xcode.lang.markdown.link.text", | ||
| + "xcode.lang.markdown.link.url", | ||
| + ); | ||
| + }; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.lang.markdown.link.url"; | ||
| + Syntax = { | ||
| + Start = "("; | ||
| + EscapeChar = "\\"; | ||
| + End = ")"; | ||
| + IncludeRules = ( | ||
| + "xcode.lang.url", | ||
| + "xcode.lang.url.mail", | ||
| + ); | ||
| + ParseEndBeforeIncludedRules = YES; | ||
| + }; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.lang.markdown.link.text"; | ||
| + Syntax = { | ||
| + Start = "["; | ||
| + EscapeChar = "\\"; | ||
| + End = "]"; | ||
| + Type = "xcode.syntax.string"; | ||
| + }; | ||
| + }, | ||
| + | ||
| + { | ||
| + Identifier = "xcode.lang.markdown.image"; | ||
| + Syntax = { | ||
| + Tokenizer = "xcode.lang.markdown.lexer"; | ||
| + Rules = ( | ||
| + "!", | ||
| + "xcode.lang.markdown.link.text", | ||
| + "xcode.lang.markdown.image.url", | ||
| + ); | ||
| + Type = "xcode.syntax.string"; | ||
| + }; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.lang.markdown.image.url"; | ||
| + Syntax = { | ||
| + Start = "("; | ||
| + EscapeChar = "\\"; | ||
| + End = ")"; | ||
| + IncludeRules = ( | ||
| + "xcode.lang.url", | ||
| + "xcode.lang.string", | ||
| + "xcode.lang.character", | ||
| + ); | ||
| + ParseEndBeforeIncludedRules = YES; | ||
| + }; | ||
| + }, | ||
| + | ||
| + { | ||
| + Identifier = "xcode.lang.markdown.header"; | ||
| + Syntax = { | ||
| + StartAtBOL = YES; | ||
| + MaxLinesPerToken = 2; // for Setext-style headers | ||
| + Match = ( | ||
| + "^([^=].*?)[\r\n]=+$", | ||
| + "^([^-].*?)[\r\n]-+$", | ||
| + | ||
| + "^#{1,6}\\s*(.+?)\\s*#*$", | ||
| + | ||
| + "^(-)\\s*(?:-\\s*){2,}$", | ||
| + "^((?:\\*\\s*){3,})$", | ||
| + "^((?:_\\s*){3,})$", | ||
| + ); | ||
| + CaptureTypes = ( | ||
| + "xcode.syntax.mark", | ||
| + ); | ||
| + Type = "xcode.syntax.preprocessor"; | ||
| + }; | ||
| + }, | ||
| + | ||
| +) |
| @@ -0,0 +1,90 @@ | ||
| +// Module map language specs | ||
| +// http://clang.llvm.org/docs/Modules.html#module-map-language | ||
| +( | ||
| + | ||
| +/****************************************************************************/ | ||
| +// MARK: Keywords | ||
| +/****************************************************************************/ | ||
| + | ||
| + { | ||
| + Identifier = "xcode.lang.module-map.identifier"; | ||
| + Syntax = { | ||
| + StartChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_"; | ||
| + Chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_"; | ||
| + Words = ( | ||
| + "config_macros", | ||
| + "conflict", | ||
| + "exclude", | ||
| + "explicit", | ||
| + "export", | ||
| + "extern", | ||
| + "framework", | ||
| + "header", | ||
| + "link", | ||
| + "module", | ||
| + "private", | ||
| + "requires", | ||
| + "textual", | ||
| + "umbrella", | ||
| + "use", | ||
| + ); | ||
| + Type = "xcode.syntax.keyword"; | ||
| + AltType = "xcode.syntax.identifier"; // non-keywords are identifiers | ||
| + }; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.lang.module-map.interestingOperators"; | ||
| + Syntax = { | ||
| + Words = ( | ||
| + ".", | ||
| + ); | ||
| + Type = "xcode.syntax.plain"; | ||
| + }; | ||
| + }, | ||
| + | ||
| + | ||
| +/****************************************************************************/ | ||
| +// MARK: Simple Syntax Coloring | ||
| +/****************************************************************************/ | ||
| + | ||
| + { | ||
| + Identifier = "xcode.lang.module-map"; | ||
| + Description = "LLVM Module Map Coloring"; | ||
| + BasedOn = "xcode.lang.simpleColoring"; | ||
| + IncludeInMenu = YES; | ||
| + Name = "LLVM Module Map"; | ||
| + Syntax = { | ||
| + Tokenizer = "xcode.lang.module-map.lexer"; | ||
| + IncludeRules = ( // processed in order | ||
| + "xcode.lang.module-map.block", | ||
| + ); | ||
| + Type = "xcode.syntax.plain"; | ||
| + }; | ||
| + }, | ||
| + | ||
| + // The following rule returns tokens to the other rules | ||
| + { | ||
| + Identifier = "xcode.lang.module-map.lexer"; | ||
| + Syntax = { | ||
| + IncludeRules = ( | ||
| + "xcode.lang.comment", | ||
| + "xcode.lang.comment.singleline", | ||
| + "xcode.lang.string", | ||
| + "xcode.lang.module-map.identifier", | ||
| + "xcode.lang.module-map.interestingOperators", | ||
| + ); | ||
| + }; | ||
| + }, | ||
| + | ||
| + { | ||
| + Identifier = "xcode.lang.module-map.block"; | ||
| + Syntax = { | ||
| + Tokenizer = "xcode.lang.module-map.lexer"; | ||
| + Start = "{"; | ||
| + End = "}"; | ||
| + Foldable = YES; | ||
| + Recursive = YES; | ||
| + }; | ||
| + }, | ||
| + | ||
| +) |
| @@ -0,0 +1,192 @@ | ||
| +// PHP | ||
| +( | ||
| + | ||
| +/****************************************************************************/ | ||
| +// MARK: PHP keywords | ||
| +/****************************************************************************/ | ||
| + | ||
| + { | ||
| + Identifier = "xcode.lang.php.identifier"; | ||
| + Syntax = { | ||
| + StartChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$"; | ||
| + Chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_"; | ||
| + Words = ( | ||
| + ".", | ||
| + "AND", | ||
| + "OR", | ||
| + "XOR", | ||
| + "array", | ||
| + "as", | ||
| + "bool", | ||
| + "boolean", | ||
| + "break", | ||
| + "case", | ||
| + "class", | ||
| + "continue", | ||
| + "default", | ||
| + "die", | ||
| + "do", | ||
| + "double", | ||
| + "echo", | ||
| + "else", | ||
| + "elseif", | ||
| + "empty", | ||
| + "enddeclare", | ||
| + "endfor", | ||
| + "endforeach", | ||
| + "endif", | ||
| + "endswitch", | ||
| + "endwhile", | ||
| + "eval", | ||
| + "exit", | ||
| + "extends", | ||
| + "float", | ||
| + "for", | ||
| + "foreach", | ||
| + "function", | ||
| + "global", | ||
| + "if", | ||
| + "include", | ||
| + "include_once", | ||
| + "int", | ||
| + "isset", | ||
| + "list", | ||
| + "new", | ||
| + "object", | ||
| + "print", | ||
| + "real", | ||
| + "require", | ||
| + "require_once", | ||
| + "return", | ||
| + "static", | ||
| + "string", | ||
| + "switch", | ||
| + "unset", | ||
| + "use", | ||
| + "var", | ||
| + "while", | ||
| + "<?php", | ||
| + "<?PHP", | ||
| + "?>", | ||
| + ); | ||
| + Type = "xcode.syntax.keyword"; | ||
| + AltType = "xcode.syntax.identifier"; // non-keywords are identifiers | ||
| + }; | ||
| + }, | ||
| + | ||
| + | ||
| +/****************************************************************************/ | ||
| +// MARK: PHP Syntax Coloring | ||
| +/****************************************************************************/ | ||
| + | ||
| + { | ||
| + Identifier = "xcode.lang.php"; | ||
| + Description = "PHP Coloring"; | ||
| + BasedOn = "xcode.lang.simpleColoring"; | ||
| + IncludeInMenu = YES; | ||
| + UsesCLikeIndentation = YES; | ||
| + Name = "PHP"; | ||
| + Syntax = { | ||
| + Tokenizer = "xcode.lang.php.lexer"; | ||
| + IncludeRules = ( | ||
| + "xcode.lang.php.function", | ||
| + "xcode.lang.php.block", | ||
| + "xcode.lang.php.parenexpr", | ||
| + "xcode.lang.php.inxml", | ||
| + "xcode.lang.php.inxml2", | ||
| + ); | ||
| + Type = "xcode.syntax.plain"; | ||
| + }; | ||
| + }, | ||
| + { | ||
| + // XML uses this rule for embedded php | ||
| + Identifier = "xcode.lang.php.inxml"; | ||
| + BasedOn = "xcode.lang.php"; | ||
| + Syntax = { | ||
| + Start = "<?php"; | ||
| + End = "?>"; | ||
| + ParseEndBeforeIncludedRules = YES; | ||
| + Foldable = YES; | ||
| + IncludeRules = ( | ||
| + "xcode.lang.php", | ||
| + ); | ||
| + Type = "xcode.syntax.keyword"; | ||
| + }; | ||
| + }, | ||
| + { | ||
| + // XML uses this rule for embedded php | ||
| + Identifier = "xcode.lang.php.inxml2"; | ||
| + BasedOn = "xcode.lang.php"; | ||
| + Syntax = { | ||
| + Start = "<?PHP"; | ||
| + End = "?>"; | ||
| + ParseEndBeforeIncludedRules = YES; | ||
| + Foldable = YES; | ||
| + IncludeRules = ( | ||
| + "xcode.lang.php", | ||
| + ); | ||
| + Type = "xcode.syntax.keyword"; | ||
| + }; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.lang.php.lexer"; | ||
| + Syntax = { | ||
| + IncludeRules = ( | ||
| + "xcode.lang.comment.singleline.pound", | ||
| + "xcode.lang.comment.singleline", | ||
| + "xcode.lang.comment", | ||
| + "xcode.lang.string", | ||
| + "xcode.lang.character", | ||
| + "xcode.lang.number", | ||
| + "xcode.lang.php.identifier", | ||
| + ); | ||
| + Type = "xcode.syntax.plain"; | ||
| + }; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.lang.php.function"; | ||
| + Syntax = { | ||
| + Tokenizer = "xcode.lang.php.lexer"; | ||
| + Rules = ( | ||
| + "xcode.lang.php.function.declarator", | ||
| + "xcode.lang.php.parenexpr", | ||
| + "xcode.lang.php.block", | ||
| + ); | ||
| + Type = "xcode.syntax.definition.function"; | ||
| + }; | ||
| + }, | ||
| + | ||
| + { | ||
| + Identifier = "xcode.lang.php.function.declarator"; | ||
| + Syntax = { | ||
| + Tokenizer = "xcode.lang.php.lexer"; | ||
| + Rules = ( | ||
| + "xcode.lang.php.identifier", | ||
| + ); | ||
| + Type = "xcode.syntax.name.partial"; | ||
| + }; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.lang.php.block"; | ||
| + Syntax = { | ||
| + // Handle nested blocks | ||
| + Tokenizer = "xcode.lang.php.lexer"; | ||
| + Start = "{"; | ||
| + End = "}"; | ||
| + Recursive = YES; | ||
| + Foldable = YES; | ||
| + IncludeRules = ( | ||
| + "xcode.lang.php.parenexpr", | ||
| + ); | ||
| + }; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.lang.php.parenexpr"; | ||
| + Syntax = { | ||
| + Tokenizer = "xcode.lang.php.lexer"; | ||
| + Start = "("; | ||
| + End = ")"; | ||
| + Recursive = YES; | ||
| + }; | ||
| + }, | ||
| +) |
| @@ -0,0 +1,353 @@ | ||
| +// Perl Script language specs | ||
| +( | ||
| + | ||
| +/****************************************************************************/ | ||
| +// MARK: Keywords | ||
| +/****************************************************************************/ | ||
| + | ||
| + { | ||
| + Identifier = "xcode.lang.perl.identifier"; | ||
| + Syntax = { | ||
| + StartChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$@"; | ||
| + Chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_"; | ||
| + Words = ( | ||
| + "and", | ||
| + "defined", | ||
| + "do", | ||
| + "each", | ||
| + "else", | ||
| + "elsif", | ||
| + "die", | ||
| + "do", | ||
| + "eval", | ||
| + "exec", | ||
| + "exists", | ||
| + "for", | ||
| + "foreach", | ||
| + "ge", | ||
| + "glob", | ||
| + "gt", | ||
| + "goto", | ||
| + "if", | ||
| + "import", | ||
| + "int", | ||
| + "last", | ||
| + "lc", | ||
| + "lcfirst", | ||
| + "le", | ||
| + "lt", | ||
| + "my", | ||
| + "ne", | ||
| + "new", | ||
| + "next", | ||
| + "no", | ||
| + "or", | ||
| + "our", | ||
| + "pop", | ||
| + "print", | ||
| + "redo", | ||
| + "ref", | ||
| + "return", | ||
| + "scalar", | ||
| + "shift", | ||
| + "sub", | ||
| + "unshift", | ||
| + "use", | ||
| + "while", | ||
| + | ||
| + "abs", | ||
| + "accept", | ||
| + "alarm", | ||
| + "atan2", | ||
| + "bind", | ||
| + "binmode", | ||
| + "bless", | ||
| + "caller", | ||
| + "chdir", | ||
| + "chmod", | ||
| + "chomp", | ||
| + "chop", | ||
| + "chown", | ||
| + "chr", | ||
| + "chroot", | ||
| + "close", | ||
| + "closedir", | ||
| + "cmp", | ||
| + "connect", | ||
| + "cos", | ||
| + "crypt", | ||
| + "dbmclose", | ||
| + "dbmopen", | ||
| + "delete", | ||
| + "dump", | ||
| + "eof", | ||
| + "eq", | ||
| + "exit", | ||
| + "exp", | ||
| + "fcntl", | ||
| + "fileno", | ||
| + "flock", | ||
| + "fork", | ||
| + "format", | ||
| + "formline", | ||
| + "getc", | ||
| + "getgrent", | ||
| + "getgrgid", | ||
| + "getgrnam", | ||
| + "gethostbyaddr", | ||
| + "gethostbyname", | ||
| + "gethostent", | ||
| + "getlogin", | ||
| + "getnetbyaddr", | ||
| + "getnetbyname", | ||
| + "getnetent", | ||
| + "getpeername", | ||
| + "getpgrp", | ||
| + "getppid", | ||
| + "getpriority", | ||
| + "getprotobyname", | ||
| + "getprotobynumber", | ||
| + "getprotoent", | ||
| + "getpwent", | ||
| + "getpwnam", | ||
| + "getpwuid", | ||
| + "getservbyname", | ||
| + "getservbyport", | ||
| + "getservent", | ||
| + "getsockname", | ||
| + "getsockopt", | ||
| + "glob", | ||
| + "gmtime", | ||
| + "grep", | ||
| + "hex", | ||
| + "index", | ||
| + "ioctl", | ||
| + "join", | ||
| + "keys", | ||
| + "kill", | ||
| + "length", | ||
| + "link", | ||
| + "listen", | ||
| + "local", | ||
| + "localtime", | ||
| + "log", | ||
| + "lstat", | ||
| + "map", | ||
| + "mkdir", | ||
| + "msgctl", | ||
| + "msgget", | ||
| + "msgrcv", | ||
| + "msgsnd", | ||
| + "oct", | ||
| + "open", | ||
| + "opendir", | ||
| + "ord", | ||
| + "pack", | ||
| + "package", | ||
| + "pipe", | ||
| + "pos", | ||
| + "printf", | ||
| + "push", | ||
| + "quotemeta", | ||
| + "rand", | ||
| + "read", | ||
| + "readdir", | ||
| + "readlink", | ||
| + "recv", | ||
| + "rename", | ||
| + "require", | ||
| + "reset", | ||
| + "reverse", | ||
| + "rewinddir", | ||
| + "rindex", | ||
| + "rmdir", | ||
| + "seek", | ||
| + "seekdir", | ||
| + "select", | ||
| + "semctl", | ||
| + "semget", | ||
| + "semopt", | ||
| + "send", | ||
| + "setpgrp", | ||
| + "setpriority", | ||
| + "setsockopt", | ||
| + "shmctl", | ||
| + "shmget", | ||
| + "shmread", | ||
| + "shmwrite", | ||
| + "shutdown", | ||
| + "sin", | ||
| + "sleep", | ||
| + "socket", | ||
| + "socketpair", | ||
| + "sort", | ||
| + "splice", | ||
| + "split", | ||
| + "sprintf", | ||
| + "sqrt", | ||
| + "srand", | ||
| + "stat", | ||
| + "study", | ||
| + "substr", | ||
| + "symlink", | ||
| + "syscall", | ||
| + "sysopen", | ||
| + "sysread", | ||
| + "system", | ||
| + "syswrite", | ||
| + "tell", | ||
| + "telldir", | ||
| + "tie", | ||
| + "tied", | ||
| + "time", | ||
| + "times", | ||
| + "tr", | ||
| + "truncate", | ||
| + "uc", | ||
| + "ucfirst", | ||
| + "umask", | ||
| + "undef", | ||
| + "unless", | ||
| + "unlink", | ||
| + "unpack", | ||
| + "unshift", | ||
| + "untie", | ||
| + "utime", | ||
| + "values", | ||
| + "vec", | ||
| + "wait", | ||
| + "waitpid", | ||
| + "wantarray", | ||
| + "warn", | ||
| + "write", | ||
| + "__FILE__", | ||
| + "__LINE__", | ||
| + "__END__", | ||
| + "__DATA__", | ||
| + ); | ||
| + Type = "xcode.syntax.keyword"; | ||
| + AltType = "xcode.syntax.identifier"; // non-keywords are identifiers | ||
| + }; | ||
| + }, | ||
| + // don't color these as a comment. | ||
| + { | ||
| + Identifier = "xcode.lang.perl.weirdvars"; | ||
| + Syntax = { | ||
| + Words = ( | ||
| + "$#", | ||
| + "$`", | ||
| + "$'", | ||
| + "$\"", | ||
| + | ||
| + // and escaped quotes | ||
| + "\\\"", | ||
| + "\\'", | ||
| + ); | ||
| + Type = "xcode.syntax.plain"; | ||
| + }; | ||
| + }, | ||
| + | ||
| + | ||
| +/****************************************************************************/ | ||
| +// MARK: Simple Syntax Coloring | ||
| +/****************************************************************************/ | ||
| + | ||
| + { | ||
| + Identifier = "xcode.lang.perl"; | ||
| + Description = "Perl Coloring"; | ||
| + BasedOn = "xcode.lang.simpleColoring"; | ||
| + IncludeInMenu = YES; | ||
| + UsesCLikeIndentation = YES; | ||
| + Name = "Perl"; | ||
| + Syntax = { | ||
| + Tokenizer = "xcode.lang.perl.lexer"; | ||
| + IncludeRules = ( | ||
| + "xcode.lang.perl.sub", | ||
| + "xcode.lang.perl.block", | ||
| + ); | ||
| + Type = "xcode.syntax.plain"; | ||
| + }; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.lang.perl.lexer"; | ||
| + Syntax = { | ||
| + IncludeRules = ( | ||
| + "xcode.lang.perl.weirdvars", | ||
| + "xcode.lang.comment.singleline.pound", | ||
| + "xcode.lang.perl.doc", | ||
| + "xcode.lang.string", | ||
| + "xcode.lang.string.backquote", | ||
| + "xcode.lang.string.singlequote", | ||
| + "xcode.lang.number", | ||
| + "xcode.lang.perl.identifier", | ||
| + ); | ||
| + Type = "xcode.syntax.plain"; | ||
| + }; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.lang.perl.sub"; | ||
| + Syntax = { | ||
| + Tokenizer = "xcode.lang.perl.lexer"; | ||
| + Rules = ( | ||
| + "xcode.lang.perl.sub.declarator", | ||
| + "xcode.lang.perl.block", | ||
| + ); | ||
| + Type = "xcode.syntax.definition.function"; | ||
| + }; | ||
| + }, | ||
| + | ||
| + { | ||
| + Identifier = "xcode.lang.perl.sub.declarator"; | ||
| + Syntax = { | ||
| + Tokenizer = "xcode.lang.perl.lexer"; | ||
| + Rules = ( | ||
| + "sub", | ||
| + "xcode.lang.perl.sub.name", | ||
| + "xcode.lang.perl.parenexpr?", | ||
| + ); | ||
| + }; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.lang.perl.sub.name"; | ||
| + Syntax = { | ||
| + Tokenizer = "xcode.lang.perl.lexer"; | ||
| + Rules = ( | ||
| + "xcode.lang.perl.identifier", | ||
| + ); | ||
| + Type = "xcode.syntax.name.partial"; | ||
| + }; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.lang.perl.block"; | ||
| + Syntax = { | ||
| + Tokenizer = "xcode.lang.perl.lexer"; | ||
| + Start = "{"; | ||
| + End = "}"; | ||
| + Foldable = YES; | ||
| + Recursive = YES; | ||
| + IncludeRules = ( | ||
| + "xcode.lang.perl.sub", | ||
| + ); | ||
| + }; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.lang.perl.parenexpr"; | ||
| + Syntax = { | ||
| + Tokenizer = "xcode.lang.perl.lexer"; | ||
| + Start = "("; | ||
| + End = ")"; | ||
| + Recursive = YES; | ||
| + }; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.lang.perl.doc"; | ||
| + Syntax = { | ||
| + Start = "="; | ||
| + End = "=cut"; | ||
| + StartAtBOL = YES; | ||
| + StartAtColumnZero = YES; | ||
| + Foldable = YES; | ||
| + Type = "xcode.syntax.comment.doc"; | ||
| + }; | ||
| + }, | ||
| +) |
| @@ -0,0 +1,99 @@ | ||
| +// Text-Based Dynamic Library Definition language spec | ||
| +( | ||
| + | ||
| +/****************************************************************************/ | ||
| +// MARK: Keywords | ||
| +/****************************************************************************/ | ||
| + | ||
| + { | ||
| + Identifier = "xcode.lang.text-based-dylib.identifier"; | ||
| + Syntax = { | ||
| + StartChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_"; | ||
| + Chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_"; | ||
| + Words = ( | ||
| + "allowed-clients", | ||
| + "archs", | ||
| + "compatibility-version", | ||
| + "current-version", | ||
| + "exports", | ||
| + "exports", | ||
| + "gc", | ||
| + "install-name", | ||
| + "none", | ||
| + "objc-classes", | ||
| + "objc-constraint", | ||
| + "objc-ivars", | ||
| + "platform", | ||
| + "re-exports", | ||
| + "retain_release", | ||
| + "retain_release_for_simulator", | ||
| + "retain_release_or_gc", | ||
| + "swift-version", | ||
| + "symbols", | ||
| + "thread-local-symbols", | ||
| + "weak-def-symbols", | ||
| + ); | ||
| + Type = "xcode.syntax.keyword"; | ||
| + AltType = "xcode.syntax.identifier"; | ||
| + }; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.lang.text-based-dylib.interestingOperators"; | ||
| + Syntax = { | ||
| + Words = ( | ||
| + "[", "]", "-", ":", ",", | ||
| + ); | ||
| + Type = "xcode.syntax.plain"; | ||
| + }; | ||
| + }, | ||
| + | ||
| +/****************************************************************************/ | ||
| +// MARK: Simple Syntax Coloring | ||
| +/****************************************************************************/ | ||
| + | ||
| + { | ||
| + Identifier = "xcode.lang.text-based-dylib"; | ||
| + Description = "Text-Based Dynamic Library Definition Coloring"; | ||
| + BasedOn = "xcode.lang.simpleColoring"; | ||
| + IncludeInMenu = YES; | ||
| + Name = "Text-Based Dynamic Library Definition"; | ||
| + Syntax = { | ||
| + Tokenizer = "xcode.lang.text-based-dylib.lexer"; | ||
| + IncludeRules = ( // processed in order | ||
| + "xcode.lang.text-based-dylib.block", | ||
| + ); | ||
| + Type = "xcode.syntax.plain"; | ||
| + }; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.lang.text-based-dylib.lexer"; | ||
| + Syntax = { | ||
| + IncludeRules = ( | ||
| + "xcode.lang.comment", | ||
| + "xcode.lang.comment.singleline", | ||
| + "xcode.lang.string", | ||
| + "xcode.lang.number", | ||
| + "xcode.lang.text-based-dylib.string.single", | ||
| + "xcode.lang.text-based-dylib.identifier", | ||
| + "xcode.lang.text-based-dylib.interestingOperators", | ||
| + ); | ||
| + }; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.lang.text-based-dylib.string.single"; | ||
| + Syntax = { | ||
| + Start = "'"; | ||
| + EscapeChar = "\\"; | ||
| + End = "'"; | ||
| + Type = "xcode.syntax.string"; | ||
| + }; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.lang.text-based-dylib.block"; | ||
| + Syntax = { | ||
| + Tokenizer = "xcode.lang.text-based-dylib.lexer"; | ||
| + Start = "---"; | ||
| + End = "..."; | ||
| + }; | ||
| + }, | ||
| +) |
| @@ -0,0 +1,294 @@ | ||
| + | ||
| +// XML | ||
| + | ||
| +( | ||
| + | ||
| +/****************************************************************************/ | ||
| +// MARK: Strings and Characters | ||
| +/****************************************************************************/ | ||
| + | ||
| + { | ||
| + Identifier = "xcode.lang.xml.string"; | ||
| + Syntax = { | ||
| + Start = "\""; | ||
| + End = "\""; | ||
| + IncludeRules = ( "xcode.lang.url", "xcode.lang.url.mail" ); | ||
| + Type = "xcode.syntax.string"; | ||
| + }; | ||
| + }, | ||
| + | ||
| + { | ||
| + Identifier = "xcode.lang.xml.string.singlequote"; | ||
| + Syntax = { | ||
| + Start = "'"; | ||
| + End = "'"; | ||
| + IncludeRules = ( "xcode.lang.url", "xcode.lang.url.mail" ); | ||
| + Type = "xcode.syntax.string"; | ||
| + }; | ||
| + }, | ||
| + | ||
| + { | ||
| + Identifier = "xcode.lang.xml.character"; | ||
| + Syntax = { | ||
| + Start = "&"; | ||
| + End = ";"; | ||
| + Type = "xcode.syntax.character"; | ||
| + }; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.lang.xml.word"; | ||
| + Syntax = { | ||
| + StartChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; | ||
| + Chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-_"; | ||
| + Type = "xcode.syntax.identifier"; // converted to keywords or attributes internally | ||
| + }; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.lang.xml.interestingOperators"; | ||
| + Syntax = { | ||
| + Words = ( | ||
| + "<?php", | ||
| + "<?PHP", | ||
| + "?>", | ||
| + "%>", | ||
| + "<!DOCTYPE", | ||
| + "<!ELEMENT", | ||
| + "<!ENTITY", | ||
| + "<!ATTLIST", | ||
| + ); | ||
| + Type = "xcode.syntax.keyword"; | ||
| + WordBreak = NO; | ||
| + }; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.lang.xml.other.interestingOperators"; | ||
| + Syntax = { | ||
| + StartChars = "<"; | ||
| + Chars = "?%"; | ||
| + // these are separate from "xcode.lang.xml.interestingOperators" so that words immediately following don't confuse the parser | ||
| + Words = ( | ||
| + "<?", | ||
| + "<%", | ||
| + "<%%", | ||
| + ); | ||
| + Type = "xcode.syntax.keyword"; | ||
| + WordBreak = NO; | ||
| + }; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.lang.xml.other.cdata"; | ||
| + Syntax = { | ||
| + StartChars = "<"; | ||
| + Chars = "![ACDT"; | ||
| + // Use a regex (that doesn't need to end at what's matched by StartChars/Chars) so that a C, A, D, or T immediately following don't confuse the parser. | ||
| + Match = ( | ||
| + "^<!\\[CDATA\\[", | ||
| + ); | ||
| + Type = "xcode.syntax.keyword"; | ||
| + }; | ||
| + }, | ||
| + | ||
| + | ||
| +/****************************************************************************/ | ||
| +// MARK: Comments | ||
| +/****************************************************************************/ | ||
| + | ||
| + { | ||
| + Identifier = "xcode.lang.xml.comment"; | ||
| + Syntax = { | ||
| + Start = "<!--"; | ||
| + End = "-->"; | ||
| + Foldable = YES; | ||
| + IncludeRules = ( "xcode.lang.url", "xcode.lang.url.mail", "xcode.lang.comment.mark" ); | ||
| + Type = "xcode.syntax.comment"; | ||
| + }; | ||
| + }, | ||
| + | ||
| + | ||
| +/****************************************************************************/ | ||
| +// MARK: Entities | ||
| +/****************************************************************************/ | ||
| + | ||
| + { | ||
| + Identifier = "xcode.lang.xml.entity.end"; | ||
| + Syntax = { | ||
| + Start = "</"; | ||
| + End = ">"; | ||
| + Type = "xcode.syntax.entity"; | ||
| + }; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.lang.xml.entity.start"; | ||
| + Syntax = { | ||
| + Tokenizer = "xcode.lang.xml.entity.lexer"; | ||
| + Start = "<"; | ||
| + End = ">"; | ||
| + AltEnd = "/>"; | ||
| + Type = "xcode.syntax.entity.start"; | ||
| + AltType = "xcode.syntax.entity"; | ||
| + AltToken = "xcode.lang.xml.entity.standalone"; | ||
| + }; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.lang.xml.entity.lexer"; | ||
| + Syntax = { | ||
| + IncludeRules = ( | ||
| + "xcode.lang.xml.word", | ||
| + "xcode.lang.xml.string", | ||
| + "xcode.lang.xml.string.singlequote", | ||
| + ); | ||
| + }; | ||
| + }, | ||
| + | ||
| + | ||
| +/****************************************************************************/ | ||
| +// MARK: DTD stuff | ||
| +/****************************************************************************/ | ||
| + | ||
| + { | ||
| + Identifier = "xcode.lang.xml.entity.element"; | ||
| + Syntax = { | ||
| + Start = "<!ELEMENT"; | ||
| + End = ">"; | ||
| + IncludeRules = ( "xcode.lang.xml.character" ); | ||
| + Type = "xcode.syntax.keyword"; | ||
| + }; | ||
| + }, | ||
| + | ||
| + { | ||
| + Identifier = "xcode.lang.xml.entity.entity"; | ||
| + Syntax = { | ||
| + Start = "<!ENTITY"; | ||
| + End = ">"; | ||
| + IncludeRules = ( "xcode.lang.xml.character" ); | ||
| + Type = "xcode.syntax.keyword"; | ||
| + }; | ||
| + }, | ||
| + | ||
| + { | ||
| + Identifier = "xcode.lang.xml.entity.attlist"; | ||
| + Syntax = { | ||
| + Start = "<!ATTLIST"; | ||
| + End = ">"; | ||
| + IncludeRules = ( "xcode.lang.xml.character" ); | ||
| + Type = "xcode.syntax.keyword"; | ||
| + }; | ||
| + }, | ||
| + | ||
| + { | ||
| + Identifier = "xcode.lang.xml.entity.doctype"; | ||
| + Syntax = { | ||
| + Start = "<!DOCTYPE"; | ||
| + End = ">"; | ||
| + IncludeRules = ( "xcode.lang.xml.character", "xcode.lang.xml.string", "xcode.lang.xml.string.singlequote" ); | ||
| + Type = "xcode.syntax.keyword"; | ||
| + }; | ||
| + }, | ||
| + | ||
| + { | ||
| + Identifier = "xcode.lang.xml.entity.cdata"; | ||
| + Syntax = { | ||
| + Tokenizer = "xcode.lang.xml.entity.cdata.lexer"; | ||
| + Recursive = NO; | ||
| + Foldable = YES; | ||
| + Start = "xcode.lang.xml.other.cdata"; | ||
| + End = "]]>"; | ||
| + Type = "xcode.syntax.plain"; | ||
| + }; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.lang.xml.entity.cdata.lexer"; | ||
| + Syntax = { | ||
| + IncludeRules = ( | ||
| + "xcode.lang.xml.entity.cdata.end", | ||
| + ); | ||
| + }; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.lang.xml.entity.cdata.end"; | ||
| + Syntax = { | ||
| + Words = ( | ||
| + "]]>", | ||
| + ); | ||
| + Type = "xcode.syntax.keyword"; | ||
| + }; | ||
| + }, | ||
| + | ||
| +/****************************************************************************/ | ||
| +// MARK: Processing Instructions | ||
| +/****************************************************************************/ | ||
| + | ||
| + { | ||
| + Identifier = "xcode.lang.xml.processing"; | ||
| + Syntax = { | ||
| + Start = "<?"; | ||
| + End = "?>"; | ||
| + IncludeRules = ( "xcode.lang.xml.character", "xcode.lang.xml.string", "xcode.lang.xml.string.singlequote" ); | ||
| + Type = "xcode.syntax.keyword"; | ||
| + }; | ||
| + }, | ||
| + | ||
| +/****************************************************************************/ | ||
| +// MARK: XML Syntax Coloring | ||
| +/****************************************************************************/ | ||
| + | ||
| + { | ||
| + Identifier = "xcode.lang.xml"; | ||
| + Description = "XML Coloring"; | ||
| + BasedOn = "xcode.lang.simpleColoring"; | ||
| + IncludeInMenu = YES; | ||
| + Name = "XML"; | ||
| + Syntax = { | ||
| + Tokenizer = "xcode.lang.xml.lexer"; | ||
| + IncludeRules = ( | ||
| + "xcode.lang.php.inxml", | ||
| + "xcode.lang.php.inxml2", | ||
| + "xcode.lang.ruby.inxml", | ||
| + "xcode.lang.xml.processing", | ||
| + "xcode.lang.xml.entity.element", | ||
| + "xcode.lang.xml.entity.entity", | ||
| + "xcode.lang.xml.entity.attlist", | ||
| + "xcode.lang.xml.entity.doctype", | ||
| + "xcode.lang.xml.entity.cdata", | ||
| + "xcode.lang.xml.entity.block", | ||
| + ); | ||
| + Type = "xcode.syntax.plain"; | ||
| + }; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.lang.xml.lexer"; | ||
| + Syntax = { | ||
| + IncludeRules = ( | ||
| + "xcode.lang.xml.comment", | ||
| + "xcode.lang.xml.interestingOperators", | ||
| + "xcode.lang.xml.other.interestingOperators", | ||
| + "xcode.lang.xml.other.cdata", | ||
| + "xcode.lang.xml.entity.end", | ||
| + "xcode.lang.xml.entity.start", | ||
| + "xcode.lang.xml.character", | ||
| + ); | ||
| + }; | ||
| + }, | ||
| + { | ||
| + Identifier = "xcode.lang.xml.entity.block"; | ||
| + Syntax = { | ||
| + Tokenizer = "xcode.lang.xml.lexer"; | ||
| + Start = "xcode.lang.xml.entity.start"; | ||
| + End = "xcode.lang.xml.entity.end"; | ||
| + Recursive = YES; | ||
| + Foldable = YES; | ||
| + Type = "xcode.syntax.definition.function"; | ||
| + IncludeRules = ( | ||
| + "xcode.lang.php.inxml", | ||
| + "xcode.lang.php.inxml2", | ||
| + "xcode.lang.ruby.inxml", | ||
| + "xcode.lang.xml.processing", | ||
| + "xcode.lang.xml.entity.element", | ||
| + "xcode.lang.xml.entity.entity", | ||
| + "xcode.lang.xml.entity.attlist", | ||
| + "xcode.lang.xml.entity.doctype", | ||
| + "xcode.lang.xml.entity.cdata", | ||
| + ); | ||
| + }; | ||
| + }, | ||
| +) |