summaryrefslogtreecommitdiff
blob: 7c0fddeac6035b7fb3ebb420403046cc20f93ee4 (plain)
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
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
# Copyright 2023-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

# Auto-Generated by helix_ebuild.py (see FILESDIR)

EAPI=8

CRATES="
	adler-1.0.2
	ahash-0.7.6
	ahash-0.8.2
	aho-corasick-0.7.20
	android_system_properties-0.1.5
	anyhow-1.0.66
	arc-swap-1.5.1
	atoi-1.0.0
	autocfg-1.1.0
	bitflags-1.3.2
	bstr-0.2.17
	bstr-1.0.1
	btoi-0.4.2
	bumpalo-3.11.1
	byte-unit-4.0.17
	bytecount-0.6.3
	bytes-1.3.0
	bytesize-1.1.0
	cassowary-0.3.0
	castaway-0.2.2
	cc-1.0.77
	cfg-if-1.0.0
	chardetng-0.1.17
	chrono-0.4.23
	clipboard-win-4.4.2
	clru-0.5.0
	codespan-reporting-0.11.1
	compact_str-0.6.1
	content_inspector-0.2.4
	core-foundation-sys-0.8.3
	crc32fast-1.3.2
	crossbeam-utils-0.8.14
	crossterm-0.25.0
	crossterm_winapi-0.9.0
	cxx-1.0.82
	cxx-build-1.0.82
	cxxbridge-flags-1.0.82
	cxxbridge-macro-1.0.82
	dashmap-5.4.0
	dirs-4.0.0
	dirs-next-2.0.0
	dirs-sys-0.3.7
	dirs-sys-next-0.1.2
	either-1.8.0
	encoding_rs-0.8.31
	encoding_rs_io-0.1.7
	error-code-2.3.1
	etcetera-0.4.0
	fastrand-1.8.0
	fern-0.6.1
	filetime-0.2.18
	flate2-1.0.25
	fnv-1.0.7
	form_urlencoded-1.1.0
	futures-core-0.3.25
	futures-executor-0.3.25
	futures-task-0.3.25
	futures-util-0.3.25
	fuzzy-matcher-0.3.7
	getrandom-0.2.8
	git-actor-0.14.1
	git-attributes-0.6.0
	git-bitmap-0.2.0
	git-chunk-0.4.0
	git-command-0.2.0
	git-config-0.12.0
	git-config-value-0.9.0
	git-credentials-0.7.0
	git-date-0.3.0
	git-diff-0.23.0
	git-discover-0.9.0
	git-features-0.24.1
	git-glob-0.5.0
	git-hash-0.10.1
	git-index-0.9.1
	git-lock-3.0.0
	git-mailmap-0.6.0
	git-object-0.23.0
	git-odb-0.37.0
	git-pack-0.27.0
	git-path-0.6.0
	git-prompt-0.2.0
	git-quote-0.4.0
	git-ref-0.20.0
	git-refspec-0.4.0
	git-repository-0.29.0
	git-revision-0.7.0
	git-sec-0.5.0
	git-tempfile-3.0.0
	git-traverse-0.19.0
	git-url-0.11.0
	git-validate-0.7.0
	git-worktree-0.9.0
	globset-0.4.9
	grep-matcher-0.1.5
	grep-regex-0.1.10
	grep-searcher-0.1.10
	hash_hasher-2.0.3
	hashbrown-0.12.3
	hashbrown-0.13.1
	hermit-abi-0.1.19
	hex-0.4.3
	home-0.5.4
	human_format-1.0.3
	iana-time-zone-0.1.53
	iana-time-zone-haiku-0.1.1
	idna-0.3.0
	ignore-0.4.18
	imara-diff-0.1.5
	indoc-1.0.7
	instant-0.1.12
	io-close-0.3.7
	itoa-1.0.4
	js-sys-0.3.60
	lazy_static-1.4.0
	libc-0.2.137
	libloading-0.7.4
	link-cplusplus-1.0.7
	lock_api-0.4.9
	log-0.4.17
	lsp-types-0.93.2
	memchr-2.5.0
	memmap2-0.5.8
	minimal-lexical-0.2.1
	miniz_oxide-0.6.2
	mio-0.8.5
	nix-0.25.0
	nom-7.1.1
	num-integer-0.1.45
	num-traits-0.2.15
	num_cpus-1.14.0
	num_threads-0.1.6
	once_cell-1.16.0
	parking_lot-0.12.1
	parking_lot_core-0.9.4
	percent-encoding-2.2.0
	pin-project-lite-0.2.9
	pin-utils-0.1.0
	proc-macro2-1.0.47
	prodash-21.1.0
	pulldown-cmark-0.9.2
	quick-error-2.0.1
	quickcheck-1.0.3
	quote-1.0.21
	rand-0.8.5
	rand_core-0.6.4
	redox_syscall-0.2.16
	redox_users-0.4.3
	regex-1.7.0
	regex-automata-0.1.10
	regex-syntax-0.6.28
	remove_dir_all-0.5.3
	ropey-1.5.1-alpha
	rustversion-1.0.9
	ryu-1.0.11
	same-file-1.0.6
	scopeguard-1.1.0
	scratch-1.0.2
	serde-1.0.149
	serde_derive-1.0.149
	serde_json-1.0.89
	serde_repr-0.1.9
	sha1_smol-1.0.0
	signal-hook-0.3.14
	signal-hook-mio-0.2.3
	signal-hook-registry-1.4.0
	signal-hook-tokio-0.3.1
	slab-0.4.7
	slotmap-1.0.6
	smallvec-1.10.0
	smartstring-1.0.1
	smawk-0.3.1
	socket2-0.4.7
	static_assertions-1.1.0
	str-buf-1.0.6
	str_indices-0.4.0
	syn-1.0.104
	tempfile-3.3.0
	termcolor-1.1.3
	termini-0.1.4
	textwrap-0.16.0
	thiserror-1.0.37
	thiserror-impl-1.0.37
	thread_local-1.1.4
	threadpool-1.8.1
	time-0.3.17
	time-core-0.1.0
	time-macros-0.2.6
	tinyvec-1.6.0
	tinyvec_macros-0.1.0
	tokio-1.22.0
	tokio-macros-1.8.0
	tokio-stream-0.1.11
	toml-0.5.9
	tree-sitter-0.20.9
	unicase-2.6.0
	unicode-bidi-0.3.8
	unicode-bom-1.1.4
	unicode-general-category-0.6.0
	unicode-ident-1.0.5
	unicode-linebreak-0.1.4
	unicode-normalization-0.1.22
	unicode-segmentation-1.10.0
	unicode-width-0.1.10
	url-2.3.1
	utf8-width-0.1.6
	version_check-0.9.4
	walkdir-2.3.2
	wasi-0.11.0+wasi-snapshot-preview1
	wasm-bindgen-0.2.83
	wasm-bindgen-backend-0.2.83
	wasm-bindgen-macro-0.2.83
	wasm-bindgen-macro-support-0.2.83
	wasm-bindgen-shared-0.2.83
	which-4.3.0
	winapi-0.3.9
	winapi-i686-pc-windows-gnu-0.4.0
	winapi-util-0.1.5
	winapi-x86_64-pc-windows-gnu-0.4.0
	windows-0.40.0
	windows-sys-0.42.0
	windows_aarch64_gnullvm-0.40.0
	windows_aarch64_gnullvm-0.42.0
	windows_aarch64_msvc-0.40.0
	windows_aarch64_msvc-0.42.0
	windows_i686_gnu-0.40.0
	windows_i686_gnu-0.42.0
	windows_i686_msvc-0.40.0
	windows_i686_msvc-0.42.0
	windows_x86_64_gnu-0.40.0
	windows_x86_64_gnu-0.42.0
	windows_x86_64_gnullvm-0.40.0
	windows_x86_64_gnullvm-0.42.0
	windows_x86_64_msvc-0.40.0
	windows_x86_64_msvc-0.42.0
