summaryrefslogtreecommitdiff
path: root/runtime/queries/hurl/highlights.scm
blob: a203763755e669f00c2f8fdf04bfa2d1018540fd (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
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
[
  "[QueryStringParams]"
  "[FormParams]"
  "[MultipartFormData]"
  "[Cookies]"
  "[Captures]"
  "[Asserts]"
  "[Options]"
  "[BasicAuth]"
] @attribute

(comment) @comment

[
  (key_string)
  (json_key_string)
] @variable.other.member
 
(value_string) @string
(quoted_string) @string
(json_string) @string
(file_value) @string.special.path
(regex) @string.regex

[
  "\\"
  (regex_escaped_char)
  (quoted_string_escaped_char)
  (key_string_escaped_char)
  (value_string_escaped_char)
  (oneline_string_escaped_char)
  (multiline_string_escaped_char)
  (filename_escaped_char)
  (json_string_escaped_char)
] @constant.character.escape

(method) @type.builtin
(multiline_string_type) @type

[
  "status"
  "url"
  "header"
  "cookie"
  "body"
  "xpath"
  "jsonpath"
  "regex"
  "variable"
  "duration"
  "sha256"
  "md5"
  "bytes"
  "daysAfterNow"
  "daysBeforeNow"
  "htmlEscape"
  "htmlUnescape"
  "decode"
  "format"
  "nth"
  "replace"
  "split"
  "toDate"
  "toInt"
  "urlEncode"
  "urlDecode"
  "count"
] @function.builtin

(filter) @attribute

(version) @string.special
[
  "null"
  "cacert"
  "compressed"
  "location"
  "insecure"
  "path-as-is"
  "proxy"
  "max-redirs"
  "retry"
  "retry-interval"
  "retry-max-count"
  (variable_option "variable")
  "verbose"
  "very-verbose"
] @constant.builtin

(boolean) @constant.builtin.boolean

(variable_name) @variable

[
  "not"
  "equals"
  "=="
  "notEquals"
  "!="
  "greaterThan"
  ">"
  "greaterThanOrEquals"
  ">="
  "lessThan"
  "<"
  "lessThanOrEquals"
  "<="
  "startsWith"
  "endsWith"
  "contains"
  "matches"
  "exists"
  "includes"
  "isInteger"
  "isFloat"
  "isBoolean"
  "isString"
  "isCollection"
] @keyword.operator

(integer) @constant.numeric.integer
(float) @constant.numeric.float
(status) @constant.numeric
(json_number) @constant.numeric.float

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

[
  "["
  "]"
  "{"
  "}"
  "{{"
  "}}"
] @punctuation.special

[
  "base64,"
  "file,"
  "hex,"
] @string.special