summaryrefslogtreecommitdiff
path: root/editors/helix/Makefile
blob: a77bf39b5b15a49f16471c91543dbd11d15c4a0d (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
# $NetBSD: Makefile,v 1.3 2022/04/16 17:25:46 nikita Exp $

GITHUB_PROJECT=	helix
DISTNAME=	22.03
PKGNAME=	${GITHUB_PROJECT}-${DISTNAME}
CATEGORIES=	editors
MASTER_SITES=	${MASTER_SITE_GITHUB:=helix-editor/}
DIST_SUBDIR=	${GITHUB_PROJECT}

DISTFILES+=	${DISTNAME}.tar.gz

TOML_TAG=	8bd2056818b21860e3d756b5a58c4f6e05fb744e
BASH_TAG=	275effdfc0edce774acf7d481f9ea195c6c403cd
CSHARP_TAG=	5b6ae1f88e741b9ed738891ad1362fb9f2041671
C_TAG=		v0.20.1
CSS_TAG=	a03f1d2d1dfbf6f8e0fdca5f9ff030228241eb57
CPP_TAG=	a832195eb3685a279856bb480ce19cff19554b6d
COMMENT_TAG=	a37ca370310ac6f89b6e0ebf2b86b2219780494e
CMAKE_TAG=	5020572408a386d5d2dfac3516584f5edda7a49b
DART_TAG=	6a25376685d1d47968c2cef06d4db8d84a70025e
DOCKER_TAG=	189b6b1f86822a61a6203c278cbe2a91824b62e6
ELIXIR_TAG=	60863fc6e27d60cf4b1917499ed2259f92c7800e
ELM_TAG=	5128296ba8542853d59e6b7c8dfe3d1fb9a637ea
ERLANG_TAG=	1e81393b8f0a81b35ff1679a9420fafbd2cf3511
FISH_TAG=	d482d70ea8e191c05b2c1b613ed6fdff30a14da0
GITCOMMIT_TAG=	318dd72abfaa7b8044c1d1fbeabcd06deaaf038f
GITCONFIG_TAG=	2ca03237fb279efc835ecbc50079174cf661d1df
GITDIFF_TAG=	ca750e5bbc86e5716ccf4eb9e44493b14043ec4c
GITREBASE_TAG=	8ea81bbf4c92f95b33cf3aeaa9bd348f07d4b6ab
GLSL_TAG=	ffb93961426926554a0ba4a389ea6e9d6fafdea9
GO_TAG=		c8fed1f0847a65a04a4b8cb7655f5f416e0742ca
GRAPHQL_TAG=	5e66e961eee421786bdda8495ed1db045e06b5fe
HASKELL_TAG=	ed976b81b00ce7b72b99bca75e7a616cc526220c
HCL_TAG=	3cb7fc28247efbcb2973b97e71c78838ad98a583
HTML_TAG=	161a92474a7bb2e9e830e48e76426f38299d99d1
IEX_TAG=	39f20bb51f502e32058684e893c0c0b00bb2332c
JAVA_TAG=	881b84fe7078651af5077cc4cea4c85f9fddde3b
JAVASCRIPT_TAG=	fdeb68ac8d2bd5a78b943528bb68ceda3aade2eb
JSON_TAG=	203e239408d642be83edde8988d6e7b20a19f0e8
JULIA_TAG=	12ea597262125fc22fd2e91aa953ac69b19c26ca
KOTLIN_TAG=	a4f71eb9b8c9b19ded3e0e9470be4b1b77c2b569
LATEX_TAG=	b71e4928a63a6d75bc1670004a5b5a98c850a149
LEAN_TAG=	d98426109258b266e1e92358c5f11716d2e8f638
LEDGER_TAG=	0cdeb0e51411a3ba5493662952c3039de08939ca
LLVMMIR_TAG=	06fabca19454b2dc00c1b211a7cb7ad0bc2585f1
LLVM_TAG=	3b213925b9c4f42c1acfe2e10bfbb438d9c6834d
LUA_TAG=	6f5d40190ec8a0aa8c8410699353d820f4f7d7a6
MAKE_TAG=	a4b9187417d6be349ee5fd4b6e77b4172c6827dd
MARKDOWN_TAG=	d24196f9b3e5af6fcb2ec2a0b6cbc5c06f58b85e
NIX_TAG=	470b15a60520ff7b86f51732b8d8f1118c86041e
OCAML_TAG=	23d419ba45789c5a47d31448061557716b02750a
ORG_TAG=	9a595e51c1f69b9ac986f0e0b788804eda0e755d
PERL_TAG=	bbf86084d9b7eb4768f3fb9fe094b3e0600057b1
PHP_TAG=	3c17a28da38afac41332d3ce79bbd8951867f346
PROTOBUF_TAG=	5aef38d655f76a6b0d172340eed3766c93b3124c
PYTHON_TAG=	78c4e9b6b2f08e1be23b541ffced47b15e2972ad
REGEX_TAG=	e1cfca3c79896ff79842f057ea13e529b66af636
RESCRIPT_TAG=	4cd7ba91696886fdaca086fb32b5fd8cc294a129
RUBY_TAG=	0b107de5415e7470a30ef1a390d9db3306432bdb
RUST_TAG=	0509e440ae042db6483984b3a56b3c5f24b5d9b9
SCALA_TAG=	ec6047f531e7d4c13787d4ff208b94a84de34165
SOLIDITY_TAG=	f3a002274744e859bf64cf3524985f8c31ea84fd
SVELTE_TAG=	98274d94ec33e994e8354d9ddfdef58cca471294
TABLEGEN_TAG=	568dd8a937347175fd58db83d4c4cdaeb6069bd2
TSQ_TAG=	b665659d3238e6036e22ed0e24935e60efb39415
TWIG_TAG=	b7444181fb38e603e25ea8fcdac55f9492e49c27
TYPESCRIPT_TAG=	f2e2dd6d52ae266e86b71e0773345e5cb729f6ae
VUE_TAG=	91fe2754796cd8fba5f229505a23fa08f3546c06
WGSL_TAG=	f00ff52251edbd58f4d39c9c3204383253032c11
YAML_TAG=	0e36bed171768908f331ff7dff9d956bae016efb
ZIG_TAG=	42e93d02ca945094699e2dc4de785bbaf8f740ec


DISTFILES+=	tree-sitter-toml-${TOML_TAG}.tar.gz
DISTFILES+=	tree-sitter-bash-${BASH_TAG}.tar.gz
DISTFILES+=	tree-sitter-c-${C_TAG}.tar.gz
DISTFILES+=	tree-sitter-css-${CSS_TAG}.tar.gz
DISTFILES+=	tree-sitter-c-sharp-${CSHARP_TAG}.tar.gz
DISTFILES+=	tree-sitter-cpp-${CPP_TAG}.tar.gz
DISTFILES+=	tree-sitter-comment-${COMMENT_TAG}.tar.gz
DISTFILES+=	tree-sitter-cmake-${CMAKE_TAG}.tar.gz
DISTFILES+=	tree-sitter-dart-${DART_TAG}.tar.gz
DISTFILES+=	tree-sitter-dockerfile-${DOCKER_TAG}.tar.gz
DISTFILES+=	tree-sitter-elixir-${ELIXIR_TAG}.tar.gz
DISTFILES+=	tree-sitter-elm-${ELM_TAG}.tar.gz
DISTFILES+=	tree-sitter-erlang-${ERLANG_TAG}.tar.gz
DISTFILES+=	tree-sitter-fish-${FISH_TAG}.tar.gz
DISTFILES+=	tree-sitter-git-commit-${GITCOMMIT_TAG}.tar.gz
DISTFILES+=	tree-sitter-git-config-${GITCONFIG_TAG}.tar.gz
DISTFILES+=	tree-sitter-git-diff-${GITDIFF_TAG}.tar.gz
DISTFILES+=	tree-sitter-git-rebase-${GITREBASE_TAG}.tar.gz
DISTFILES+=	tree-sitter-glsl-${GLSL_TAG}.tar.gz
DISTFILES+=	tree-sitter-go-${GO_TAG}.tar.gz
DISTFILES+=	tree-sitter-graphql-${GRAPHQL_TAG}.tar.gz
DISTFILES+=	tree-sitter-haskell-${HASKELL_TAG}.tar.gz
DISTFILES+=	tree-sitter-hcl-${HCL_TAG}.tar.gz
DISTFILES+=	tree-sitter-html-${HTML_TAG}.tar.gz
DISTFILES+=	tree-sitter-iex-${IEX_TAG}.tar.gz
DISTFILES+=	tree-sitter-java-${JAVA_TAG}.tar.gz
DISTFILES+=	tree-sitter-javascript-${JAVASCRIPT_TAG}.tar.gz
DISTFILES+=	tree-sitter-json-${JSON_TAG}.tar.gz
DISTFILES+=	tree-sitter-julia-${JULIA_TAG}.tar.gz
DISTFILES+=	tree-sitter-kotlin-${KOTLIN_TAG}.tar.gz
DISTFILES+=	tree-sitter-latex-${LATEX_TAG}.tar.gz
DISTFILES+=	tree-sitter-lean-${LEAN_TAG}.tar.gz
DISTFILES+=	tree-sitter-ledger-${LEDGER_TAG}.tar.gz
DISTFILES+=	tree-sitter-llvm-mir-${LLVMMIR_TAG}.tar.gz
DISTFILES+=	tree-sitter-llvm-${LLVM_TAG}.tar.gz
DISTFILES+=	tree-sitter-lua-${LUA_TAG}.tar.gz
DISTFILES+=	tree-sitter-make-${MAKE_TAG}.tar.gz
DISTFILES+=	tree-sitter-markdown-${MARKDOWN_TAG}.tar.gz
DISTFILES+=	tree-sitter-nix-${NIX_TAG}.tar.gz
DISTFILES+=	tree-sitter-ocaml-${OCAML_TAG}.tar.gz
DISTFILES+=	tree-sitter-org-${ORG_TAG}.tar.gz
DISTFILES+=	tree-sitter-perl-${PERL_TAG}.tar.gz
DISTFILES+=	tree-sitter-php-${PHP_TAG}.tar.gz
DISTFILES+=	tree-sitter-protobuf-${PROTOBUF_TAG}.tar.gz
DISTFILES+=	tree-sitter-python-${PYTHON_TAG}.tar.gz
DISTFILES+=	tree-sitter-regex-${REGEX_TAG}.tar.gz
DISTFILES+=	tree-sitter-rescript-${RESCRIPT_TAG}.tar.gz
DISTFILES+=	tree-sitter-ruby-${RUBY_TAG}.tar.gz
DISTFILES+=	tree-sitter-rust-${RUST_TAG}.tar.gz
DISTFILES+=	tree-sitter-scala-${SCALA_TAG}.tar.gz
DISTFILES+=	tree-sitter-solidity-${SOLIDITY_TAG}.tar.gz
DISTFILES+=	tree-sitter-svelte-${SVELTE_TAG}.tar.gz
DISTFILES+=	tree-sitter-tablegen-${TABLEGEN_TAG}.tar.gz
DISTFILES+=	tree-sitter-tsq-${TSQ_TAG}.tar.gz
DISTFILES+=	tree-sitter-twig-${TWIG_TAG}.tar.gz
DISTFILES+=	tree-sitter-typescript-${TYPESCRIPT_TAG}.tar.gz
DISTFILES+=	tree-sitter-vue-${VUE_TAG}.tar.gz
DISTFILES+=	tree-sitter-wgsl-${WGSL_TAG}.tar.gz
DISTFILES+=	tree-sitter-yaml-${YAML_TAG}.tar.gz
DISTFILES+=	tree-sitter-zig-${ZIG_TAG}.tar.gz

TS_GH=		https://github.com/tree-sitter

SITES.tree-sitter-toml-${TOML_TAG}.tar.gz= \
	-https://github.com/ikatyang/tree-sitter-toml/archive/${TOML_TAG}.tar.gz

SITES.tree-sitter-bash-${BASH_TAG}.tar.gz= \
	-${TS_GH}/tree-sitter-bash/archive/${BASH_TAG}.tar.gz

SITES.tree-sitter-c-sharp-${CSHARP_TAG}.tar.gz= \
	-${TS_GH}/tree-sitter-c-sharp/archive/${CSHARP_TAG}.tar.gz

SITES.tree-sitter-c-${C_TAG}.tar.gz= \
	-${TS_GH}/tree-sitter-c/archive/refs/tags/${C_TAG}.tar.gz

SITES.tree-sitter-css-${CSS_TAG}.tar.gz= \
	-${TS_GH}/tree-sitter-css/archive/${CSS_TAG}.tar.gz

SITES.tree-sitter-cpp-${CPP_TAG}.tar.gz= \
	-${TS_GH}/tree-sitter-cpp/archive/${CPP_TAG}.tar.gz

SITES.tree-sitter-comment-${COMMENT_TAG}.tar.gz= \
	-https://github.com/stsewd/tree-sitter-comment/archive/${COMMENT_TAG}.tar.gz

SITES.tree-sitter-cmake-${CMAKE_TAG}.tar.gz= \
	-https://github.com/uyha/tree-sitter-cmake/archive/${CMAKE_TAG}.tar.gz

SITES.tree-sitter-dart-${DART_TAG}.tar.gz= \
	-https://github.com/UserNobody14/tree-sitter-dart/archive/${DART_TAG}.tar.gz

SITES.tree-sitter-git-diff-${GITDIFF_TAG}.tar.gz= \
	-https://github.com/the-mikedavis/tree-sitter-diff/archive/${GITDIFF_TAG}.tar.gz

SITES.tree-sitter-dockerfile-${DOCKER_TAG}.tar.gz= \
	-https://github.com/camdencheek/tree-sitter-dockerfile/archive/${DOCKER_TAG}.tar.gz

SITES.tree-sitter-elixir-${ELIXIR_TAG}.tar.gz= \
	-https://github.com/elixir-lang/tree-sitter-elixir/archive/${ELIXIR_TAG}.tar.gz

SITES.tree-sitter-elm-${ELM_TAG}.tar.gz= \
	-https://github.com/elm-tooling/tree-sitter-elm/archive/${ELM_TAG}.tar.gz

SITES.tree-sitter-erlang-${ERLANG_TAG}.tar.gz= \
	-https://github.com/the-mikedavis/tree-sitter-erlang/archive/${ERLANG_TAG}.tar.gz

SITES.tree-sitter-fish-${FISH_TAG}.tar.gz= \
	-https://github.com/ram02z/tree-sitter-fish/archive/${FISH_TAG}.tar.gz

SITES.tree-sitter-git-config-${GITCONFIG_TAG}.tar.gz= \
	-https://github.com/the-mikedavis/tree-sitter-git-config/archive/${GITCONFIG_TAG}.tar.gz

SITES.tree-sitter-git-rebase-${GITREBASE_TAG}.tar.gz= \
	-https://github.com/the-mikedavis/tree-sitter-git-rebase/archive/${GITREBASE_TAG}.tar.gz

SITES.tree-sitter-git-commit-${GITCOMMIT_TAG}.tar.gz= \
	-https://github.com/the-mikedavis/tree-sitter-git-commit/archive/${GITCOMMIT_TAG}.tar.gz

SITES.tree-sitter-glsl-${GLSL_TAG}.tar.gz= \
	-https://github.com/theHamsta/tree-sitter-glsl/archive/${GLSL_TAG}.tar.gz

SITES.tree-sitter-go-${GO_TAG}.tar.gz= \
	-${TS_GH}/tree-sitter-go/archive/${GO_TAG}.tar.gz

SITES.tree-sitter-graphql-${GRAPHQL_TAG}.tar.gz= \
	-https://github.com/bkegley/tree-sitter-graphql/archive/${GRAPHQL_TAG}.tar.gz

SITES.tree-sitter-haskell-${HASKELL_TAG}.tar.gz= \
	-${TS_GH}/tree-sitter-haskell/archive/${HASKELL_TAG}.tar.gz

SITES.tree-sitter-hcl-${HCL_TAG}.tar.gz= \
	-https://github.com/MichaHoffmann/tree-sitter-hcl/archive/${HCL_TAG}.tar.gz

SITES.tree-sitter-html-${HTML_TAG}.tar.gz= \
	-${TS_GH}/tree-sitter-html/archive/${HTML_TAG}.tar.gz

SITES.tree-sitter-iex-${IEX_TAG}.tar.gz= \
	-https://github.com/elixir-lang/tree-sitter-iex/archive/${IEX_TAG}.tar.gz

SITES.tree-sitter-java-${JAVA_TAG}.tar.gz= \
	-${TS_GH}/tree-sitter-java/archive/${JAVA_TAG}.tar.gz

SITES.tree-sitter-javascript-${JAVASCRIPT_TAG}.tar.gz= \
	-${TS_GH}/tree-sitter-javascript/archive/${JAVASCRIPT_TAG}.tar.gz

SITES.tree-sitter-json-${JSON_TAG}.tar.gz= \
	-${TS_GH}/tree-sitter-json/archive/${JSON_TAG}.tar.gz

SITES.tree-sitter-julia-${JULIA_TAG}.tar.gz= \
	-${TS_GH}/tree-sitter-julia/archive/${JULIA_TAG}.tar.gz

SITES.tree-sitter-kotlin-${KOTLIN_TAG}.tar.gz= \
	-https://github.com/fwcd/tree-sitter-kotlin/archive/${KOTLIN_TAG}.tar.gz

SITES.tree-sitter-latex-${LATEX_TAG}.tar.gz= \
	-https://github.com/latex-lsp/tree-sitter-latex/archive/${LATEX_TAG}.tar.gz

SITES.tree-sitter-lean-${LEAN_TAG}.tar.gz= \
	-https://github.com/Julian/tree-sitter-lean/archive/${LEAN_TAG}.tar.gz

SITES.tree-sitter-ledger-${LEDGER_TAG}.tar.gz= \
	-https://github.com/cbarrete/tree-sitter-ledger/archive/${LEDGER_TAG}.tar.gz

SITES.tree-sitter-llvm-${LLVM_TAG}.tar.gz= \
	-https://github.com/benwilliamgraham/tree-sitter-llvm/archive/${LLVM_TAG}.tar.gz

SITES.tree-sitter-llvm-mir-${LLVMMIR_TAG}.tar.gz= \
	-https://github.com/Flakebi/tree-sitter-llvm-mir/archive/${LLVMMIR_TAG}.tar.gz

SITES.tree-sitter-lua-${LUA_TAG}.tar.gz= \
	-https://github.com/nvim-treesitter/tree-sitter-lua/archive/${LUA_TAG}.tar.gz

SITES.tree-sitter-make-${MAKE_TAG}.tar.gz= \
	-https://github.com/alemuller/tree-sitter-make/archive/${MAKE_TAG}.tar.gz

SITES.tree-sitter-markdown-${MARKDOWN_TAG}.tar.gz= \
	-https://github.com/MDeiml/tree-sitter-markdown/archive/${MARKDOWN_TAG}.tar.gz

SITES.tree-sitter-nix-${NIX_TAG}.tar.gz= \
	-https://github.com/cstrahan/tree-sitter-nix/archive/${NIX_TAG}.tar.gz

SITES.tree-sitter-ocaml-${OCAML_TAG}.tar.gz= \
	-${TS_GH}/tree-sitter-ocaml/archive/${OCAML_TAG}.tar.gz

SITES.tree-sitter-org-${ORG_TAG}.tar.gz= \
	-https://github.com/milisims/tree-sitter-org/archive/${ORG_TAG}.tar.gz

SITES.tree-sitter-perl-${PERL_TAG}.tar.gz= \
	-https://github.com/ganezdragon/tree-sitter-perl/archive/${PERL_TAG}.tar.gz

SITES.tree-sitter-php-${PHP_TAG}.tar.gz= \
	-${TS_GH}/tree-sitter-php/archive/${PHP_TAG}.tar.gz

SITES.tree-sitter-protobuf-${PROTOBUF_TAG}.tar.gz= \
	-https://github.com/yusdacra/tree-sitter-protobuf/archive/${PROTOBUF_TAG}.tar.gz

SITES.tree-sitter-python-${PYTHON_TAG}.tar.gz= \
	-${TS_GH}/tree-sitter-python/archive/${PYTHON_TAG}.tar.gz

SITES.tree-sitter-regex-${REGEX_TAG}.tar.gz= \
	-${TS_GH}/tree-sitter-regex/archive/${REGEX_TAG}.tar.gz

SITES.tree-sitter-rescript-${RESCRIPT_TAG}.tar.gz= \
	-https://github.com/jaredramirez/tree-sitter-rescript/archive/${RESCRIPT_TAG}.tar.gz

SITES.tree-sitter-ruby-${RUBY_TAG}.tar.gz= \
	-${TS_GH}/tree-sitter-ruby/archive/${RUBY_TAG}.tar.gz

SITES.tree-sitter-rust-${RUST_TAG}.tar.gz= \
	-${TS_GH}/tree-sitter-rust/archive/${RUST_TAG}.tar.gz

SITES.tree-sitter-scala-${SCALA_TAG}.tar.gz= \
	-${TS_GH}/tree-sitter-scala/archive/${SCALA_TAG}.tar.gz

SITES.tree-sitter-solidity-${SOLIDITY_TAG}.tar.gz= \
	-https://github.com/slinlee/tree-sitter-solidity/archive/${SOLIDITY_TAG}.tar.gz

SITES.tree-sitter-svelte-${SVELTE_TAG}.tar.gz= \
	-https://github.com/Himujjal/tree-sitter-svelte/archive/${SVELTE_TAG}.tar.gz

SITES.tree-sitter-tablegen-${TABLEGEN_TAG}.tar.gz= \
	-https://github.com/Flakebi/tree-sitter-tablegen/archive/${TABLEGEN_TAG}.tar.gz

SITES.tree-sitter-tsq-${TSQ_TAG}.tar.gz= \
	-${TS_GH}/tree-sitter-tsq/archive/${TSQ_TAG}.tar.gz

SITES.tree-sitter-twig-${TWIG_TAG}.tar.gz= \
	-https://github.com/eirabben/tree-sitter-twig/archive/${TWIG_TAG}.tar.gz

SITES.tree-sitter-typescript-${TYPESCRIPT_TAG}.tar.gz= \
	-${TS_GH}/tree-sitter-typescript/archive/${TYPESCRIPT_TAG}.tar.gz

SITES.tree-sitter-vue-${VUE_TAG}.tar.gz= \
	-https://github.com/ikatyang/tree-sitter-vue/archive/${VUE_TAG}.tar.gz

SITES.tree-sitter-wgsl-${WGSL_TAG}.tar.gz= \
	-https://github.com/szebniok/tree-sitter-wgsl/archive/${WGSL_TAG}.tar.gz

SITES.tree-sitter-yaml-${YAML_TAG}.tar.gz= \
	-https://github.com/ikatyang/tree-sitter-yaml/archive/${YAML_TAG}.tar.gz

SITES.tree-sitter-zig-${ZIG_TAG}.tar.gz= \
	-https://github.com/maxxnino/tree-sitter-zig/archive/${ZIG_TAG}.tar.gz

MAINTAINER=	nikita@NetBSD.org
HOMEPAGE=	https://helix-editor.com/
COMMENT=	Modal editor inspired by kakoune / neovim
# Additionally, the tree-sitter sources have various licenses.
LICENSE=	mpl-2.0
WRKSRC=		${WRKDIR}/${GITHUB_PROJECT}-${DISTNAME}
USE_LANGUAGES+=	c c++

INSTALLATION_DIRS+=	share/helix/runtime/grammars
INSTALLATION_DIRS+=	bin

.include "cargo-depends.mk"

post-extract:
	${MKDIR} ${WRKSRC}/runtime/grammars/sources
	${MV} ${WRKDIR}/tree-sitter-toml-${TOML_TAG} ${WRKSRC}/runtime/grammars/sources/toml
	${MV} ${WRKDIR}/tree-sitter-bash-${BASH_TAG} ${WRKSRC}/runtime/grammars/sources/bash
	${MV} ${WRKDIR}/tree-sitter-c-${C_TAG:S/v//} ${WRKSRC}/runtime/grammars/sources/c
	${MV} ${WRKDIR}/tree-sitter-css-${CSS_TAG} ${WRKSRC}/runtime/grammars/sources/css
	${MV} ${WRKDIR}/tree-sitter-c-sharp-${CSHARP_TAG} ${WRKSRC}/runtime/grammars/sources/c-sharp
	${MV} ${WRKDIR}/tree-sitter-cpp-${CPP_TAG} ${WRKSRC}/runtime/grammars/sources/cpp
	${MV} ${WRKDIR}/tree-sitter-comment-${COMMENT_TAG} ${WRKSRC}/runtime/grammars/sources/comment
	${MV} ${WRKDIR}/tree-sitter-cmake-${CMAKE_TAG} ${WRKSRC}/runtime/grammars/sources/cmake
	${MV} ${WRKDIR}/tree-sitter-dart-${DART_TAG} ${WRKSRC}/runtime/grammars/sources/dart
	${MV} ${WRKDIR}/tree-sitter-dockerfile-${DOCKER_TAG} ${WRKSRC}/runtime/grammars/sources/dockerfile
	${MV} ${WRKDIR}/tree-sitter-elixir-${ELIXIR_TAG} ${WRKSRC}/runtime/grammars/sources/elixir
	${MV} ${WRKDIR}/tree-sitter-elm-${ELM_TAG} ${WRKSRC}/runtime/grammars/sources/elm
	${MV} ${WRKDIR}/tree-sitter-erlang-${ERLANG_TAG} ${WRKSRC}/runtime/grammars/sources/erlang
	${MV} ${WRKDIR}/tree-sitter-fish-${FISH_TAG} ${WRKSRC}/runtime/grammars/sources/fish
	${MV} ${WRKDIR}/tree-sitter-git-commit-${GITCOMMIT_TAG} ${WRKSRC}/runtime/grammars/sources/git-commit
	${MV} ${WRKDIR}/tree-sitter-git-config-${GITCONFIG_TAG} ${WRKSRC}/runtime/grammars/sources/git-config
	${MV} ${WRKDIR}/tree-sitter-diff-${GITDIFF_TAG} ${WRKSRC}/runtime/grammars/sources/git-diff
	${MV} ${WRKDIR}/tree-sitter-git-rebase-${GITREBASE_TAG} ${WRKSRC}/runtime/grammars/sources/git-rebase
	${MV} ${WRKDIR}/tree-sitter-glsl-${GLSL_TAG} ${WRKSRC}/runtime/grammars/sources/glsl
	${MV} ${WRKDIR}/tree-sitter-go-${GO_TAG} ${WRKSRC}/runtime/grammars/sources/go
	${MV} ${WRKDIR}/tree-sitter-graphql-${GRAPHQL_TAG} ${WRKSRC}/runtime/grammars/sources/graphql
	${MV} ${WRKDIR}/tree-sitter-haskell-${HASKELL_TAG} ${WRKSRC}/runtime/grammars/sources/haskell
	${MV} ${WRKDIR}/tree-sitter-hcl-${HCL_TAG} ${WRKSRC}/runtime/grammars/sources/hcl
	${MV} ${WRKDIR}/tree-sitter-html-${HTML_TAG} ${WRKSRC}/runtime/grammars/sources/html
	${MV} ${WRKDIR}/tree-sitter-iex-${IEX_TAG} ${WRKSRC}/runtime/grammars/sources/iex
	${MV} ${WRKDIR}/tree-sitter-java-${JAVA_TAG} ${WRKSRC}/runtime/grammars/sources/java
	${MV} ${WRKDIR}/tree-sitter-javascript-${JAVASCRIPT_TAG} ${WRKSRC}/runtime/grammars/sources/javascript
	${MV} ${WRKDIR}/tree-sitter-json-${JSON_TAG} ${WRKSRC}/runtime/grammars/sources/json
	${MV} ${WRKDIR}/tree-sitter-julia-${JULIA_TAG} ${WRKSRC}/runtime/grammars/sources/julia
	${MV} ${WRKDIR}/tree-sitter-kotlin-${KOTLIN_TAG} ${WRKSRC}/runtime/grammars/sources/kotlin
	${MV} ${WRKDIR}/tree-sitter-latex-${LATEX_TAG} ${WRKSRC}/runtime/grammars/sources/latex
	${MV} ${WRKDIR}/tree-sitter-lean-${LEAN_TAG} ${WRKSRC}/runtime/grammars/sources/lean
	${MV} ${WRKDIR}/tree-sitter-ledger-${LEDGER_TAG} ${WRKSRC}/runtime/grammars/sources/ledger
	${MV} ${WRKDIR}/tree-sitter-llvm-mir-${LLVMMIR_TAG} ${WRKSRC}/runtime/grammars/sources/llvm-mir
	${MV} ${WRKDIR}/tree-sitter-llvm-${LLVM_TAG} ${WRKSRC}/runtime/grammars/sources/llvm
	${MV} ${WRKDIR}/tree-sitter-lua-${LUA_TAG} ${WRKSRC}/runtime/grammars/sources/lua
	${MV} ${WRKDIR}/tree-sitter-make-${MAKE_TAG} ${WRKSRC}/runtime/grammars/sources/make
	${MV} ${WRKDIR}/tree-sitter-markdown-${MARKDOWN_TAG} ${WRKSRC}/runtime/grammars/sources/markdown
	${MV} ${WRKDIR}/tree-sitter-nix-${NIX_TAG} ${WRKSRC}/runtime/grammars/sources/nix
	${MV} ${WRKDIR}/tree-sitter-ocaml-${OCAML_TAG} ${WRKSRC}/runtime/grammars/sources/ocaml
	${MV} ${WRKDIR}/tree-sitter-org-${ORG_TAG} ${WRKSRC}/runtime/grammars/sources/org
	${MV} ${WRKDIR}/tree-sitter-perl-${PERL_TAG} ${WRKSRC}/runtime/grammars/sources/perl
	${MV} ${WRKDIR}/tree-sitter-php-${PHP_TAG} ${WRKSRC}/runtime/grammars/sources/php
	${MV} ${WRKDIR}/tree-sitter-protobuf-${PROTOBUF_TAG} ${WRKSRC}/runtime/grammars/sources/protobuf
	${MV} ${WRKDIR}/tree-sitter-python-${PYTHON_TAG} ${WRKSRC}/runtime/grammars/sources/python
	${MV} ${WRKDIR}/tree-sitter-regex-${REGEX_TAG} ${WRKSRC}/runtime/grammars/sources/regex
	${MV} ${WRKDIR}/tree-sitter-rescript-${RESCRIPT_TAG} ${WRKSRC}/runtime/grammars/sources/rescript
	${MV} ${WRKDIR}/tree-sitter-ruby-${RUBY_TAG} ${WRKSRC}/runtime/grammars/sources/ruby
	${MV} ${WRKDIR}/tree-sitter-rust-${RUST_TAG} ${WRKSRC}/runtime/grammars/sources/rust
	${MV} ${WRKDIR}/tree-sitter-scala-${SCALA_TAG} ${WRKSRC}/runtime/grammars/sources/scala
	${MV} ${WRKDIR}/tree-sitter-solidity-${SOLIDITY_TAG} ${WRKSRC}/runtime/grammars/sources/solidity
	${MV} ${WRKDIR}/tree-sitter-svelte-${SVELTE_TAG} ${WRKSRC}/runtime/grammars/sources/svelte
	${MV} ${WRKDIR}/tree-sitter-tablegen-${TABLEGEN_TAG} ${WRKSRC}/runtime/grammars/sources/tablegen
	${MV} ${WRKDIR}/tree-sitter-tsq-${TSQ_TAG} ${WRKSRC}/runtime/grammars/sources/tsq
	${MV} ${WRKDIR}/tree-sitter-twig-${TWIG_TAG} ${WRKSRC}/runtime/grammars/sources/twig
	${MV} ${WRKDIR}/tree-sitter-typescript-${TYPESCRIPT_TAG} ${WRKSRC}/runtime/grammars/sources/typescript
	${MV} ${WRKDIR}/tree-sitter-vue-${VUE_TAG} ${WRKSRC}/runtime/grammars/sources/vue
	${MV} ${WRKDIR}/tree-sitter-wgsl-${WGSL_TAG} ${WRKSRC}/runtime/grammars/sources/wgsl
	${MV} ${WRKDIR}/tree-sitter-yaml-${YAML_TAG} ${WRKSRC}/runtime/grammars/sources/yaml
	${MV} ${WRKDIR}/tree-sitter-zig-${ZIG_TAG} ${WRKSRC}/runtime/grammars/sources/zig
	(cd ${WRKSRC}/runtime/grammars/sources && ${CP} -a typescript tsx)
	(cd ${WRKSRC}/runtime/grammars/sources && ${CP} -a ocaml ocaml-interface)

SUBST_CLASSES+=		datadir
SUBST_STAGE.datadir=	post-patch
SUBST_MESSAGE.datadir=	Fixing datadir
SUBST_FILES.datadir=	helix-loader/src/lib.rs
SUBST_SED.datadir+=	-e 's,%%DATADIR%%,${PREFIX}/share/helix,g'

do-install:
	${INSTALL_PROGRAM} ${WRKSRC}/target/release/hx ${DESTDIR}${PREFIX}/bin

post-install:
.for dirs in queries themes
	(cd ${WRKSRC}/runtime && ${INSTALL_DATA_DIR} ${dirs} ${DESTDIR}${PREFIX}/share/helix/runtime/${dirs})
.endfor
	${INSTALL} ${WRKSRC}/runtime/tutor.txt ${DESTDIR}${PREFIX}/share/helix/runtime/tutor.txt
	${INSTALL_LIB} ${WRKSRC}/runtime/grammars/*.so ${DESTDIR}${PREFIX}/share/helix/runtime/grammars/

.include "../../lang/rust/cargo.mk"
.include "../../security/openssl/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"