"

LANGUAGES=(
	"rust https://github.com/tree-sitter/tree-sitter-rust 0431a2c60828731f27491ee9fdefe25e250ce9c9"
	"toml https://github.com/ikatyang/tree-sitter-toml 7cff70bbcbbc62001b465603ca1ea88edd668704"
	"awk https://github.com/Beaglefoot/tree-sitter-awk a799bc5da7c2a84bc9a06ba5f3540cf1191e4ee3"
	"protobuf https://github.com/yusdacra/tree-sitter-protobuf 19c211a01434d9f03efff99f85e19f967591b175"
	"elixir https://github.com/elixir-lang/tree-sitter-elixir b20eaa75565243c50be5e35e253d8beb58f45d56"
	"fish https://github.com/ram02z/tree-sitter-fish 84436cf24c2b3176bfbb220922a0fdbd0141e406"
	"json https://github.com/tree-sitter/tree-sitter-json 65bceef69c3b0f24c0b19ce67d79f57c96e90fcb"
	"c https://github.com/tree-sitter/tree-sitter-c 7175a6dd5fc1cee660dce6fe23f6043d75af424a"
	"cpp https://github.com/tree-sitter/tree-sitter-cpp d5e90fba898f320db48d81ddedd78d52c67c1fed"
	"c-sharp https://github.com/tree-sitter/tree-sitter-c-sharp 5b60f99545fea00a33bbfae5be956f684c4c69e2"
	"go https://github.com/tree-sitter/tree-sitter-go 05900faa3cdb5d2d8c8bd5e77ee698487e0a8611"
	"gomod https://github.com/camdencheek/tree-sitter-go-mod e8f51f8e4363a3d9a427e8f63f4c1bbc5ef5d8d0"
	"gotmpl https://github.com/dannylongeuay/tree-sitter-go-template 395a33e08e69f4155156f0b90138a6c86764c979"
	"gowork https://github.com/omertuc/tree-sitter-go-work 6dd9dd79fb51e9f2abc829d5e97b15015b6a8ae2"
	"javascript https://github.com/tree-sitter/tree-sitter-javascript 4a95461c4761c624f2263725aca79eeaefd36cad"
	"typescript https://github.com/tree-sitter/tree-sitter-typescript 6aac031ad88dd6317f02ac0bb27d099a553a7d8c"
	"tsx https://github.com/tree-sitter/tree-sitter-typescript 6aac031ad88dd6317f02ac0bb27d099a553a7d8c"
	"css https://github.com/tree-sitter/tree-sitter-css 769203d0f9abe1a9a691ac2b9fe4bb4397a73c51"
	"scss https://github.com/serenadeai/tree-sitter-scss c478c6868648eff49eb04a4df90d703dc45b312a"
	"html https://github.com/tree-sitter/tree-sitter-html 29f53d8f4f2335e61bf6418ab8958dac3282077a"
	"python https://github.com/tree-sitter/tree-sitter-python de221eccf9a221f5b85474a553474a69b4b5784d"
	"nickel https://github.com/nickel-lang/tree-sitter-nickel 9d83db400b6c11260b9106f131f93ddda8131933"
	"nix https://github.com/cstrahan/tree-sitter-nix 6b71a810c0acd49b980c50fc79092561f7cee307"
	"ruby https://github.com/tree-sitter/tree-sitter-ruby 4c600a463d97e36a0ca5ac57e11f3ac8c297a0fa"
	"bash https://github.com/tree-sitter/tree-sitter-bash 275effdfc0edce774acf7d481f9ea195c6c403cd"
	"php https://github.com/tree-sitter/tree-sitter-php 57f855461aeeca73bd4218754fb26b5ac143f98f"
	"twig https://github.com/gbprod/tree-sitter-twig 807b293fec3fead64f54c64fdf6fb05516c032b9"
	"latex https://github.com/latex-lsp/tree-sitter-latex 8c75e93cd08ccb7ce1ccab22c1fbd6360e3bcea6"
	"lean https://github.com/Julian/tree-sitter-lean d98426109258b266e1e92358c5f11716d2e8f638"
	"julia https://github.com/tree-sitter/tree-sitter-julia 8fb38abff74652c4faddbf04d2d5bbbc6b4bae25"
	"java https://github.com/tree-sitter/tree-sitter-java 09d650def6cdf7f479f4b78f595e9ef5b58ce31e"
	"ledger https://github.com/cbarrete/tree-sitter-ledger 1f864fb2bf6a87fe1b48545cc6adc6d23090adf7"
	"beancount https://github.com/polarmutex/tree-sitter-beancount 4cbd1f09cd07c1f1fabf867c2cf354f9da53cc4c"
	"ocaml https://github.com/tree-sitter/tree-sitter-ocaml 23d419ba45789c5a47d31448061557716b02750a"
	"ocaml-interface https://github.com/tree-sitter/tree-sitter-ocaml 23d419ba45789c5a47d31448061557716b02750a"
	"lua https://github.com/MunifTanjim/tree-sitter-lua 887dfd4e83c469300c279314ff1619b1d0b85b91"
	"svelte https://github.com/Himujjal/tree-sitter-svelte 349a5984513b4a4a9e143a6e746120c6ff6cf6ed"
	"vue https://github.com/ikatyang/tree-sitter-vue 91fe2754796cd8fba5f229505a23fa08f3546c06"
	"yaml https://github.com/ikatyang/tree-sitter-yaml 0e36bed171768908f331ff7dff9d956bae016efb"
	"haskell https://github.com/tree-sitter/tree-sitter-haskell b6ec26f181dd059eedd506fa5fbeae1b8e5556c8"
	"zig https://github.com/maxxnino/tree-sitter-zig 8d3224c3bd0890fe08358886ebf54fca2ed448a6"
	"tsq https://github.com/the-mikedavis/tree-sitter-tsq 48b5e9f82ae0a4727201626f33a17f69f8e0ff86"
	"cmake https://github.com/uyha/tree-sitter-cmake 6e51463ef3052dd3b328322c22172eda093727ad"
	"make https://github.com/alemuller/tree-sitter-make a4b9187417d6be349ee5fd4b6e77b4172c6827dd"
	"glsl https://github.com/theHamsta/tree-sitter-glsl 88408ffc5e27abcffced7010fc77396ae3636d7e"
	"perl https://github.com/ganezdragon/tree-sitter-perl 0ac2c6da562c7a2c26ed7e8691d4a590f7e8b90a"
	"comment https://github.com/stsewd/tree-sitter-comment 5dd3c62f1bbe378b220fe16b317b85247898639e"
	"wgsl https://github.com/szebniok/tree-sitter-wgsl 272e89ef2aeac74178edb9db4a83c1ffef80a463"
	"llvm https://github.com/benwilliamgraham/tree-sitter-llvm 3b213925b9c4f42c1acfe2e10bfbb438d9c6834d"
	"llvm-mir https://github.com/Flakebi/tree-sitter-llvm-mir 06fabca19454b2dc00c1b211a7cb7ad0bc2585f1"
	"tablegen https://github.com/Flakebi/tree-sitter-tablegen 568dd8a937347175fd58db83d4c4cdaeb6069bd2"
	"markdown https://github.com/MDeiml/tree-sitter-markdown a7de4be29783a6e25f3240c90afea52f2417faa3"
	"markdown_inline https://github.com/MDeiml/tree-sitter-markdown a7de4be29783a6e25f3240c90afea52f2417faa3"
	"dart https://github.com/UserNobody14/tree-sitter-dart 2d7f66651c9319c1a0e4dda226cc2628fbb66528"
	"scala https://github.com/tree-sitter/tree-sitter-scala 140c96cf398693189d4e50f76d19ddfcd8a018f8"
	"dockerfile https://github.com/camdencheek/tree-sitter-dockerfile 7af32bc04a66ab196f5b9f92ac471f29372ae2ce"
	"git-commit https://github.com/the-mikedavis/tree-sitter-git-commit 318dd72abfaa7b8044c1d1fbeabcd06deaaf038f"
	"diff https://github.com/the-mikedavis/tree-sitter-diff fd74c78fa88a20085dbc7bbeaba066f4d1692b63"
	"git-rebase https://github.com/the-mikedavis/tree-sitter-git-rebase 332dc528f27044bc4427024dbb33e6941fc131f2"
	"regex https://github.com/tree-sitter/tree-sitter-regex e1cfca3c79896ff79842f057ea13e529b66af636"
	"git-config https://github.com/the-mikedavis/tree-sitter-git-config 0e4f0baf90b57e5aeb62dcdbf03062c6315d43ea"
	"gitattributes https://github.com/mtoohey31/tree-sitter-gitattributes 3dd50808e3096f93dccd5e9dc7dc3dba2eb12dc4"
	"gitignore https://github.com/shunsambongi/tree-sitter-gitignore f4685bf11ac466dd278449bcfe5fd014e94aa504"
	"graphql https://github.com/bkegley/tree-sitter-graphql 5e66e961eee421786bdda8495ed1db045e06b5fe"
	"elm https://github.com/elm-tooling/tree-sitter-elm df4cb639c01b76bc9ac9cc66788709a6da20002c"
	"iex https://github.com/elixir-lang/tree-sitter-iex 39f20bb51f502e32058684e893c0c0b00bb2332c"
	"rescript https://github.com/jaredramirez/tree-sitter-rescript 65609807c628477f3b94052e7ef895885ac51c3c"
	"erlang https://github.com/the-mikedavis/tree-sitter-erlang ce0ed253d72c199ab93caba7542b6f62075339c4"
	"kotlin https://github.com/fwcd/tree-sitter-kotlin a4f71eb9b8c9b19ded3e0e9470be4b1b77c2b569"
	"hcl https://github.com/MichaHoffmann/tree-sitter-hcl 3cb7fc28247efbcb2973b97e71c78838ad98a583"
	"org https://github.com/milisims/tree-sitter-org 698bb1a34331e68f83fc24bdd1b6f97016bb30de"
	"solidity https://github.com/JoranHonig/tree-sitter-solidity 9004b86531cb424bd379424cf7266a4585f2af7d"
	"gleam https://github.com/gleam-lang/tree-sitter-gleam d6cbdf3477fcdb0b4d811518a356f9b5cd1795ed"
	"r https://github.com/r-lib/tree-sitter-r cc04302e1bff76fa02e129f332f44636813b0c3c"
	"swift https://github.com/alex-pinkus/tree-sitter-swift 77c6312c8438f4dbaa0350cec92b3d6dd3d74a66"
	"embedded-template https://github.com/tree-sitter/tree-sitter-embedded-template d21df11b0ecc6fd211dbe11278e92ef67bd17e97"
	"eex https://github.com/connorlay/tree-sitter-eex f742f2fe327463335e8671a87c0b9b396905d1d1"
	"heex https://github.com/phoenixframework/tree-sitter-heex 2e1348c3cf2c9323e87c2744796cf3f3868aa82a"
	"sql https://github.com/DerekStride/tree-sitter-sql 2743c7b5e710e6854d4e8c14c302548b436e2a1f"
	"gdscript https://github.com/PrestonKnopp/tree-sitter-gdscript 2a6abdaa47fcb91397e09a97c7433fd995ea46c6"
	"godot-resource https://github.com/PrestonKnopp/tree-sitter-godot-resource b6ef0768711086a86b3297056f9ffb5cc1d77b4a"
	"nu https://github.com/LhKipp/tree-sitter-nu eb95bdac3abd73ef47e53f19c63e74a31405ebd2"
	"vala https://github.com/vala-lang/tree-sitter-vala c9eea93ba2ec4ec1485392db11945819779745b3"
	"hare https://git.sr.ht/~ecmma/tree-sitter-hare bc26a6a949f2e0d98b7bfc437d459b250900a165"
	"devicetree https://github.com/joelspadin/tree-sitter-devicetree 877adbfa0174d25894c40fa75ad52d4515a36368"
	"cairo https://github.com/archseer/tree-sitter-cairo b249662a1eefeb4d71c9529cdd971e74fecc10fe"
	"cpon https://github.com/fvacek/tree-sitter-cpon 0d01fcdae5a53191df5b1349f9bce053833270e7"
	"odin https://github.com/MineBill/tree-sitter-odin da885f4a387f169b9b69fe0968259ee257a8f69a"
	"meson https://github.com/staysail/tree-sitter-meson 32a83e8f200c347232fa795636cfe60dde22957a"
	"sshclientconfig https://github.com/metio/tree-sitter-ssh-client-config e45c6d5c71657344d4ecaf87dafae7736f776c57"
	"scheme https://github.com/6cdh/tree-sitter-scheme 27fb77db05f890c2823b4bd751c6420378df146b"
	"v https://github.com/vlang/vls 3e8124ea4ab80aa08ec77f03df53f577902a0cdd"
	"verilog https://github.com/andreytkachenko/tree-sitter-verilog 514d8d70593d29ef3ef667fa6b0e504ae7c977e3"
	"edoc https://github.com/the-mikedavis/tree-sitter-edoc 74774af7b45dd9cefbf9510328fc6ff2374afc50"
	"jsdoc https://github.com/tree-sitter/tree-sitter-jsdoc 189a6a4829beb9cdbe837260653b4a3dfb0cc3db"
	"openscad https://github.com/bollian/tree-sitter-openscad 5c3ce93df0ac1da7197cf6ae125aade26d6b8972"
	"prisma https://github.com/victorhqc/tree-sitter-prisma 17a59236ac25413b81b1613ea6ba5d8d52d7cd6c"
	"clojure https://github.com/sogaiu/tree-sitter-clojure e57c569ae332ca365da623712ae1f50f84daeae2"
	"elvish https://github.com/ckafi/tree-sitter-elvish e50787cadd3bc54f6d9c0704493a79078bb8a4e5"
	"fortran https://github.com/stadelmanma/tree-sitter-fortran f0f2f100952a353e64e26b0fa710b4c296d7af13"
	"ungrammar https://github.com/Philipp-M/tree-sitter-ungrammar 0113de880a58ea14f2a75802e9b99fcc25003d9c"
	"dot https://github.com/rydesun/tree-sitter-dot 917230743aa10f45a408fea2ddb54bbbf5fbe7b7"
	"cue https://github.com/eonpatapon/tree-sitter-cue 61843e3beebf19417e4fede4e8be4df1084317ad"
	"slint https://github.com/jrmoulton/tree-sitter-slint 0d4dda94f96623302dfc234e06be62a5717f47da"
	"task https://github.com/alexanderbrevig/tree-sitter-task f2cb435c5dbf3ee19493e224485d977cb2d36d8b"
	"xit https://github.com/synaptiko/tree-sitter-xit 7d7902456061bc2ad21c64c44054f67b5515734c"
	"esdl https://github.com/greym0uth/tree-sitter-esdl b840c8a8028127e0a7c6e6c45141adade2bd75cf"
	"pascal https://github.com/Isopod/tree-sitter-pascal 2fd40f477d3e2794af152618ccfac8d92eb72a66"
	"sml https://github.com/Giorbo/tree-sitter-sml bd4055d5554614520d4a0706b34dc0c317c6b608"
	"jsonnet https://github.com/sourcegraph/tree-sitter-jsonnet 0475a5017ad7dc84845d1d33187f2321abcb261d"
	"astro https://github.com/virchau13/tree-sitter-astro 5f5c3e73c45967df9aa42f861fad2d77cd4e0900"
	"bass https://github.com/vito/tree-sitter-bass 501133e260d768ed4e1fd7374912ed5c86d6fd90"
	"wat https://github.com/wasm-lsp/tree-sitter-wasm 2ca28a9f9d709847bf7a3de0942a84e912f59088"
	"wast https://github.com/wasm-lsp/tree-sitter-wasm 2ca28a9f9d709847bf7a3de0942a84e912f59088"
	"d https://github.com/gdamore/tree-sitter-d 601c4a1e8310fb2f3c43fa8a923d0d27497f3c04"
	"vhs https://github.com/charmbracelet/tree-sitter-vhs c6d81f34c011c29ee86dd73b45a8ecc9f2e2bdaf"
	"kdl https://github.com/Unoqwy/tree-sitter-kdl e1cd292c6d15df6610484e1d4b5c987ecad52373"
	"xml https://github.com/RenjiSann/tree-sitter-xml 422528a43630db6dcc1e222d1c5ee3babd559473"
	"wit https://github.com/hh9527/tree-sitter-wit c917790ab9aec50c5fd664cbfad8dd45110cfff3"
	"env https://github.com/seshotake/tree-sitter-env e6c6bb1e7b51d481cba463fe949f083cf22d81f7"
	"ini https://github.com/justinmk/tree-sitter-ini 4d247fb876b4ae6b347687de4a179511bf67fcbc"
	"bicep https://github.com/the-mikedavis/tree-sitter-bicep d8e097fcfa143854861ef737161163a09cc2916b"
	"qmljs https://github.com/yuja/tree-sitter-qmljs 0b2b25bcaa7d4925d5f0dda16f6a99c588a437f1"
)

