pub const HIGHLIGHTS_QUERY: &str = "; inherits: c\n\n; Preprocs\n\n(preproc_undef\n  name: (_) @constant) @preproc\n\n; Includes\n\n(module_import \"@import\" @include path: (identifier) @namespace)\n\n((preproc_include\n  _ @include path: (_))\n  (#any-of? @include \"#include\" \"#import\"))\n\n; Type Qualifiers\n\n[\n  \"@optional\"\n  \"@required\"\n  \"__covariant\"\n  \"__contravariant\"\n  (visibility_specification)\n] @type.qualifier\n\n; Storageclasses\n\n[\n  \"@autoreleasepool\"\n  \"@synthesize\"\n  \"@dynamic\"\n  \"volatile\"\n  (protocol_qualifier)\n] @storageclass\n\n; Keywords\n\n[\n  \"@protocol\"\n  \"@interface\"\n  \"@implementation\"\n  \"@compatibility_alias\"\n  \"@property\"\n  \"@selector\"\n  \"@defs\"\n  \"availability\"\n  \"@end\"\n] @keyword\n\n(class_declaration \"@\" @keyword \"class\" @keyword) ; I hate Obj-C for allowing \"@ class\" :)\n\n(method_definition [\"+\" \"-\"] @keyword.function)\n(method_declaration [\"+\" \"-\"] @keyword.function)\n\n[\n  \"__typeof__\"\n  \"__typeof\"\n  \"typeof\"\n  \"in\"\n] @keyword.operator\n\n[\n  \"@synchronized\"\n  \"oneway\"\n] @keyword.coroutine\n\n; Exceptions\n\n[\n  \"@try\"\n  \"__try\"\n  \"@catch\"\n  \"__catch\"\n  \"@finally\"\n  \"__finally\"\n  \"@throw\"\n] @exception\n\n; Variables\n\n((identifier) @variable.builtin\n  (#any-of? @variable.builtin \"self\" \"super\"))\n\n; Functions & Methods\n\n[\n  \"objc_bridge_related\"\n  \"@available\"\n  \"__builtin_available\"\n  \"va_arg\"\n  \"asm\"\n] @function.builtin\n\n(method_definition (identifier) @method)\n\n(method_declaration (identifier) @method)\n\n(method_identifier (identifier)? @method \":\" @method (identifier)? @method)\n\n(message_expression method: (identifier) @method.call)\n\n; Constructors\n\n((message_expression method: (identifier) @constructor)\n  (#eq? @constructor \"init\"))\n\n; Attributes\n\n(availability_attribute_specifier \n  [\n    \"CF_FORMAT_FUNCTION\" \"NS_AVAILABLE\" \"__IOS_AVAILABLE\" \"NS_AVAILABLE_IOS\"\n    \"API_AVAILABLE\" \"API_UNAVAILABLE\" \"API_DEPRECATED\" \"NS_ENUM_AVAILABLE_IOS\"\n    \"NS_DEPRECATED_IOS\" \"NS_ENUM_DEPRECATED_IOS\" \"NS_FORMAT_FUNCTION\" \"DEPRECATED_MSG_ATTRIBUTE\"\n    \"__deprecated_msg\" \"__deprecated_enum_msg\" \"NS_SWIFT_NAME\" \"NS_SWIFT_UNAVAILABLE\"\n    \"NS_EXTENSION_UNAVAILABLE_IOS\" \"NS_CLASS_AVAILABLE_IOS\" \"NS_CLASS_DEPRECATED_IOS\" \"__OSX_AVAILABLE_STARTING\"\n    \"NS_ROOT_CLASS\" \"NS_UNAVAILABLE\" \"NS_REQUIRES_NIL_TERMINATION\" \"CF_RETURNS_RETAINED\"\n    \"CF_RETURNS_NOT_RETAINED\" \"DEPRECATED_ATTRIBUTE\" \"UI_APPEARANCE_SELECTOR\" \"UNAVAILABLE_ATTRIBUTE\"\n  ]) @attribute\n\n; Macros\n\n(type_qualifier\n  [\n    \"_Complex\"\n    \"_Nonnull\"\n    \"_Nullable\"\n    \"_Nullable_result\"\n    \"_Null_unspecified\"\n    \"__autoreleasing\"\n    \"__block\"\n    \"__bridge\"\n    \"__bridge_retained\"\n    \"__bridge_transfer\"\n    \"__complex\"\n    \"__kindof\"\n    \"__nonnull\"\n    \"__nullable\"\n    \"__ptrauth_objc_class_ro\"\n    \"__ptrauth_objc_isa_pointer\"\n    \"__ptrauth_objc_super_pointer\"\n    \"__strong\"\n    \"__thread\"\n    \"__unsafe_unretained\"\n    \"__unused\"\n    \"__weak\"\n  ]) @function.macro.builtin\n\n[ \"__real\" \"__imag\" ] @function.macro.builtin\n\n((call_expression function: (identifier) @function.macro)\n  (#eq? @function.macro \"testassert\"))\n\n; Types\n\n(class_declaration (identifier) @type)\n\n(class_interface \"@interface\" . (identifier) @type superclass: _? @type category: _? @namespace)\n\n(class_implementation \"@implementation\" . (identifier) @type superclass: _? @type category: _? @namespace)\n\n(protocol_forward_declaration (identifier) @type) ; @interface :(\n\n(protocol_reference_list (identifier) @type) ; ^\n\n[\n  \"BOOL\"\n  \"IMP\"\n  \"SEL\"\n  \"Class\"\n  \"id\"\n] @type.builtin\n\n; Constants\n\n(property_attribute (identifier) @constant \"=\"?)\n\n[ \"__asm\" \"__asm__\" ] @constant.macro\n\n; Properties\n\n(property_implementation \"@synthesize\" (identifier) @property)\n\n((identifier) @property\n  (#has-ancestor? @property struct_declaration))\n\n; Parameters\n\n(method_parameter \":\" @method (identifier) @parameter)\n\n(method_parameter declarator: (identifier) @parameter)\n\n(parameter_declaration \n  declarator: (function_declarator \n                declarator: (parenthesized_declarator \n                              (block_pointer_declarator \n                                declarator: (identifier) @parameter))))\n\n\"...\" @parameter.builtin\n\n; Operators\n\n[\n  \"^\"\n] @operator\n\n; Literals\n\n(platform) @string.special\n\n(version_number) @text.uri @number\n\n; Punctuation\n\n\"@\" @punctuation.special\n\n[ \"<\" \">\" ] @punctuation.bracket\n";
Expand description

The syntax highlighting query for this language.