summaryrefslogtreecommitdiff
path: root/runtime/queries/nasm/highlights.scm
blob: 5e3cfebe6f5b4807f17bb083b3a5e2fe3472eed5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
(comment) @comment

(label) @label

(preproc_expression) @keyword.directive

[
  (line_here_token)
  (section_here_token)
] @variable.builtin

(unary_expression
  operator: _ @operator)
(binary_expression
  operator: _ @operator)
(conditional_expression
  "?" @operator
  ":" @operator)

[
  ":"
  ","
] @punctuation.delimiter

[
  "("
  ")"
  "["
  "]"
  "{"
  "}"
] @punctuation.bracket

(instruction_prefix) @keyword
(actual_instruction
  instruction: (word) @function)

(call_syntax_expression
  base: (word) @function)

(size_hint) @type
(struc_declaration
  name: (word) @type)
(struc_instance
  name: (word) @type)

(effective_address
 hint: _ @type)
(effective_address
 segment: _ @constant.builtin)

(register) @constant.builtin

(number_literal) @constant.numeric.integer
(string_literal) @string
(float_literal) @constant.numeric.float
(packed_bcd_literal) @constant.numeric.integer

((word) @constant
  (#match? @constant "^[A-Z_][?A-Z_0-9]+$"))
((word) @constant.builtin
  (#match? @constant.builtin "^__\\?[A-Z_a-z0-9]+\\?__$"))
(word) @variable

(preproc_arg) @keyword.directive

[
  (preproc_def)
  (preproc_function_def)
  (preproc_undef)
  (preproc_alias)
  (preproc_multiline_macro)
  (preproc_multiline_unmacro)
  (preproc_if)
  (preproc_rotate)
  (preproc_rep_loop)
  (preproc_include)
  (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
[
  (pseudo_instruction_dx)
  (pseudo_instruction_resx)
  (pseudo_instruction_incbin_command)
  (pseudo_instruction_equ_command)
  (pseudo_instruction_times_prefix)
  (pseudo_instruction_alignx_macro)
] @function.special
[
  (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