; adapted from https://github.com/naclsn/tree-sitter-nasm/blob/main/queries/highlights.scm (word) @variable ((word) @constant (#lua-match? @constant "^[A-Z_][?A-Z_0-9]+$")) ((word) @constant.builtin (#lua-match? @constant.builtin "^__%?[A-Z_a-z0-9]+%?__$")) [ (line_here_token) (section_here_token) ] @variable.builtin (label (word) @label) (assembl_directive_symbols (word) @label) (assembl_directive_sections (word) @label) (unary_expression operator: _ @operator) (binary_expression operator: _ @operator) "?" @constant.builtin (conditional_expression [ "?" ":" ] @keyword.conditional.ternary) [ ":" "," ] @punctuation.delimiter [ "(" ")" "[" "]" "{" "}" ] @punctuation.bracket (instruction_prefix) @keyword (actual_instruction instruction: (word) @function.builtin) (call_syntax_expression base: (word) @function.call) (size_hint) @type (struc_declaration name: (word) @type) (struc_instance name: (word) @type) (effective_address hint: _ @type) (effective_address segment: _ @constant.builtin) (register) @variable.builtin (string_literal) @string (float_literal) @number.float [ (packed_bcd_literal) (number_literal) ] @number [ (preproc_alias) (preproc_multiline_macro) (preproc_multiline_unmacro) (preproc_rotate) (preproc_pathsearch) (preproc_depend) (preproc_use) (preproc_push) (preproc_pop) (preproc_repl) (preproc_arg) (preproc_stacksize) (preproc_local) (preproc_reporting) (preproc_pragma) (preproc_line) (preproc_clear) ] @keyword.directive (preproc_include) @keyword.import (preproc_rep_loop) @keyword.repeat (preproc_if) @keyword.conditional [ (preproc_def) (preproc_undef) ] @keyword.directive.define (preproc_function_def) @keyword.function [ (preproc_expression) (preproc_arg) ] @constant.macro (preproc_multiline_macro name: (word) @function) [ (pseudo_instruction_dx) (pseudo_instruction_resx) (pseudo_instruction_incbin_command) (pseudo_instruction_equ_command) (pseudo_instruction_times_prefix) (pseudo_instruction_alignx_macro) ] @function [ (assembl_directive_target) (assembl_directive_defaults) (assembl_directive_sections) (assembl_directive_absolute) (assembl_directive_symbols) (assembl_directive_common) (assembl_directive_symbolfixes) (assembl_directive_cpu) (assembl_directive_floathandling) (assembl_directive_org) (assembl_directive_sectalign) (assembl_directive_primitive_target) (assembl_directive_primitive_defaults) (assembl_directive_primitive_sections) (assembl_directive_primitive_absolute) (assembl_directive_primitive_symbols) (assembl_directive_primitive_common) (assembl_directive_primitive_symbolfixes) (assembl_directive_primitive_cpu) (assembl_directive_primitive_floathandling) (assembl_directive_primitive_org) (assembl_directive_primitive_sectalign) (assembl_directive_primitive_warning) (assembl_directive_primitive_map) ] @keyword (comment) @comment @spell