vscode-apollo 2.5.6 → 2.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (180) hide show
  1. package/.circleci/config.yml +17 -0
  2. package/.github/workflows/E2E.yml +3 -2
  3. package/.github/workflows/build-prs.yml +2 -1
  4. package/.github/workflows/release.yml +2 -2
  5. package/.prettierignore +3 -0
  6. package/.semgrepignore +2 -0
  7. package/.vscode/settings.json +7 -2
  8. package/CHANGELOG.md +12 -0
  9. package/apollo.connectors.mapping.configuration.json +10 -0
  10. package/package.json +38 -4
  11. package/sampleWorkspace/connectors-community/.github/ISSUE_TEMPLATE/connector-bug-report.md +36 -0
  12. package/sampleWorkspace/connectors-community/.github/ISSUE_TEMPLATE/new-connector.md +10 -0
  13. package/sampleWorkspace/connectors-community/.github/renovate.json5 +3 -0
  14. package/sampleWorkspace/connectors-community/.vscode/extensions.json +3 -0
  15. package/sampleWorkspace/connectors-community/.vscode/settings.json +13 -0
  16. package/sampleWorkspace/connectors-community/.vscode/tasks.json +10 -0
  17. package/sampleWorkspace/connectors-community/README.md +108 -0
  18. package/sampleWorkspace/connectors-community/apollo.config.json +5 -0
  19. package/sampleWorkspace/connectors-community/connectors/.template/Dockerfile +5 -0
  20. package/sampleWorkspace/connectors-community/connectors/.template/README +46 -0
  21. package/sampleWorkspace/connectors-community/connectors/.template/connector.graphql +31 -0
  22. package/sampleWorkspace/connectors-community/connectors/.template/router.yaml +18 -0
  23. package/sampleWorkspace/connectors-community/connectors/.template/supergraph.yaml +6 -0
  24. package/sampleWorkspace/connectors-community/connectors/JSONPlaceholder/README +12 -0
  25. package/sampleWorkspace/connectors-community/connectors/JSONPlaceholder/albums.graphql +48 -0
  26. package/sampleWorkspace/connectors-community/connectors/JSONPlaceholder/comments.graphql +54 -0
  27. package/sampleWorkspace/connectors-community/connectors/JSONPlaceholder/photos.graphql +54 -0
  28. package/sampleWorkspace/connectors-community/connectors/JSONPlaceholder/posts.graphql +51 -0
  29. package/sampleWorkspace/connectors-community/connectors/JSONPlaceholder/supergraph.yaml +26 -0
  30. package/sampleWorkspace/connectors-community/connectors/JSONPlaceholder/todos.graphql +51 -0
  31. package/sampleWorkspace/connectors-community/connectors/JSONPlaceholder/users.graphql +80 -0
  32. package/sampleWorkspace/connectors-community/connectors/TM-Forum/README.md +9 -0
  33. package/sampleWorkspace/connectors-community/connectors/TM-Forum/router.yaml +18 -0
  34. package/sampleWorkspace/connectors-community/connectors/TM-Forum/supergraph.yaml +6 -0
  35. package/sampleWorkspace/connectors-community/connectors/TM-Forum/tmf622-ProductOrdering.graphql +296 -0
  36. package/sampleWorkspace/connectors-community/connectors/adobe-commerce-cloud/README.md +7 -0
  37. package/sampleWorkspace/connectors-community/connectors/adobe-commerce-cloud/addresses.graphql +30 -0
  38. package/sampleWorkspace/connectors-community/connectors/adobe-commerce-cloud/customer.graphql +77 -0
  39. package/sampleWorkspace/connectors-community/connectors/adobe-commerce-cloud/products.graphql +70 -0
  40. package/sampleWorkspace/connectors-community/connectors/adobe-commerce-cloud/router.yaml +24 -0
  41. package/sampleWorkspace/connectors-community/connectors/adobe-commerce-cloud/supergraph.yaml +14 -0
  42. package/sampleWorkspace/connectors-community/connectors/adobe-commerce-cloud/swagger.json +69226 -0
  43. package/sampleWorkspace/connectors-community/connectors/anthropic/Dockerfile +5 -0
  44. package/sampleWorkspace/connectors-community/connectors/anthropic/README +61 -0
  45. package/sampleWorkspace/connectors-community/connectors/anthropic/messages.graphql +258 -0
  46. package/sampleWorkspace/connectors-community/connectors/anthropic/router.yaml +18 -0
  47. package/sampleWorkspace/connectors-community/connectors/anthropic/supergraph.yaml +6 -0
  48. package/sampleWorkspace/connectors-community/connectors/apollo-ecomm-simple/README +3 -0
  49. package/sampleWorkspace/connectors-community/connectors/apollo-ecomm-simple/connector.graphql +38 -0
  50. package/sampleWorkspace/connectors-community/connectors/apollo-ecomm-simple/router.yaml +18 -0
  51. package/sampleWorkspace/connectors-community/connectors/apollo-ecomm-simple/supergraph.yaml +6 -0
  52. package/sampleWorkspace/connectors-community/connectors/apple/README +36 -0
  53. package/sampleWorkspace/connectors-community/connectors/apple/app-store-connect.graphql +100 -0
  54. package/sampleWorkspace/connectors-community/connectors/apple/router.yaml +18 -0
  55. package/sampleWorkspace/connectors-community/connectors/apple/supergraph.yaml +6 -0
  56. package/sampleWorkspace/connectors-community/connectors/aws/README +125 -0
  57. package/sampleWorkspace/connectors-community/connectors/aws/dynamodb.graphql +130 -0
  58. package/sampleWorkspace/connectors-community/connectors/aws/json-responses/product-price.json +10 -0
  59. package/sampleWorkspace/connectors-community/connectors/aws/json-responses/products.json +53 -0
  60. package/sampleWorkspace/connectors-community/connectors/aws/lambda.graphql +179 -0
  61. package/sampleWorkspace/connectors-community/connectors/aws/router.yaml +54 -0
  62. package/sampleWorkspace/connectors-community/connectors/aws/supergraph.yaml +10 -0
  63. package/sampleWorkspace/connectors-community/connectors/bored/README.md +35 -0
  64. package/sampleWorkspace/connectors-community/connectors/bored/bored.graphql +87 -0
  65. package/sampleWorkspace/connectors-community/connectors/bored/supergraph.yaml +6 -0
  66. package/sampleWorkspace/connectors-community/connectors/common-room/README.md +23 -0
  67. package/sampleWorkspace/connectors-community/connectors/common-room/contacts.graphql +141 -0
  68. package/sampleWorkspace/connectors-community/connectors/common-room/json-responses/members_email_.json +61 -0
  69. package/sampleWorkspace/connectors-community/connectors/common-room/router.yaml +18 -0
  70. package/sampleWorkspace/connectors-community/connectors/common-room/supergraph.yaml +6 -0
  71. package/sampleWorkspace/connectors-community/connectors/googlemaps/README.md +58 -0
  72. package/sampleWorkspace/connectors-community/connectors/googlemaps/distancematrix.graphql +155 -0
  73. package/sampleWorkspace/connectors-community/connectors/googlemaps/places-legacy.graphql +117 -0
  74. package/sampleWorkspace/connectors-community/connectors/googlemaps/places.graphql +399 -0
  75. package/sampleWorkspace/connectors-community/connectors/googlemaps/router.yaml +18 -0
  76. package/sampleWorkspace/connectors-community/connectors/googlemaps/supergraph.yaml +18 -0
  77. package/sampleWorkspace/connectors-community/connectors/googlemaps/timezone.graphql +64 -0
  78. package/sampleWorkspace/connectors-community/connectors/heygen/README +105 -0
  79. package/sampleWorkspace/connectors-community/connectors/heygen/avatars.graphql +79 -0
  80. package/sampleWorkspace/connectors-community/connectors/heygen/photo-avatars.graphql +454 -0
  81. package/sampleWorkspace/connectors-community/connectors/heygen/router.yaml +21 -0
  82. package/sampleWorkspace/connectors-community/connectors/heygen/supergraph.yaml +10 -0
  83. package/sampleWorkspace/connectors-community/connectors/jira/README +36 -0
  84. package/sampleWorkspace/connectors-community/connectors/jira/connector.graphql +197 -0
  85. package/sampleWorkspace/connectors-community/connectors/jira/router.yaml +18 -0
  86. package/sampleWorkspace/connectors-community/connectors/jira/supergraph.yaml +6 -0
  87. package/sampleWorkspace/connectors-community/connectors/museums/README.md +40 -0
  88. package/sampleWorkspace/connectors-community/connectors/museums/chicagoArt.graphql +150 -0
  89. package/sampleWorkspace/connectors-community/connectors/museums/met.graphql +119 -0
  90. package/sampleWorkspace/connectors-community/connectors/museums/supergraph.yaml +10 -0
  91. package/sampleWorkspace/connectors-community/connectors/nws/README.md +45 -0
  92. package/sampleWorkspace/connectors-community/connectors/nws/alerts.graphql +598 -0
  93. package/sampleWorkspace/connectors-community/connectors/nws/supergraph.yaml +6 -0
  94. package/sampleWorkspace/connectors-community/connectors/odata/README +18 -0
  95. package/sampleWorkspace/connectors-community/connectors/odata/connector.graphql +171 -0
  96. package/sampleWorkspace/connectors-community/connectors/odata/router.yaml +18 -0
  97. package/sampleWorkspace/connectors-community/connectors/odata/supergraph.yaml +6 -0
  98. package/sampleWorkspace/connectors-community/connectors/openai/README.md +61 -0
  99. package/sampleWorkspace/connectors-community/connectors/openai/assistants.graphql +285 -0
  100. package/sampleWorkspace/connectors-community/connectors/openai/chat-completions.graphql +169 -0
  101. package/sampleWorkspace/connectors-community/connectors/openai/models.graphql +47 -0
  102. package/sampleWorkspace/connectors-community/connectors/openai/router.yaml +24 -0
  103. package/sampleWorkspace/connectors-community/connectors/openai/supergraph.yaml +14 -0
  104. package/sampleWorkspace/connectors-community/connectors/pokeapi/README +45 -0
  105. package/sampleWorkspace/connectors-community/connectors/pokeapi/games.graphql +70 -0
  106. package/sampleWorkspace/connectors-community/connectors/pokeapi/locations.graphql +127 -0
  107. package/sampleWorkspace/connectors-community/connectors/pokeapi/moves.graphql +107 -0
  108. package/sampleWorkspace/connectors-community/connectors/pokeapi/pokemon.graphql +539 -0
  109. package/sampleWorkspace/connectors-community/connectors/pokeapi/router.yaml +18 -0
  110. package/sampleWorkspace/connectors-community/connectors/pokeapi/supergraph.yaml +18 -0
  111. package/sampleWorkspace/connectors-community/connectors/strapi/README.md +75 -0
  112. package/sampleWorkspace/connectors-community/connectors/strapi/router.yaml +19 -0
  113. package/sampleWorkspace/connectors-community/connectors/strapi/supergraph.yaml +6 -0
  114. package/sampleWorkspace/connectors-community/connectors/strapi/users.graphql +227 -0
  115. package/sampleWorkspace/connectors-community/connectors/stripe/README.md +83 -0
  116. package/sampleWorkspace/connectors-community/connectors/stripe/checkout.graphql +112 -0
  117. package/sampleWorkspace/connectors-community/connectors/stripe/core-resources.graphql +868 -0
  118. package/sampleWorkspace/connectors-community/connectors/stripe/payment-methods.graphql +526 -0
  119. package/sampleWorkspace/connectors-community/connectors/stripe/products.graphql +162 -0
  120. package/sampleWorkspace/connectors-community/connectors/stripe/router.yaml +26 -0
  121. package/sampleWorkspace/connectors-community/connectors/stripe/supergraph.yaml +18 -0
  122. package/sampleWorkspace/connectors-community/connectors/supabase/README.md +80 -0
  123. package/sampleWorkspace/connectors-community/connectors/supabase/router.yaml +5 -0
  124. package/sampleWorkspace/connectors-community/connectors/supabase/supabase.graphql +143 -0
  125. package/sampleWorkspace/connectors-community/connectors/supabase/supergraph.yaml +6 -0
  126. package/sampleWorkspace/connectors-community/connectors/thespacedevs/README +46 -0
  127. package/sampleWorkspace/connectors-community/connectors/thespacedevs/agencies.graphql +193 -0
  128. package/sampleWorkspace/connectors-community/connectors/thespacedevs/api-throttle.graphql +33 -0
  129. package/sampleWorkspace/connectors-community/connectors/thespacedevs/astronauts.graphql +237 -0
  130. package/sampleWorkspace/connectors-community/connectors/thespacedevs/celestial-bodies.graphql +131 -0
  131. package/sampleWorkspace/connectors-community/connectors/thespacedevs/docking-events.graphql +3460 -0
  132. package/sampleWorkspace/connectors-community/connectors/thespacedevs/launches.graphql +1156 -0
  133. package/sampleWorkspace/connectors-community/connectors/thespacedevs/supergraph.yaml +77 -0
  134. package/sampleWorkspace/connectors-community/connectors/tint/README +35 -0
  135. package/sampleWorkspace/connectors-community/connectors/tint/accounts.graphql +69 -0
  136. package/sampleWorkspace/connectors-community/connectors/tint/router.yaml +21 -0
  137. package/sampleWorkspace/connectors-community/connectors/tint/social-feeds.graphql +62 -0
  138. package/sampleWorkspace/connectors-community/connectors/tint/supergraph.yaml +10 -0
  139. package/sampleWorkspace/connectors-community/connectors/todoist/README.md +48 -0
  140. package/sampleWorkspace/connectors-community/connectors/todoist/supergraph.yaml +6 -0
  141. package/sampleWorkspace/connectors-community/connectors/todoist/todoist.graphql +381 -0
  142. package/sampleWorkspace/connectors-community/connectors/trimblemaps/README +99 -0
  143. package/sampleWorkspace/connectors-community/connectors/trimblemaps/connector.graphql +66 -0
  144. package/sampleWorkspace/connectors-community/connectors/trimblemaps/router.yaml +18 -0
  145. package/sampleWorkspace/connectors-community/connectors/trimblemaps/supergraph.yaml +6 -0
  146. package/sampleWorkspace/connectors-community/connectors/twilio/README.md +44 -0
  147. package/sampleWorkspace/connectors-community/connectors/twilio/messages.graphql +107 -0
  148. package/sampleWorkspace/connectors-community/connectors/twilio/router.yaml +6 -0
  149. package/sampleWorkspace/connectors-community/connectors/twilio/supergraph.yaml +6 -0
  150. package/sampleWorkspace/connectors-community/connectors/usgs/earthquakes/README.md +44 -0
  151. package/sampleWorkspace/connectors-community/connectors/usgs/earthquakes/earthquakes.graphql +235 -0
  152. package/sampleWorkspace/connectors-community/connectors/usgs/earthquakes/supergraph.yaml +6 -0
  153. package/sampleWorkspace/connectors-community/connectors/usgs/earthquakes-nominatum/README.md +44 -0
  154. package/sampleWorkspace/connectors-community/connectors/usgs/earthquakes-nominatum/earthquake-simple.graphql +87 -0
  155. package/sampleWorkspace/connectors-community/connectors/usgs/earthquakes-nominatum/router.yaml +3 -0
  156. package/sampleWorkspace/connectors-community/connectors/usgs/earthquakes-nominatum/supergraph.yaml +6 -0
  157. package/sampleWorkspace/connectors-community/connectors/usps/README +36 -0
  158. package/sampleWorkspace/connectors-community/connectors/usps/router.yaml +18 -0
  159. package/sampleWorkspace/connectors-community/connectors/usps/supergraph.yaml +6 -0
  160. package/sampleWorkspace/connectors-community/connectors/usps/tracking.graphql +118 -0
  161. package/sampleWorkspace/connectors-community/connectors/zendesk/README +36 -0
  162. package/sampleWorkspace/connectors-community/connectors/zendesk/connector.graphql +98 -0
  163. package/sampleWorkspace/connectors-community/connectors/zendesk/router.yaml +18 -0
  164. package/sampleWorkspace/connectors-community/connectors/zendesk/supergraph.yaml +6 -0
  165. package/sampleWorkspace/connectors-community/file-new/index.js +520 -0
  166. package/sampleWorkspace/connectors-community/package-lock.json +119 -0
  167. package/sampleWorkspace/connectors-community/package.json +20 -0
  168. package/sampleWorkspace/connectors-community/supergraph.yaml +6 -0
  169. package/sampleWorkspace/sampleWorkspace.code-workspace +29 -8
  170. package/src/__tests__/fixtures/textmate/test.apollo.connectors.mapping +213 -0
  171. package/src/__tests__/fixtures/textmate/test.connect.graphql +104 -0
  172. package/src/language-server/__tests__/fixtures/documents/functionCall.ts.snap +3 -3
  173. package/syntaxes/build.ts +266 -0
  174. package/syntaxes/connectors.mapping.json +532 -0
  175. package/syntaxes/connectors.mapping.yaml +440 -0
  176. package/syntaxes/graphql.connectors.json +426 -0
  177. package/syntaxes/graphql.connectors.yaml +254 -0
  178. package/syntaxes/graphql.json +8 -1
  179. package/syntaxes/publish.sh +43 -0
  180. package/syntaxes/tsconfig.json +6 -0
