// This file is part of the "jQuery.Syntax" project, and is distributed under the MIT License. Syntax.register("clang",function(a){a.push("this true false NULL YES NO nil".split(" "),{klass:"constant"});a.push("mutable auto const register typename abstract".split(" "),{klass:"keyword"});a.push("double float int short char long signed unsigned bool void id".split(" "),{klass:"type"});a.push("@interface @implementation @protocol @end @try @throw @catch @finally @class @selector @encode @synchronized @property @synthesize @dynamic struct break continue else for switch case default enum goto register sizeof typedef volatile do extern if return static union while asm dynamic_cast namespace reinterpret_cast try explicit static_cast typeid catch operator template class const_cast inline throw virtual IBOutlet".split(" "), {klass:"keyword"});a.push("+ * / - & | ~ ! % < = > [ ] new delete in".split(" "),{klass:"operator"});a.push("@private @protected @public @required @optional private protected public friend using".split(" "),{klass:"access"});a.push({pattern:/@property\((.*)\)[^;]+;/gmi,klass:"objective-c-property",allow:"*"});a.push("getter setter readwrite readonly assign retain copy nonatomic".split(" "),{klass:"keyword",only:["objective-c-property"]});a.push({pattern:/@(?=")/g,klass:"string"});a.push(Syntax.lib.camelCaseType); a.push(Syntax.lib.cStyleType);a.push({pattern:/(?:class|struct|enum|namespace)\s+([^{;\s]+)/gmi,matches:Syntax.extractMatches({klass:"type"})});a.push({pattern:/#.*$/gmi,klass:"preprocessor",allow:["string"]});a.push(Syntax.lib.cStyleComment);a.push(Syntax.lib.cppStyleComment);a.push(Syntax.lib.webLink);a.push({pattern:/\w+:(?=.*(\]|;|\{))(?!:)/g,klass:"function"});a.push({pattern:/[^:\[]\s+(\w+)(?=\])/g,matches:Syntax.extractMatches({klass:"function"})});a.push({pattern:/-\s*(\([^\)]+?\))?\s*(\w+)\s*\{/g, matches:Syntax.extractMatches({index:2,klass:"function"})});a.push(Syntax.lib.singleQuotedString);a.push(Syntax.lib.doubleQuotedString);a.push(Syntax.lib.stringEscape);a.push(Syntax.lib.decimalNumber);a.push(Syntax.lib.hexNumber);a.push(Syntax.lib.cStyleFunction)});