pub const HIGHLIGHT_QUERY: &'static str = "; Comments\n(module_comment) @comment\n(statement_comment) @comment\n(comment) @comment\n\n; Constants\n(constant\n  name: (identifier) @constant)\n\n; Modules\n(module) @module\n(import alias: (identifier) @module)\n(remote_type_identifier\n  module: (identifier) @module)\n(remote_constructor_name\n  module: (identifier) @module)\n((field_access\n  record: (identifier) @module\n  field: (label) @function)\n (#is-not? local))\n\n; Functions\n(unqualified_import (identifier) @function)\n(unqualified_import \"type\" (type_identifier) @type)\n(unqualified_import (type_identifier) @constructor)\n(function\n  name: (identifier) @function)\n(external_function\n  name: (identifier) @function)\n(function_parameter\n  name: (identifier) @variable.parameter)\n((function_call\n   function: (identifier) @function)\n (#is-not? local))\n((binary_expression\n   operator: \"|>\"\n   right: (identifier) @function)\n (#is-not? local))\n\n; \"Properties\"\n; Assumed to be intended to refer to a name for a field; something that comes\n; before \":\" or after \".\"\n; e.g. record field names, tuple indices, names for named arguments, etc\n(label) @property\n(tuple_access\n  index: (integer) @property)\n\n; Attributes\n(attribute\n  \"@\" @attribute\n  name: (identifier) @attribute)\n\n(attribute_value (identifier) @constant)\n\n; Type names\n(remote_type_identifier) @type\n(type_identifier) @type\n\n; Data constructors\n(constructor_name) @constructor\n\n; Literals\n(string) @string\n((escape_sequence) @warning\n ; Deprecated in v0.33.0-rc2:\n (#eq? @warning \"\\\\e\"))\n(escape_sequence) @string.escape\n(bit_string_segment_option) @function.builtin\n(integer) @number\n(float) @number\n\n; Reserved identifiers\n; TODO: when tree-sitter supports `#any-of?` in the Rust bindings,\n; refactor this to use `#any-of?` rather than `#match?`\n((identifier) @error\n (#match? @error \"^(auto|delegate|derive|else|implement|macro|test)$\"))\n\n; Variables\n(identifier) @variable\n(discard) @comment.unused\n\n; Keywords\n[\n  (visibility_modifier) ; \"pub\"\n  (opacity_modifier) ; \"opaque\"\n  \"as\"\n  \"assert\"\n  \"case\"\n  \"const\"\n  \"echo\"\n  ; DEPRECATED: \'external\' was removed in v0.30.\n  \"external\"\n  \"fn\"\n  \"if\"\n  \"import\"\n  \"let\"\n  \"panic\"\n  \"todo\"\n  \"type\"\n  \"use\"\n] @keyword\n\n; Operators\n(binary_expression\n  operator: _ @operator)\n(boolean_negation \"!\" @operator)\n(integer_negation \"-\" @operator)\n\n; Punctuation\n[\n  \"(\"\n  \")\"\n  \"[\"\n  \"]\"\n  \"{\"\n  \"}\"\n  \"<<\"\n  \">>\"\n] @punctuation.bracket\n[\n  \".\"\n  \",\"\n  ;; Controversial -- maybe some are operators?\n  \":\"\n  \"#\"\n  \"=\"\n  \"->\"\n  \"..\"\n  \"-\"\n  \"<-\"\n] @punctuation.delimiter\n";
Expand description

The syntax highlighting query for this language.