(define-module (mirenn packages tree-sitter) #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages) #:use-module (gnu packages check) #:use-module (gnu packages graphviz) #:use-module (gnu packages icu4c) #:use-module (gnu packages node) #:use-module (gnu packages python-build) #:use-module (guix build-system cargo) #:use-module (guix build-system gnu) #:use-module (guix build-system pyproject) #:use-module (guix build-system tree-sitter) #:use-module (guix download) #:use-module (guix gexp) #:use-module (guix git-download) #:use-module (guix i18n) #:use-module (guix packages) #:use-module (guix utils) #:use-module (ice-9 exceptions)) (define rust-addr2line-0.26.1 (crate-source "addr2line" "0.26.1" "0ymjl1lj3zwc5c5zbjr21c7jzpklj8l04irn76fnf3lzj9vpycar")) (define rust-aho-corasick-1.1.5 (crate-source "aho-corasick" "1.1.5" "1fhjkp2nbs7gg4y1b68hpc8028rpax8aiscfh9b60q78m4pn90n9")) (define rust-allocator-api2-0.2.21 (crate-source "allocator-api2" "0.2.21" "08zrzs022xwndihvzdn78yqarv2b9696y67i6h78nla3ww87jgb8")) (define rust-ansi-colours-1.2.3 (crate-source "ansi_colours" "1.2.3" "1zimwh84gs1r0g0chy6x5lm9v0ksxxlzwy8nyj80f6cq08zc9vhl")) (define rust-anstream-1.0.0 (crate-source "anstream" "1.0.0" "13d2bj0xfg012s4rmq44zc8zgy1q8k9yp7yhvfnarscnmwpj2jl2")) (define rust-anstyle-1.0.14 (crate-source "anstyle" "1.0.14" "0030szmgj51fxkic1hpakxxgappxzwm6m154a3gfml83lq63l2wl")) (define rust-anstyle-parse-1.0.0 (crate-source "anstyle-parse" "1.0.0" "03hkv2690s0crssbnmfkr76kw1k7ah2i6s5amdy9yca2n8w7zkjj")) (define rust-anstyle-query-1.1.5 (crate-source "anstyle-query" "1.1.5" "1p6shfpnbghs6jsa0vnqd8bb8gd7pjd0jr7w0j8jikakzmr8zi20")) (define rust-anstyle-wincon-3.0.11 (crate-source "anstyle-wincon" "3.0.11" "0zblannm70sk3xny337mz7c6d8q8i24vhbqi42ld8v7q1wjnl7i9")) (define rust-anyhow-1.0.104 (crate-source "anyhow" "1.0.104" "0w34jjcm02p5g9kvsjr1dvpw0zs2fi7igi6nr414fkm5gz85w2ik")) (define rust-arbitrary-1.4.2 (crate-source "arbitrary" "1.4.2" "1wcbi4x7i3lzcrkjda4810nqv03lpmvfhb0a85xrq1mbqjikdl63")) (define rust-ascii-1.1.0 (crate-source "ascii" "1.1.0" "05nyyp39x4wzc1959kv7ckwqpkdzjd9dw4slzyjh73qbhjcfqayr")) (define rust-async-trait-0.1.92 (crate-source "async-trait" "0.1.92" "0rqn5iga1hlv2lm8xzav1zhar46jb4dvx89i6kfv93kb53maxxl2")) (define rust-bindgen-0.72.1 (crate-source "bindgen" "0.72.1" "15bq73y3wd3x3vxh3z3g72hy08zs8rxg1f0i1xsrrd6g16spcdwr")) (define rust-bitflags-2.13.1 (crate-source "bitflags" "2.13.1" "1nl76mpykmwmb8rq1l5vw1azdh1wvxdrnsk4sy3rdrzx01nvg25m")) (define rust-block-buffer-0.10.4 (crate-source "block-buffer" "0.10.4" "0w9sa2ypmrsqqvc20nhwr75wbb5cjr4kkyhpjm1z1lv2kdicfy1h")) (define rust-block2-0.6.2 (crate-source "block2" "0.6.2" "1xcfllzx6c3jc554nmb5qy6xmlkl6l6j5ib4wd11800n0n3rvsyd")) (define rust-bstr-1.13.1 (crate-source "bstr" "1.13.1" "0pxyrnp8nb2iwcbadzird7xr2awrbjzi2jwqx47f4i22q531pcvb")) (define rust-bumpalo-3.20.3 (crate-source "bumpalo" "3.20.3" "0jc6va3nwcqikm7chnpdv1s87my3gs2j7g1sc7g3k91brg3arxbj")) (define rust-bytemuck-1.25.2 (crate-source "bytemuck" "1.25.2" "15rp2m7j7kq22s76cbjwmrkd5r8lvacnm0mnrj013cnzka22x0wm")) (define rust-bytes-1.12.1 (crate-source "bytes" "1.12.1" "017z19dpg4f942h051m7bpnzcgng042hhcpd7bmg7bjjqd42lrgw")) (define rust-cc-1.4.4 (crate-source "cc" "1.4.4" "0wq26vvhzv5ci9gx3cfiw320skvaysf9i701wp668lks6ps39m8a")) (define rust-cexpr-0.6.0 (crate-source "cexpr" "0.6.0" "0rl77bwhs5p979ih4r0202cn5jrfsrbgrksp40lkfz5vk1x3ib3g")) (define rust-cfg-aliases-0.2.2 (crate-source "cfg_aliases" "0.2.2" "09rm3dv28gbsal7w6q76lg2nfyn8wp789ska9b8vr1w750xfhygh")) (define rust-cfg-if-1.0.4 (crate-source "cfg-if" "1.0.4" "008q28ajc546z5p2hcwdnckmg0hia7rnx52fni04bwqkzyrghc4k")) (define rust-chacha20-0.10.2 (crate-source "chacha20" "0.10.2" "01hvvbgdmqkcgs2s4f12s9wa5h2gbq05rqvypv61azlwd55mxhv5")) (define rust-chunked-transfer-1.5.0 (crate-source "chunked_transfer" "1.5.0" "00a9h3csr1xwkqrzpz5kag4h92zdkrnxq4ppxidrhrx29syf6kbf")) (define rust-clang-sys-1.9.1 ;; TODO REVIEW: Check bundled sources. (crate-source "clang-sys" "1.9.1" "12kqa3wywpxw3jk7n2dqz9fjm8p0qczx37y0yib3nwc0njkqnyhm")) (define rust-clap-4.6.6 (crate-source "clap" "4.6.6" "1jmx5z8d6jbvxdz6dybh599s4rd7ns6sl90p2rrdga09yh3pwg27")) (define rust-clap-builder-4.6.6 (crate-source "clap_builder" "4.6.6" "12cqg25zpjc3k82cpqa2v9h7s3vk1vydpgnwl8lfg6lfm2jzwj3v")) (define rust-clap-complete-4.6.9 (crate-source "clap_complete" "4.6.9" "06bagfajlrnrwjcbrqcm99np0n9mdxwxv6n8bgib1fxx4c2avqiv")) (define rust-clap-complete-nushell-4.6.2 (crate-source "clap_complete_nushell" "4.6.2" "0jayjmqzm924qp2mn626rzkjmwldhv2y42ii4wbjpjdr5v46pdpz")) (define rust-clap-derive-4.6.4 (crate-source "clap_derive" "4.6.4" "0qd0v7pa2arwxjjinmjim6xrjy61bc28m1yryhc7zjjssswx44nh")) (define rust-clap-lex-1.1.0 (crate-source "clap_lex" "1.1.0" "1ycqkpygnlqnndghhcxjb44lzl0nmgsia64x9581030yifxs7m68")) (define rust-cobs-0.3.0 (crate-source "cobs" "0.3.0" "18f0kxxa1fqb8pz2dxwssnhsrvhrs5j4p8xllgin5d7h36sn3a8g")) (define rust-colorchoice-1.0.5 (crate-source "colorchoice" "1.0.5" "0w75k89hw39p0mnnhlrwr23q50rza1yjki44qvh2mgrnj065a1qx")) (define rust-combine-4.6.8 (crate-source "combine" "4.6.8" "0ppwzwdmszpan9ybx1myc6ldg5zih2sazf9idckdxrh9gn9j1hyg")) (define rust-console-0.16.4 (crate-source "console" "0.16.4" "0z5sik90c39ywvkdkdc5bqrkbj441ycmvf21mn7yizpnlijz9rag")) (define rust-convert-case-0.11.0 (crate-source "convert_case" "0.11.0" "0jfv1ajyr65bjlx533n5alfkfjdl8ks4zxfywdiz1jnj1qcz1yxg")) (define rust-cpp-demangle-0.5.1 (crate-source "cpp_demangle" "0.5.1" "1vwx8a999mpqywx0736v54909y52x77w1myjsr6cnmpa69630rq6")) (define rust-cpufeatures-0.2.17 (crate-source "cpufeatures" "0.2.17" "10023dnnaghhdl70xcds12fsx2b966sxbxjq5sxs49mvxqw5ivar")) (define rust-cpufeatures-0.3.1 (crate-source "cpufeatures" "0.3.1" "0rkm1l35jy1z1yfg723fddsxc7vr0gc1hhfvc138hnqiwc58p8jw")) (define rust-cranelift-assembler-x64-0.135.1 (crate-source "cranelift-assembler-x64" "0.135.1" "0vz5zadxrk6p0vxcvqabfxplgqb13mmrl2fya2csb58arikyf0wr")) (define rust-cranelift-assembler-x64-meta-0.135.1 (crate-source "cranelift-assembler-x64-meta" "0.135.1" "1vxqchws63yx2zsg0b1vpjvsgc1sg7hbz3s0f7xaz7gclcp2axz7")) (define rust-cranelift-bforest-0.135.1 (crate-source "cranelift-bforest" "0.135.1" "0i5rjgas35501kl4i2y5sl8i9qrlc96d46x6rs0p8qp66s520a3q")) (define rust-cranelift-bitset-0.135.1 (crate-source "cranelift-bitset" "0.135.1" "00lxkwbga490ynza5ki44bnarl1a760ryrwnj329ivsrri3q9355")) (define rust-cranelift-codegen-0.135.1 (crate-source "cranelift-codegen" "0.135.1" "1h7wi4a7mifsilkx5518sx3w3yv0czbaykjngcz5ippikn4hwlnf")) (define rust-cranelift-codegen-meta-0.135.1 (crate-source "cranelift-codegen-meta" "0.135.1" "0js7370fjqmsynamxywhinw1rg2qr7cixbhqvaxsd3npcczb52ld")) (define rust-cranelift-codegen-shared-0.135.1 (crate-source "cranelift-codegen-shared" "0.135.1" "04m7bsvxxjfqrzd8xqyg89db7467d343k6zniazhxx0ydfcrlc94")) (define rust-cranelift-control-0.135.1 (crate-source "cranelift-control" "0.135.1" "0a7n2qb4597qfdyyhbswalkq9lqdc9dwbclw4a1zpkn2ikb5d66g")) (define rust-cranelift-entity-0.135.1 (crate-source "cranelift-entity" "0.135.1" "1b96ydd8g1yi333aihgqvd0wakiql60s0pnbb09xdibrddfj5v70")) (define rust-cranelift-frontend-0.135.1 (crate-source "cranelift-frontend" "0.135.1" "1wykgsk9g4p3rwdam3kajhz4k3s1swaymqidvzv3rgfrkfh9cfkx")) (define rust-cranelift-isle-0.135.1 (crate-source "cranelift-isle" "0.135.1" "0gh8a0whbv7vi7rzrbqw1r9y1763csxw01bkl6ddryvaqf9zaa5x")) (define rust-cranelift-native-0.135.1 (crate-source "cranelift-native" "0.135.1" "0pq5q7r6zkahkyx07047pz7790kzvn0gnhy63aiil9pwmx3wm1r9")) (define rust-cranelift-srcgen-0.135.1 (crate-source "cranelift-srcgen" "0.135.1" "0s3xaisxkg7y8jqcy8irn7ch68flw3g1aydj8g54myfyr7c1shxp")) (define rust-crc32fast-1.5.1 (crate-source "crc32fast" "1.5.1" "0l75bfakpwr86wz45gm38lylrpgbssr529fmm6m445qy2rqwi644")) (define rust-crypto-common-0.1.7 (crate-source "crypto-common" "0.1.7" "02nn2rhfy7kvdkdjl457q2z0mklcvj9h662xrq6dzhfialh2kj3q")) (define rust-ctor-0.6.3 (crate-source "ctor" "0.6.3" "03jrw316acxl3vld3wvl5m8jkj0mwwbssx7i06sb5blg4ww02kj2")) (define rust-ctor-proc-macro-0.0.7 (crate-source "ctor-proc-macro" "0.0.7" "1havwah6iryn0ang09y12xxr45jsp7ff27zflz4mhgk017ghlmjj")) (define rust-ctrlc-3.5.2 (crate-source "ctrlc" "3.5.2" "0qh1lvlr6k58dliqllx1n7mjfwp1mzr607bks3r9m0a5msrgmcg0")) (define rust-dialoguer-0.12.0 (crate-source "dialoguer" "0.12.0" "15mdq2cp838yiq9fs1jkhvskixvlqz5p8f8dipkn88xz06sh9w95")) (define rust-diff-0.1.13 (crate-source "diff" "0.1.13" "1j0nzjxci2zqx63hdcihkp0a4dkdmzxd7my4m7zk6cjyfy34j9an")) (define rust-digest-0.10.7 (crate-source "digest" "0.10.7" "14p2n6ih29x81akj097lvz7wi9b6b9hvls0lwrv7b6xwyy0s5ncy")) (define rust-dispatch2-0.3.1 (crate-source "dispatch2" "0.3.1" "0f5xmnbzpaz1g80m27kd804p75nswh0ikb6wvqh4ba3x9rz3c3hy")) (define rust-displaydoc-0.2.7 (crate-source "displaydoc" "0.2.7" "1a42mwpgpwcqq2qqgkcc630wvsc2p2dkmgacjnclginwfz9js8y6")) (define rust-dtor-0.1.1 (crate-source "dtor" "0.1.1" "00fkcw8zn0g10m4k8b0qgmn304g47xqwn1ihhzyjra48n3p04ka0")) (define rust-dtor-proc-macro-0.0.6 (crate-source "dtor-proc-macro" "0.0.6" "19fg0mivy9qyvbwmqj3ysj0qm5cay0gyp5fyw1imq89cj95cyy7n")) (define rust-dunce-1.0.5 (crate-source "dunce" "1.0.5" "04y8wwv3vvcqaqmqzssi6k0ii9gs6fpz96j5w9nky2ccsl23axwj")) (define rust-dyn-clone-1.0.20 (crate-source "dyn-clone" "1.0.20" "0m956cxcg8v2n8kmz6xs5zl13k2fak3zkapzfzzp7pxih6hix26h")) (define rust-either-1.18.0 (crate-source "either" "1.18.0" "0d7dx31sf8rakcgp63070ngb2vkjynrni866pnx879pawndgnai5")) (define rust-embedded-io-0.4.0 (crate-source "embedded-io" "0.4.0" "1v9wrc5nsgaaady7i3ya394sik5251j0iq5rls7mrx7fv696h6pg")) (define rust-embedded-io-0.6.1 (crate-source "embedded-io" "0.6.1" "0v901xykajh3zffn6x4cnn4fhgfw3c8qpjwbsk6gai3gaccg3l7d")) (define rust-encode-unicode-1.0.0 (crate-source "encode_unicode" "1.0.0" "1h5j7j7byi289by63s3w4a8b3g6l5ccdrws7a67nn07vdxj77ail")) (define rust-encoding-rs-0.8.35 (crate-source "encoding_rs" "0.8.35" "1wv64xdrr9v37rqqdjsyb8l8wzlcbab80ryxhrszvnj59wy0y0vm")) (define rust-equivalent-1.0.2 (crate-source "equivalent" "1.0.2" "03swzqznragy8n0x31lqc78g2af054jwivp7lkrbrc0khz74lyl7")) (define rust-errno-0.3.14 (crate-source "errno" "0.3.14" "1szgccmh8vgryqyadg8xd58mnwwicf39zmin3bsn63df2wbbgjir")) (define rust-etcetera-0.11.0 (crate-source "etcetera" "0.11.0" "15myc4rl62iah8acdl1sxmrdxb8ci55zbphrv07s55qx3i6wqj6y")) (define rust-fastrand-2.5.0 (crate-source "fastrand" "2.5.0" "08q2r30y62winysimnlpbvw9kiwn0rmdlidqlmzd6z90mv764z6s")) (define rust-file-id-0.2.3 (crate-source "file-id" "0.2.3" "1s96rjij7gdbs4j70k1xjfqfr1zi1wbxkpaff4a89ibdgdinmz71")) (define rust-find-msvc-tools-0.1.11 (crate-source "find-msvc-tools" "0.1.11" "145qpfb9r4ml2klr8v4byvrkikp61qyiks9n69b8z0vbscbb0pfl")) (define rust-fnv-1.0.7 (crate-source "fnv" "1.0.7" "1hc2mcqha06aibcaza94vbi81j6pr9a1bbxrxjfhc91zin8yr7iz")) (define rust-foldhash-0.1.5 (crate-source "foldhash" "0.1.5" "1wisr1xlc2bj7hk4rgkcjkz3j2x4dhd1h9lwk7mj8p71qpdgbi6r")) (define rust-foldhash-0.2.0 (crate-source "foldhash" "0.2.0" "1nvgylb099s11xpfm1kn2wcsql080nqmnhj1l25bp3r2b35j9kkp")) (define rust-form-urlencoded-1.2.2 (crate-source "form_urlencoded" "1.2.2" "1kqzb2qn608rxl3dws04zahcklpplkd5r1vpabwga5l50d2v4k6b")) (define rust-fsevent-sys-4.1.0 ;; TODO REVIEW: Check bundled sources. (crate-source "fsevent-sys" "4.1.0" "1liz67v8b0gcs8r31vxkvm2jzgl9p14i78yfqx81c8sdv817mvkn")) (define rust-futures-0.3.34 (crate-source "futures" "0.3.34" "18yhwmbdalhz2z9i1vm10hy2v0cfm82dkgcb6vr2msxazfix4ccs")) (define rust-futures-channel-0.3.34 (crate-source "futures-channel" "0.3.34" "1i4kwcanpaphn1ax62ci3nx176kglxqx0gnhzqpqdr1rkpbf7ydi")) (define rust-futures-core-0.3.34 (crate-source "futures-core" "0.3.34" "0pjgv4fx0np6hrs5sz5a2phabwv0z70yr51v03injbi44bjrkmlj")) (define rust-futures-io-0.3.34 (crate-source "futures-io" "0.3.34" "1v9z6wj92ra18kpv0xig21hgpzrvcwmcr8fszyzh64yyay0zmh2k")) (define rust-futures-sink-0.3.34 (crate-source "futures-sink" "0.3.34" "07cfvrgc3vxk6sw5g8a8dnrm1mzg6d5mwy08ywa1sgyhyxml4i0r")) (define rust-futures-task-0.3.34 (crate-source "futures-task" "0.3.34" "1zfilqs8nwlfqz4prk7ihvpp5avvzins87ibzlxzq5fhs7ipshfd")) (define rust-futures-util-0.3.34 (crate-source "futures-util" "0.3.34" "1g3r9ghzq7c2fh34lis43i72xavk9p84npgfwgb5vfpqcwjajl0d")) (define rust-fuzzy-matcher-0.3.7 (crate-source "fuzzy-matcher" "0.3.7" "153csv8rsk2vxagb68kpmiknvdd3bzqj03x805khckck28rllqal")) (define rust-generic-array-0.14.7 (crate-source "generic-array" "0.14.7" "16lyyrzrljfq424c3n8kfwkqihlimmsg5nhshbbp48np3yjrqr45")) (define rust-getrandom-0.4.3 (crate-source "getrandom" "0.4.3" "16b0202fkdwz3p2cyll82dv24ljbn0wiyy829v4lwbkbflyqh3ih")) (define rust-gimli-0.33.0 (crate-source "gimli" "0.33.0" "0v0jgyxdakhn8z74dvm9l38a0bwvfhrc9b3wiigq0ncmz11z1xqb")) (define rust-glob-0.3.4 (crate-source "glob" "0.3.4" "02zby4rsidb2ksrnysyrsaap7rk6wpp7vl5chflndafhl5gaisz4")) (define rust-hashbrown-0.15.5 (crate-source "hashbrown" "0.15.5" "189qaczmjxnikm9db748xyhiw04kpmhm9xj9k9hg0sgx7pjwyacj")) (define rust-hashbrown-0.16.1 (crate-source "hashbrown" "0.16.1" "004i3njw38ji3bzdp9z178ba9x3k0c1pgy8x69pj7yfppv4iq7c4")) (define rust-hashbrown-0.17.1 (crate-source "hashbrown" "0.17.1" "0jmqz7i4yl6cm7rbn0i2ffkfrmwi6xkmzkaldr2v8bcsx2v0jngd")) (define rust-heck-0.5.0 (crate-source "heck" "0.5.0" "1sjmpsdl8czyh9ywl3qcsfsq9a307dg4ni2vnlwgnzzqhc4y0113")) (define rust-html-escape-0.2.15 (crate-source "html-escape" "0.2.15" "1i8k6hkpvrz2d0px2rcgc7d2qyc22l760wr1lfxrf4dlnjan0df9")) (define rust-httpdate-1.0.3 (crate-source "httpdate" "1.0.3" "1aa9rd2sac0zhjqh24c9xvir96g188zldkx0hr6dnnlx5904cfyz")) (define rust-icu-collections-2.3.0 (crate-source "icu_collections" "2.3.0" "04x59h6vdq0cnpippim1nr471ivlsnnn470sj1d5v864h48d4s7s")) (define rust-icu-locale-core-2.3.0 (crate-source "icu_locale_core" "2.3.0" "1sqdj16wwl7h9y6r7j394av4kpdb7zryz9h169ffwbm9imc2hvnm")) (define rust-icu-normalizer-2.3.0 (crate-source "icu_normalizer" "2.3.0" "0vv43ixk2wmbxrx7kl33cwkhx1wdyb1q3pa18qkyshan4dgwzy8j")) (define rust-icu-normalizer-data-2.3.0 (crate-source "icu_normalizer_data" "2.3.0" "1811h0ppb7lwq1q2492p5x6lcmlwmhbmkf69fhyvzcz0scgdlqqm")) (define rust-icu-properties-2.3.0 (crate-source "icu_properties" "2.3.0" "0j51hi8qgf0l6a7qzvnwsc61598w2fpnsklicld6ci9immva4z3y")) (define rust-icu-properties-data-2.3.0 (crate-source "icu_properties_data" "2.3.0" "1akw1gp5rcaiz377xzsnkx8f92qax4kh3lfn9y4rcjj6q4wg1475")) (define rust-icu-provider-2.3.1 (crate-source "icu_provider" "2.3.1" "0wrydhwprwgyka3r3sw6276syjnlw6fpqr2zsm2srvxv7afvnyyj")) (define rust-ident-case-1.0.1 (crate-source "ident_case" "1.0.1" "0fac21q6pwns8gh1hz3nbq15j8fi441ncl6w4vlnd1cmc55kiq5r")) (define rust-idna-1.1.0 (crate-source "idna" "1.1.0" "1pp4n7hppm480zcx411dsv9wfibai00wbpgnjj4qj0xa7kr7a21v")) (define rust-idna-adapter-1.2.2 (crate-source "idna_adapter" "1.2.2" "0557p76l8hj35r9zn1yv7c6x1c0qbrsffmg80n0yy8361ly3fs6b")) (define rust-indexmap-2.14.1 (crate-source "indexmap" "2.14.1" "1sq9z90viwfw8053l32rrby563hy67xl8n6k65d92hi22i421ah7")) (define rust-indoc-2.0.7 (crate-source "indoc" "2.0.7" "01np60qdq6lvgh8ww2caajn9j4dibx9n58rvzf7cya1jz69mrkvr")) (define rust-inotify-0.11.5 (crate-source "inotify" "0.11.5" "14p5gkhk95yk536zncfrjywy2yxrxf06yrfsnx89bd6a0ylhxh2c")) (define rust-inotify-sys-0.1.8 ;; TODO REVIEW: Check bundled sources. (crate-source "inotify-sys" "0.1.8" "0zgkxmqa7wlsc348166rr9np4560rflzlcvsmf8xyg0i5h5zhcy0")) (define rust-is-terminal-polyfill-1.70.2 (crate-source "is_terminal_polyfill" "1.70.2" "15anlc47sbz0jfs9q8fhwf0h3vs2w4imc030shdnq54sny5i7jx6")) (define rust-itertools-0.13.0 (crate-source "itertools" "0.13.0" "11hiy3qzl643zcigknclh446qb9zlg4dpdzfkjaa9q9fqpgyfgj1")) (define rust-itertools-0.14.0 (crate-source "itertools" "0.14.0" "118j6l1vs2mx65dqhwyssbrxpawa90886m3mzafdvyip41w2q69b")) (define rust-itoa-1.0.18 (crate-source "itoa" "1.0.18" "10jnd1vpfkb8kj38rlkn2a6k02afvj3qmw054dfpzagrpl6achlg")) (define rust-jni-0.22.4 (crate-source "jni" "0.22.4" "161lza8gz071h22pgyqyx4n91ixd691z2dbb1pq2g97k5i49mzay")) (define rust-jni-macros-0.22.4 (crate-source "jni-macros" "0.22.4" "18v02mcn5c7mb2yw6r930xg6ynsn7hwkxv8z2kdhn3qprjn0j0d0")) (define rust-jni-sys-0.4.1 ;; TODO REVIEW: Check bundled sources. (crate-source "jni-sys" "0.4.1" "1wlahx6f2zhczdjqyn8mk7kshb8x5vsd927sn3lvw41rrf47ldy6")) (define rust-jni-sys-macros-0.4.1 (crate-source "jni-sys-macros" "0.4.1" "0r32gbabrak15a7p487765b5wc0jcna2yv88mk6m1zjqyi1bkh1q")) (define rust-js-sys-0.3.104 ;; TODO REVIEW: Check bundled sources. (crate-source "js-sys" "0.3.104" "0fjsgady7wbv7bbyy6c8qhrd93bnx11qbl83l1g7bb9a4601030f")) (define rust-kqueue-1.2.1 (crate-source "kqueue" "1.2.1" "1sj11bbz5kx73m0bzkmwzfmmlxjnh4q94v6ya3gls2qj4idkwxld")) (define rust-kqueue-sys-1.1.2 ;; TODO REVIEW: Check bundled sources. (crate-source "kqueue-sys" "1.1.2" "11xhzsgwc82g85072c6m8nimxxqkax4n40sikcsk9hks5573la87")) (define rust-leb128fmt-0.1.0 (crate-source "leb128fmt" "0.1.0" "1chxm1484a0bly6anh6bd7a99sn355ymlagnwj3yajafnpldkv89")) (define rust-libc-0.2.189 (crate-source "libc" "0.2.189" "1whjfs375vlng2q6yrbzs73cvp5lm3w1n2gfqajb2vgf7zg3xbry")) (define rust-libloading-0.8.9 (crate-source "libloading" "0.8.9" "0mfwxwjwi2cf0plxcd685yxzavlslz7xirss3b9cbrzyk4hv1i6p")) (define rust-libloading-0.9.0 (crate-source "libloading" "0.9.0" "0q4bvhp4kqy2v3bw4cn2bmyq73hskqd1ansa9125gfq5x0ns4k3m")) (define rust-libm-0.2.16 (crate-source "libm" "0.2.16" "10brh0a3qjmbzkr5mf5xqi887nhs5y9layvnki89ykz9xb1wxlmn")) (define rust-linux-raw-sys-0.12.1 ;; TODO REVIEW: Check bundled sources. (crate-source "linux-raw-sys" "0.12.1" "0lwasljrqxjjfk9l2j8lyib1babh2qjlnhylqzl01nihw14nk9ij")) (define rust-litemap-0.8.3 (crate-source "litemap" "0.8.3" "1bpgpj87560hmckh3875fbahpmfxbk4g8pzns84h3ykf3nfx3na7")) (define rust-log-0.4.34 (crate-source "log" "0.4.34" "1ihkzn0m33ab79fcl4mkb04n5iwqzbxzyw7l7hazqkffaqzbvy7r")) (define rust-mach2-0.6.0 (crate-source "mach2" "0.6.0" "0asmmmvsvf9ipn2jszazhhlrqv8qgcglwdh0n3r470pna70hirns")) (define rust-memchr-2.8.3 (crate-source "memchr" "2.8.3" "161xa63ipfanf8v3nb82xd5hqgydv55nzw59wyngqbz6alfaz2yg")) (define rust-memfd-0.6.5 (crate-source "memfd" "0.6.5" "09sj2xhn592adr14mss8b433fdn8ikyq02m4dr3a0555mq9fnf5d")) (define rust-minimal-lexical-0.2.1 (crate-source "minimal-lexical" "0.2.1" "16ppc5g84aijpri4jzv14rvcnslvlpphbszc7zzp6vfkddf4qdb8")) (define rust-mio-1.2.2 (crate-source "mio" "1.2.2" "09y4b7gc42ymgssshh8sz6gs3y5r8bbigqaw2c4snh6fy5qmrmih")) (define rust-ndk-context-0.1.1 (crate-source "ndk-context" "0.1.1" "12sai3dqsblsvfd1l1zab0z6xsnlha3xsfl7kagdnmj3an3jvc17")) (define rust-nix-0.31.3 (crate-source "nix" "0.31.3" "0gbwnjfny9rq9hl5bz4ry520n9rnfknna4bg88n66f7zx3yx486g")) (define rust-nom-7.1.3 (crate-source "nom" "7.1.3" "0jha9901wxam390jcf5pfa0qqfrgh8li787jx2ip0yk5b8y9hwyj")) (define rust-notify-8.2.0 (crate-source "notify" "8.2.0" "1hrb83451vm5cpjw83nz5skgwjg5ara28zq8nxsqbzsif690fgad")) (define rust-notify-debouncer-full-0.7.0 (crate-source "notify-debouncer-full" "0.7.0" "00mkvfh0z2hi8ql8fa4k6zh6vlhjk43xc14d4cr9kg7ykhbljay0")) (define rust-notify-types-2.1.0 (crate-source "notify-types" "2.1.0" "0yj710mxd4lsaz4hq7601mh6xb02awb8hg4z6lvh76ik1vpczf22")) (define rust-objc2-0.6.4 (crate-source "objc2" "0.6.4" "17x8qpl512frscfqbmgjr20kg3y4r0xdqxphja17dz5f0znsh4is")) (define rust-objc2-app-kit-0.3.2 (crate-source "objc2-app-kit" "0.3.2" "132ijwni8lsi8phq7wnmialkxp46zx998fns3zq5np0ya1mr77nl")) (define rust-objc2-core-foundation-0.3.2 (crate-source "objc2-core-foundation" "0.3.2" "0dnmg7606n4zifyjw4ff554xvjmi256cs8fpgpdmr91gckc0s61a")) (define rust-objc2-encode-4.1.0 (crate-source "objc2-encode" "4.1.0" "0cqckp4cpf68mxyc2zgnazj8klv0z395nsgbafa61cjgsyyan9gg")) (define rust-objc2-foundation-0.3.2 (crate-source "objc2-foundation" "0.3.2" "0wijkxzzvw2xkzssds3fj8279cbykz2rz9agxf6qh7y2agpsvq73")) (define rust-object-0.39.1 (crate-source "object" "0.39.1" "16vkcaamik55jd9f04g73hvgsm5w636gb4w06x3nafvsih4nqnif")) (define rust-once-cell-1.21.4 (crate-source "once_cell" "1.21.4" "0l1v676wf71kjg2khch4dphwh1jp3291ffiymr2mvy1kxd5kwz4z")) (define rust-once-cell-polyfill-1.70.2 (crate-source "once_cell_polyfill" "1.70.2" "1zmla628f0sk3fhjdjqzgxhalr2xrfna958s632z65bjsfv8ljrq")) (define rust-pathdiff-0.2.3 (crate-source "pathdiff" "0.2.3" "1lrqp4ip05df8dzldq6gb2c1sq2gs54gly8lcnv3rhav1qhwx56z")) (define rust-percent-encoding-2.3.2 (crate-source "percent-encoding" "2.3.2" "083jv1ai930azvawz2khv7w73xh8mnylk7i578cifndjn5y64kwv")) (define rust-phf-0.14.0 (crate-source "phf" "0.14.0" "1xm2nbg5c59b5wvvv4v3sd3sknrlg2z17bkzk440p2090dw7h0q1")) (define rust-phf-generator-0.14.0 (crate-source "phf_generator" "0.14.0" "003i8qw6ghkcvs6bmxdhnq1a1kmpwbciakazjsybx8fmb44jxdmf")) (define rust-phf-shared-0.14.0 (crate-source "phf_shared" "0.14.0" "12dalcsaq83pfydhq81195aal0ld9vdx3swz6kk9ncfrw8kr1zf6")) (define rust-pin-project-lite-0.2.17 (crate-source "pin-project-lite" "0.2.17" "1kfmwvs271si96zay4mm8887v5khw0c27jc9srw1a75ykvgj54x8")) (define rust-postcard-1.1.3 (crate-source "postcard" "1.1.3" "094srff139n7m8g5ssq36ag6s29ikf7fgpz660x2hkj5vnsw6r37")) (define rust-potential-utf-0.1.6 (crate-source "potential_utf" "0.1.6" "0qbndl2fpphq7mph41m11vaixs05xrh1s451wxlgap4fdnybjgnq")) (define rust-pretty-assertions-1.4.1 (crate-source "pretty_assertions" "1.4.1" "0v8iq35ca4rw3rza5is3wjxwsf88303ivys07anc5yviybi31q9s")) (define rust-prettyplease-0.2.37 (crate-source "prettyplease" "0.2.37" "0azn11i1kh0byabhsgab6kqs74zyrg69xkirzgqyhz6xmjnsi727")) (define rust-proc-macro-crate-3.5.0 (crate-source "proc-macro-crate" "3.5.0" "0kv1g1d1zjwxlgcaba2qlshzyy32j03xic8rskqlcr5mnblsfyz6")) (define rust-proc-macro2-1.0.107 (crate-source "proc-macro2" "1.0.107" "1nb6ly8kp65f724kj73ippc7lvydss24sm2vagk6qpklpg4pwplq")) (define rust-pulley-interpreter-48.0.1 (crate-source "pulley-interpreter" "48.0.1" "0ah1awb3i77hhidm0dx4wlfvxb9ghpmyx0287s57790911gdfmgp")) (define rust-pulley-macros-48.0.1 (crate-source "pulley-macros" "48.0.1" "07g5dihpqihi92dq4rj27gh9w3lbz1ylm2g7h9pr8md5qjhrzrn7")) (define rust-quote-1.0.47 (crate-source "quote" "1.0.47" "00ch0yyzvv6s671ik0kcsbw8nigdaj2g3fr61kcahwx48aqlvgqz")) (define rust-r-efi-6.0.0 (crate-source "r-efi" "6.0.0" "1gyrl2k5fyzj9k7kchg2n296z5881lg7070msabid09asp3wkp7q")) (define rust-rand-0.10.2 (crate-source "rand" "0.10.2" "105yqkdzqbgggd3r1yjm9jg0zvibfdsmxylvxxkmblwc0lxgmxf7")) (define rust-rand-core-0.10.1 (crate-source "rand_core" "0.10.1" "0s9wiacxrr100icl7i41308gcj85nlcclrc5jx1jd6p10dhigf33")) (define rust-ref-cast-1.0.27 (crate-source "ref-cast" "1.0.27" "1hv5sf0j7b65gz2g57c3wp0fzr5r3807dywf6fap455lwjs0yi3y")) (define rust-ref-cast-impl-1.0.27 (crate-source "ref-cast-impl" "1.0.27" "0fnzgkvddgl9xs3884x5ypi9rd0dgc1p5vd1k4b74lw49ybdiv4j")) (define rust-regalloc2-0.15.2 (crate-source "regalloc2" "0.15.2" "11bzk983566d84xpm0v76jhmm2skalvlhqymypadd40mwvl14xvm")) (define rust-regex-1.13.1 (crate-source "regex" "1.13.1" "1391a0a4100ik8cp7l577p3ip3haqq03rd9c5vdr7vcfdixj687h")) (define rust-regex-automata-0.4.18 (crate-source "regex-automata" "0.4.18" "1cml0rm0ssqfkibh9nh3gy4b6hbsbicj1rihpwf2a4v4nawm71dd")) (define rust-regex-syntax-0.8.11 (crate-source "regex-syntax" "0.8.11" "1m25h5q2wp976fb9gc3dsc9l99svcvd5cri8lncb51c46ydgzxnn")) (define rust-relative-path-2.0.1 (crate-source "relative-path" "2.0.1" "1c4jm6x0p88722c77xx53mb7zcs4xznp9d3whdsbmn1248qhm95w")) (define rust-rgb-0.8.53 (crate-source "rgb" "0.8.53" "1i0c55whln68zs6f5qqrkbg1mzai0p3qk1mwkwzdgr9i3dw4pcs7")) (define rust-rquickjs-0.12.2 (crate-source "rquickjs" "0.12.2" "1r34940k1wjmji7ngyyk40v0n2w9pd5698phnl1vaq5hvzpf812f")) (define rust-rquickjs-core-0.12.2 (crate-source "rquickjs-core" "0.12.2" "1330nq8qjcfnjcbjyz8g89pl441c7kr49g3dxsbkv52vmjcz9r0n")) (define rust-rquickjs-macro-0.12.2 (crate-source "rquickjs-macro" "0.12.2" "0l1z558spwlmhh769f8crsicnhapy53rycym12m2zvkhkchwig1w")) (define rust-rquickjs-sys-0.12.2 ;; TODO REVIEW: Check bundled sources. (crate-source "rquickjs-sys" "0.12.2" "16dd3kf4qkn8ywf3p5mrnyci2b2smlq9wzpg2h414x3ap11w4fm1")) (define rust-rustc-demangle-0.1.28 (crate-source "rustc-demangle" "0.1.28" "1sr083jamg89zcxmchia1pdn584smsy2r32kk9q30a5vm3zmcjxp")) (define rust-rustc-hash-2.1.3 (crate-source "rustc-hash" "2.1.3" "0bbla578m87qmf3yr55q49l97gxn7z0ha1dwqlnvwwc58ad7y7kb")) (define rust-rustc-version-0.4.1 (crate-source "rustc_version" "0.4.1" "14lvdsmr5si5qbqzrajgb6vfn69k0sfygrvfvr2mps26xwi3mjyg")) (define rust-rustix-1.1.4 (crate-source "rustix" "1.1.4" "14511f9yjqh0ix07xjrjpllah3325774gfwi9zpq72sip5jlbzmn")) (define rust-rustversion-1.0.23 (crate-source "rustversion" "1.0.23" "07z2a843fs80fawwflj9jwn49k9b0bd0dhhbvy0ar69vaxd72m6g")) (define rust-same-file-1.0.6 (crate-source "same-file" "1.0.6" "00h5j1w87dmhnvbv9l8bic3y7xxsnjmssvifw2ayvgx9mb1ivz4k")) (define rust-schemars-1.2.2 (crate-source "schemars" "1.2.2" "0jng632s64njf9vghr3i1l4m15h4y85m5vhg7vkwdkdnjg978wk8")) (define rust-schemars-derive-1.2.2 (crate-source "schemars_derive" "1.2.2" "1fp2wkdk32nv66swy7k7pz7sxygn634snlppih5jzbs6ddqng36r")) (define rust-semver-1.0.28 (crate-source "semver" "1.0.28" "1kaimrpy876bcgi8bfj0qqfxk77zm9iz2zhn1hp9hj685z854y4a")) (define rust-serde-1.0.229 (crate-source "serde" "1.0.229" "1fp04fq4a79bpm61xz1zy0pbz4kpc7d771zii1k3inmszq55jj21")) (define rust-serde-core-1.0.229 (crate-source "serde_core" "1.0.229" "0j1ajiha76h3nmd976il9li6975k121xa7jb39ws8n0yqp4s5p37")) (define rust-serde-derive-1.0.229 (crate-source "serde_derive" "1.0.229" "0j4k63i7h1bikxwz2c89ig0hrwbnl9mz1czn85xx99x5cc9dg9g7")) (define rust-serde-derive-internals-0.30.0 (crate-source "serde_derive_internals" "0.30.0" "1gd9n45na7n79nr54ghfl79rygkbzw2ybk3wyr6nlp83rry16lpq")) (define rust-serde-json-1.0.151 (crate-source "serde_json" "1.0.151" "051zww7lvpw147vvwss1ng6w587qyrkzg75fvj08q2dfrmgbahf8")) (define rust-sha2-0.10.9 (crate-source "sha2" "0.10.9" "10xjj843v31ghsksd9sl9y12qfc48157j1xpb8v1ml39jy0psl57")) (define rust-shell-words-1.1.1 (crate-source "shell-words" "1.1.1" "0xzd5p53xl0ndnk63r0by52rhdrh6pd37szfxszkg73zb6ffcvyw")) (define rust-shlex-1.3.0 (crate-source "shlex" "1.3.0" "0r1y6bv26c1scpxvhg2cabimrmwgbp4p3wy6syj9n0c4s3q2znhg")) (define rust-shlex-2.0.1 (crate-source "shlex" "2.0.1" "1fjsll1cd7d2bcpdij9kd6w62rpbc7qqzvydvs021vsmr1cxvypq")) (define rust-simd-cesu8-1.2.0 (crate-source "simd_cesu8" "1.2.0" "0865mv3nmd35f1dccjcfj7dncjmmvvdij3j61z4131mz38jiw0qi")) (define rust-simdutf8-0.1.5 (crate-source "simdutf8" "0.1.5" "0vmpf7xaa0dnaikib5jlx6y4dxd3hxqz6l830qb079g7wcsgxag3")) (define rust-similar-2.7.0 (crate-source "similar" "2.7.0" "1aidids7ymfr96s70232s6962v5g9l4zwhkvcjp4c5hlb6b5vfxv")) (define rust-siphasher-1.0.3 (crate-source "siphasher" "1.0.3" "0jg6l9xyzca5vy4h6gf8r6p4kk84g98fk95pzig1kq6cr4z8grcf")) (define rust-slab-0.4.12 (crate-source "slab" "0.4.12" "1xcwik6s6zbd3lf51kkrcicdq2j4c1fw0yjdai2apy9467i0sy8c")) (define rust-smallvec-1.15.2 (crate-source "smallvec" "1.15.2" "143wzbqf6vgapdp2z4qpl0yvlqcn17s8cnk8m28rqly808zsdmlf")) (define rust-stable-deref-trait-1.2.1 (crate-source "stable_deref_trait" "1.2.1" "15h5h73ppqyhdhx6ywxfj88azmrpml9gl6zp3pwy2malqa6vxqkc")) (define rust-streaming-iterator-0.1.9 (crate-source "streaming-iterator" "0.1.9" "0845zdv8qb7zwqzglpqc0830i43xh3fb6vqms155wz85qfvk28ib")) (define rust-strsim-0.11.1 (crate-source "strsim" "0.11.1" "0kzvqlw8hxqb7y598w1s0hxlnmi84sg5vsipp3yg5na5d1rvba3x")) (define rust-syn-2.0.119 (crate-source "syn" "2.0.119" "15vjy620l91a3q4n4f4gzhnflmdr6pnm38v2m6cpk86i8av32a47")) (define rust-syn-3.0.4 (crate-source "syn" "3.0.4" "17v4ac61x0hvj1879ywqzlwhyzg7n9lr9zniwrsif3b1ykfmq9z6")) (define rust-synstructure-0.13.2 (crate-source "synstructure" "0.13.2" "1lh9lx3r3jb18f8sbj29am5hm9jymvbwh6jb1izsnnxgvgrp12kj")) (define rust-target-lexicon-0.13.5 (crate-source "target-lexicon" "0.13.5" "1jm6lmf9hsn7ri2d6v9gg6fy24lylhskh6pbxh71f82wdxd97dmd")) (define rust-tempfile-3.27.0 (crate-source "tempfile" "3.27.0" "1gblhnyfjsbg9wjg194n89wrzah7jy3yzgnyzhp56f3v9jd7wj9j")) (define rust-termcolor-1.4.1 (crate-source "termcolor" "1.4.1" "0mappjh3fj3p2nmrg4y7qv94rchwi9mzmgmfflr8p2awdj7lyy86")) (define rust-thiserror-2.0.20 (crate-source "thiserror" "2.0.20" "0kxs6p295jffxhzaxpxv1dwaaf5iqlm6sx8h0djp6ancbxgj71pc")) (define rust-thiserror-impl-2.0.20 (crate-source "thiserror-impl" "2.0.20" "1bwjc94gi0xn5jz26h1a8bjj1wdkvvr6jifamyc4mp9n28zcs15w")) (define rust-thread-local-1.1.10 (crate-source "thread_local" "1.1.10" "0w20g2pfdcp8pz3gds0bzksv6mxk802szca8qlr3701jdm69rn8s")) (define rust-tiny-http-0.12.0 (crate-source "tiny_http" "0.12.0" "10nw9kk2i2aq4l4csy0825qkq0l66f9mz2c1n57yg8hkckgib69q")) (define rust-tinystr-0.8.4 (crate-source "tinystr" "0.8.4" "0hzncw8rgk4syla79qscfml46jm7ll1zdp7kdacc42cj8n8prqmi")) (define rust-toml-datetime-1.1.1+spec-1.1.0 (crate-source "toml_datetime" "1.1.1+spec-1.1.0" "1mws2mkkf46l7inn77azhm0vdwxngv9vsbhbl0ah33p2c9gzcr9i")) (define rust-toml-edit-0.25.13+spec-1.1.0 (crate-source "toml_edit" "0.25.13+spec-1.1.0" "16xgmjdnxssdpj7rjyimsk4fqbv29g8zl7zhdbc6dxrf9mz3cxb9")) (define rust-toml-parser-1.1.3+spec-1.1.0 (crate-source "toml_parser" "1.1.3+spec-1.1.0" "0mjdvihdkmjd4ykh574xgii71hpxw7ns7h4n4bisqpxrz4faqf0x")) (define rust-topological-sort-0.2.2 (crate-source "topological-sort" "0.2.2" "0gcxahg24c058izagz642vs0kfb2zja48my3qrd0kkaf2d730s7a")) (define rust-tracing-0.1.44 (crate-source "tracing" "0.1.44" "006ilqkg1lmfdh3xhg3z762izfwmxcvz0w7m4qx2qajbz9i1drv3")) (define rust-tracing-core-0.1.36 (crate-source "tracing-core" "0.1.36" "16mpbz6p8vd6j7sf925k9k8wzvm9vdfsjbynbmaxxyq6v7wwm5yv")) (define rust-typenum-1.20.1 (crate-source "typenum" "1.20.1" "086s9ly0906kw5yw41249fba97w5zfxf03pyfwdkffvcprqfixdn")) (define rust-unicode-ident-1.0.24 (crate-source "unicode-ident" "1.0.24" "0xfs8y1g7syl2iykji8zk5hgfi5jw819f5zsrbaxmlzwsly33r76")) (define rust-unicode-segmentation-1.13.3 (crate-source "unicode-segmentation" "1.13.3" "1a47zaq83p386r3baq4m018xd5q4q0grdg56i1x042dzn71x7xf6")) (define rust-unicode-width-0.2.2 (crate-source "unicode-width" "0.2.2" "0m7jjzlcccw716dy9423xxh0clys8pfpllc5smvfxrzdf66h9b5l")) (define rust-unindent-0.2.4 (crate-source "unindent" "0.2.4" "1wvfh815i6wm6whpdz1viig7ib14cwfymyr1kn3sxk2kyl3y2r3j")) (define rust-url-2.5.8 (crate-source "url" "2.5.8" "1v8f7nx3hpr1qh76if0a04sj08k86amsq4h8cvpw6wvk76jahrzz")) (define rust-utf8-iter-1.0.4 (crate-source "utf8_iter" "1.0.4" "1gmna9flnj8dbyd8ba17zigrp9c4c3zclngf5lnb5yvz1ri41hdn")) (define rust-utf8parse-0.2.2 (crate-source "utf8parse" "0.2.2" "088807qwjq46azicqwbhlmzwrbkz7l4hpw43sdkdyyk524vdxaq6")) (define rust-version-check-0.9.5 (crate-source "version_check" "0.9.5" "0nhhi4i5x89gm911azqbn7avs9mdacw2i3vcz3cnmz3mv4rqz4hb")) (define rust-walkdir-2.5.0 (crate-source "walkdir" "2.5.0" "0jsy7a710qv8gld5957ybrnc07gavppp963gs32xk4ag8130jy99")) (define rust-wasi-0.11.1+wasi-snapshot-preview1 (crate-source "wasi" "0.11.1+wasi-snapshot-preview1" "0jx49r7nbkbhyfrfyhz0bm4817yrnxgd3jiwwwfv0zl439jyrwyc")) (define rust-wasm-bindgen-0.2.127 (crate-source "wasm-bindgen" "0.2.127" "0w6fa1mkbb6qlkffgy4qaz0hdf496zbjkyiyvs4lvmpd8xbr6w0v")) (define rust-wasm-bindgen-macro-0.2.127 (crate-source "wasm-bindgen-macro" "0.2.127" "1hcvlb6bv771fvgifd367wd0cm4giyar8fq5i4h705vj7y7myxvp")) (define rust-wasm-bindgen-macro-support-0.2.127 (crate-source "wasm-bindgen-macro-support" "0.2.127" "112j4d7dv8y2sk9yy9czrl9fpjx9388ywnn7icdv2bywazw367g1")) (define rust-wasm-bindgen-shared-0.2.127 (crate-source "wasm-bindgen-shared" "0.2.127" "1gywp6xv8a27fvm3ga9xby93xyic3hc2s626b9z9rw2xqny4vxky")) (define rust-wasm-encoder-0.254.0 (crate-source "wasm-encoder" "0.254.0" "14vkvvm7ns46viznkkf9vf8s38zr18nq2vmh5g8zvrbqc5j0sj09")) (define rust-wasmparser-0.244.0 (crate-source "wasmparser" "0.244.0" "1zi821hrlsxfhn39nqpmgzc0wk7ax3dv6vrs5cw6kb0v5v3hgf27")) (define rust-wasmparser-0.254.0 (crate-source "wasmparser" "0.254.0" "09vfy6hq50vcrc6vmjbgzs9pvkc4agzb8rdgd89spywrywlrlxnm")) (define rust-wasmprinter-0.254.0 (crate-source "wasmprinter" "0.254.0" "0fdyk38zfqs9fl3pdpjq2wis28kcnsr2kdl7ixlh9x94w08vmqv4")) (define rust-wasmtime-48.0.1 (crate-source "wasmtime" "48.0.1" "13bav3hz454v25hcq5l096hyjsc22599vv1583p2rj4vzrw9zlqv")) (define rust-wasmtime-c-api-impl-48.0.1 (crate-source "wasmtime-c-api-impl" "48.0.1" "0s5y3a3gp448n1mpv21xcb5zamvyzb9kxjpi5bflsc6q0vahi6w0")) (define rust-wasmtime-environ-48.0.1 (crate-source "wasmtime-environ" "48.0.1" "1ni9xhc7l35rdy4c2g7fwq3sqcj95ka9q47cjj4h8ka8jl6hgh80")) (define rust-wasmtime-internal-c-api-macros-48.0.1 (crate-source "wasmtime-internal-c-api-macros" "48.0.1" "0blg8y7f9fcssdw20603idmbd4ik2bxh3vy2cd2wd9zkqk9blml1")) (define rust-wasmtime-internal-component-util-48.0.1 (crate-source "wasmtime-internal-component-util" "48.0.1" "0gv1i95y72jkmrp188xkzcgjq2vzkyp6947jfn4a1z8m44lyh3rc")) (define rust-wasmtime-internal-core-48.0.1 (crate-source "wasmtime-internal-core" "48.0.1" "1n2g8w0i63wss1i6y9cvkgzjpv99hhv1a9gxcwlsyjzl9iwqa4w2")) (define rust-wasmtime-internal-cranelift-48.0.1 (crate-source "wasmtime-internal-cranelift" "48.0.1" "18fzmf68s7fc2szbjing100wmq460klnp8m1p38plibk4yjv8f02")) (define rust-wasmtime-internal-fiber-48.0.1 (crate-source "wasmtime-internal-fiber" "48.0.1" "16zw97zs30n0vj1lmsgzchr7bibia49yly4wvnd9rgvcw22isvsr")) (define rust-wasmtime-internal-jit-debug-48.0.1 (crate-source "wasmtime-internal-jit-debug" "48.0.1" "12gnjp2wv7697g40607cr6pbmw9d6xr5iasvg0b03fr793bswprn")) (define rust-wasmtime-internal-jit-icache-coherence-48.0.1 (crate-source "wasmtime-internal-jit-icache-coherence" "48.0.1" "0vxrqdkhpxcpi8vyf5w41ca0zpaik4hnlp1a55blkb77v6pjbkiw")) (define rust-wasmtime-internal-unwinder-48.0.1 (crate-source "wasmtime-internal-unwinder" "48.0.1" "0bf4qg7snjk5za3fdx9m55dpwxl6fiyqm9jck1scff8ysl4ymzd1")) (define rust-wasmtime-internal-versioned-export-macros-48.0.1 (crate-source "wasmtime-internal-versioned-export-macros" "48.0.1" "05m1dgymjj39h4w9xjhi6f6m8i8ya2rlqwj98bvw4f2ca5gqmr4p")) (define rust-web-sys-0.3.104 ;; TODO REVIEW: Check bundled sources. (crate-source "web-sys" "0.3.104" "0c0acbvaqzqf21q5vdff2g74fvb7afi91xjplmclybq4d24k6df4")) (define rust-webbrowser-1.2.4 (crate-source "webbrowser" "1.2.4" "151gb2nnp2hbn7898hh0q1vffly811lw4brnpi6j26l2f3kmphv2")) (define rust-widestring-1.2.1 (crate-source "widestring" "1.2.1" "0wg4qdbs70xqnlbm8wb0bs4idm2mxk3b6kaqwllsncmb2cqrq1kj")) (define rust-winapi-util-0.1.11 (crate-source "winapi-util" "0.1.11" "08hdl7mkll7pz8whg869h58c1r9y7in0w0pk8fm24qc77k0b39y2")) (define rust-windows-aarch64-gnullvm-0.53.1 (crate-source "windows_aarch64_gnullvm" "0.53.1" "0lqvdm510mka9w26vmga7hbkmrw9glzc90l4gya5qbxlm1pl3n59")) (define rust-windows-aarch64-msvc-0.53.1 (crate-source "windows_aarch64_msvc" "0.53.1" "01jh2adlwx043rji888b22whx4bm8alrk3khjpik5xn20kl85mxr")) (define rust-windows-i686-gnu-0.53.1 (crate-source "windows_i686_gnu" "0.53.1" "18wkcm82ldyg4figcsidzwbg1pqd49jpm98crfz0j7nqd6h6s3ln")) (define rust-windows-i686-gnullvm-0.53.1 (crate-source "windows_i686_gnullvm" "0.53.1" "030qaxqc4salz6l4immfb6sykc6gmhyir9wzn2w8mxj8038mjwzs")) (define rust-windows-i686-msvc-0.53.1 (crate-source "windows_i686_msvc" "0.53.1" "1hi6scw3mn2pbdl30ji5i4y8vvspb9b66l98kkz350pig58wfyhy")) (define rust-windows-link-0.2.1 (crate-source "windows-link" "0.2.1" "1rag186yfr3xx7piv5rg8b6im2dwcf8zldiflvb22xbzwli5507h")) (define rust-windows-sys-0.60.2 ;; TODO REVIEW: Check bundled sources. (crate-source "windows-sys" "0.60.2" "1jrbc615ihqnhjhxplr2kw7rasrskv9wj3lr80hgfd42sbj01xgj")) (define rust-windows-sys-0.61.2 ;; TODO REVIEW: Check bundled sources. (crate-source "windows-sys" "0.61.2" "1z7k3y9b6b5h52kid57lvmvm05362zv1v8w0gc7xyv5xphlp44xf")) (define rust-windows-targets-0.53.5 (crate-source "windows-targets" "0.53.5" "1wv9j2gv3l6wj3gkw5j1kr6ymb5q6dfc42yvydjhv3mqa7szjia9")) (define rust-windows-x86-64-gnu-0.53.1 (crate-source "windows_x86_64_gnu" "0.53.1" "16d4yiysmfdlsrghndr97y57gh3kljkwhfdbcs05m1jasz6l4f4w")) (define rust-windows-x86-64-gnullvm-0.53.1 (crate-source "windows_x86_64_gnullvm" "0.53.1" "1qbspgv4g3q0vygkg8rnql5c6z3caqv38japiynyivh75ng1gyhg")) (define rust-windows-x86-64-msvc-0.53.1 (crate-source "windows_x86_64_msvc" "0.53.1" "0l6npq76vlq4ksn4bwsncpr8508mk0gmznm6wnhjg95d19gzzfyn")) (define rust-winnow-1.0.4 (crate-source "winnow" "1.0.4" "10fzxipa7lx16172p3aca9j60hzbqgjki2f95kqksd5qywcp7f93")) (define rust-writeable-0.6.4 (crate-source "writeable" "0.6.4" "1p3r4s4wbf3dksfpj3xyrn7id5p0f7r74mj6qx6ngjfd6cm2vn1s")) (define rust-yansi-1.0.1 (crate-source "yansi" "1.0.1" "0jdh55jyv0dpd38ij4qh60zglbw9aa8wafqai6m0wa7xaxk3mrfg")) (define rust-yoke-0.8.3 (crate-source "yoke" "0.8.3" "1xgyj6c2lxj2bp891ynmhws87c6z7yyv2li1v0ss9di40hxf57vh")) (define rust-yoke-derive-0.8.2 (crate-source "yoke-derive" "0.8.2" "13l5y5sz4lqm7rmyakjbh6vwgikxiql51xfff9hq2j485hk4r16y")) (define rust-zerofrom-0.1.8 (crate-source "zerofrom" "0.1.8" "0wjjdj7gdmd0iq91gzkxl7dlv0nhkk80l4bmdpzh3a1yh48mmh0f")) (define rust-zerofrom-derive-0.1.7 (crate-source "zerofrom-derive" "0.1.7" "18c4wsnznhdxx6m80piil1lbyszdiwsshgjrybqcm4b6qic22lqi")) (define rust-zeroize-1.9.0 (crate-source "zeroize" "1.9.0" "0kpnij2v1ig6g2mhc0bnci0lrdfdhiq40afbc0fahajqc9jiag71")) (define rust-zerotrie-0.2.5 (crate-source "zerotrie" "0.2.5" "0gss16krjzk22m57dz5hkdjg99ibj6pa41qr68na7w1jpp1nk8jf")) (define rust-zerovec-0.11.8 (crate-source "zerovec" "0.11.8" "1n3xlvyba8riys9s8awy4xp533phqycr78nbsmvdkh86g3hn815v")) (define rust-zerovec-derive-0.11.6 (crate-source "zerovec-derive" "0.11.6" "1ni5j8v99x3fcf3l8kp64b7aq4vf8y22jshfq74xs9mxkp1nzprl")) (define rust-zmij-1.0.23 (crate-source "zmij" "1.0.23" "06zwri21nnrl34rwinmvbciap8yk1mrl8qfg9pff7lgspc56sri9")) (define-cargo-inputs lookup-cargo-inputs (my-tree-sitter-cli => (list rust-addr2line-0.26.1 rust-aho-corasick-1.1.5 rust-allocator-api2-0.2.21 rust-ansi-colours-1.2.3 rust-anstream-1.0.0 rust-anstyle-1.0.14 rust-anstyle-parse-1.0.0 rust-anstyle-query-1.1.5 rust-anstyle-wincon-3.0.11 rust-anyhow-1.0.104 rust-arbitrary-1.4.2 rust-ascii-1.1.0 rust-async-trait-0.1.92 rust-bindgen-0.72.1 rust-bitflags-2.13.1 rust-block-buffer-0.10.4 rust-block2-0.6.2 rust-bstr-1.13.1 rust-bumpalo-3.20.3 rust-bytemuck-1.25.2 rust-bytes-1.12.1 rust-cc-1.4.4 rust-cexpr-0.6.0 rust-cfg-if-1.0.4 rust-cfg-aliases-0.2.2 rust-chacha20-0.10.2 rust-chunked-transfer-1.5.0 rust-clang-sys-1.9.1 rust-clap-4.6.6 rust-clap-builder-4.6.6 rust-clap-complete-4.6.9 rust-clap-complete-nushell-4.6.2 rust-clap-derive-4.6.4 rust-clap-lex-1.1.0 rust-cobs-0.3.0 rust-colorchoice-1.0.5 rust-combine-4.6.8 rust-console-0.16.4 rust-convert-case-0.11.0 rust-cpp-demangle-0.5.1 rust-cpufeatures-0.2.17 rust-cpufeatures-0.3.1 rust-cranelift-assembler-x64-0.135.1 rust-cranelift-assembler-x64-meta-0.135.1 rust-cranelift-bforest-0.135.1 rust-cranelift-bitset-0.135.1 rust-cranelift-codegen-0.135.1 rust-cranelift-codegen-meta-0.135.1 rust-cranelift-codegen-shared-0.135.1 rust-cranelift-control-0.135.1 rust-cranelift-entity-0.135.1 rust-cranelift-frontend-0.135.1 rust-cranelift-isle-0.135.1 rust-cranelift-native-0.135.1 rust-cranelift-srcgen-0.135.1 rust-crc32fast-1.5.1 rust-crypto-common-0.1.7 rust-ctor-0.6.3 rust-ctor-proc-macro-0.0.7 rust-ctrlc-3.5.2 rust-dialoguer-0.12.0 rust-diff-0.1.13 rust-digest-0.10.7 rust-dispatch2-0.3.1 rust-displaydoc-0.2.7 rust-dtor-0.1.1 rust-dtor-proc-macro-0.0.6 rust-dunce-1.0.5 rust-dyn-clone-1.0.20 rust-either-1.18.0 rust-embedded-io-0.4.0 rust-embedded-io-0.6.1 rust-encode-unicode-1.0.0 rust-encoding-rs-0.8.35 rust-equivalent-1.0.2 rust-errno-0.3.14 rust-etcetera-0.11.0 rust-fastrand-2.5.0 rust-file-id-0.2.3 rust-find-msvc-tools-0.1.11 rust-fnv-1.0.7 rust-foldhash-0.1.5 rust-foldhash-0.2.0 rust-form-urlencoded-1.2.2 rust-fsevent-sys-4.1.0 rust-futures-0.3.34 rust-futures-channel-0.3.34 rust-futures-core-0.3.34 rust-futures-io-0.3.34 rust-futures-sink-0.3.34 rust-futures-task-0.3.34 rust-futures-util-0.3.34 rust-fuzzy-matcher-0.3.7 rust-generic-array-0.14.7 rust-getrandom-0.4.3 rust-gimli-0.33.0 rust-glob-0.3.4 rust-hashbrown-0.15.5 rust-hashbrown-0.16.1 rust-hashbrown-0.17.1 rust-heck-0.5.0 rust-html-escape-0.2.15 rust-httpdate-1.0.3 rust-icu-collections-2.3.0 rust-icu-locale-core-2.3.0 rust-icu-normalizer-2.3.0 rust-icu-normalizer-data-2.3.0 rust-icu-properties-2.3.0 rust-icu-properties-data-2.3.0 rust-icu-provider-2.3.1 rust-ident-case-1.0.1 rust-idna-1.1.0 rust-idna-adapter-1.2.2 rust-indexmap-2.14.1 rust-indoc-2.0.7 rust-inotify-0.11.5 rust-inotify-sys-0.1.8 rust-is-terminal-polyfill-1.70.2 rust-itertools-0.13.0 rust-itertools-0.14.0 rust-itoa-1.0.18 rust-jni-0.22.4 rust-jni-macros-0.22.4 rust-jni-sys-0.4.1 rust-jni-sys-macros-0.4.1 rust-js-sys-0.3.104 rust-kqueue-1.2.1 rust-kqueue-sys-1.1.2 rust-leb128fmt-0.1.0 rust-libc-0.2.189 rust-libloading-0.8.9 rust-libloading-0.9.0 rust-libm-0.2.16 rust-linux-raw-sys-0.12.1 rust-litemap-0.8.3 rust-log-0.4.34 rust-mach2-0.6.0 rust-memchr-2.8.3 rust-memfd-0.6.5 rust-minimal-lexical-0.2.1 rust-mio-1.2.2 rust-ndk-context-0.1.1 rust-nix-0.31.3 rust-nom-7.1.3 rust-notify-8.2.0 rust-notify-debouncer-full-0.7.0 rust-notify-types-2.1.0 rust-objc2-0.6.4 rust-objc2-app-kit-0.3.2 rust-objc2-core-foundation-0.3.2 rust-objc2-encode-4.1.0 rust-objc2-foundation-0.3.2 rust-object-0.39.1 rust-once-cell-1.21.4 rust-once-cell-polyfill-1.70.2 rust-pathdiff-0.2.3 rust-percent-encoding-2.3.2 rust-phf-0.14.0 rust-phf-generator-0.14.0 rust-phf-shared-0.14.0 rust-pin-project-lite-0.2.17 rust-postcard-1.1.3 rust-potential-utf-0.1.6 rust-pretty-assertions-1.4.1 rust-prettyplease-0.2.37 rust-proc-macro-crate-3.5.0 rust-proc-macro2-1.0.107 rust-pulley-interpreter-48.0.1 rust-pulley-macros-48.0.1 rust-quote-1.0.47 rust-r-efi-6.0.0 rust-rand-0.10.2 rust-rand-core-0.10.1 rust-ref-cast-1.0.27 rust-ref-cast-impl-1.0.27 rust-regalloc2-0.15.2 rust-regex-1.13.1 rust-regex-automata-0.4.18 rust-regex-syntax-0.8.11 rust-relative-path-2.0.1 rust-rgb-0.8.53 rust-rquickjs-0.12.2 rust-rquickjs-core-0.12.2 rust-rquickjs-macro-0.12.2 rust-rquickjs-sys-0.12.2 rust-rustc-demangle-0.1.28 rust-rustc-hash-2.1.3 rust-rustc-version-0.4.1 rust-rustix-1.1.4 rust-rustversion-1.0.23 rust-same-file-1.0.6 rust-schemars-1.2.2 rust-schemars-derive-1.2.2 rust-semver-1.0.28 rust-serde-1.0.229 rust-serde-core-1.0.229 rust-serde-derive-1.0.229 rust-serde-derive-internals-0.30.0 rust-serde-json-1.0.151 rust-sha2-0.10.9 rust-shell-words-1.1.1 rust-shlex-1.3.0 rust-shlex-2.0.1 rust-simd-cesu8-1.2.0 rust-simdutf8-0.1.5 rust-similar-2.7.0 rust-siphasher-1.0.3 rust-slab-0.4.12 rust-smallvec-1.15.2 rust-stable-deref-trait-1.2.1 rust-streaming-iterator-0.1.9 rust-strsim-0.11.1 rust-syn-2.0.119 rust-syn-3.0.4 rust-synstructure-0.13.2 rust-target-lexicon-0.13.5 rust-tempfile-3.27.0 rust-termcolor-1.4.1 rust-thiserror-2.0.20 rust-thiserror-impl-2.0.20 rust-thread-local-1.1.10 rust-tiny-http-0.12.0 rust-tinystr-0.8.4 rust-toml-datetime-1.1.1+spec-1.1.0 rust-toml-edit-0.25.13+spec-1.1.0 rust-toml-parser-1.1.3+spec-1.1.0 rust-topological-sort-0.2.2 rust-tracing-0.1.44 rust-tracing-core-0.1.36 rust-typenum-1.20.1 rust-unicode-ident-1.0.24 rust-unicode-segmentation-1.13.3 rust-unicode-width-0.2.2 rust-unindent-0.2.4 rust-url-2.5.8 rust-utf8-iter-1.0.4 rust-utf8parse-0.2.2 rust-version-check-0.9.5 rust-walkdir-2.5.0 rust-wasi-0.11.1+wasi-snapshot-preview1 rust-wasm-bindgen-0.2.127 rust-wasm-bindgen-macro-0.2.127 rust-wasm-bindgen-macro-support-0.2.127 rust-wasm-bindgen-shared-0.2.127 rust-wasm-encoder-0.254.0 rust-wasmparser-0.244.0 rust-wasmparser-0.254.0 rust-wasmprinter-0.254.0 rust-wasmtime-48.0.1 rust-wasmtime-c-api-impl-48.0.1 rust-wasmtime-environ-48.0.1 rust-wasmtime-internal-c-api-macros-48.0.1 rust-wasmtime-internal-component-util-48.0.1 rust-wasmtime-internal-core-48.0.1 rust-wasmtime-internal-cranelift-48.0.1 rust-wasmtime-internal-fiber-48.0.1 rust-wasmtime-internal-jit-debug-48.0.1 rust-wasmtime-internal-jit-icache-coherence-48.0.1 rust-wasmtime-internal-unwinder-48.0.1 rust-wasmtime-internal-versioned-export-macros-48.0.1 rust-web-sys-0.3.104 rust-webbrowser-1.2.4 rust-widestring-1.2.1 rust-winapi-util-0.1.11 rust-windows-link-0.2.1 rust-windows-sys-0.60.2 rust-windows-sys-0.61.2 rust-windows-targets-0.53.5 rust-windows-aarch64-gnullvm-0.53.1 rust-windows-aarch64-msvc-0.53.1 rust-windows-i686-gnu-0.53.1 rust-windows-i686-gnullvm-0.53.1 rust-windows-i686-msvc-0.53.1 rust-windows-x86-64-gnu-0.53.1 rust-windows-x86-64-gnullvm-0.53.1 rust-windows-x86-64-msvc-0.53.1 rust-winnow-1.0.4 rust-writeable-0.6.4 rust-yansi-1.0.1 rust-yoke-0.8.3 rust-yoke-derive-0.8.2 rust-zerofrom-0.1.8 rust-zerofrom-derive-0.1.7 rust-zeroize-1.9.0 rust-zerotrie-0.2.5 rust-zerovec-0.11.8 rust-zerovec-derive-0.11.6 rust-zmij-1.0.23))) (define-public tree-sitter (package (name "tree-sitter") (version "0.27.0") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/tree-sitter/tree-sitter") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "14fyd1kvr15b59v0adpx452yrg6405aagj8fxxiirvih6z9xv4az")) (modules '((guix build utils))) (snippet #~(begin ;; Remove bundled ICU parts (delete-file-recursively "lib/src/unicode"))))) (build-system gnu-build-system) (inputs (list icu4c)) (arguments (list #:phases #~(modify-phases %standard-phases (delete 'configure) ;; The library uses -fvisibility=hidden to compile, but this ;; symbol is needed by the Rust bindings. (add-after 'unpack 'patch-_ts_dup-visibility (lambda _ (substitute* "lib/src/tree.c" (("int _ts_dup") (string-append "int __attribute__ ((visibility (\"default\"))) " "_ts_dup")))))) #:tests? #f ; there are no tests for the runtime library #:make-flags #~(list (string-append "PREFIX=" #$output) (string-append "CC=" #$(cc-for-target))))) (home-page "https://tree-sitter.github.io/tree-sitter/") (synopsis "Incremental parsing system for programming tools") (description "Tree-sitter is a parser generator tool and an incremental parsing library. It can build a concrete syntax tree for a source file and efficiently update the syntax tree as the source file is edited. Tree-sitter aims to be: @itemize @item General enough to parse any programming language @item Fast enough to parse on every keystroke in a text editor @item Robust enough to provide useful results even in the presence of syntax errors @item Dependency-free so that the runtime library (which is written in pure C) can be embedded in any application @end itemize This package includes the @code{libtree-sitter} runtime library.") (license license:expat))) (define-public tree-sitter-cli (package (inherit tree-sitter) (name "tree-sitter-cli") (source (origin (inherit (package-source tree-sitter)) (snippet #~(begin ;; Remove the runtime library code and dynamically link to it ;; instead. (for-each delete-file-recursively (find-files "lib/src" (lambda (file stat) ;; These files are required for building the binding. (not (or (string-contains file "parser.h") (string-contains file "imports.txt")))))) (delete-file "lib/binding_rust/build.rs") (with-output-to-file "lib/binding_rust/build.rs" (lambda _ (format #t "~ use std::{env, fs, path::{Path, PathBuf}}; fn main() { let out_dir = PathBuf::from(env::var(\"OUT_DIR\").unwrap()); fs::copy(\"src/wasm-stdlib/imports.txt\", out_dir.join(\"stdlib-symbols.txt\")).unwrap(); println!(\"cargo:rustc-link-lib=tree-sitter\"); }~%"))))))) (build-system cargo-build-system) (inputs (cons* tree-sitter graphviz node-lts (lookup-cargo-inputs 'my-tree-sitter-cli))) (arguments (list #:cargo-test-flags ''("--" ;; Skip tests which rely on downloading grammar fixtures. It is ;; difficult to support such tests given upstream does not encode ;; which version of the grammars are expected. ;; Instead, we do run some tests for each grammar in the tree-sitter ;; build-system, by running `tree-sitter test'. This isn't as ;; complete as running all tests from tree-sitter-cli, but it's a ;; good compromise compared to maintaining two different sets of ;; grammars (Guix packages vs test fixtures). "--skip=tests::corpus_test" "--skip=tests::highlight_test" "--skip=tests::node_test" "--skip=tests::parser_test" "--skip=tests::pathological_test" "--skip=tests::query_test" "--skip=tests::tags_test" "--skip=tests::test_highlight_test" "--skip=tests::test_tags_test" "--skip=tests::tree_test" "--skip=tests::async_context_test" "--skip=tests::text_provider_test" "--skip=tests::detect_language" "--skip=tests::language_test" "--skip=tests::parser_hang_test" ; I need to check if it's actually necessary to skip these new tests "--skip=tests::async_boundary_test" "--skip=tests::run_tests_single_passing" "--skip=tests::run_tests_fail_fast") ;; We're only packaging the CLI program so we do not need to install ;; sources. #:install-source? #f #:cargo-install-paths ''("crates/cli") #:phases #~(modify-phases %standard-phases (add-after 'unpack 'patch-references (lambda* (#:key inputs #:allow-other-keys) (substitute* "crates/generate/src/generate.rs" (("(js_runtime\\.unwrap_or\\(\")node(\"\\))" _ prefix suffix) (string-append prefix (search-input-file inputs "bin/node") suffix))) (substitute* "crates/cli/src/util.rs" (("Command::new\\(\"dot\"\\)") (string-append "Command::new(\"" (search-input-file inputs "bin/dot") "\")")))))))) (description "Tree-sitter is a parser generator tool and an incremental parsing library. It can build a concrete syntax tree for a source file and efficiently update the syntax tree as the source file is edited. Tree-sitter aims to be: @enumerate @item General enough to parse any programming language. @item Fast enough to parse on every keystroke in a text editor. @item Robust enough to provide useful results even in the presence of syntax errors. @item Dependency-free so that the runtime library (which is written in pure C) can be embedded in any application. @end enumerate This package includes the @command{tree-sitter} command-line tool.") (license license:expat))) (define (tree-sitter-delete-generated-files grammar-directories) #~(begin (use-modules (guix build utils)) (define (delete-file-if-exists file) ;; Not every package has all files that we want to delete. (catch 'system-error (lambda () (delete-file-recursively file)) (lambda args (unless (= ENOENT (system-error-errno args)) (apply throw args))))) (delete-file-if-exists "binding.gyp") (delete-file-if-exists "bindings") (for-each (lambda (lang) (with-directory-excursion lang (delete-file-if-exists "src/grammar.json") (delete-file-if-exists "src/node-types.json") (delete-file-if-exists "src/parser.c") (delete-file-if-exists "src/tree_sitter"))) '#$grammar-directories))) (define* (tree-sitter-grammar name text hash version #:key (commit (string-append "v" version)) (repository-url (format #f "https://github.com/tree-sitter/tree-sitter-~a" name)) (grammar-directories '(".")) (article "a") (inputs '()) (get-cleanup-snippet tree-sitter-delete-generated-files) (license license:expat)) "Returns a package for Tree-sitter grammar. NAME will be used with tree-sitter- prefix to generate package name and also for generating REPOSITORY-URL value if it's not specified explicitly, TEXT is a string which will be used in description and synopsis. GET-CLEANUP-SNIPPET is a function, it receives GRAMMAR-DIRECTORIES as an argument and should return a G-exp, which will be used as a snippet in origin." (let* ((multiple? (> (length grammar-directories) 1)) (grammar-names (string-append text " grammar" (if multiple? "s" ""))) (synopsis (string-append "Tree-sitter " grammar-names)) (description (string-append "This package provides " (if multiple? "" article) (if multiple? "" " ") grammar-names " for the Tree-sitter library.")) (name (string-append "tree-sitter-" name))) (package (name name) (version version) (home-page repository-url) (source (origin (method git-fetch) (uri (git-reference (url repository-url) (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 hash)) (snippet (get-cleanup-snippet grammar-directories)))) (build-system tree-sitter-build-system) (arguments (list #:grammar-directories grammar-directories)) (inputs (if (promise? inputs) (force inputs) inputs)) (synopsis synopsis) (description description) (license license)))) ;;; Language grammars (sort alphabetically) (define-public tree-sitter-actionscript (let ((commit "24919034fc78fdf9bedaac6616b6a60af20ab9b5") (revision "0")) (tree-sitter-grammar "actionscript" "ActionScript" "0gdkb7hi6nc6d3rza247c66nzi04m471b6fv32adxqjw76w5bg1d" (git-version "0.1.0" revision commit) #:repository-url "https://github.com/Rileran/tree-sitter-actionscript" #:commit commit #:get-cleanup-snippet (lambda (grammar-directories) #~(begin (use-modules (guix build utils)) (substitute* "grammar.js" (("u\\{\\[0-9a-fA-F\\]\\+\\}") "u\\{[0-9a-fA-F]+\\}")) #$(tree-sitter-delete-generated-files grammar-directories)))))) (define-public tree-sitter-ada (let ((version "0.1.0") ; In package.json, but untagged. (commit "b23672d313b4c994ab96fd54f1b7ff15eac68a55") (revision "0")) (tree-sitter-grammar "ada" "Ada" "0ly6zd2hbng5gbs14yq6riqw2mbzvh0shc7lp2smzbv9ran6chjy" (git-version version revision commit) #:repository-url "https://github.com/briot/tree-sitter-ada" #:commit commit))) (define-public tree-sitter-agda ;; Use a later commit because some tests fail with the v1.3.1 tag. (let ((commit "e8d47a6987effe34d5595baf321d82d3519a8527") (revision "0")) (tree-sitter-grammar "agda" "Agda" "1x06a1c7k5lyw4803h514yibmzizszg8dc6r4wj9gjnr1vw7l7p6" (git-version "1.3.1" revision commit) #:commit commit))) (define-public tree-sitter-arduino (tree-sitter-grammar "arduino" "Arduino" "1h0h61xhs511l6ahv0isj9v59ndz8q3948dw9mi9lc7cp24jshdp" "0.24.0" #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-arduino" #:inputs (delay (list tree-sitter-c tree-sitter-cpp)) #:article "an")) (define-public tree-sitter-asm (tree-sitter-grammar "asm" "ASM" "0i5wxrwavhxqj04g6ix76q8vsggl9sq8jazasl9k53mag3rnchi5" "0.24.0" #:repository-url "https://github.com/RubixDev/tree-sitter-asm")) (define-public tree-sitter-astro (let ((commit "213f6e6973d9b456c6e50e86f19f66877e7ef0ee") (revision "0")) (tree-sitter-grammar "astro" "Astro" "18asz2dsgkq4zj5frxigpzac00pgs4kvbp8l3x27z7yq6vgfr5af" (git-version "0.0.1" revision commit) #:repository-url "https://github.com/virchau13/tree-sitter-astro" #:commit commit #:inputs (delay (list tree-sitter-html)) #:get-cleanup-snippet (lambda (grammar-directories) #~(begin (use-modules (guix build utils)) (mkdir-p "test/corpus") (copy-recursively "corpus" "test/corpus") #$(tree-sitter-delete-generated-files grammar-directories)))))) (define-public tree-sitter-awk (tree-sitter-grammar "awk" "AWK" "1bglimp46cggq9kx92h943wnq2r6ymp7anwynjnl42wrdssc0drh" "0.7.2" #:repository-url "https://github.com/Beaglefoot/tree-sitter-awk")) (define-public tree-sitter-bash (tree-sitter-grammar "bash" "Bash" "1smlcfkxxknhya1b1h72zj3ccg35szbg9mii2xwh7iq9acnlzpgc" "0.23.3")) (define-public tree-sitter-beancount (tree-sitter-grammar "beancount" "Beancount" "0r2ql0n4wkwbcdjpklxhsk91xm8q8dl9n9rdlqk585xagmxf1w4b" "2.4.1" #:repository-url "https://github.com/polarmutex/tree-sitter-beancount")) (define-public tree-sitter-bibtex (let ((commit "ccfd77db0ed799b6c22c214fe9d2937f47bc8b34") (revision "0")) (tree-sitter-grammar "bibtex" "Bibtex" "0m7f3dkqbmy8x1bhl11m8f4p6n76wfvh99rp46zrqv39355nw1y2" (git-version "0.1.0" revision commit) #:repository-url "https://github.com/latex-lsp/tree-sitter-bibtex" #:commit commit #:license license:expat))) (define-public tree-sitter-bicep (tree-sitter-grammar "bicep" "Bicep" "0ydz1vf6n8ky0vcgcmihr6ddfdlswnz8xa59zjiwdcra0qkf3azs" "1.1.0" #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-bicep")) (define-public tree-sitter-bitbake (tree-sitter-grammar "bitbake" "BitBake" "1pfma482nyc88x56v6l6rmhdy44qbwibrqri38wkkh66a1fka8ix" "1.1.0" #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-bitbake" #:get-cleanup-snippet (lambda (grammar-directories) #~(begin (use-modules (guix build utils)) ;; FIXME: Invalid node type INHERIT. (substitute* "queries/highlights.scm" (("^.*\"INHERIT\".*") "")) #$(tree-sitter-delete-generated-files grammar-directories))))) (define-public tree-sitter-blueprint (let ((commit "329699d55f3e3955091e13756563c3f320a561fc") (revision "0")) (tree-sitter-grammar "blueprint" "Blueprint" "0pdjka1sdw9dwilw3vjl3k3cn7pcyv7m57cmxqibashg316dygxm" (git-version "0.0.0" revision commit) ; Upstream has not tagged any releases #:repository-url "https://github.com/huanie/tree-sitter-blueprint" #:commit commit #:license license:expat))) (define-public tree-sitter-c (tree-sitter-grammar "c" "C" "19yc4g5fdibfqbn49ggywk9k2by78s8lrsjp1cx2lagb1dvxnv42" "0.24.1")) (define-public tree-sitter-cairo (tree-sitter-grammar "cairo" "Cairo" "08ig80mqs0p00p09rfygrdfarqnn29xsgnlbqvnfdll4jlj5ilid" "1.0.0" #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-cairo")) (define-public tree-sitter-capnp (let ((commit "7b0883c03e5edd34ef7bcf703194204299d7099f") (revision "0")) (tree-sitter-grammar "capnp" "Cap'n Proto" "0ww98b15n9hr6afbnl0ckxs4q8y0c31cnga2pnjx369iwfwdkajq" (git-version "1.5.0" revision commit) #:commit commit #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-capnp"))) (define-public tree-sitter-chatito (tree-sitter-grammar "chatito" "Chatito" "16pfm7s9zxdskmn1vg5ba6ni91zm5xncbri9pm0cd8pmld5w37wz" "0.5.0" #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-chatito")) (define-public tree-sitter-clarity (tree-sitter-grammar "clarity" "Clarity" "14qprf98199rnlr6hrjmzvn6d3ch9z8yxgjxva6m6gk9hcyyfy84" "0.0.5" #:repository-url "https://github.com/xlittlerag/tree-sitter-clarity")) (define-public tree-sitter-clisp (tree-sitter-grammar "clisp" "Common Lisp" "0xg3ay8l62h7s35abkxi4gjfvndzdvvrpgh1z980q1ib5935sxf0" "0.4.1" #:inputs (delay (list tree-sitter-clojure)) #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-commonlisp")) (define-public tree-sitter-clojure (tree-sitter-grammar "clojure" "Clojure" "1j41ba48sid6blnfzn6s9vsl829qxd86lr6yyrnl95m42x8q5cx4" "0.0.13" #:repository-url "https://github.com/sogaiu/tree-sitter-clojure")) (define-public tree-sitter-cmake (tree-sitter-grammar "cmake" "CMake" "0b30ci696iabk3hm03rm4c3qi72d7xsbipc6g0ixxxj2qihdl2fy" "0.7.0" #:repository-url "https://github.com/uyha/tree-sitter-cmake")) (define-public tree-sitter-comment (tree-sitter-grammar "comment" "comment tags (like TODO, FIXME)" "1x0l8phr4x07n739z0ax8faxq0l6irmpkdprrv1z088zqdr43l1v" "0.3.0" #:repository-url "https://github.com/stsewd/tree-sitter-comment")) (define-public tree-sitter-cpon (let ((commit "594289eadfec719198e560f9d7fd243c4db678d5") (revision "0")) (tree-sitter-grammar "cpon" "ChainPack Object Notation (CPON)" "0kzs3i62vrckwadp2z2gdfzj3mjparh1di0zcawy94635brvvgrn" (git-version "1.0.0" revision commit) #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-cpon" #:commit commit #:get-cleanup-snippet (lambda (grammar-directories) #~(begin (use-modules (guix build utils)) ;; FIXME: Language not found. (delete-file-recursively "test/highlight") #$(tree-sitter-delete-generated-files grammar-directories)))))) (define-public tree-sitter-cpp (tree-sitter-grammar "cpp" "C++" "0sbvvfa718qrjmfr53p8x3q2c19i4vhw0n20106c8mrvpsxm7zml" "0.23.4" #:inputs (list tree-sitter-c))) (define-public tree-sitter-c-sharp (tree-sitter-grammar "c-sharp" "C#" "0w6xdb8m38brhin0bmqsdqggdl95xqs3lbwq7azm5gg94agz9qf1" "0.23.1")) (define-public tree-sitter-css (tree-sitter-grammar "css" "CSS" "0c5j9zyjcykmraix1agbc0gdk85zs2v379q0aykr10fi9w2r9z9c" "0.23.2")) (define-public tree-sitter-csv (tree-sitter-grammar "csv" "CSV" "0a1giyifli78chnshzzw4q6y7gqlfkg6mlmvb7kzbw9ss9hlx2rb" "1.2.0" #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-csv" #:grammar-directories '("csv" "psv" "tsv"))) (define-public tree-sitter-cuda (tree-sitter-grammar "cuda" "Cuda" "116fa26bjh6a88kdshqq5hp6fq4ik95dpaiidw8rn90xxwwl0zxi" "0.21.1" #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-cuda" #:inputs (list tree-sitter-c tree-sitter-cpp))) (define-public tree-sitter-cypher (let ((commit "7553c0d18cd41237a64653bb91a09d70988f7300") (revision "0")) (tree-sitter-grammar "cypher" "Cypher" "14acb8rn9s1ps7gnw0vsacy6dn0qq1qvpblakcdgf598w316p4xa" "M23" #:repository-url "https://github.com/taekwombo/tree-sitter-cypher" #:commit commit))) (define-public tree-sitter-d (let ((commit "45e5f1e9d6de2c68591bc8e5ec662cf18e950b4a") (revision "0")) (tree-sitter-grammar "d" "D" "1y0kczf4yvk5qbvl5dcc8vf5xjjf2md44v0h3iv8lcmbjn093pmb" (git-version "0.8.2" revision commit) #:commit commit #:repository-url "https://github.com/gdamore/tree-sitter-d" #:get-cleanup-snippet (lambda (grammar-directories) #~(begin (use-modules (guix build utils)) ;; FIXME: Language not found. (delete-file-recursively "test/highlight") #$(tree-sitter-delete-generated-files grammar-directories)))))) (define-public tree-sitter-dart (let ((version "1.0.0") (commit "d4d8f3e337d8be23be27ffc35a0aef972343cd54") (revision "0")) (tree-sitter-grammar "dart" "Dart" "09k4nclfvclwcz6lza4p2rkm25dpdasj800dn47hvm1b5al5iyym" (git-version version revision commit) #:commit commit #:repository-url "https://github.com/UserNobody14/tree-sitter-dart"))) (define-public tree-sitter-devicetree (tree-sitter-grammar "devicetree" "Devicetree" "13rm15p9mrdklys0d720xy386pnvirxxjswg0wi1m87hs8i49qns" "0.11.1" #:repository-url "https://github.com/joelspadin/tree-sitter-devicetree" #:get-cleanup-snippet (lambda (grammar-directories) #~(begin (for-each delete-file '("parser.exp" "parser.lib")) #$(tree-sitter-delete-generated-files grammar-directories))) #:license license:expat)) (define-public tree-sitter-dockerfile (tree-sitter-grammar "dockerfile" "Dockerfile" "09iw9mqlpgsi6ak4mxrv16anvmbyap6vf61r2pi2lqdp9h1mp7g0" "0.2.0" #:repository-url "https://github.com/camdencheek/tree-sitter-dockerfile")) (define-public tree-sitter-dot ;; 0.1.6 is taken from Cargo.toml. The package.json has 0.1.5. (let ((version "0.1.6") (commit "9ab85550c896d8b294d9b9ca1e30698736f08cea") (revision "0")) (tree-sitter-grammar "dot" "Dot" "013brrljrhgpnks1r0cdvj93l303kb68prm18gpl96pvhjfci063" (git-version version revision commit) #:repository-url "https://github.com/rydesun/tree-sitter-dot" #:commit commit))) (define-public tree-sitter-doxygen (let ((version "1.1.0") (commit "1e28054cb5be80d5febac082706225e42eff14e6") (revision "0")) (tree-sitter-grammar "doxygen" "Doxygen" "11xflk40xp7x7f4h9knhy997k79psrw3ik9m0xkc2vzqi57l9by2" (git-version version revision commit) #:commit commit #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-doxygen"))) (define-public tree-sitter-elisp (tree-sitter-grammar "elisp" "Emacs Lisp" "0xymhprxa7kamc9cvlprg8s2rm61qcvbfazggny9kw45yj8rqvak" "1.5.0" #:commit "1.5.0" #:repository-url "https://github.com/Wilfred/tree-sitter-elisp" #:get-cleanup-snippet (lambda (grammar-directories) #~(begin (use-modules (guix build utils)) ;; FIXME: Language not found. (delete-file-recursively "test/highlight") #$(tree-sitter-delete-generated-files grammar-directories))))) (define-public tree-sitter-elixir (tree-sitter-grammar "elixir" "Elixir" "12i0z8afdzcznn5dzrssr7b7jx4h7wss4xvbh3nz12j6makc7kzl" "0.3.4" #:article "an" #:repository-url "https://github.com/elixir-lang/tree-sitter-elixir" #:get-cleanup-snippet (lambda (grammar-directories) #~(begin ;; FIXME: Failure - row: 18, column: 4, expected highlight ;; 'comment.doc', actual highlights: none. (delete-file "test/highlight/module.ex") #$(tree-sitter-delete-generated-files grammar-directories))) #:license (list license:asl2.0 license:expat))) (define-public tree-sitter-elm (let ((commit "3b373a3ccb48f31aa4b7ddc9092e2f5e24ab7aed") (revision "0")) (tree-sitter-grammar "elm" "Elm" "1cfkqi1vgxg7bkdda1vy9wqz6ap61fwjcdv9qzkcfzxaqr5z8dbw" (git-version "5.7.0" revision commit) #:article "an" #:repository-url "https://github.com/elm-tooling/tree-sitter-elm" #:commit commit #:get-cleanup-snippet (lambda (grammar-directories) #~(begin (for-each delete-file '("docs/js/tree-sitter-elm.wasm" "docs/js/tree-sitter.wasm")) #$(tree-sitter-delete-generated-files grammar-directories)))))) (define-public tree-sitter-embedded-template (tree-sitter-grammar "embedded-template" "embedded template (like ERB and EJS)" "1vq9dywd9vcy59f6i5mk5n7vwk67g8j5x77czg7avpznskgfhqhb" "0.23.2" #:article "an")) (define-public tree-sitter-erlang (let ((commit "364e323b32d098ad0e7b29e7adb4005c2bb5cf34") (revision "0")) (tree-sitter-grammar "erlang" "Erlang" "17dkvygqrx4v3y568jg72q6rdli5bp55l3zfqxvq6b5ibw48kilq" (git-version "0.14.0" revision commit) #:repository-url "https://github.com/WhatsApp/tree-sitter-erlang" #:commit commit #:get-cleanup-snippet (lambda (grammar-directories) #~(begin (use-modules (guix build utils)) ;; FIXME: Language not found. (delete-file-recursively "test/highlight") #$(tree-sitter-delete-generated-files grammar-directories)))))) (define-public tree-sitter-firrtl (let ((version "0.8.0") (commit "8503d3a0fe0f9e427863cb0055699ff2d29ae5f5") (revision "0")) (tree-sitter-grammar "firrtl" "FIRRTL" "0mmnsks3b21b1dixi85jds31ykgrmzl3hkkc1r7c8k4vdrr0qq93" (git-version version revision commit) #:commit commit #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-firrtl" #:license license:asl2.0))) (define-public tree-sitter-fish (tree-sitter-grammar "fish" "Fish" "1l8qmmligfcpf4amqghdv9c4nvs5wbhiifhl7016l7793rfzl235" "3.6.0" #:commit "3.6.0" #:repository-url "https://github.com/ram02z/tree-sitter-fish" #:get-cleanup-snippet (lambda (grammar-directories) #~(begin (use-modules (guix build utils)) ;; FIXME: Language not found. (delete-file-recursively "test/highlight") #$(tree-sitter-delete-generated-files grammar-directories))) #:license license:unlicense)) (define-public tree-sitter-fortran (let ((version "0.5.1") ;; Can't use the tag above directly; the build at that tag is ;; non‑deterministic, so pin to a later commit. (commit "8334abca785db3a041292e3b3b818a82a55b238f") (revision "0")) (tree-sitter-grammar "fortran" "Fortran" "0iwjz7ks0barg6na966jbkvzi8whgys8qh6arxlaygr9b6mhq39i" (git-version version revision commit) #:repository-url "https://github.com/stadelmanma/tree-sitter-fortran" #:commit commit))) (define-public tree-sitter-f-sharp (let ((commit "5141851c278a99958469eb1736c7afc4ec738e47") (revision "0")) (tree-sitter-grammar "f-sharp" "F#" "1mk3adn7q6zwrdxpzkvzmvpsqg5a6ijb50qhw5pd46p3scxmp6kh" (git-version "0.1.0" revision commit) #:commit commit #:repository-url "https://github.com/ionide/tree-sitter-fsharp" #:grammar-directories '("fsharp" "fsharp_signature")))) (define-public tree-sitter-func (let ((version "1.0.0") (commit "c1d2cc41b39760127a8cd5d4f4923e27114c373b") (revision "0")) (tree-sitter-grammar "func" "FunC" "066g8jn2snmcxwm74wqyxxz2nz2vsjlwhdc455l389czddnncf2j" (git-version version revision commit) #:commit commit #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-func"))) (define-public tree-sitter-gdscript (let ((version "6.0.0") ;; Can't use the tag above directly; the build at that tag is ;; non‑deterministic, so pin to a later commit. (commit "839cd921c8aa8b79c9afe2eb71a6a7bfa809e995") (revision "0")) (tree-sitter-grammar "gdscript" "GDScript" "00icy0dpdmhz2lfa35npvj26y0m37f0l73asxn7f2prmpm2jsm8c" (git-version version revision commit) #:repository-url "https://github.com/PrestonKnopp/tree-sitter-gdscript" #:commit commit))) (define-public tree-sitter-gitattributes (let ((commit "1b7af09d45b579f9f288453b95ad555f1f431645") (revision "0")) (tree-sitter-grammar "gitattributes" "Git .gitattributes" "1mmcxw3aqx7skgihl8mman5spjz4cmc0k06jca7fjng904kdqw3q" (git-version "0.1.6" revision commit) #:commit commit #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-gitattributes"))) (define-public tree-sitter-gitcommit (let ((commit "a716678c0f00645fed1e6f1d0eb221481dbd6f6d") (revision "0")) (tree-sitter-grammar "gitcommit" "Git commit" "0syrmx6icp5n2iyawzwmz7nvpzi5iabrvn138vs7dlv9vyrxr1r9" (git-version "0.3.3" revision commit) #:commit commit #:repository-url "https://github.com/gbprod/tree-sitter-gitcommit" #:license license:wtfpl2))) (define-public tree-sitter-gitignore (let ((version "0.1.0") (commit "f4685bf11ac466dd278449bcfe5fd014e94aa504") (revision "0")) (tree-sitter-grammar "gitignore" "Git .gitignore" "17rar33y4dngmx69kjiw6wgrsd6kc0c8w4xa4rx06rjmv7b1hfij" (git-version version revision commit) #:commit commit #:repository-url "https://github.com/shunsambongi/tree-sitter-gitignore"))) (define-public tree-sitter-gleam (tree-sitter-grammar "gleam" "Gleam" "0d7z5bk6x0qi3wy4d8174a69wxsc4287c7fcdfabkn8dixpa920q" "1.1.0" #:repository-url "https://github.com/gleam-lang/tree-sitter-gleam" #:license license:asl2.0)) (define-public tree-sitter-glsl (tree-sitter-grammar "glsl" "OpenGL Shading Language (GLSL)" "0d0ymklms4a91b310f0vwl80yy50sji4qq9sdgly5qh42kyjnijb" "0.2.0" #:inputs (list tree-sitter-c) #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-glsl")) (define-public tree-sitter-gn (let ((version "1.0.0") (commit "bc06955bc1e3c9ff8e9b2b2a55b38b94da923c05") (revision "0")) (tree-sitter-grammar "gn" "GN" "0i6f0kar3c734ag5bli519ah3rmamsk8kihbw5ga5b0ihrxqfzja" (git-version version revision commit) #:commit commit #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-gn"))) (define-public tree-sitter-go (tree-sitter-grammar "go" "Go" "0yi8if9mqzzcs4qflflz90hhaxkzlq54wia3s0iiqzfqxk24a61g" "0.23.4")) (define-public tree-sitter-gomod (tree-sitter-grammar "gomod" "Go .mod" "1vbg4fn54a7lbwcrvjdx3nrwgw5y925chbbb7sd6kwms1434yyhb" "1.1.0" #:repository-url "https://github.com/camdencheek/tree-sitter-go-mod")) (define-public tree-sitter-gosum (let ((version "1.0.0") (commit "27816eb6b7315746ae9fcf711e4e1396dc1cf237") (revision "0")) (tree-sitter-grammar "gosum" "Go .sum" "13h690k9q8kf7mldcps10h0kj0bdnlkfml9zkcawdswx8r7wblzn" (git-version version revision commit) #:commit commit #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-go-sum"))) (define-public tree-sitter-gpr (let ((version "0.1.0") ; In package.json, but untagged (commit "cea857d3c18d1385d1f5b66cd09ea1e44173945c") (revision "0")) (tree-sitter-grammar "gpr" "GNAT Project" "0mf6ghqdyn0qbani9hg67yr6a68cbbbvhn734ndygxm30vqdz9xn" (git-version version revision commit) #:repository-url "https://github.com/brownts/tree-sitter-gpr" #:commit commit ;; binding.gyp & bindings is not part of this grammar. #:get-cleanup-snippet (lambda (grammar-directories) #~(begin (use-modules (guix build utils)) (for-each (lambda (lang) (with-directory-excursion lang (delete-file "src/grammar.json") (delete-file "src/node-types.json") (delete-file "src/parser.c") (delete-file-recursively "src/tree_sitter"))) '#$grammar-directories)))))) (define-public tree-sitter-graphql (let ((commit "5e66e961eee421786bdda8495ed1db045e06b5fe") (revision "0")) (tree-sitter-grammar "graphql" "GraphQL" "0xvrd6p9rxdjpqfq575ap6hpl2f7dad5i4d4m05w1qk9jx33vw9n" (git-version "0.0.1" revision commit) #:commit commit #:repository-url "https://github.com/bkegley/tree-sitter-graphql" #:get-cleanup-snippet (lambda (grammar-directories) #~(begin (use-modules (guix build utils)) (mkdir-p "test/corpus") (copy-recursively "corpus" "test/corpus") ;; FIXME: Impossible pattern. (substitute* "queries/graphql/formatter.scm" (("(\\(input_value_definition(.*@name)?\\))" all value _) (string-append "(input_fields_definition " value ")"))) #$(tree-sitter-delete-generated-files grammar-directories)))))) (define-public tree-sitter-groovy (let ((version "0.0.1") (commit "86911590a8e46d71301c66468e5620d9faa5b6af") (revision "0")) (tree-sitter-grammar "groovy" "Groovy" "0vbsg5xkdja6xyp8nm7g9fs4ndaq3qz6lq8vk9c7l2znw6bb17gb" (git-version version revision commit) #:commit commit #:repository-url "https://github.com/murtaza64/tree-sitter-groovy"))) (define-public tree-sitter-gstlaunch (let ((version "0.1.0") (commit "cf696c7f5e7265a7f6bd0cd1cc8864edd917a3de") (revision "0")) (tree-sitter-grammar "gstlaunch" "gst-launch-1.0" "0kd2pmh5jq0vc9mdzf2w12hn8qrcg3jybys1q4j2dnhqcalzmppa" (git-version version revision commit) #:commit commit #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-gstlaunch"))) (define-public tree-sitter-hack (let ((version "0.0.4") (commit "bc5b3a10d6d27e8220a113a9a7fe9bec0a1574b0") (revision "0")) (tree-sitter-grammar "hack" "Hack" "08rmlbxhb79d4zb0rb5wwkm4cqgy4a2l8zh37p2kx9gr352wjl3m" (git-version version revision commit) #:commit commit #:repository-url "https://github.com/slackhq/tree-sitter-hack"))) (define-public tree-sitter-hare (let ((version "0.0.1") (commit "fb6ea01461441ec7c312e64e326649f5e9011a64") (revision "0")) (tree-sitter-grammar "hare" "Hare" "0c1zswqig2x0qxg5svd5r17vrwi282x6is9irll2vadkfpfm83r9" (git-version version revision commit) #:commit commit #:repository-url "https://git.sr.ht/~ecs/tree-sitter-hare" #:license license:expat))) (define-public tree-sitter-haskell (tree-sitter-grammar "haskell" "Haskell" "08qzkvyc830k56j5lglfzmlp03ygixf9vlrpazbndqvqk20n56xa" "0.15.0" #:get-cleanup-snippet (lambda (grammar-directories) #~(begin (delete-file "test/highlight/Basic.hs") ;FIXME: Language not found. #$(tree-sitter-delete-generated-files grammar-directories))))) (define-public tree-sitter-haxe (let ((commit "a55f3e2cf1e4449200fd089a80d3af642bcf5f94") (revision "0")) (tree-sitter-grammar "haxe" "Haxe" "0wyrc7l3xav805xmypfp9clgxacm080is598lr3raa2sb31rwdl3" (git-version "0.13.0" revision commit) #:commit commit #:repository-url "https://github.com/vantreeseba/tree-sitter-haxe" #:get-cleanup-snippet (lambda (grammar-directories) #~(begin (use-modules (guix build utils)) ;; FIXME: No language found. (delete-file "queries/highlights.scm") (delete-file-recursively "test/highlight") #$(tree-sitter-delete-generated-files grammar-directories)))))) (define-public tree-sitter-hcl (let ((commit "de10d494dbd6b71cdf07a678fecbf404dbfe4398") (revision "0")) (tree-sitter-grammar "hcl" "HCL" "0dpxrr7m1k4kjasgz6v8kj7ldp0k6jcxlzcrr09qv7209v24s4x1" (git-version "1.1.0" revision commit) #:article "an" #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-hcl" #:commit commit #:license license:asl2.0))) (define-public tree-sitter-heex (tree-sitter-grammar "heex" "Heex" "0d0ljmxrvmr8k1wc0hd3qrjzwb31f1jaw6f1glamw1r948dxh9xf" "0.8.0" #:repository-url "https://github.com/phoenixframework/tree-sitter-heex")) (define-public tree-sitter-hlsl (tree-sitter-grammar "hlsl" "HLSL" "0d850bxzxmbxgxjdh219ag2k3qvbphly1y0hdbs2zsqdsdgf0s05" "0.2.0" #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-hlsl" #:inputs (list tree-sitter-c tree-sitter-cpp) #:article "an")) (define-public tree-sitter-html (tree-sitter-grammar "html" "HTML" "0slhrmwcw2xax4ylyaykx4libkzlaz2lis8x8jmn6b3hbdxlrpix" "0.23.2")) (define-public tree-sitter-hyprlang (tree-sitter-grammar "hyprlang" "Hyprlang" "171p3hj36a1jqflg9xv138445j4m4m16na6bgpm1km3l67jhvl54" "3.1.0" #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-hyprlang")) (define-public tree-sitter-ini (let ((version "1.3.0") (commit "32b31863f222bf22eb43b07d4e9be8017e36fb31") (revision "0")) (tree-sitter-grammar "ini" "INI" "0sp9075fllimy6zrw2gx5mij0igl9zvcrakh23wn7m5wh0w9lq4i" (git-version version revision commit) #:commit commit #:repository-url "https://github.com/justinmk/tree-sitter-ini" #:article "an" #:license license:asl2.0))) (define-public tree-sitter-janet (tree-sitter-grammar "janet" "Janet" "1sg862gqxn5y86sqa4habyicsr1ax70i7w8ibnn2yyx1bzn99jqn" "0.1.0" #:repository-url "https://github.com/GrayJack/tree-sitter-janet" #:license license:bsd-3)) (define-public tree-sitter-java (tree-sitter-grammar "java" "Java" "11j4ifhl5hsmb2sa651cp5xds9cjgjynl86yivvk6bnr2ba0xw9s" "0.23.5")) (define-public tree-sitter-java-properties (tree-sitter-grammar "java-properties" "Java properties" "0y2w3szzmn4y6m0fh0zi4xqfwr9lm849abrpsi3i3dlz9rnhcs71" "0.3.0" #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-properties")) (define-public tree-sitter-javascript (tree-sitter-grammar "javascript" "JavaScript(JSX)" "03v1gpr5lnifrk4lns690fviid8p02wn7hfdwp3ynp7lh1cid63a" "0.23.1")) (define-public tree-sitter-jsdoc (tree-sitter-grammar "jsdoc" "JSDoc" "1qrgan1xpj717qmwdbgb3lqjgffyhsw0qxhjwhdhqfv2lgkw4cn6" "0.25.0")) (define-public tree-sitter-json (tree-sitter-grammar "json" "JSON" "0p0fiqi5imxm13s1fs6bhqw6v11n79ri1af3d072zm7jqkcl5mhc" "0.24.8")) (define-public tree-sitter-jsonnet (let ((version "0.0.1") (commit "ddd075f1939aed8147b7aa67f042eda3fce22790") (revision "0")) (tree-sitter-grammar "jsonnet" "JSONNET" "1bfdjxp0h95d124bzlhlvc9b5q19cdj716aym41nyl6z5a992c9q" (git-version version revision commit) #:commit commit #:repository-url "https://github.com/sourcegraph/tree-sitter-jsonnet"))) (define-public tree-sitter-julia (tree-sitter-grammar "julia" "Julia" "0xi04a48ly438gar25bkkvvr8by4dd013cnafbjdysqjfs04q2wg" "0.23.1")) (define-public tree-sitter-just (tree-sitter-grammar "just" "Just" "0zkdr09myjzp75cmyndzi70kzkbkr3l2hglyb79b1an8w49vkdcn" "0.2.0" #:repository-url "https://github.com/casey/tree-sitter-just" #:get-cleanup-snippet (lambda (grammar-directories) #~(begin (use-modules (guix build utils)) ;; FIXME: test/highlight/statements.just fails (with-directory-excursion "test/highlight" (delete-file "statements.just")) #$(tree-sitter-delete-generated-files grammar-directories))))) (define-public tree-sitter-kconfig (tree-sitter-grammar "kconfig" "Kconfig" "1gjh5pz2hwccfcljz3qlg66b6rgv3wsv1bdml1gzrphca9xxz66a" "1.3.0" #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-kconfig")) (define-public tree-sitter-kdl (tree-sitter-grammar "kdl" "KDL" "1015x24ffrvzb0m0wbqdzmaqavpnjw0gvcagxi9b6vj3n1ynm0ps" "1.1.0" #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-kdl")) (define-public tree-sitter-kotlin (tree-sitter-grammar "kotlin" "Kotlin" "0bv21rcypi9dx87kgfr89mg8qfc7ik1g1fcb8am7ss17by8badwk" "0.3.8" #:repository-url "https://github.com/fwcd/tree-sitter-kotlin" #:commit "0.3.8")) (define-public tree-sitter-latex (tree-sitter-grammar "latex" "LaTeX" "18dyda7299imb6i2jnjpr7z2jdrjn804c3958nkkpxzzfhbq39h7" "0.4.0" #:repository-url "https://github.com/latex-lsp/tree-sitter-latex")) (define-public tree-sitter-linkerscript (let ((version "1.0.0") (commit "f99011a3554213b654985a4b0a65b3b032ec4621") (revision "0")) (tree-sitter-grammar "linkerscript" "Linker script" "004irhiaj5n4sgr0fqwqxnijsbalvn3ahc2ys4s9l33rr4hhr3qf" (git-version version revision commit) #:commit commit #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-linkerscript"))) (define-public tree-sitter-llvm (let ((commit "2914786ae6774d4c4e25a230f4afe16aa68fe1c1") (revision "0")) (tree-sitter-grammar "llvm" "LLVM" "0k02dak264y57ng0mxdg9z9hcb4b0jgyd1xm88h4f1bcq6sah54c" (git-version "1.1.0" revision commit) #:commit commit #:repository-url "https://github.com/benwilliamgraham/tree-sitter-llvm"))) (define-public tree-sitter-lua-0.4 (tree-sitter-grammar "lua" "Lua" "082hc274h96sa98n3vxicjmjvnbdhrpjaimxsh002xl69rdl80jm" "0.4.0" #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-lua" #:get-cleanup-snippet (lambda (grammar-directories) #~(begin (use-modules (guix build utils)) (delete-file-recursively "test/highlight") ;FIXME #$(tree-sitter-delete-generated-files grammar-directories))))) (define-public tree-sitter-lua (tree-sitter-grammar "lua" "Lua" "1mhlwpj4ajqajgjw99l9xhiqnyg9hwn7zdgvdw037vk3k8vrldjp" "0.5.0" #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-lua" #:get-cleanup-snippet (lambda (grammar-directories) #~(begin (use-modules (guix build utils)) (delete-file-recursively "test/highlight") ;FIXME #$(tree-sitter-delete-generated-files grammar-directories))))) (define-public tree-sitter-luadoc (let ((version "1.1.0") (commit "818acda56809f994274de64a42f97f509b3c0ad2") (revision "0")) (tree-sitter-grammar "luadoc" "Luadoc/LuaCATS" "1sb0zgd2gk0x18c45f5y9pz5fr8mil9adsspa9q7kbd2hwrf14gi" (git-version version revision commit) #:commit commit #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-luadoc"))) (define-public tree-sitter-lua-patterns (let ((version "1.0.1") (commit "31461ae9bd0866cb5117cfe5de71189854fd0f3e") (revision "0")) (tree-sitter-grammar "lua-patterns" "Lua patterns" "1wfsfh44jn7m9kx0lfsbrf0hqavad142wl2pffab3mvpmrnawva9" (git-version version revision commit) #:commit commit #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-luap"))) (define-public tree-sitter-luau (tree-sitter-grammar "luau" "Luau" "00j60425gp0pzrfds0wzr0k1wynbp0zq1saagpnglkmid41xk9p6" "1.2.0" #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-luau" #:inputs (list tree-sitter-lua-0.4) #:get-cleanup-snippet (lambda (grammar-directories) #~(begin (use-modules (guix build utils)) (substitute* "grammar.js" (("@muniftanjim/") "@tree-sitter-grammars/")) #$(tree-sitter-delete-generated-files grammar-directories))))) (define-public tree-sitter-magik (let ((version "0.0.1") (commit "1fd4c5502fd375c157bbe0916834f697c97704bb") (revision "0")) (tree-sitter-grammar "magik" "Magik" "07zdsilaa97c4hq1pj0qiyhrkbzhawnqc7sbsvr0nsz6n5jj3gwx" (git-version version revision commit) #:commit commit #:repository-url "https://github.com/krn-robin/tree-sitter-magik"))) (define-public tree-sitter-make (tree-sitter-grammar "make" "Makefile" "0g8k9rfmc979lza2cx5xwla1ic2p9hpvm0h2sgfs4r29kw1a2ass" "1.1.1" #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-make")) (define-public tree-sitter-markdown (tree-sitter-grammar "markdown" "Markdown (CommonMark Spec v0.30)" "0vz9r1dbbdj8vwf45izmbajhjbl98ww2dvlk1faqy33kx7plsiar" "0.5.3" #:repository-url "https://github.com/MDeiml/tree-sitter-markdown" #:grammar-directories '("tree-sitter-markdown" "tree-sitter-markdown-inline") #:get-cleanup-snippet (lambda (grammar-directories) #~(begin (use-modules (guix build utils)) ;; FIXME (with-directory-excursion "tree-sitter-markdown-inline/test/corpus" (for-each delete-file '("extension_wikilink.txt" "spec.txt" "tags.txt"))) #$(tree-sitter-delete-generated-files grammar-directories))))) (define-public tree-sitter-matlab (tree-sitter-grammar "matlab" "Matlab" "1kcg16aa9swk4a73klp72rib15ljz7zjlr97rr134laym4x0fnvl" "1.0.4" #:repository-url "https://github.com/acristoffers/tree-sitter-matlab" #:license license:expat)) (define-public tree-sitter-mermaid (let ((version "0.0.2") ; In package.json, but untagged (commit "90ae195b31933ceb9d079abfa8a3ad0a36fee4cc") (revision "0")) (tree-sitter-grammar "mermaid" "Mermaid" "1wfdsz3ikdbpym14aljgy80jhr06cgwhhg72rr8d3rsbm8z5ppaf" (git-version version revision commit) #:commit commit #:repository-url "https://github.com/monaqa/tree-sitter-mermaid"))) (define-public tree-sitter-meson (tree-sitter-grammar "meson" "Meson" "10v1d22wgkc9m33b7zfl712q7zrpn17l1xyprj4wwasqjvg29l03" "1.3.0" #:repository-url "https://github.com/Decodetalkers/tree-sitter-meson" #:license license:expat)) (define-public tree-sitter-netlinx (tree-sitter-grammar "netlinx" "NetLinx" "09q2w9g4bb8v603b4ykxn5g8ndqjfhrgskslsmzhy095r3jysb2q" "1.0.4" #:repository-url "https://github.com/Norgate-AV/tree-sitter-netlinx")) (define-public tree-sitter-nim (let ((version "0.6.2") (commit "4ad352773688deb84a95eeaa9872acda5b466439") (revision "0")) (tree-sitter-grammar "nim" "Nim" "17wgv8lv6v3wgsjhwcmrqpvdj0bj69ldmr62j588vsppn2cwqabn" (git-version version revision commit) #:commit commit #:repository-url "https://github.com/alaviss/tree-sitter-nim" #:license license:mpl2.0))) (define-public tree-sitter-ninja (let ((version "0.1.0") (commit "0a95cfdc0745b6ae82f60d3a339b37f19b7b9267") (revision "0")) (tree-sitter-grammar "ninja" "Ninja" "1vmfx2k6bxfwcz319vskjhyszc6hz3j32bw4lgj72l7p890ykwkv" (git-version version revision commit) #:commit commit #:repository-url "https://github.com/alemuller/tree-sitter-ninja"))) (define-public tree-sitter-nix (tree-sitter-grammar "nix" "Nix" "0rkvr64fvawblpg39rr0mrigf1rhsk30vng2vxviwb7fk50iww0i" "0.0.2" #:repository-url "https://github.com/nix-community/tree-sitter-nix" #:get-cleanup-snippet (lambda (grammar-directories) #~(begin (use-modules (guix build utils)) ;; FIXME: Language not found. (delete-file-recursively "test/highlight") #$(tree-sitter-delete-generated-files grammar-directories))))) (define-public tree-sitter-nqc (let ((commit "14e6da1627aaef21d2b2aa0c37d04269766dcc1d") (revision "0")) (tree-sitter-grammar "nqc" "NQC" "0gpai34vlcdbkyj4a7j2wm36g14p84aj0vldh1146b0n8zbvizhr" (git-version "1.0.0" revision commit) #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-nqc" #:commit commit #:inputs (list tree-sitter-c) #:get-cleanup-snippet (lambda (grammar-directories) #~(begin (use-modules (guix build utils)) ;; Adjust to the change in tree-sitter-c (substitute* "grammar.js" (("\\$\\._statement") "$.statement") (("\\$\\._expression") "$.expression")) (delete-file "queries/highlights.scm") ;FIXME #$(tree-sitter-delete-generated-files grammar-directories)))))) (define-public tree-sitter-objc (tree-sitter-grammar "objc" "Objective-C" "1fryxjjxjq7lz93vvcm3lswshb4drywf64knbvjxrr3lq5zh5bv8" "3.0.2" #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-objc" #:inputs (list tree-sitter-c) #:article "an")) (define-public tree-sitter-ocaml (tree-sitter-grammar "ocaml" "OCaml (.ml and .mli)" "17g2ynqhjf1nyhdidz9j9s0s12iys3b2vbywxkygwyccj7rb8zdi" "0.24.0" #:grammar-directories '("grammars/interface" "grammars/ocaml" "grammars/type"))) (define-public tree-sitter-odin (tree-sitter-grammar "odin" "Odin" "05ljga1gqhx8hr7ldpcbrz79ixni5qyz6ckyyh7chxnkl5fkjp5y" "1.3.0" #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-odin" #:article "an")) (define-public tree-sitter-org ;; There are a lot of additions, the last tag was placed a while ago (let ((commit "64cfbc213f5a83da17632c95382a5a0a2f3357c1") (revision "1")) (tree-sitter-grammar "org" "Org" "1l62p4a3b22pa7b5mzmy497pk5b8w01hx6zinfwpbnzg2rjdwkgz" (git-version "1.3.1" revision commit) #:repository-url "https://github.com/milisims/tree-sitter-org" #:commit commit))) (define-public tree-sitter-pascal (tree-sitter-grammar "pascal" "Pascal" "0wxg6k1vvp32c5grvrw1xihb1zr0idfmc4p07rmv99f7f472djhj" "0.10.0" #:repository-url "https://github.com/Isopod/tree-sitter-pascal")) (define-public tree-sitter-pem (let ((version "0.1.1") (commit "e525b177a229b1154fd81bc0691f943028d9e685") (revision "0")) (tree-sitter-grammar "pem" "PEM" "02g17ki5da7iams576qxyc01r1c95y5ycd7yhap9fhyxc8a6my6r" (git-version version revision commit) #:commit commit #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-pem"))) (define-public tree-sitter-perl (let ((commit "ad74e6db234c35d537de9358799a8e0cc4f5dee0") (revision "0")) (tree-sitter-grammar "perl" "Perl" "0k6p3hij98vqa6b6iyswlyij69cggbnzgwi2zh64mj3faisblgzj" (git-version "1.0.0" revision commit) #:commit commit #:repository-url "https://github.com/tree-sitter-perl/tree-sitter-perl" #:get-cleanup-snippet (lambda (grammar-directories) #~(begin (use-modules (guix build utils)) ;; FIXME (delete-file "test/highlight/literals.pm") #$(tree-sitter-delete-generated-files grammar-directories)))))) (define-public tree-sitter-pgn (tree-sitter-grammar "pgn" "Chess Portable Game Notation (PGN)" "0mazy9y80pd20a3a76b0nfxswh7xxdsnya0y0lzl86sh4w95f52p" "1.2.12" #:repository-url "https://github.com/rolandwalker/tree-sitter-pgn" #:license license:bsd-2)) (define-public tree-sitter-php (tree-sitter-grammar "php" "PHP" "05qhz14vvqgwpxgdfr1skwgrv041zwc3wxjyx6y679965nn0lrji" "0.23.12" #:grammar-directories '("php" "php_only"))) (define-public tree-sitter-phpdoc (tree-sitter-grammar "phpdoc" "PHPDoc" "1m5fsbl4zv44rjxv21jzcv64mz9gs702m9s6qjkb0c0rill2bqaz" "0.1.8" #:repository-url "https://github.com/claytonrcarter/tree-sitter-phpdoc" #:inputs (list tree-sitter-php))) (define-public tree-sitter-plantuml ;; No tags (let ((commit "c7361a1d481dc1ff6700b14ea1d5efc549b72713") (revision "1")) (tree-sitter-grammar "plantuml" "PlantUML" "0apmv0dad58ixhxhzxkwlm9wgbphj7lxilbh427rpxy1y5hrml0f" (git-version "1.0.0" revision commit) #:repository-url "https://github.com/Decodetalkers/tree_sitter_plantuml" #:commit commit #:get-cleanup-snippet (lambda (grammar-directories) #~(begin (use-modules (guix build utils)) (substitute* "grammar.js" (("u\\{\\[0-9a-fA-F\\]\\+\\}") "u\\{[0-9a-fA-F]+\\}")) #$(tree-sitter-delete-generated-files grammar-directories)))))) (define-public tree-sitter-po (let ((version "0.0.1") (commit "bd860a0f57f697162bf28e576674be9c1500db5e") (revision "0")) (tree-sitter-grammar "po" "GNU gettext translation file (PO/POT)" "1d28lyg0sx9xs09y68618cxnhi5sacfschcrv4xmy06k21bp8azx" (git-version version revision commit) #:commit commit #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-po"))) (define-public tree-sitter-pony (let ((commit "73ff874ae4c9e9b45462673cbc0a1e350e2522a7") (revision "0")) (tree-sitter-grammar "pony" "Pony" "0fm47by0z6vzihnk4py7lx1qbiwqbbgpxpi8ibl740bnx9nx7mpz" (git-version "1.0.0" revision commit) #:commit commit #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-pony"))) (define-public tree-sitter-powershell (tree-sitter-grammar "powershell" "Powershell" "1wz34js891sx6j2s128sdcbxj1k2zi300fg5a4vf5acaz82jcs8q" "0.25.8" #:repository-url "https://github.com/airbus-cert/tree-sitter-powershell")) (define-public tree-sitter-printf (tree-sitter-grammar "printf" "printf" "15p5fr1dhmf54aic9mszrb7859q2adcq66mnivzpfvzvh4xnpmr5" "0.5.1" #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-printf" #:license license:isc)) (define-public tree-sitter-prisma (tree-sitter-grammar "prisma" "Prisma" "144l2w7ky5imd7yvp1n6lgbyy5kq6kx4c2ja43yk15k3258pf52v" "1.5.1" #:repository-url "https://github.com/victorhqc/tree-sitter-prisma" #:license license:expat)) (define-public tree-sitter-proto (let ((version "0.1.0") (commit "e9f6b43f6844bd2189b50a422d4e2094313f6aa3") (revision "0")) (tree-sitter-grammar "proto" "Protocol Buffers" "1r8g28rp852f1qj4bhnkf4fzfir1r5blq2p0nz4x9y5jfplb1vji" (git-version version revision commit) #:commit commit #:repository-url "https://github.com/treywood/tree-sitter-proto"))) (define-public tree-sitter-puppet (tree-sitter-grammar "puppet" "Puppet" "19032dhb60vxij6b6xvgnigwhhbm4y89dr11vxsr1kk10zj61vkc" "1.3.0" #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-puppet")) (define-public tree-sitter-purescript (tree-sitter-grammar "purescript" "PureScript" "11c57k50kppc560a6qr3wpxppl9p4w7a7yn9g51ybzd28vc55qxl" "0.3.0" #:repository-url "https://github.com/postsolar/tree-sitter-purescript")) (define-public tree-sitter-python (tree-sitter-grammar "python" "Python" "05kk1wlm5fgpgwqxw3m68sipkinw0gf2jq19cgq9cgp3agdwg58p" "0.25.0")) (define-public tree-sitter-python-manifest (tree-sitter-grammar "python-manifest" "PyPA manifest" "16k9izgwg2f8yyz1vlzyw9qw4np5fjy3nxr3ksq499a0bz8a59cd" "0.6.0" #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-pymanifest")) (define-public tree-sitter-python-requirements (tree-sitter-grammar "python-requirements" "Python requirements.txt" "1gwp1cwsyr67qclfm9f8ilakaq747qzqmj3bgy0jacjjjs0xgk32" "0.5.0" #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-requirements")) (define-public tree-sitter-qml (let ((version "0.2.0") ; Tagged, but we use a more recent commit (commit "0889da4632bba3ec6f39ef4102625654890c15c1") (revision "0")) (tree-sitter-grammar "qml" "Qml" "1qdfwbqjnw7vcvq2dcx19c159b12kv2hvwrvbp7m9i5vl6szc22g" (git-version version revision commit) #:repository-url "https://github.com/yuja/tree-sitter-qmljs" #:commit commit #:inputs (delay (list tree-sitter-javascript tree-sitter-typescript)) #:license license:expat))) (define-public tree-sitter-qmldir (let ((version "0.2.2") (commit "fbf29ddf1ebb01e0c389dde2a51e874f688a2327") (revision "0")) (tree-sitter-grammar "qmldir" "Qmldir" "07wmr7vsqqv77m69inrhdk3qmlwivwkdpppcjwc326b2r8a88y7j" (git-version version revision commit) #:commit commit #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-qmldir"))) (define-public tree-sitter-qmljs (tree-sitter-grammar "qmljs" "QML" "1a1fxm73ag51qsi0wfg36jzcm6am9n1mwvhjv3f57fyjwcwigqp0" "0.2.0" #:commit "0.2.0" #:repository-url "https://github.com/yuja/tree-sitter-qmljs" #:inputs (delay (list tree-sitter-javascript tree-sitter-typescript)))) (define-public tree-sitter-query (package (inherit (tree-sitter-grammar "query" "Query" "1m7w05228ky26ph4k9vfwjwkhghppnpvci2i45iwncjanrni6byk" "0.8.0" #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-query")) (synopsis "Tree-sitter grammar for Tree-sitter's query language") (description "This package provides Tree-sitter's query grammar."))) (define-public tree-sitter-r (tree-sitter-grammar "r" "R" "1jf14nvrfcznsnmxmlkbnn59bdykpsawxm5grph65p8vghi4fik7" "1.1.0" #:repository-url "https://github.com/r-lib/tree-sitter-r" #:get-cleanup-snippet (lambda (grammar-directories) #~(begin (use-modules (guix build utils)) ;; FIXME: Language not found. (for-each delete-file-recursively '("test/highlight" "test/tags")) #$(tree-sitter-delete-generated-files grammar-directories))))) (define-public tree-sitter-racket (tree-sitter-grammar "racket" "Racket" "1x9x6pn7l578xlm1cmg5w0cy2zk34qywsn0jzf1j8phwf7k66bxg" "0.23.0-1" #:repository-url "https://github.com/6cdh/tree-sitter-racket")) (define-public tree-sitter-readline (let ((version "1.1.1") (commit "74addc90fc539d31d413c0c7cf7581997a7fa46e") (revision "0")) (tree-sitter-grammar "readline" "GNU Readline init" "0qmnmzab9qn6chsdh2sfa9v2yrpik3ng9j14shw70ck0zc02gd3i" (git-version version revision commit) #:commit commit #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-readline"))) (define-public tree-sitter-re2c (let ((commit "c18a3c2f4b6665e35b7e50d6048ea3cff770c572") (revision "0")) (tree-sitter-grammar "re2c" "Regular Expressions to Code (re2c)" "0h6vvbns5xdi47pfgl2xf4hlwzawrsqbm16jv07d0z7lppimf6ys" (git-version "0.1.0" revision commit) #:commit commit #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-re2c" #:get-cleanup-snippet (lambda (grammar-directories) #~(begin (use-modules (guix build utils)) ;; FIXME: Invalid node type labelprefix. (substitute* "grammar.js" (("( *)\\$\\.set_condenumprefix,\n" all tabs) (string-append all tabs "$.set_labelprefix,\n"))) #$(tree-sitter-delete-generated-files grammar-directories)))))) (define-public tree-sitter-rego (let ((version "1.0.0") (commit "20b5a5958c837bc9f74b231022a68a594a313f6d") (revision "0")) (tree-sitter-grammar "rego" "Rego" "0cmja3gd5nbmi251qc14hh1cbfd7i0mydx74qxs30qvix6q5a2az" (git-version version revision commit) #:commit commit #:repository-url "https://github.com/FallenAngel97/tree-sitter-rego"))) (define-public tree-sitter-ron (let ((commit "78938553b93075e638035f624973083451b29055") (revision "0")) (tree-sitter-grammar "ron" "RON" "13f8a5sfvyrizkl0szh2yaslmvjk91s97yb2abrdh74a0pl217aa" (git-version "0.2.0" revision commit) #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-ron" #:commit commit #:license (list license:asl2.0 license:expat)))) (define-public tree-sitter-rst (tree-sitter-grammar "rst" "ReStructuredText" "1lrdyhgda2f66biq7dk4s0llk4fcxn23rf5zrhi17nnl8zmjg18i" "0.2.0" #:repository-url "https://github.com/stsewd/tree-sitter-rst")) (define-public tree-sitter-ruby (tree-sitter-grammar "ruby" "Ruby" "0c1vs63ydcb3q2wnif18l5irbj6chkcvd3p6dg0vyhklk5acrvca" "0.23.1")) (define-public tree-sitter-rust (tree-sitter-grammar "rust" "Rust" "0x7xqxspdfnbgn9nvrsl2rsnrjbs01i5hy8k8p5wwk2j358hjyyb" "0.24.0")) (define-public tree-sitter-scala (tree-sitter-grammar "scala" "Scala" "02awiraj5mmgyi31yzxyxarkkl41qksm3lm41pq9c6bmyqpir2y6" "0.23.4")) (define-public tree-sitter-scheme (tree-sitter-grammar "scheme" "Scheme (R5RS, R6RS, R7RS)" "108ln1j2fcsrphy6jp9bq3qravp42w4hqb4cvpzx6a3dslkpv116" "0.24.7-1" #:repository-url "https://github.com/6cdh/tree-sitter-scheme")) (define-public tree-sitter-scss (let ((commit "bca847c1410f7dd97e13fbe7838b3c2c203fb473") (revision "0")) (tree-sitter-grammar "scss" "SCSS" "0v5vrgwp2fln1pypff5pr329mghm5naahpn3sr7mkrja2n8gyy6a" (git-version "1.0.0" revision commit) #:commit commit #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-scss" #:inputs (list tree-sitter-css) #:get-cleanup-snippet (lambda (grammar-directories) #~(begin (use-modules (guix build utils)) ;; FIXME: 10/56 fail (with-directory-excursion "test/corpus" (for-each delete-file '("declarations.txt" "examples.txt" "statements.txt"))) #$(tree-sitter-delete-generated-files grammar-directories)))))) (define-public tree-sitter-sfapex ;; Use a later commit because some tests fail with the v2.3 tag. (let ((commit "3597575a429766dd7ecce9f5bb97f6fec4419d5d") (revision "0")) (tree-sitter-grammar "sfapex" "Sfapex" "1kcv8g7smh76nb46np5yqmjma1c4zna74nkhc11xa1g3gwysvv2c" (git-version "2.3" revision commit) #:commit commit #:repository-url "https://github.com/aheber/tree-sitter-sfapex" #:grammar-directories '("apex" "sflog" "soql" "sosl")))) (define-public tree-sitter-smali (let ((commit "fdfa6a1febc43c7467aa7e937b87b607956f2346") (revision "0")) (tree-sitter-grammar "smali" "Smali" "0b7b6vziwj2c3ngrpz439gnsxh5v22illc4nms1mxkzdx5g3liab" (git-version "1.0.0" revision commit) #:commit commit #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-smali"))) (define-public tree-sitter-smithy (let ((commit "ec4fe14586f2b0a1bc65d6db17f8d8acd8a90433") (revision "0")) (tree-sitter-grammar "smithy" "Smithy" "12gs5baabvm6v7js0g0siy98v1w69cmfxc72sikylr6y4wfvhjf0" (git-version "0.2.0" revision commit) #:commit commit #:repository-url "https://github.com/indoorvivants/tree-sitter-smithy"))) (define-public tree-sitter-solidity (tree-sitter-grammar "solidity" "Solidity" "0vbxghnihnmfdgg4a5j2g5s7fcff8axqmqa2y8yci434n35wgq3g" "1.2.13" #:repository-url "https://github.com/JoranHonig/tree-sitter-solidity")) (define-public tree-sitter-sparql (let* ((commit "1ef52d35a73a2a5f2e433ecfd1c751c1360a923b") (revision "0")) (tree-sitter-grammar "sparql" "SPARQL" "19s63n9kbijmbaprffvkxqmdr8a1jc3f371mzrxh2wv4czbradpl" (git-version "0.1.0" revision commit) #:commit commit #:repository-url "https://github.com/GordianDziwis/tree-sitter-sparql"))) (define-public tree-sitter-sql (let ((commit "7b51ecda191d36b92f5a90a8d1bc3faef1c7b8b8") (revision "0")) (tree-sitter-grammar "sql" "SQL" "1lvm4x24ac9r4fy4ghpypyz1q771bafwkjvn0ma5zh82900q7xvr" (git-version "0.3.11" revision commit) #:commit commit #:repository-url "https://github.com/DerekStride/tree-sitter-sql"))) (define-public tree-sitter-squirrel (let ((commit "072c969749e66f000dba35a33c387650e203e96e") (revision "0")) (tree-sitter-grammar "squirrel" "Squirrel" "01gwmjgbyq7byxs0hsy4kkinijdszq2vh13kqmrjz1pq632nd45l" (git-version "1.0.0" revision commit) #:commit commit #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-squirrel"))) (define-public tree-sitter-starlark (tree-sitter-grammar "starlark" "Starlark" "1qlvk67fqd49138nxl81l4gx833271mns36g3lm884sdmw3225w8" "1.3.0" #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-starlark" #:inputs (list tree-sitter-python) #:get-cleanup-snippet (lambda (grammar-directories) #~(begin (use-modules (guix build utils)) ;; FIXME: This grammar was built with tree-sitter-python@0.23.5. ;; https://github.com/tree-sitter-grammars/tree-sitter-starlark/issues/9 (substitute* "grammar.js" (("rules: \\{" rules) "\ reserved: {global: _ => [],}, supertypes: $ => [ $._simple_statement, $._compound_statement, $.expression, $.primary_expression, $.pattern, $.parameter, ], rules: { ")) #$(tree-sitter-delete-generated-files grammar-directories))))) (define-public tree-sitter-svelte (let ((commit "ae5199db47757f785e43a14b332118a5474de1a2") (revision "0")) (tree-sitter-grammar "svelte" "Svelte" "0pm5hillspaj4xvqz3j5sxvn78sljw75abjp58xnq8lc5vp62zvh" (git-version "1.0.2" revision commit) #:commit commit #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-svelte" #:inputs (list tree-sitter-html)))) (define-public tree-sitter-sway (let ((commit "f9e53e922496dd47208a141fa7ac315625a1874f") (revision "0")) (tree-sitter-grammar "sway" "Sway" "1bgr3153wwzgkrnk5w9mv7kskw3ygdxaihrpiljcw0bhciqsnkk8" (git-version "1.0.0" revision commit) #:repository-url "https://github.com/FuelLabs/tree-sitter-sway" #:commit commit))) (define-public tree-sitter-swift (let ((commit "7c2f26b5dce12e82ef2bd932a883ef514ae566b8") (revision "0")) (tree-sitter-grammar "swift" "Swift" "15rcld2k5h7m4c66msxx7zcmn9bmpqsz907pdr3ikhvcvx3w085g" (git-version "0.7.1" revision commit) #:commit commit #:repository-url "https://github.com/alex-pinkus/tree-sitter-swift" #:get-cleanup-snippet (lambda (grammar-directories) #~(begin (use-modules (guix build utils)) (delete-file-recursively "test-npm-package") (delete-file-recursively "test/outline") #$(tree-sitter-delete-generated-files grammar-directories)))))) (define-public tree-sitter-systemverilog (tree-sitter-grammar "systemverilog" "SystemVerilog" "1qmdhd0ln6zhrwj1zpc96ws0x2gdb9fkfk7fwp1zjvkz6fkjc3la" "0.4.0" #:repository-url "https://github.com/gmlarumbe/tree-sitter-systemverilog")) (define-public tree-sitter-tablegen (let ((version "1.0.0") (commit "3e9c4822ab5cdcccf4f8aa9dcd42117f736d51d9") (revision "0")) (tree-sitter-grammar "tablegen" "LLVM TableGen" "02anzjxk30323jmbvn2l7fwarq59zix84g7rdcgx8s7z7c5zyagk" (git-version version revision commit) #:commit commit #:repository-url "https://github.com/Flakebi/tree-sitter-tablegen"))) (define-public tree-sitter-tcl (let ((version "1.1.0") (commit "8f11ac7206a54ed11210491cee1e0657e2962c47") (revision "0")) (tree-sitter-grammar "tcl" "TCL" "0dkxh6bn0kqn1gbyd5qwkg21fm634mxvas3w4ahv6zr5d8f95c96" (git-version version revision commit) #:commit commit #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-tcl"))) (define-public tree-sitter-test (package ;; Similar to the tree-sitter-query. (inherit (tree-sitter-grammar "test" "corpus test" "0n61mhi2244x3xv1zvwypcih9x65qqgrlz0sz4766h5v68mc58zg" "0.3.0" #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-test")) (synopsis "Tree-sitter grammar for Tree-sitter's corpus test files") (description "This package provides Tree-sitter's grammar for corpus test files."))) (define-public tree-sitter-thrift (let ((commit "68fd0d80943a828d9e6f49c58a74be1e9ca142cf") (revision "0")) (tree-sitter-grammar "thrift" "Thrift" "1ijp9x1vylc8bgplnj9d898qhv04cvrl67qg9kmam33drfrmn1m3" (git-version "0.5.0" revision commit) #:commit commit #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-thrift"))) (define-public tree-sitter-tlaplus (tree-sitter-grammar "tlaplus" "TLA+" "11073rjg9n9hnr88193mmb8ff5xlcv6isgqc0g2fbfbl0y820zlk" "1.5.0" #:repository-url "https://github.com/tlaplus-community/tree-sitter-tlaplus" #:commit "1.5.0")) (define-public tree-sitter-toml (tree-sitter-grammar "toml" "TOML" "1j9fgy1hlsq6xqqnpjl65a2mmydlx91p8ss36k7vyf7284d6bm4v" "0.7.0" #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-toml")) (define-public tree-sitter-twig (let ((version "0.7.0") (commit "40d17f0eb990215e12531abe29ee7691d7ca99a5") (revision "0")) (tree-sitter-grammar "twig" "Twig" "06a6rfgh9mmzqvs7bp8y92axa4fni4c72s82bdin7j3a0x5mxwi6" (git-version version revision commit) #:commit commit #:repository-url "https://github.com/kaermorchen/tree-sitter-twig" #:license license:mpl2.0))) (define-public tree-sitter-typescript (tree-sitter-grammar "typescript" "TypeScript and TSX" "0rlhhqp9dv6y0iljb4bf90d89f07zkfnsrxjb6rvw985ibwpjkh9" "0.23.2" #:inputs (list tree-sitter-javascript) #:grammar-directories '("typescript" "tsx"))) (define-public tree-sitter-typst (tree-sitter-grammar "typst" "Typst" "198rn8wdcqq51nz6hj1zxk7mplplr2z8vc36z6h1zpjjq925794z" "0.11.0" #:repository-url "https://github.com/uben0/tree-sitter-typst" #:get-cleanup-snippet (lambda (grammar-directories) #~(begin ;; These tests are supposed to fail, but they don't fail the way the ;; suite expects anymore. (delete-file "test/corpus/negative.scm") #$(tree-sitter-delete-generated-files grammar-directories))))) (define-public tree-sitter-udev (let ((version "0.2.1") (commit "2fcb563a4d56a6b8e8c129252325fc6335e4acbf") (revision "0")) (tree-sitter-grammar "udev" "udev rules" "0azs4q43bdg0an4f5s8ac7jqxikwi1rnqhl4g0l58ghf2g51i70i" (git-version version revision commit) #:commit commit #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-udev"))) (define-public tree-sitter-ungrammar ;; No releases yet. (let ((commit "debd26fed283d80456ebafa33a06957b0c52e451") (revision "0")) (tree-sitter-grammar "ungrammar" "Ungrammar" "09bbml1v1m6a9s9y9q1p2264ghf3fhb6kca1vj3qm19yq87xrnvy" (git-version "0.0.2" revision commit) #:commit commit #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-ungrammar" #:article "an"))) (define-public tree-sitter-uxntal (let ((version "1.0.0") (commit "bd6cc0cf5c97bb25ee65b39132768d1a1f70ffa9") (revision "0")) (tree-sitter-grammar "uxntal" "Uxntal" "0sbwwr6d6yiq0ddhjkcafi0k61rcp6l1fa6vpmkykr3kh7znq9pn" (git-version version revision commit) #:commit commit #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-uxntal"))) (define-public tree-sitter-v (let ((commit "532bebd50742ef15949bdd67c36d46697c847628") (revision "0")) (tree-sitter-grammar "v" "V" "1chkirgmbfrjy9p81qm5gi5qdqf9az98zfv9zgmd0q91gvkdf6ll" (git-version "0.0.6" revision commit) #:commit commit #:repository-url "https://github.com/vlang/v-analyzer" #:grammar-directories '("tree_sitter_v") #:get-cleanup-snippet (lambda (grammar-directories) #~(begin (use-modules (guix build utils)) (delete-file-recursively "src") (delete-file-recursively "editors") (rename-file "tree_sitter_v/package.json" "package.json") #$(tree-sitter-delete-generated-files grammar-directories)))))) (define-public tree-sitter-verilog (tree-sitter-grammar "verilog" "Verilog" "1mk8waij5lbj1wbayvqs0cxk003dssdic13h14gd5fi1ckfvflja" "1.0.3")) (define-public tree-sitter-vhdl (tree-sitter-grammar "vhdl" "VHDL" "11q2sxac26mn00a7k4vy1wgd6bhh0v0p8arj9r8zb9phn3sqwwjm" "2.0.0" #:repository-url "https://github.com/jpt13653903/tree-sitter-vhdl")) ;;; TODO: Remove this package when emacs-vhdl-ts-mode switches to jpt13653903. ;;; We keep old one as alemuller is still required by emacs-vhdl-ts-mode. ;;; See: ;;; https://github.com/gmlarumbe/vhdl-ts-mode/issues/17 (define-public tree-sitter-vhdl-0 (let ((version "0.1.1") ; In package.json, but untagged (commit "a3b2d84990527c7f8f4ae219c332c00c33d2d8e5") (revision "0")) (tree-sitter-grammar "vhdl" "VHDL" "0gz2b0qg1jzi2q6wgj6k6g35kmni3pqglq4f5kblkxx909463n8a" (git-version version revision commit) #:repository-url "https://github.com/alemuller/tree-sitter-vhdl" #:commit commit #:get-cleanup-snippet (lambda (grammar-directories) #~(begin (use-modules (guix build utils)) ;; FIXME: Language not found. (delete-file-recursively "test/highlight") ;; Fix a query error in the highlight.scm query test. This would be ;; easier with a patch, but this works too, and we still get to use ;; tree-sitter-grammar. The fix is taken from here: ;; https://github.com/n8tlarsen/tree-sitter-vhdl/commit/dabf157c6bb7220d72d3ceba0ce1abd90bf62187 ;; This is a documented issue that has not been resolved for nearly 2 ;; years. ;; https://github.com/alemuller/tree-sitter-vhdl/issues/2 (substitute* "queries/highlights.scm" (("\\(integer_decimal\n") "(integer_decimal)\n") (("\\(integer\\)") "") (("\"0\")") "\"0\"")) #$(tree-sitter-delete-generated-files grammar-directories)))))) (define-public tree-sitter-vim (tree-sitter-grammar "vim" "Vimscript" "1myz19yimx179gzd6w64zyshfb4hbxp7qfrdf6nvf9a2w8bc2wij" "0.8.1" #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-vim")) (define-public tree-sitter-vimdoc (tree-sitter-grammar "vimdoc" "Vimdoc" "18f1dr3j79axg6yqrvm0fc2w4cil403al9xifc4h4vkkp6hg6y9b" "4.1.0" #:repository-url "https://github.com/neovim/tree-sitter-vimdoc" #:license license:expat)) (define-public tree-sitter-vue (let ((commit "22bdfa6c9fc0f5ffa44c6e938ec46869ac8a99ff") (revision "0")) (tree-sitter-grammar "vue" "Vue.js" "1mi18x54g8rxz98jrpzh2gi7ii93sq743aws9i7qc139jas98y9f" (git-version "0.1.0" revision commit) #:commit commit #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-vue" #:inputs (list tree-sitter-html)))) (define-public tree-sitter-wast (let ((commit "2ca28a9f9d709847bf7a3de0942a84e912f59088") (revision "0")) (tree-sitter-grammar "wast" "WebAssembly" "02v08hs9wirdzfx9a7c3kpn0cpc9i867pw28qka0fid9q537hnbb" (git-version "0.0.0" revision commit) #:commit commit #:repository-url "https://github.com/wasm-lsp/tree-sitter-wasm" #:grammar-directories '("wast" "wat") #:get-cleanup-snippet (lambda (grammar-directories) #~(begin (use-modules (guix build utils)) ;; FIXME (substitute* '("wat/grammar.js" "wast/grammar.js") (("u\\{\\[0-9a-fA-F\\]\\+\\}") "u\\{[0-9a-fA-F]+\\}")) (for-each (lambda (lang) (with-directory-excursion lang ;; incompatible type of tests (delete-file-recursively "corpus") (delete-file "index.js") (delete-file "src/binding.cc"))) '("wat" "wast")) (for-each delete-file '("wat/tree-sitter-wat.wasm" "wast/tree-sitter-wast.wasm")) #$(tree-sitter-delete-generated-files grammar-directories))) ;; Apache-2.0 with LLVM-exception #:license license:asl2.0))) (define-public tree-sitter-wgsl (let ((commit "809fe422b879021afb65a1899093fa87bc6e02df") (revision "0")) (tree-sitter-grammar "wgsl" "WebGPU Shading Language (WGSL)" "05a7yas33y4jfj1ac1n49xll0kmpsic4y5hffqavhm2zffpwmqbc" (git-version "0.0.9" revision commit) #:commit commit #:repository-url "https://github.com/gpuweb/tree-sitter-wgsl" #:get-cleanup-snippet (lambda (grammar-directories) #~(begin (use-modules (guix build utils)) ;; FIXME: Invalid node type const_assert_statement. (delete-file "queries/highlights.scm") #$(tree-sitter-delete-generated-files grammar-directories))) #:license license:w3c))) (define-public tree-sitter-xcompose (tree-sitter-grammar "xcompose" "XCompose" "03c0ycwrxafxvbhzi6pzcq8md40frh7ybwkhcsd4s1hmg6arwpyx" "0.4.0" #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-xcompose" #:article "an")) (define-public tree-sitter-xml (tree-sitter-grammar "xml" "XML and DTD" "0ghfjjhw1rvd98xd1c3mq3bffrl3wg5dmp22ksb0659g76qi0hpz" "0.7.0" #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-xml" #:grammar-directories '("xml" "dtd") #:article "an")) (define-public tree-sitter-yaml (tree-sitter-grammar "yaml" "YAML" "0z5fz9hiafzapi0ijhyz8np6rksq6c1pb16xv1vhnlfh75rg6zyv" "0.7.0" #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-yaml")) (define-public tree-sitter-yuck (let ((commit "e877f6ade4b77d5ef8787075141053631ba12318") (revision "0")) (tree-sitter-grammar "yuck" "Yuck" "00l009xmjpr2fgrbibhgkymk1kw2al2m8zi93civyjxwpbzkbiwp" (git-version "0.0.2" revision commit) #:commit commit #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-yuck"))) (define-public tree-sitter-zig (tree-sitter-grammar "zig" "Zig" "1r9p7hhnc1zagwxzdxhs4p6rnqs9naddkgbfymi6pbw6cyg2ccwl" "1.1.2" #:repository-url "https://github.com/tree-sitter-grammars/tree-sitter-zig")) ;;; Python Bindings (define-public python-tree-sitter (package (name "python-tree-sitter") (version "0.25.2") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/tree-sitter/py-tree-sitter") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "15j6gxc6ps6zdrmqfmmz22p7p5gz37cyihzzwbjggy7mc4vwm5fj")))) (build-system pyproject-build-system) (arguments (list #:test-backend #~'unittest #:phases #~(modify-phases %standard-phases (add-after 'unpack 'set-tree-sitter-lib-path (lambda _ (let ((tree-sitter #$(this-package-input "tree-sitter"))) (substitute* "setup.py" ((".*\"tree_sitter/core.*") "") (("( *)sources=" all tabs) (string-append tabs "library_dirs=[\"" tree-sitter "/lib\"],\n" tabs "libraries=[\"tree-sitter\"],\n" all)) (("include_dirs=\\[" all) (string-append all "\"" tree-sitter "/include\",")))))) ;; XXX: See https://codeberg.org/guix/guix/issues/2108 (add-before 'check 'remove-uninstalled-package (lambda _ (delete-file-recursively "tree_sitter")))))) (inputs (list tree-sitter)) (native-inputs (list python-setuptools (python-tree-sitter-grammar tree-sitter-html #:tests? #f) (python-tree-sitter-grammar tree-sitter-javascript #:tests? #f) (python-tree-sitter-grammar tree-sitter-json #:tests? #f) (python-tree-sitter-grammar tree-sitter-python #:tests? #f) (python-tree-sitter-grammar tree-sitter-rust #:tests? #f))) (home-page "https://github.com/tree-sitter/py-tree-sitter") (synopsis "Python bindings to the Tree-sitter parsing library") (description "This package provides Python bindings to the Tree-sitter parsing library.") (license license:expat))) (define* (python-tree-sitter-grammar pkg #:key (tests? #t)) "Returns a package for Python bindings of a Tree-sitter grammar. PKG is a package for a Tree-sitter grammar; its name will be used with python- prefix to generate the package name. When TESTS? is true, tests are enabled." (package (inherit pkg) (name (string-append "python-" (package-name pkg))) (source (origin (inherit (package-source pkg)) (snippet #f) (patches '()))) (build-system pyproject-build-system) (arguments (list #:tests? tests?)) (build-system pyproject-build-system) (native-inputs (append (if tests? (list python-pytest python-tree-sitter) '()) (list python-setuptools))) (description (string-append (package-description pkg) (P_ "\n\nThis variant provides Python bindings."))))) (define-public python-tree-sitter-html (python-tree-sitter-grammar tree-sitter-html)) (define-public python-tree-sitter-javascript (python-tree-sitter-grammar tree-sitter-javascript)) (define-public python-tree-sitter-json (python-tree-sitter-grammar tree-sitter-json)) (define-public python-tree-sitter-python (python-tree-sitter-grammar tree-sitter-python)) (define-public python-tree-sitter-rust (python-tree-sitter-grammar tree-sitter-rust))