aboutsummaryrefslogtreecommitdiffstats
path: root/runtime/queries/robot/highlights.scm
blob: a9c545b8ac7ba885edca280f41def8d21936a8ee (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
127
128
129
[
  (comment)
  (extra_text)
] @comment @spell

[
  (section_header)
  (setting_statement)
  (keyword_setting)
  (test_case_setting)
] @keyword

(variable_definition
  (variable_name) @variable)

(keyword_definition
  (name) @function)

(test_case_definition
  (name) @function)

(keyword_invocation
  (keyword) @function.call)

(ellipses) @punctuation.delimiter

(text_chunk) @string

(inline_python_expression) @string.special

[
  (scalar_variable)
  (list_variable)
  (dictionary_variable)
] @variable

; Control structures
[
  "FOR"
  "IN"
  "IN RANGE"
  "IN ENUMERATE"
  "IN ZIP"
  (break_statement)
  (continue_statement)
] @keyword.repeat

(for_statement
  "END" @keyword.repeat)

"WHILE" @keyword.repeat

(while_statement
  "END" @keyword.repeat)

[
  "IF"
  "ELSE IF"
] @keyword.conditional

(if_statement
  "END" @keyword.conditional)

(if_statement
  (else_statement
    "ELSE" @keyword.conditional))

(inline_if_statement
  (inline_else_statement
    "ELSE" @keyword.conditional))

[
  "TRY"
  "EXCEPT"
  "FINALLY"
] @keyword.exception

(try_statement
  "END" @keyword.exception)

(try_statement
  (else_statement
    "ELSE" @keyword.exception))

; Extra captures for "Documentation" settings
(setting_statement
  name: (setting_name) @_name
  (arguments
    (argument
      (text_chunk) @spell @string.documentation))
  (#any-of? @_name "Documentation" "documentation" "DOCUMENTATION"))

(setting_statement
  name: (setting_name) @_name
  (arguments
    (continuation
      (argument
        (text_chunk) @spell @string.documentation)))
  (#any-of? @_name "Documentation" "documentation" "DOCUMENTATION"))

(keyword_setting
  name: (keyword_setting_name) @_name
  (arguments
    (argument
      (text_chunk) @spell @string.documentation))
  (#any-of? @_name "Documentation" "documentation" "DOCUMENTATION"))

(keyword_setting
  name: (keyword_setting_name) @_name
  (arguments
    (continuation
      (argument
        (text_chunk) @spell @string.documentation)))
  (#any-of? @_name "Documentation" "documentation" "DOCUMENTATION"))

(test_case_setting
  name: (test_case_setting_name) @_name
  (arguments
    (argument
      (text_chunk) @spell @string.documentation))
  (#any-of? @_name "Documentation" "documentation" "DOCUMENTATION"))

(test_case_setting
  name: (test_case_setting_name) @_name
  (arguments
    (continuation
      (argument
        (text_chunk) @spell @string.documentation)))
  (#any-of? @_name "Documentation" "documentation" "DOCUMENTATION"))