Constant tree_sitter_gleam::HIGHLIGHT_QUERY
source · 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.