inherit bash-completion-r1 cargo

DESCRIPTION="A post-modern text editor."
HOMEPAGE="
	https://helix-editor.com/
	https://github.com/helix-editor/helix
"
SRC_URI="
	https://github.com/helix-editor/helix/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz
	$(cargo_crate_uris)
"

LICENSE="0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD Boost-1.0 ISC MIT MPL-2.0 Unicode-DFS-2016 Unlicense ZLIB"
SLOT="0"
KEYWORDS="~amd64"
IUSE="doc +grammar"

QA_FLAGS_IGNORED="
	usr/bin/hx
	usr/share/helix/runtime/grammars/.*\.so
"

DOCS=(
	README.md
	CHANGELOG.md
	book/
	docs/
)

language_uris() {
	local line

	for line in "${LANGUAGES[@]}"; do
		read -r name url commit <<< "${line}"

		printf '%s/archive/%s.tar.gz -> %s-%s.tar.gz\n' "${url}" "${commit}" "${url##*/}" "${commit}"
	done
}

SRC_URI+="grammar? ( $(language_uris) )"

src_prepare() {
	local line

	if use grammar; then
		for line in "${LANGUAGES[@]}"; do
			read -r name url commit <<< "${line}"

			mkdir -p "${S}"/runtime/grammars/sources/${name} || die
			cp --reflink=auto --recursive \
				"${WORKDIR}"/${url##*/}-${commit}/* \
				"${S}"/runtime/grammars/sources/${name} || die
		done
	fi

	eapply_user
}

src_compile() {
	local -x HELIX_DISABLE_AUTO_GRAMMAR_BUILD=1
	local -x HELIX_RUNTIME="${S}/runtime"

	cargo_src_compile

	if use grammar; then
		target/$(usex debug debug release)/hx --grammar build || die
	fi
}

src_install() {
	if use grammar; then
		rm -rf "${S}"/runtime/grammars/sources || die
	fi

	insinto /usr/share/helix
	doins -r runtime

	use doc && dodoc -r "${DOCS[@]}"

	cargo_src_install --path helix-term

	newbashcomp contrib/completion/hx.bash hx

	insinto /usr/share/zsh/site-functions
	newins contrib/completion/hx.zsh _hx

	insinto /usr/share/fish/vendor_completions.d
	doins contrib/completion/hx.fish
}