HIGHLIGHTS_QUERY

Constant HIGHLIGHTS_QUERY 

Source
pub const HIGHLIGHTS_QUERY: &str = "[\n  \".\"\n  \";\"\n  \":\"\n  \",\"\n] @punctuation.delimiter\n\n[\n  \"(\"\n  \")\"\n  \"[\"\n  \"]\"\n  \"{\"\n  \"}\"\n] @punctuation.bracket\n\n; Identifiers\n(type_identifier) @type\n\n[\n  (self_expression)\n  (super_expression)\n] @variable.builtin\n\n; Declarations\n[\n  \"func\"\n  \"deinit\"\n] @keyword.function\n\n[\n  (visibility_modifier)\n  (member_modifier)\n  (function_modifier)\n  (property_modifier)\n  (parameter_modifier)\n  (inheritance_modifier)\n  (mutation_modifier)\n] @keyword.modifier\n\n(simple_identifier) @variable\n\n(function_declaration\n  (simple_identifier) @function.method)\n\n(protocol_function_declaration\n  name: (simple_identifier) @function.method)\n\n(init_declaration\n  \"init\" @constructor)\n\n(parameter\n  external_name: (simple_identifier) @variable.parameter)\n\n(parameter\n  name: (simple_identifier) @variable.parameter)\n\n(type_parameter\n  (type_identifier) @variable.parameter)\n\n(inheritance_constraint\n  (identifier\n    (simple_identifier) @variable.parameter))\n\n(equality_constraint\n  (identifier\n    (simple_identifier) @variable.parameter))\n\n[\n  \"protocol\"\n  \"extension\"\n  \"indirect\"\n  \"nonisolated\"\n  \"override\"\n  \"convenience\"\n  \"required\"\n  \"some\"\n  \"any\"\n  \"weak\"\n  \"unowned\"\n  \"didSet\"\n  \"willSet\"\n  \"subscript\"\n  \"let\"\n  \"var\"\n  (throws)\n  (where_keyword)\n  (getter_specifier)\n  (setter_specifier)\n  (modify_specifier)\n  (else)\n  (as_operator)\n] @keyword\n\n[\n  \"enum\"\n  \"struct\"\n  \"class\"\n  \"typealias\"\n] @keyword.type\n\n[\n  \"async\"\n  \"await\"\n] @keyword.coroutine\n\n(shebang_line) @keyword.directive\n\n(class_body\n  (property_declaration\n    (pattern\n      (simple_identifier) @variable.member)))\n\n(protocol_property_declaration\n  (pattern\n    (simple_identifier) @variable.member))\n\n(navigation_expression\n  (navigation_suffix\n    (simple_identifier) @variable.member))\n\n(value_argument\n  name: (value_argument_label\n    (simple_identifier) @variable.member))\n\n(import_declaration\n  \"import\" @keyword.import)\n\n(enum_entry\n  \"case\" @keyword)\n\n(modifiers\n  (attribute\n    \"@\" @attribute\n    (user_type\n      (type_identifier) @attribute)))\n\n; Function calls\n(call_expression\n  (simple_identifier) @function.call) ; foo()\n\n(call_expression\n  ; foo.bar.baz(): highlight the baz()\n  (navigation_expression\n    (navigation_suffix\n      (simple_identifier) @function.call)))\n\n(call_expression\n  (prefix_expression\n    (simple_identifier) @function.call)) ; .foo()\n\n((navigation_expression\n  (simple_identifier) @type) ; SomeType.method(): highlight SomeType as a type\n  (#match? @type \"^[A-Z]\"))\n\n(directive) @keyword.directive\n\n; See https://docs.swift.org/swift-book/documentation/the-swift-programming-language/lexicalstructure/#Keywords-and-Punctuation\n[\n  (diagnostic)\n  (availability_condition)\n  (playground_literal)\n  (key_path_string_expression)\n  (selector_expression)\n  (external_macro_definition)\n] @function.macro\n\n(special_literal) @constant.macro\n\n; Statements\n(for_statement\n  \"for\" @keyword.repeat)\n\n(for_statement\n  \"in\" @keyword.repeat)\n\n[\n  \"while\"\n  \"repeat\"\n  \"continue\"\n  \"break\"\n] @keyword.repeat\n\n(guard_statement\n  \"guard\" @keyword.conditional)\n\n(if_statement\n  \"if\" @keyword.conditional)\n\n(switch_statement\n  \"switch\" @keyword.conditional)\n\n(switch_entry\n  \"case\" @keyword)\n\n(switch_entry\n  \"fallthrough\" @keyword)\n\n(switch_entry\n  (default_keyword) @keyword)\n\n\"return\" @keyword.return\n\n(ternary_expression\n  [\n    \"?\"\n    \":\"\n  ] @keyword.conditional.ternary)\n\n[\n  (try_operator)\n  \"do\"\n  (throw_keyword)\n  (catch_keyword)\n] @keyword.exception\n\n(statement_label) @label\n\n; Comments\n[\n  (comment)\n  (multiline_comment)\n] @comment @spell\n\n((comment) @comment.documentation\n  (#match? @comment.documentation \"^///[^/]\"))\n\n((comment) @comment.documentation\n  (#match? @comment.documentation \"^///$\"))\n\n((multiline_comment) @comment.documentation\n  (#match? @comment.documentation \"^/[*][*][^*].*[*]/$\"))\n\n; String literals\n(line_str_text) @string\n\n(str_escaped_char) @string.escape\n\n(multi_line_str_text) @string\n\n(raw_str_part) @string\n\n(raw_str_end_part) @string\n\n(line_string_literal\n  [\n    \"\\\\(\"\n    \")\"\n  ] @punctuation.special)\n\n(multi_line_string_literal\n  [\n    \"\\\\(\"\n    \")\"\n  ] @punctuation.special)\n\n(raw_str_interpolation\n  [\n    (raw_str_interpolation_start)\n    \")\"\n  ] @punctuation.special)\n\n[\n  \"\\\"\"\n  \"\\\"\\\"\\\"\"\n] @string\n\n; Lambda literals\n(lambda_literal\n  \"in\" @keyword.operator)\n\n; Basic literals\n[\n  (integer_literal)\n  (hex_literal)\n  (oct_literal)\n  (bin_literal)\n] @number\n\n(real_literal) @number.float\n\n(boolean_literal) @boolean\n\n\"nil\" @constant.builtin\n\n(wildcard_pattern) @character.special\n\n; Regex literals\n(regex_literal) @string.regexp\n\n; Operators\n(custom_operator) @operator\n\n[\n  \"+\"\n  \"-\"\n  \"*\"\n  \"/\"\n  \"%\"\n  \"=\"\n  \"+=\"\n  \"-=\"\n  \"*=\"\n  \"/=\"\n  \"<\"\n  \">\"\n  \"<<\"\n  \">>\"\n  \"<=\"\n  \">=\"\n  \"++\"\n  \"--\"\n  \"^\"\n  \"&\"\n  \"&&\"\n  \"|\"\n  \"||\"\n  \"~\"\n  \"%=\"\n  \"!=\"\n  \"!==\"\n  \"==\"\n  \"===\"\n  \"?\"\n  \"??\"\n  \"->\"\n  \"..<\"\n  \"...\"\n  (bang)\n] @operator\n\n(type_arguments\n  [\n    \"<\"\n    \">\"\n  ] @punctuation.bracket)\n";