@guanlin4924/devflow-pi 0.1.77 → 0.1.79
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.
- package/package.json +9 -2
- package/plugins/devflow-intel/extensions/devflow-intel.ts +12 -1
- package/plugins/devflow-intel/skills/code-index-query/SKILL.md +8 -0
- package/plugins/devflow-intel/skills/workflow-code-index/SKILL.md +5 -0
- package/plugins/devflow-intel/skills/workflow-code-index/references/adapter-contract.md +8 -0
- package/plugins/devflow-intel/skills/workflow-code-index/references/data-model.md +1 -1
- package/plugins/devflow-intel/skills/workflow-code-index/scripts/adapters/capabilities.py +26 -0
- package/plugins/devflow-intel/skills/workflow-code-index/scripts/adapters/generic_text.py +3 -1
- package/plugins/devflow-intel/skills/workflow-code-index/scripts/adapters/helpers/tree_sitter_wasm_helper.mjs +50 -0
- package/plugins/devflow-intel/skills/workflow-code-index/scripts/adapters/parser-capabilities.json +491 -0
- package/plugins/devflow-intel/skills/workflow-code-index/scripts/adapters/registry.py +20 -31
- package/plugins/devflow-intel/skills/workflow-code-index/scripts/adapters/tree_sitter_wasm.py +253 -0
- package/plugins/devflow-intel/skills/workflow-code-index/scripts/code_index.py +173 -32
- package/plugins/devflow-intel/skills/workflow-code-index/scripts/semantic.py +93 -12
- package/plugins/devflow-intel/skills/workflow-code-index/scripts/writers/sqlite_writer.py +26 -13
- package/src/constants.ts +1 -1
package/plugins/devflow-intel/skills/workflow-code-index/scripts/adapters/parser-capabilities.json
ADDED
|
@@ -0,0 +1,491 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"languages": {
|
|
4
|
+
"python": {
|
|
5
|
+
"parser": "python-ast@1",
|
|
6
|
+
"strategy": "native",
|
|
7
|
+
"status": "implemented",
|
|
8
|
+
"runtime": "python-stdlib",
|
|
9
|
+
"fallback": "generic-text@2"
|
|
10
|
+
},
|
|
11
|
+
"typescript": {
|
|
12
|
+
"parser": "typescript-compiler-ast@1",
|
|
13
|
+
"strategy": "native",
|
|
14
|
+
"status": "implemented",
|
|
15
|
+
"runtime": "node-typescript",
|
|
16
|
+
"fallback": "structured-scope@1"
|
|
17
|
+
},
|
|
18
|
+
"javascript": {
|
|
19
|
+
"parser": "typescript-compiler-ast@1",
|
|
20
|
+
"strategy": "native",
|
|
21
|
+
"status": "implemented",
|
|
22
|
+
"runtime": "node-typescript",
|
|
23
|
+
"fallback": "structured-scope@1"
|
|
24
|
+
},
|
|
25
|
+
"go": {
|
|
26
|
+
"parser": "go-parser-ast@1",
|
|
27
|
+
"strategy": "native",
|
|
28
|
+
"status": "implemented",
|
|
29
|
+
"runtime": "go-toolchain",
|
|
30
|
+
"fallback": "structured-scope@1"
|
|
31
|
+
},
|
|
32
|
+
"java": {
|
|
33
|
+
"parser": "javac-tree-ast@1",
|
|
34
|
+
"strategy": "native",
|
|
35
|
+
"status": "implemented",
|
|
36
|
+
"runtime": "jdk-compiler",
|
|
37
|
+
"fallback": "structured-scope@1"
|
|
38
|
+
},
|
|
39
|
+
"php": {
|
|
40
|
+
"parser": "nikic-php-parser-ast@1",
|
|
41
|
+
"strategy": "native",
|
|
42
|
+
"status": "conditional",
|
|
43
|
+
"runtime": "php-composer",
|
|
44
|
+
"fallback": "structured-scope@1",
|
|
45
|
+
"todo": "Bundle or provision nikic PHP-Parser independently of target repositories."
|
|
46
|
+
},
|
|
47
|
+
"ruby": {
|
|
48
|
+
"parser": "tree-sitter-wasm:ruby@1",
|
|
49
|
+
"strategy": "tree-sitter-wasm",
|
|
50
|
+
"status": "implemented",
|
|
51
|
+
"fallback": "structured-scope@1",
|
|
52
|
+
"support_level": "supported",
|
|
53
|
+
"grammar": {
|
|
54
|
+
"id": "ruby",
|
|
55
|
+
"package": "@plurnk/plurnk-mimetypes-grammar-ruby",
|
|
56
|
+
"version": "1.16.1",
|
|
57
|
+
"sha256": "sha256:cb39211ed6631a1c20ac8a90fa2f981102e9f5a388baa3fea860cc7a36f76984",
|
|
58
|
+
"license": "MIT",
|
|
59
|
+
"fixture": "tests/fixtures/tree-sitter/ruby",
|
|
60
|
+
"embedded_languages": []
|
|
61
|
+
},
|
|
62
|
+
"runtime_dependency": "@plurnk/plurnk-mimetypes-grammar-ruby@1.16.1"
|
|
63
|
+
},
|
|
64
|
+
"rust": {
|
|
65
|
+
"parser": "tree-sitter-wasm:rust@1",
|
|
66
|
+
"strategy": "tree-sitter-wasm",
|
|
67
|
+
"status": "unavailable",
|
|
68
|
+
"fallback": "structured-scope@1",
|
|
69
|
+
"support_level": "parser_unavailable",
|
|
70
|
+
"grammar": {
|
|
71
|
+
"id": "rust",
|
|
72
|
+
"package": "tree-sitter-rust",
|
|
73
|
+
"version": null,
|
|
74
|
+
"sha256": null,
|
|
75
|
+
"license": "MIT",
|
|
76
|
+
"fixture": "tests/fixtures/tree-sitter/rust",
|
|
77
|
+
"embedded_languages": []
|
|
78
|
+
},
|
|
79
|
+
"todo": "Provide a pinned web-tree-sitter WASM grammar via DEVFLOW_TREE_SITTER_WASM_GRAMMAR_RUST."
|
|
80
|
+
},
|
|
81
|
+
"kotlin": {
|
|
82
|
+
"parser": "tree-sitter-wasm:kotlin@1",
|
|
83
|
+
"strategy": "tree-sitter-wasm",
|
|
84
|
+
"status": "implemented",
|
|
85
|
+
"fallback": "structured-scope@1",
|
|
86
|
+
"support_level": "supported",
|
|
87
|
+
"grammar": {
|
|
88
|
+
"id": "kotlin",
|
|
89
|
+
"package": "@plurnk/plurnk-mimetypes-grammar-kotlin",
|
|
90
|
+
"version": "1.16.1",
|
|
91
|
+
"sha256": "sha256:7294358f85c60e15602fc35b175c9b5559ca8bf39aeb0fd91a7d84f63f5fbf1a",
|
|
92
|
+
"license": "MIT",
|
|
93
|
+
"fixture": "tests/fixtures/tree-sitter/kotlin",
|
|
94
|
+
"embedded_languages": []
|
|
95
|
+
},
|
|
96
|
+
"runtime_dependency": "@plurnk/plurnk-mimetypes-grammar-kotlin@1.16.1"
|
|
97
|
+
},
|
|
98
|
+
"c": {
|
|
99
|
+
"parser": "tree-sitter-wasm:c@1",
|
|
100
|
+
"strategy": "tree-sitter-wasm",
|
|
101
|
+
"status": "unavailable",
|
|
102
|
+
"fallback": "structured-scope@1",
|
|
103
|
+
"support_level": "parser_unavailable",
|
|
104
|
+
"grammar": {
|
|
105
|
+
"id": "c",
|
|
106
|
+
"package": "tree-sitter-c",
|
|
107
|
+
"version": null,
|
|
108
|
+
"sha256": null,
|
|
109
|
+
"license": "MIT",
|
|
110
|
+
"fixture": "tests/fixtures/tree-sitter/c",
|
|
111
|
+
"embedded_languages": []
|
|
112
|
+
},
|
|
113
|
+
"todo": "Provide a pinned web-tree-sitter WASM grammar via DEVFLOW_TREE_SITTER_WASM_GRAMMAR_C."
|
|
114
|
+
},
|
|
115
|
+
"cpp": {
|
|
116
|
+
"parser": "tree-sitter-wasm:cpp@1",
|
|
117
|
+
"strategy": "tree-sitter-wasm",
|
|
118
|
+
"status": "implemented",
|
|
119
|
+
"fallback": "structured-scope@1",
|
|
120
|
+
"support_level": "supported",
|
|
121
|
+
"grammar": {
|
|
122
|
+
"id": "cpp",
|
|
123
|
+
"package": "@plurnk/plurnk-mimetypes-grammar-cpp",
|
|
124
|
+
"version": "1.16.1",
|
|
125
|
+
"sha256": "sha256:9f74e4a1b2861425f8931f8934ea48b975560f51af5c913c42049eb4e9b016f4",
|
|
126
|
+
"license": "MIT",
|
|
127
|
+
"fixture": "tests/fixtures/tree-sitter/cpp",
|
|
128
|
+
"embedded_languages": []
|
|
129
|
+
},
|
|
130
|
+
"runtime_dependency": "@plurnk/plurnk-mimetypes-grammar-cpp@1.16.1"
|
|
131
|
+
},
|
|
132
|
+
"csharp": {
|
|
133
|
+
"parser": "tree-sitter-wasm:c_sharp@1",
|
|
134
|
+
"strategy": "tree-sitter-wasm",
|
|
135
|
+
"status": "unavailable",
|
|
136
|
+
"fallback": "structured-scope@1",
|
|
137
|
+
"support_level": "parser_unavailable",
|
|
138
|
+
"grammar": {
|
|
139
|
+
"id": "c_sharp",
|
|
140
|
+
"package": "tree-sitter-c-sharp",
|
|
141
|
+
"version": null,
|
|
142
|
+
"sha256": null,
|
|
143
|
+
"license": "MIT",
|
|
144
|
+
"fixture": "tests/fixtures/tree-sitter/csharp",
|
|
145
|
+
"embedded_languages": []
|
|
146
|
+
},
|
|
147
|
+
"todo": "Provide a pinned web-tree-sitter WASM grammar via DEVFLOW_TREE_SITTER_WASM_GRAMMAR_CSHARP."
|
|
148
|
+
},
|
|
149
|
+
"swift": {
|
|
150
|
+
"parser": "tree-sitter-wasm:swift@1",
|
|
151
|
+
"strategy": "tree-sitter-wasm",
|
|
152
|
+
"status": "unavailable",
|
|
153
|
+
"fallback": "structured-scope@1",
|
|
154
|
+
"support_level": "parser_unavailable",
|
|
155
|
+
"grammar": {
|
|
156
|
+
"id": "swift",
|
|
157
|
+
"package": "tree-sitter-swift",
|
|
158
|
+
"version": null,
|
|
159
|
+
"sha256": null,
|
|
160
|
+
"license": "MIT",
|
|
161
|
+
"fixture": "tests/fixtures/tree-sitter/swift",
|
|
162
|
+
"embedded_languages": []
|
|
163
|
+
},
|
|
164
|
+
"todo": "Provide a pinned web-tree-sitter WASM grammar via DEVFLOW_TREE_SITTER_WASM_GRAMMAR_SWIFT."
|
|
165
|
+
},
|
|
166
|
+
"dart": {
|
|
167
|
+
"parser": "tree-sitter-wasm:dart@1",
|
|
168
|
+
"strategy": "tree-sitter-wasm",
|
|
169
|
+
"status": "unavailable",
|
|
170
|
+
"fallback": "structured-scope@1",
|
|
171
|
+
"support_level": "parser_unavailable",
|
|
172
|
+
"grammar": {
|
|
173
|
+
"id": "dart",
|
|
174
|
+
"package": "tree-sitter-dart",
|
|
175
|
+
"version": null,
|
|
176
|
+
"sha256": null,
|
|
177
|
+
"license": "MIT",
|
|
178
|
+
"fixture": "tests/fixtures/tree-sitter/dart",
|
|
179
|
+
"embedded_languages": []
|
|
180
|
+
},
|
|
181
|
+
"todo": "Provide a pinned web-tree-sitter WASM grammar via DEVFLOW_TREE_SITTER_WASM_GRAMMAR_DART."
|
|
182
|
+
},
|
|
183
|
+
"scala": {
|
|
184
|
+
"parser": "tree-sitter-wasm:scala@1",
|
|
185
|
+
"strategy": "tree-sitter-wasm",
|
|
186
|
+
"status": "implemented",
|
|
187
|
+
"fallback": "structured-scope@1",
|
|
188
|
+
"support_level": "supported",
|
|
189
|
+
"grammar": {
|
|
190
|
+
"id": "scala",
|
|
191
|
+
"package": "@plurnk/plurnk-mimetypes-grammar-scala",
|
|
192
|
+
"version": "1.16.1",
|
|
193
|
+
"sha256": "sha256:026c2f9a8374109861f6621f4759ef690faebcaa67c2d56b06af3786c206b030",
|
|
194
|
+
"license": "Apache-2.0",
|
|
195
|
+
"fixture": "tests/fixtures/tree-sitter/scala",
|
|
196
|
+
"embedded_languages": []
|
|
197
|
+
},
|
|
198
|
+
"runtime_dependency": "@plurnk/plurnk-mimetypes-grammar-scala@1.16.1"
|
|
199
|
+
},
|
|
200
|
+
"lua": {
|
|
201
|
+
"parser": "tree-sitter-wasm:lua@1",
|
|
202
|
+
"strategy": "tree-sitter-wasm",
|
|
203
|
+
"status": "conditional",
|
|
204
|
+
"support_level": "parser_unavailable",
|
|
205
|
+
"fallback": "structured-scope@1",
|
|
206
|
+
"grammar": {
|
|
207
|
+
"id": "lua",
|
|
208
|
+
"package": "tree-sitter-lua",
|
|
209
|
+
"version": null,
|
|
210
|
+
"sha256": null,
|
|
211
|
+
"license": "MIT",
|
|
212
|
+
"fixture": "tests/fixtures/tree-sitter/lua",
|
|
213
|
+
"embedded_languages": []
|
|
214
|
+
},
|
|
215
|
+
"todo": "Provide a pinned web-tree-sitter WASM grammar via DEVFLOW_TREE_SITTER_WASM_GRAMMAR_LUA."
|
|
216
|
+
},
|
|
217
|
+
"shell": {
|
|
218
|
+
"parser": "tree-sitter-wasm:bash@1",
|
|
219
|
+
"strategy": "tree-sitter-wasm",
|
|
220
|
+
"status": "conditional",
|
|
221
|
+
"support_level": "parser_unavailable",
|
|
222
|
+
"fallback": "structured-scope@1",
|
|
223
|
+
"grammar": {
|
|
224
|
+
"id": "bash",
|
|
225
|
+
"package": "tree-sitter-bash",
|
|
226
|
+
"version": null,
|
|
227
|
+
"sha256": null,
|
|
228
|
+
"license": "MIT",
|
|
229
|
+
"fixture": "tests/fixtures/tree-sitter/bash",
|
|
230
|
+
"embedded_languages": []
|
|
231
|
+
},
|
|
232
|
+
"todo": "Provide a pinned web-tree-sitter WASM grammar via DEVFLOW_TREE_SITTER_WASM_GRAMMAR_SHELL."
|
|
233
|
+
},
|
|
234
|
+
"vue": {
|
|
235
|
+
"parser": "tree-sitter-wasm:vue@1",
|
|
236
|
+
"strategy": "tree-sitter-wasm",
|
|
237
|
+
"status": "unavailable",
|
|
238
|
+
"fallback": "structured-scope@1",
|
|
239
|
+
"support_level": "parser_unavailable",
|
|
240
|
+
"grammar": {
|
|
241
|
+
"id": "vue",
|
|
242
|
+
"package": "tree-sitter-vue",
|
|
243
|
+
"version": null,
|
|
244
|
+
"sha256": null,
|
|
245
|
+
"license": "MIT",
|
|
246
|
+
"fixture": "tests/fixtures/tree-sitter/vue",
|
|
247
|
+
"embedded_languages": []
|
|
248
|
+
},
|
|
249
|
+
"todo": "Provide a pinned web-tree-sitter WASM grammar via DEVFLOW_TREE_SITTER_WASM_GRAMMAR_VUE."
|
|
250
|
+
},
|
|
251
|
+
"svelte": {
|
|
252
|
+
"parser": "tree-sitter-wasm:svelte@1",
|
|
253
|
+
"strategy": "tree-sitter-wasm",
|
|
254
|
+
"status": "unavailable",
|
|
255
|
+
"fallback": "structured-scope@1",
|
|
256
|
+
"support_level": "parser_unavailable",
|
|
257
|
+
"grammar": {
|
|
258
|
+
"id": "svelte",
|
|
259
|
+
"package": "tree-sitter-svelte",
|
|
260
|
+
"version": null,
|
|
261
|
+
"sha256": null,
|
|
262
|
+
"license": "MIT",
|
|
263
|
+
"fixture": "tests/fixtures/tree-sitter/svelte",
|
|
264
|
+
"embedded_languages": []
|
|
265
|
+
},
|
|
266
|
+
"todo": "Provide a pinned web-tree-sitter WASM grammar via DEVFLOW_TREE_SITTER_WASM_GRAMMAR_SVELTE."
|
|
267
|
+
},
|
|
268
|
+
"sql": {
|
|
269
|
+
"parser": "tree-sitter-wasm:sql@1",
|
|
270
|
+
"strategy": "tree-sitter-wasm",
|
|
271
|
+
"status": "unavailable",
|
|
272
|
+
"fallback": "generic-text@2",
|
|
273
|
+
"support_level": "parser_unavailable",
|
|
274
|
+
"grammar": {
|
|
275
|
+
"id": "sql",
|
|
276
|
+
"package": "tree-sitter-sql",
|
|
277
|
+
"version": null,
|
|
278
|
+
"sha256": null,
|
|
279
|
+
"license": "MIT",
|
|
280
|
+
"fixture": "tests/fixtures/tree-sitter/sql",
|
|
281
|
+
"embedded_languages": []
|
|
282
|
+
},
|
|
283
|
+
"todo": "Provide a pinned web-tree-sitter WASM grammar via DEVFLOW_TREE_SITTER_WASM_GRAMMAR_SQL."
|
|
284
|
+
},
|
|
285
|
+
"html": {
|
|
286
|
+
"parser": "tree-sitter-wasm:html@1",
|
|
287
|
+
"strategy": "tree-sitter-wasm",
|
|
288
|
+
"status": "unavailable",
|
|
289
|
+
"fallback": "generic-text@2",
|
|
290
|
+
"support_level": "parser_unavailable",
|
|
291
|
+
"grammar": {
|
|
292
|
+
"id": "html",
|
|
293
|
+
"package": "tree-sitter-html",
|
|
294
|
+
"version": null,
|
|
295
|
+
"sha256": null,
|
|
296
|
+
"license": "MIT",
|
|
297
|
+
"fixture": "tests/fixtures/tree-sitter/html",
|
|
298
|
+
"embedded_languages": []
|
|
299
|
+
},
|
|
300
|
+
"todo": "Provide a pinned web-tree-sitter WASM grammar via DEVFLOW_TREE_SITTER_WASM_GRAMMAR_HTML."
|
|
301
|
+
},
|
|
302
|
+
"css": {
|
|
303
|
+
"parser": "tree-sitter-wasm:css@1",
|
|
304
|
+
"strategy": "tree-sitter-wasm",
|
|
305
|
+
"status": "unavailable",
|
|
306
|
+
"fallback": "generic-text@2",
|
|
307
|
+
"support_level": "parser_unavailable",
|
|
308
|
+
"grammar": {
|
|
309
|
+
"id": "css",
|
|
310
|
+
"package": "tree-sitter-css",
|
|
311
|
+
"version": null,
|
|
312
|
+
"sha256": null,
|
|
313
|
+
"license": "MIT",
|
|
314
|
+
"fixture": "tests/fixtures/tree-sitter/css",
|
|
315
|
+
"embedded_languages": []
|
|
316
|
+
},
|
|
317
|
+
"todo": "Provide a pinned web-tree-sitter WASM grammar via DEVFLOW_TREE_SITTER_WASM_GRAMMAR_CSS."
|
|
318
|
+
},
|
|
319
|
+
"json": {
|
|
320
|
+
"parser": "tree-sitter-wasm:json@1",
|
|
321
|
+
"strategy": "tree-sitter-wasm",
|
|
322
|
+
"status": "unavailable",
|
|
323
|
+
"fallback": "generic-text@2",
|
|
324
|
+
"support_level": "parser_unavailable",
|
|
325
|
+
"grammar": {
|
|
326
|
+
"id": "json",
|
|
327
|
+
"package": "tree-sitter-json",
|
|
328
|
+
"version": null,
|
|
329
|
+
"sha256": null,
|
|
330
|
+
"license": "MIT",
|
|
331
|
+
"fixture": "tests/fixtures/tree-sitter/json",
|
|
332
|
+
"embedded_languages": []
|
|
333
|
+
},
|
|
334
|
+
"todo": "Provide a pinned web-tree-sitter WASM grammar via DEVFLOW_TREE_SITTER_WASM_GRAMMAR_JSON."
|
|
335
|
+
},
|
|
336
|
+
"yaml": {
|
|
337
|
+
"parser": "tree-sitter-wasm:yaml@1",
|
|
338
|
+
"strategy": "tree-sitter-wasm",
|
|
339
|
+
"status": "implemented",
|
|
340
|
+
"fallback": "generic-text@2",
|
|
341
|
+
"support_level": "supported",
|
|
342
|
+
"grammar": {
|
|
343
|
+
"id": "yaml",
|
|
344
|
+
"package": "@plurnk/plurnk-mimetypes-grammar-yaml",
|
|
345
|
+
"version": "1.16.1",
|
|
346
|
+
"sha256": "sha256:1d87a5e4a634f475e63dc232b1e67cd1930c3c1585892df792eada06ff7ffce7",
|
|
347
|
+
"license": "MIT",
|
|
348
|
+
"fixture": "tests/fixtures/tree-sitter/yaml",
|
|
349
|
+
"embedded_languages": []
|
|
350
|
+
},
|
|
351
|
+
"runtime_dependency": "@plurnk/plurnk-mimetypes-grammar-yaml@1.16.1"
|
|
352
|
+
},
|
|
353
|
+
"toml": {
|
|
354
|
+
"parser": "tree-sitter-wasm:toml@1",
|
|
355
|
+
"strategy": "tree-sitter-wasm",
|
|
356
|
+
"status": "unavailable",
|
|
357
|
+
"fallback": "generic-text@2",
|
|
358
|
+
"support_level": "parser_unavailable",
|
|
359
|
+
"grammar": {
|
|
360
|
+
"id": "toml",
|
|
361
|
+
"package": "tree-sitter-toml",
|
|
362
|
+
"version": null,
|
|
363
|
+
"sha256": null,
|
|
364
|
+
"license": "MIT",
|
|
365
|
+
"fixture": "tests/fixtures/tree-sitter/toml",
|
|
366
|
+
"embedded_languages": []
|
|
367
|
+
},
|
|
368
|
+
"todo": "Provide a pinned web-tree-sitter WASM grammar via DEVFLOW_TREE_SITTER_WASM_GRAMMAR_TOML."
|
|
369
|
+
},
|
|
370
|
+
"xml": {
|
|
371
|
+
"parser": "tree-sitter-wasm:xml@1",
|
|
372
|
+
"strategy": "tree-sitter-wasm",
|
|
373
|
+
"status": "unavailable",
|
|
374
|
+
"fallback": "generic-text@2",
|
|
375
|
+
"support_level": "parser_unavailable",
|
|
376
|
+
"grammar": {
|
|
377
|
+
"id": "xml",
|
|
378
|
+
"package": "tree-sitter-xml",
|
|
379
|
+
"version": null,
|
|
380
|
+
"sha256": null,
|
|
381
|
+
"license": "MIT",
|
|
382
|
+
"fixture": "tests/fixtures/tree-sitter/xml",
|
|
383
|
+
"embedded_languages": []
|
|
384
|
+
},
|
|
385
|
+
"todo": "Provide a pinned web-tree-sitter WASM grammar via DEVFLOW_TREE_SITTER_WASM_GRAMMAR_XML."
|
|
386
|
+
},
|
|
387
|
+
"graphql": {
|
|
388
|
+
"parser": "tree-sitter-wasm:graphql@1",
|
|
389
|
+
"strategy": "tree-sitter-wasm",
|
|
390
|
+
"status": "implemented",
|
|
391
|
+
"fallback": "generic-text@2",
|
|
392
|
+
"support_level": "supported",
|
|
393
|
+
"grammar": {
|
|
394
|
+
"id": "graphql",
|
|
395
|
+
"package": "tree-sitter-graphql-grammar-wasm",
|
|
396
|
+
"version": "1.1.0",
|
|
397
|
+
"sha256": "sha256:3def862e09d38087496d20de787427327a1242a4b36ee341879892979d3c51bf",
|
|
398
|
+
"license": "MIT",
|
|
399
|
+
"fixture": "tests/fixtures/tree-sitter/graphql",
|
|
400
|
+
"embedded_languages": []
|
|
401
|
+
},
|
|
402
|
+
"runtime_dependency": "tree-sitter-graphql-grammar-wasm@1.1.0",
|
|
403
|
+
"todo": "Additional language grammars require separately pinned WASM packages."
|
|
404
|
+
},
|
|
405
|
+
"protobuf": {
|
|
406
|
+
"parser": "tree-sitter-wasm:proto@1",
|
|
407
|
+
"strategy": "tree-sitter-wasm",
|
|
408
|
+
"status": "unavailable",
|
|
409
|
+
"fallback": "generic-text@2",
|
|
410
|
+
"support_level": "parser_unavailable",
|
|
411
|
+
"grammar": {
|
|
412
|
+
"id": "proto",
|
|
413
|
+
"package": "tree-sitter-proto",
|
|
414
|
+
"version": null,
|
|
415
|
+
"sha256": null,
|
|
416
|
+
"license": "MIT",
|
|
417
|
+
"fixture": "tests/fixtures/tree-sitter/protobuf",
|
|
418
|
+
"embedded_languages": []
|
|
419
|
+
},
|
|
420
|
+
"todo": "Provide a pinned web-tree-sitter WASM grammar via DEVFLOW_TREE_SITTER_WASM_GRAMMAR_PROTOBUF."
|
|
421
|
+
},
|
|
422
|
+
"hcl": {
|
|
423
|
+
"parser": "tree-sitter-wasm:hcl@1",
|
|
424
|
+
"strategy": "tree-sitter-wasm",
|
|
425
|
+
"status": "unavailable",
|
|
426
|
+
"fallback": "generic-text@2",
|
|
427
|
+
"support_level": "parser_unavailable",
|
|
428
|
+
"grammar": {
|
|
429
|
+
"id": "hcl",
|
|
430
|
+
"package": "tree-sitter-hcl",
|
|
431
|
+
"version": null,
|
|
432
|
+
"sha256": null,
|
|
433
|
+
"license": "MIT",
|
|
434
|
+
"fixture": "tests/fixtures/tree-sitter/hcl",
|
|
435
|
+
"embedded_languages": []
|
|
436
|
+
},
|
|
437
|
+
"todo": "Provide a pinned web-tree-sitter WASM grammar via DEVFLOW_TREE_SITTER_WASM_GRAMMAR_HCL."
|
|
438
|
+
},
|
|
439
|
+
"terraform": {
|
|
440
|
+
"parser": "tree-sitter-wasm:hcl@1",
|
|
441
|
+
"strategy": "tree-sitter-wasm",
|
|
442
|
+
"status": "unavailable",
|
|
443
|
+
"fallback": "generic-text@2",
|
|
444
|
+
"support_level": "parser_unavailable",
|
|
445
|
+
"grammar": {
|
|
446
|
+
"id": "hcl",
|
|
447
|
+
"package": "tree-sitter-hcl",
|
|
448
|
+
"version": null,
|
|
449
|
+
"sha256": null,
|
|
450
|
+
"license": "MIT",
|
|
451
|
+
"fixture": "tests/fixtures/tree-sitter/terraform",
|
|
452
|
+
"embedded_languages": []
|
|
453
|
+
},
|
|
454
|
+
"todo": "Provide a pinned web-tree-sitter WASM grammar via DEVFLOW_TREE_SITTER_WASM_GRAMMAR_TERRAFORM."
|
|
455
|
+
},
|
|
456
|
+
"dockerfile": {
|
|
457
|
+
"parser": "tree-sitter-wasm:dockerfile@1",
|
|
458
|
+
"strategy": "tree-sitter-wasm",
|
|
459
|
+
"status": "unavailable",
|
|
460
|
+
"fallback": "generic-text@2",
|
|
461
|
+
"support_level": "parser_unavailable",
|
|
462
|
+
"grammar": {
|
|
463
|
+
"id": "dockerfile",
|
|
464
|
+
"package": "tree-sitter-dockerfile",
|
|
465
|
+
"version": null,
|
|
466
|
+
"sha256": null,
|
|
467
|
+
"license": "MIT",
|
|
468
|
+
"fixture": "tests/fixtures/tree-sitter/dockerfile",
|
|
469
|
+
"embedded_languages": []
|
|
470
|
+
},
|
|
471
|
+
"todo": "Provide a pinned web-tree-sitter WASM grammar via DEVFLOW_TREE_SITTER_WASM_GRAMMAR_DOCKERFILE."
|
|
472
|
+
},
|
|
473
|
+
"markdown": {
|
|
474
|
+
"parser": "tree-sitter-wasm:markdown@1",
|
|
475
|
+
"strategy": "tree-sitter-wasm",
|
|
476
|
+
"status": "unavailable",
|
|
477
|
+
"fallback": "generic-text@2",
|
|
478
|
+
"support_level": "parser_unavailable",
|
|
479
|
+
"grammar": {
|
|
480
|
+
"id": "markdown",
|
|
481
|
+
"package": "tree-sitter-markdown",
|
|
482
|
+
"version": null,
|
|
483
|
+
"sha256": null,
|
|
484
|
+
"license": "MIT",
|
|
485
|
+
"fixture": "tests/fixtures/tree-sitter/markdown",
|
|
486
|
+
"embedded_languages": []
|
|
487
|
+
},
|
|
488
|
+
"todo": "Provide a pinned web-tree-sitter WASM grammar via DEVFLOW_TREE_SITTER_WASM_GRAMMAR_MARKDOWN."
|
|
489
|
+
}
|
|
490
|
+
}
|
|
491
|
+
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
from .capabilities import load_capability_manifest
|
|
1
2
|
from .generic_text import GenericTextAdapter
|
|
2
3
|
from .go_ast import GoAstAdapter
|
|
3
4
|
from .java_ast import JavaAstAdapter
|
|
@@ -5,37 +6,11 @@ from .native_process import UnavailableNativeAdapter
|
|
|
5
6
|
from .php_ast import PhpAstAdapter
|
|
6
7
|
from .python_ast import PythonAstAdapter
|
|
7
8
|
from .structured_scope import StructuredScopeAdapter
|
|
9
|
+
from .tree_sitter_wasm import TreeSitterWasmAdapter
|
|
8
10
|
from .typescript_ast import TypeScriptAstAdapter
|
|
9
11
|
|
|
10
12
|
|
|
11
|
-
|
|
12
|
-
"ruby": ("prism-ast", "Ruby Prism integration is not installed"),
|
|
13
|
-
"rust": ("rust-analyzer-ast", "rust-analyzer/syn integration is not installed"),
|
|
14
|
-
"kotlin": ("kotlin-psi-ast", "Kotlin PSI/compiler integration is not installed"),
|
|
15
|
-
"c": ("clang-ast", "Clang libTooling integration is not installed"),
|
|
16
|
-
"cpp": ("clang-ast", "Clang libTooling integration is not installed"),
|
|
17
|
-
"csharp": ("roslyn-ast", "Roslyn integration is not installed"),
|
|
18
|
-
"swift": ("swift-syntax-ast", "SwiftSyntax integration is not installed"),
|
|
19
|
-
"dart": ("dart-analyzer-ast", "Dart analyzer integration is not installed"),
|
|
20
|
-
"scala": ("scalameta-ast", "Scalameta integration is not installed"),
|
|
21
|
-
"lua": ("tree-sitter-lua-ast", "tree-sitter-lua integration is not installed"),
|
|
22
|
-
"shell": ("tree-sitter-bash-ast", "tree-sitter-bash integration is not installed"),
|
|
23
|
-
"vue": ("vue-compiler-ast", "Vue compiler integration is not installed"),
|
|
24
|
-
"svelte": ("svelte-compiler-ast", "Svelte compiler integration is not installed"),
|
|
25
|
-
"sql": ("sqlglot-ast", "SQLGlot integration is not installed"),
|
|
26
|
-
"html": ("html-parser-ast", "HTML syntax adapter is not installed"),
|
|
27
|
-
"css": ("postcss-ast", "PostCSS integration is not installed"),
|
|
28
|
-
"json": ("json-syntax-tree", "JSON syntax adapter is not installed"),
|
|
29
|
-
"yaml": ("yaml-syntax-tree", "YAML syntax adapter is not installed"),
|
|
30
|
-
"toml": ("toml-syntax-tree", "TOML syntax adapter is not installed"),
|
|
31
|
-
"xml": ("xml-syntax-tree", "XML syntax adapter is not installed"),
|
|
32
|
-
"graphql": ("graphql-ast", "GraphQL parser integration is not installed"),
|
|
33
|
-
"protobuf": ("protobuf-parser-ast", "Protobuf parser integration is not installed"),
|
|
34
|
-
"hcl": ("hcl-parser-ast", "HCL parser integration is not installed"),
|
|
35
|
-
"terraform": ("hcl-parser-ast", "HCL parser integration is not installed"),
|
|
36
|
-
"dockerfile": ("dockerfile-parser-ast", "Dockerfile parser integration is not installed"),
|
|
37
|
-
"markdown": ("markdown-parser-ast", "Markdown syntax adapter is not installed"),
|
|
38
|
-
}
|
|
13
|
+
CAPABILITY_MANIFEST = load_capability_manifest()
|
|
39
14
|
|
|
40
15
|
|
|
41
16
|
class AdapterRegistry:
|
|
@@ -61,9 +36,16 @@ class AdapterRegistry:
|
|
|
61
36
|
"ruby", "rust", "kotlin", "c", "cpp", "csharp", "swift",
|
|
62
37
|
"dart", "scala", "lua", "shell", "vue", "svelte",
|
|
63
38
|
}
|
|
64
|
-
for language,
|
|
39
|
+
for language, declaration in CAPABILITY_MANIFEST["languages"].items():
|
|
40
|
+
if language in self.language_adapters:
|
|
41
|
+
continue
|
|
42
|
+
expected = declaration["parser"]
|
|
43
|
+
reason = declaration.get("todo") or f"{expected} integration is not installed"
|
|
65
44
|
fallback = self.structured if language in structured_languages else self.generic
|
|
66
|
-
|
|
45
|
+
if declaration.get("strategy") == "tree-sitter-wasm":
|
|
46
|
+
self.language_adapters[language] = TreeSitterWasmAdapter(language, fallback)
|
|
47
|
+
else:
|
|
48
|
+
self.language_adapters[language] = UnavailableNativeAdapter(language, expected, fallback, reason)
|
|
67
49
|
|
|
68
50
|
def adapter_for_file(self, codebase, file_record):
|
|
69
51
|
language = file_record.get("language")
|
|
@@ -76,7 +58,14 @@ class AdapterRegistry:
|
|
|
76
58
|
return [self.adapter_for_file(codebase, {"language": self._language(path)}) for path in files]
|
|
77
59
|
|
|
78
60
|
def capabilities(self):
|
|
79
|
-
|
|
61
|
+
capabilities = {}
|
|
62
|
+
for language, adapter in sorted(self.language_adapters.items()):
|
|
63
|
+
declaration = dict(CAPABILITY_MANIFEST["languages"].get(language, {}))
|
|
64
|
+
runtime = adapter.capability()
|
|
65
|
+
declaration["declaredStatus"] = declaration.pop("status", "unknown")
|
|
66
|
+
declaration.update(runtime)
|
|
67
|
+
capabilities[language] = declaration
|
|
68
|
+
return capabilities
|
|
80
69
|
|
|
81
70
|
@staticmethod
|
|
82
71
|
def _language(path):
|