@@ -0,0 +1,426 @@
1
+ {
2
+ "scopeName": "source.apollo.connectors.graphql",
3
+ "injectionSelector": "L:meta.embedded.block.directive.graphql -string -comment",
4
+ "patterns": [
5
+ {
6
+ "include": "#connector-directive"
7
+ }
8
+ ],
9
+ "repository": {
10
+ "connector-directive": {
11
+ "begin": "((@)\\s*(connect|source))",
12
+ "end": "(?=.)",
13
+ "applyEndPatternLast": 1,
14
+ "beginCaptures": {
15
+ "1": {
16
+ "name": "entity.name.function.directive.connect.graphql"
17
+ }
18
+ },
19
+ "patterns": [
20
+ {
21
+ "include": "#connector-arguments"
22
+ },
23
+ {
24
+ "include": "source.graphql#graphql-comment"
25
+ },
26
+ {
27
+ "include": "source.graphql#literal-quasi-embedded"
28
+ },
29
+ {
30
+ "include": "source.graphql#graphql-skip-newlines"
31
+ }
32
+ ]
33
+ },
34
+ "connector-arguments": {
35
+ "name": "meta.arguments.connect.graphql",
36
+ "begin": "\\s*(\\()",
37
+ "end": "\\s*(\\))",
38
+ "beginCaptures": {
39
+ "1": {
40
+ "name": "meta.brace.round.directive.graphql"
41
+ }
42
+ },
43
+ "endCaptures": {
44
+ "1": {
45
+ "name": "meta.brace.round.directive.graphql"
46
+ }
47
+ },
48
+ "patterns": [
49
+ {
50
+ "include": "source.graphql#graphql-comment"
51
+ },
52
+ {
53
+ "include": "#connector-connectors-mapping-argument"
54
+ },
55
+ {
56
+ "include": "#connector-argument-http"
57
+ },
58
+ {
59
+ "include": "#connector-string-connectors-mapping-argument"
60
+ },
61
+ {
62
+ "include": "#graphql-argument"
63
+ },
64
+ {
65
+ "include": "source.graphql#literal-quasi-embedded"
66
+ }
67
+ ]
68
+ },
69
+ "connector-connectors-mapping-argument": {
70
+ "name": "meta.argument.connect.connectors.mapping.graphql",
71
+ "begin": "\\s*(selection)\\s*(:)",
72
+ "end": "(?=\\s*(?:([A-Z_a-z][0-9A-Z_a-z]*)\\s*(:)|\\)))|\\s*(,)",
73
+ "beginCaptures": {
74
+ "1": {
75
+ "name": "variable.parameter.graphql"
76
+ },
77
+ "2": {
78
+ "name": "punctuation.colon.graphql"
79
+ }
80
+ },
81
+ "endCaptures": {
82
+ "3": {
83
+ "name": "punctuation.comma.graphql"
84
+ }
85
+ },
86
+ "patterns": [
87
+ {
88
+ "contentName": "meta.embedded.block.connectors.mapping.graphql",
89
+ "begin": "((\"\"\"))",
90
+ "end": "((\"\"\"))",
91
+ "beginCaptures": {
92
+ "1": {
93
+ "name": "string.quoted.double.graphql"
94
+ },
95
+ "2": {
96
+ "name": "punctuation.definition.string.begin.graphql"
97
+ }
98
+ },
99
+ "endCaptures": {
100
+ "1": {
101
+ "name": "string.quoted.double.graphql"
102
+ },
103
+ "2": {
104
+ "name": "punctuation.definition.string.end.graphql"
105
+ }
106
+ },
107
+ "patterns": [
108
+ {
109
+ "include": "source.apollo.connectors.mapping"
110
+ }
111
+ ]
112
+ },
113
+ {
114
+ "contentName": "meta.embedded.line.connectors.mapping.graphql",
115
+ "begin": "(?<!\")((\"))(?!\")",
116
+ "end": "(?<!\")((\"))(?!\")",
117
+ "beginCaptures": {
118
+ "1": {
119
+ "name": "string.quoted.double.graphql"
120
+ },
121
+ "2": {
122
+ "name": "punctuation.definition.string.begin.graphql"
123
+ }
124
+ },
125
+ "endCaptures": {
126
+ "1": {
127
+ "name": "string.quoted.double.graphql"
128
+ },
129
+ "2": {
130
+ "name": "punctuation.definition.string.end.graphql"
131
+ }
132
+ },
133
+ "patterns": [
134
+ {
135
+ "include": "source.apollo.connectors.mapping"
136
+ }
137
+ ]
138
+ },
139
+ {
140
+ "include": "source.graphql#graphql-comment"
141
+ },
142
+ {
143
+ "include": "source.graphql#graphql-skip-newlines"
144
+ }
145
+ ]
146
+ },
147
+ "connector-argument-http": {
148
+ "name": "meta.argument.connect.http.graphql",
149
+ "begin": "\\s*(http)\\s*(:)",
150
+ "end": "(?=\\s*(?:([A-Z_a-z][0-9A-Z_a-z]*)\\s*(:)|\\)))|\\s*(,)",
151
+ "beginCaptures": {
152
+ "1": {
153
+ "name": "variable.parameter.graphql"
154
+ },
155
+ "2": {
156
+ "name": "punctuation.colon.graphql"
157
+ }
158
+ },
159
+ "endCaptures": {
160
+ "3": {
161
+ "name": "punctuation.comma.graphql"
162
+ }
163
+ },
164
+ "patterns": [
165
+ {
166
+ "include": "#http-object-value"
167
+ },
168
+ {
169
+ "include": "source.graphql#graphql-comment"
170
+ },
171
+ {
172
+ "include": "source.graphql#literal-quasi-embedded"
173
+ }
174
+ ]
175
+ },
176
+ "http-object-value": {
177
+ "patterns": [
178
+ {
179
+ "name": "meta.objectvalues.connect.http.graphql",
180
+ "begin": "\\s*(\\{)",
181
+ "end": "\\s*(})",
182
+ "beginCaptures": {
183
+ "1": {
184
+ "name": "meta.brace.curly.graphql"
185
+ }
186
+ },
187
+ "endCaptures": {
188
+ "1": {
189
+ "name": "meta.brace.curly.graphql"
190
+ }
191
+ },
192
+ "patterns": [
193
+ {
194
+ "include": "#connector-string-connectors-mapping-argument"
195
+ },
196
+ {
197
+ "include": "#connector-array-connectors-mapping-headers"
198
+ },
199
+ {
200
+ "include": "#http-object-connectors-mapping-property"
201
+ },
202
+ {
203
+ "include": "source.graphql#graphql-object-field"
204
+ },
205
+ {
206
+ "include": "source.graphql#graphql-value"
207
+ }
208
+ ]
209
+ }
210
+ ]
211
+ },
212
+ "http-object-connectors-mapping-property": {
213
+ "patterns": [
214
+ {
215
+ "name": "meta.argument.connect.body.connectors.mapping.graphql",
216
+ "contentName": "meta.embedded.block.connectors.mapping.graphql",
217
+ "begin": "\\s*(body)\\s*(:)\\s*((\"\"\"))",
218
+ "end": "((\"\"\"))",
219
+ "beginCaptures": {
220
+ "1": {
221
+ "name": "variable.parameter.graphql"
222
+ },
223
+ "2": {
224
+ "name": "punctuation.colon.graphql"
225
+ },
226
+ "3": {
227
+ "name": "string.quoted.double.graphql"
228
+ },
229
+ "4": {
230
+ "name": "punctuation.definition.string.begin.graphql"
231
+ }
232
+ },
233
+ "endCaptures": {
234
+ "1": {
235
+ "name": "string.quoted.double.graphql"
236
+ },
237
+ "2": {
238
+ "name": "punctuation.definition.string.end.graphql"
239
+ }
240
+ },
241
+ "patterns": [
242
+ {
243
+ "include": "source.apollo.connectors.mapping"
244
+ }
245
+ ]
246
+ },
247
+ {
248
+ "name": "meta.argument.connect.line.connectors.mapping.graphql",
249
+ "contentName": "meta.embedded.line.connectors.mapping.graphql",
250
+ "begin": "\\s*(body)\\s*(:)\\s*(?<!\")((\"))(?!\")",
251
+ "end": "(?<!\")((\"))(?!\")",
252
+ "beginCaptures": {
253
+ "1": {
254
+ "name": "variable.parameter.graphql"
255
+ },
256
+ "2": {
257
+ "name": "punctuation.colon.graphql"
258
+ },
259
+ "3": {
260
+ "name": "string.quoted.double.graphql"
261
+ },
262
+ "4": {
263
+ "name": "punctuation.definition.string.begin.graphql"
264
+ }
265
+ },
266
+ "endCaptures": {
267
+ "1": {
268
+ "name": "string.quoted.double.graphql"
269
+ },
270
+ "2": {
271
+ "name": "punctuation.definition.string.end.graphql"
272
+ }
273
+ },
274
+ "patterns": [
275
+ {
276
+ "include": "source.apollo.connectors.mapping"
277
+ }
278
+ ]
279
+ }
280
+ ]
281
+ },
282
+ "connector-array-connectors-mapping-headers": {
283
+ "name": "meta.connect.headers",
284
+ "begin": "\\s*((headers))\\s*(:)",
285
+ "beginCaptures": {
286
+ "1": {
287
+ "name": "string.unquoted.graphql"
288
+ },
289
+ "2": {
290
+ "name": "variable.object.key.graphql"
291
+ }
292
+ },
293
+ "end": "(?<=])",
294
+ "applyEndPatternLast": 1,
295
+ "patterns": [
296
+ {
297
+ "name": "meta.listvalues.graphql",
298
+ "begin": "(\\[)",
299
+ "end": "(])",
300
+ "beginCaptures": {
301
+ "1": {
302
+ "name": "meta.brace.square.graphql"
303
+ }
304
+ },
305
+ "endCaptures": {
306
+ "1": {
307
+ "name": "meta.brace.square.graphql"
308
+ }
309
+ },
310
+ "patterns": [
311
+ {
312
+ "name": "meta.objectvalues.graphql",
313
+ "begin": "\\s*(\\{)",
314
+ "end": "\\s*(})",
315
+ "beginCaptures": {
316
+ "1": {
317
+ "name": "meta.brace.curly.graphql"
318
+ }
319
+ },
320
+ "endCaptures": {
321
+ "1": {
322
+ "name": "meta.brace.curly.graphql"
323
+ }
324
+ },
325
+ "patterns": [
326
+ {
327
+ "begin": "(\\w+)\\s*(:)",
328
+ "end": "(?=\\s*(?:([A-Z_a-z][0-9A-Z_a-z]*)\\s*(:)|[)}]))|\\s*(,)",
329
+ "beginCaptures": {
330
+ "1": {
331
+ "name": "variable.object.key.graphql"
332
+ },
333
+ "2": {
334
+ "name": "punctuation.graphql"
335
+ }
336
+ },
337
+ "patterns": [
338
+ {
339
+ "include": "source.apollo.connectors.mapping#JSONSelectionString"
340
+ },
341
+ {
342
+ "include": "source.graphql#graphql-comment"
343
+ },
344
+ {
345
+ "include": "source.graphql#graphql-skip-newlines"
346
+ }
347
+ ]
348
+ },
349
+ {
350
+ "include": "source.graphql#graphql-comment"
351
+ },
352
+ {
353
+ "include": "source.graphql#graphql-skip-newlines"
354
+ }
355
+ ]
356
+ },
357
+ {
358
+ "include": "source.graphql#graphql-comment"
359
+ },
360
+ {
361
+ "include": "source.graphql#graphql-skip-newlines"
362
+ }
363
+ ]
364
+ }
365
+ ]
366
+ },
367
+ "connector-string-connectors-mapping-argument": {
368
+ "name": "meta.argument.connect.string.connectors.mapping.graphql",
369
+ "contentName": "meta.embedded.string.connectors.mapping.graphql",
370
+ "begin": "\\s*(GET|POST|PUT|PATCH|DELETE)\\s*(:)",
371
+ "end": "(?=\\s*(?:([A-Z_a-z][0-9A-Z_a-z]*)\\s*(:)|[)}]))|\\s*(,)",
372
+ "beginCaptures": {
373
+ "1": {
374
+ "name": "variable.parameter.graphql"
375
+ },
376
+ "2": {
377
+ "name": "punctuation.colon.graphql"
378
+ }
379
+ },
380
+ "endCaptures": {
381
+ "3": {
382
+ "name": "punctuation.comma.graphql"
383
+ }
384
+ },
385
+ "patterns": [
386
+ {
387
+ "include": "source.apollo.connectors.mapping#JSONSelectionString"
388
+ },
389
+ {
390
+ "include": "source.graphql#graphql-comment"
391
+ },
392
+ {
393
+ "include": "source.graphql#graphql-skip-newlines"
394
+ }
395
+ ]
396
+ },
397
+ "graphql-argument": {
398
+ "begin": "\\s*([A-Z_a-z][0-9A-Z_a-z]*)\\s*(:)",
399
+ "end": "(?=\\s*(?:([A-Z_a-z][0-9A-Z_a-z]*)\\s*(:)|\\)))|\\s*(,)",
400
+ "beginCaptures": {
401
+ "1": {
402
+ "name": "variable.parameter.graphql"
403
+ },
404
+ "2": {
405
+ "name": "punctuation.colon.graphql"
406
+ }
407
+ },
408
+ "endCaptures": {
409
+ "3": {
410
+ "name": "punctuation.comma.graphql"
411
+ }
412
+ },
413
+ "patterns": [
414
+ {
415
+ "include": "source.graphql#graphql-value"
416
+ },
417
+ {
418
+ "include": "source.graphql#graphql-comment"
419
+ },
420
+ {
421
+ "include": "source.graphql#graphql-skip-newlines"
422
+ }
423
+ ]
424
+ }
425
+ }
426
+ }
@@ -0,0 +1,254 @@
1
+ scopeName: source.apollo.connectors.graphql
2
+ # inject these rules into source.graphql#graphql-directive, before all other patterns (:L), ignoring strings and comments
3
+ injectionSelector: L:meta.embedded.block.directive.graphql -string -comment
4
+ patterns:
5
+ - include: "#connector-directive"
6
+ repository:
7
+ # if we encounter a `@connect` or `@source` directive, move forward into this set of rules, otherwise it will just follow the default graphql rules
8
+ connector-directive:
9
+ begin: ((@)\s*(connect|source))
10
+ end: (?=.)
11
+ applyEndPatternLast: 1
12
+ beginCaptures:
13
+ "1":
14
+ name: entity.name.function.directive.connect.graphql
15
+ patterns:
16
+ - include: "#connector-arguments"
17
+ - include: source.graphql#graphql-comment
18
+ - include: source.graphql#literal-quasi-embedded
19
+ - include: source.graphql#graphql-skip-newlines
20
+ # a variation of source.graphql#graphql-arguments
21
+ connector-arguments:
22
+ name: meta.arguments.connect.graphql
23
+ begin: \s*(\()
24
+ end: \s*(\))
25
+ beginCaptures:
26
+ "1":
27
+ name: meta.brace.round.directive.graphql
28
+ endCaptures:
29
+ "1":
30
+ name: meta.brace.round.directive.graphql
31
+ patterns:
32
+ - include: source.graphql#graphql-comment
33
+ # this was added
34
+ - include: "#connector-connectors-mapping-argument"
35
+ # this was added
36
+ - include: "#connector-argument-http"
37
+ # this was added
38
+ - include: "#connector-string-connectors-mapping-argument"
39
+ # this is also present in the original source.graphql#graphql-arguments, but as an inlined pattern
40
+ # moved into it's own rule here for readability
41
+ - include: "#graphql-argument"
42
+ - include: source.graphql#literal-quasi-embedded
43
+ # based to #graphql-argument, but only matching `selection` arguments
44
+ # with a sub-pattern to match """ blocks and embed the
45
+ # source.apollo.connectors.mapping grammar into those
46
+ connector-connectors-mapping-argument:
47
+ name: meta.argument.connect.connectors.mapping.graphql
48
+ begin: \s*(selection)(?:\s*(:))
49
+ end: (?=\s*(?:(?:([_A-Za-z][_0-9A-Za-z]*)\s*(:))|\)))|\s*(,)
50
+ beginCaptures:
51
+ "1":
52
+ name: variable.parameter.graphql
53
+ "2":
54
+ name: punctuation.colon.graphql
55
+ endCaptures:
56
+ "3":
57
+ name: punctuation.comma.graphql
58
+ patterns:
59
+ - contentName: meta.embedded.block.connectors.mapping.graphql
60
+ begin: (("""))
61
+ end: (("""))
62
+ beginCaptures:
63
+ "1":
64
+ name: string.quoted.double.graphql
65
+ "2":
66
+ name: punctuation.definition.string.begin.graphql
67
+ endCaptures:
68
+ "1":
69
+ name: string.quoted.double.graphql
70
+ "2":
71
+ name: punctuation.definition.string.end.graphql
72
+ patterns:
73
+ - include: source.apollo.connectors.mapping
74
+ - contentName: meta.embedded.line.connectors.mapping.graphql
75
+ begin: (?<!")(("))(?!")
76
+ end: (?<!")(("))(?!")
77
+ beginCaptures:
78
+ "1":
79
+ name: string.quoted.double.graphql
80
+ "2":
81
+ name: punctuation.definition.string.begin.graphql
82
+ endCaptures:
83
+ "1":
84
+ name: string.quoted.double.graphql
85
+ "2":
86
+ name: punctuation.definition.string.end.graphql
87
+ patterns:
88
+ - include: source.apollo.connectors.mapping
89
+ - include: source.graphql#graphql-comment
90
+ - include: source.graphql#graphql-skip-newlines
91
+ # based to #graphql-argument, but only matching `http` arguments
92
+ connector-argument-http:
93
+ name: meta.argument.connect.http.graphql
94
+ begin: \s*(http)\s*(:)
95
+ end: (?=\s*(?:(?:([_A-Za-z][_0-9A-Za-z]*)\s*(:))|\)))|\s*(,)
96
+ beginCaptures:
97
+ "1":
98
+ name: variable.parameter.graphql
99
+ "2":
100
+ name: punctuation.colon.graphql
101
+ endCaptures:
102
+ "3":
103
+ name: punctuation.comma.graphql
104
+ patterns:
105
+ # we know that the child of this can not be a full #graphql-value, but only an object
106
+ # and we want to look for connectors-specific keys inside of that
107
+ - include: "#http-object-value"
108
+ - include: source.graphql#graphql-comment
109
+ - include: source.graphql#literal-quasi-embedded
110
+ # based on source.graphql#graphql-object-value
111
+ http-object-value:
112
+ patterns:
113
+ - name: meta.objectvalues.connect.http.graphql
114
+ begin: \s*({)
115
+ end: \s*(})
116
+ beginCaptures:
117
+ "1":
118
+ name: meta.brace.curly.graphql
119
+ endCaptures:
120
+ "1":
121
+ name: meta.brace.curly.graphql
122
+ patterns:
123
+ # this was added for GET/POST/PUT/PATCH/DELETE
124
+ - include: "#connector-string-connectors-mapping-argument"
125
+ # this was added for headers
126
+ - include: "#connector-array-connectors-mapping-headers"
127
+ # this was added for body
128
+ - include: "#http-object-connectors-mapping-property"
129
+ # original child patterns of source.graphql#graphql-object-value
130
+ - include: source.graphql#graphql-object-field
131
+ - include: source.graphql#graphql-value
132
+ # handling for @connect(http: { body: """ ... """ })
133
+ http-object-connectors-mapping-property:
134
+ patterns:
135
+ - name: meta.argument.connect.body.connectors.mapping.graphql
136
+ contentName: meta.embedded.block.connectors.mapping.graphql
137
+ begin: \s*(body)\s*(:)\s*(("""))
138
+ end: (("""))
139
+ beginCaptures:
140
+ "1":
141
+ name: variable.parameter.graphql
142
+ "2":
143
+ name: punctuation.colon.graphql
144
+ "3":
145
+ name: string.quoted.double.graphql
146
+ "4":
147
+ name: punctuation.definition.string.begin.graphql
148
+ endCaptures:
149
+ "1":
150
+ name: string.quoted.double.graphql
151
+ "2":
152
+ name: punctuation.definition.string.end.graphql
153
+ patterns:
154
+ - include: source.apollo.connectors.mapping
155
+ - name: meta.argument.connect.line.connectors.mapping.graphql
156
+ contentName: meta.embedded.line.connectors.mapping.graphql
157
+ begin: \s*(body)\s*(:)\s*(?<!")(("))(?!")
158
+ end: (?<!")(("))(?!")
159
+ beginCaptures:
160
+ "1":
161
+ name: variable.parameter.graphql
162
+ "2":
163
+ name: punctuation.colon.graphql
164
+ "3":
165
+ name: string.quoted.double.graphql
166
+ "4":
167
+ name: punctuation.definition.string.begin.graphql
168
+ endCaptures:
169
+ "1":
170
+ name: string.quoted.double.graphql
171
+ "2":
172
+ name: punctuation.definition.string.end.graphql
173
+ patterns:
174
+ - include: source.apollo.connectors.mapping
175
+ # handling for @connect(GET: " ... ")
176
+ connector-array-connectors-mapping-headers:
177
+ name: meta.connect.headers
178
+ begin: \s*((headers))(?:\s*(:))
179
+ beginCaptures:
180
+ "1":
181
+ name: string.unquoted.graphql
182
+ "2":
183
+ name: variable.object.key.graphql
184
+ end: (?<=\])
185
+ applyEndPatternLast: 1
186
+ patterns:
187
+ - name: meta.listvalues.graphql
188
+ begin: (\[)
189
+ end: (])
190
+ beginCaptures:
191
+ "1":
192
+ name: meta.brace.square.graphql
193
+ endCaptures:
194
+ "1":
195
+ name: meta.brace.square.graphql
196
+ patterns:
197
+ - name: meta.objectvalues.graphql
198
+ begin: \s*({)
199
+ end: \s*(})
200
+ beginCaptures:
201
+ "1":
202
+ name: meta.brace.curly.graphql
203
+ endCaptures:
204
+ "1":
205
+ name: meta.brace.curly.graphql
206
+ patterns:
207
+ - begin: (\w+)\s*(:)
208
+ end: (?=\s*(?:(?:([_A-Za-z][_0-9A-Za-z]*)\s*(:))|[\)}]))|\s*(,)
209
+ beginCaptures:
210
+ "1":
211
+ name: variable.object.key.graphql
212
+ "2":
213
+ name: punctuation.graphql
214
+ patterns:
215
+ - include: source.apollo.connectors.mapping#JSONSelectionString
216
+ - include: source.graphql#graphql-comment
217
+ - include: source.graphql#graphql-skip-newlines
218
+ - include: source.graphql#graphql-comment
219
+ - include: source.graphql#graphql-skip-newlines
220
+ - include: "source.graphql#graphql-comment"
221
+ - include: source.graphql#graphql-skip-newlines
222
+ connector-string-connectors-mapping-argument:
223
+ name: meta.argument.connect.string.connectors.mapping.graphql
224
+ contentName: meta.embedded.string.connectors.mapping.graphql
225
+ begin: \s*(GET|POST|PUT|PATCH|DELETE)(?:\s*(:))
226
+ end: (?=\s*(?:(?:([_A-Za-z][_0-9A-Za-z]*)\s*(:))|[\)}]))|\s*(,)
227
+ beginCaptures:
228
+ "1":
229
+ name: variable.parameter.graphql
230
+ "2":
231
+ name: punctuation.colon.graphql
232
+ endCaptures:
233
+ "3":
234
+ name: punctuation.comma.graphql
235
+ patterns:
236
+ - include: source.apollo.connectors.mapping#JSONSelectionString
237
+ - include: "source.graphql#graphql-comment"
238
+ - include: source.graphql#graphql-skip-newlines
239
+ # repeating an inlined pattern that's found within source.graphql#graphql-arguments here to only have minimal changes to graphql.json
240
+ graphql-argument:
241
+ begin: "\\s*([_A-Za-z][_0-9A-Za-z]*)(?:\\s*(:))"
242
+ end: "(?=\\s*(?:(?:([_A-Za-z][_0-9A-Za-z]*)\\s*(:))|\\)))|\\s*(,)"
243
+ beginCaptures:
244
+ "1":
245
+ name: variable.parameter.graphql
246
+ "2":
247
+ name: punctuation.colon.graphql
248
+ endCaptures:
249
+ "3":
250
+ name: punctuation.comma.graphql
251
+ patterns:
252
+ - include: "source.graphql#graphql-value"
253
+ - include: "source.graphql#graphql-comment"
254
+ - include: "source.graphql#graphql-skip-newlines"
@@ -342,7 +342,14 @@
342
342
  }
343
343
  },
344
344
  "graphql-directive": {
345
- "begin": "\\s*((@)\\s*([_A-Za-z][_0-9A-Za-z]*))",
345
+ "contentName": "meta.embedded.block.directive.graphql",
346
+ "begin": "\\s*(?=@)",
347
+ "end": "(?=.)",
348
+ "applyEndPatternLast": 1,
349
+ "patterns": [{ "include": "#graphql-directive-body" }]
350
+ },
351
+ "graphql-directive-body": {
352
+ "begin": "((@)\\s*([_A-Za-z][_0-9A-Za-z]*))",
346
353
  "end": "(?=.)",
347
354
  "applyEndPatternLast": 1,
348
355
  "beginCaptures": {