summaryrefslogtreecommitdiff
path: root/localrepo/tsc-20220212.1632.tar
blob: d580f2a39b88f849f0344de153eb22d75e2c883d (plain)
ofshex dumpascii
0000 74 73 63 2d 32 30 32 32 30 32 31 32 2e 31 36 33 32 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 tsc-20220212.1632/..............
0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0060 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
0080 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 31 35 37 30 00 20 35 00 00 00 0000000.00000000000.011570..5...
00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0100 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
0120 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0200 74 73 63 2d 32 30 32 32 30 32 31 32 2e 31 36 33 32 2f 43 61 72 67 6f 2e 6c 6f 63 6b 00 00 00 00 tsc-20220212.1632/Cargo.lock....
0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0260 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
0280 30 30 31 36 33 33 37 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 35 30 37 00 20 30 00 00 00 0016337.00000000000.013507..0...
02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0300 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
0320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0400 23 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 40 67 65 #.This.file.is.automatically.@ge
0420 6e 65 72 61 74 65 64 20 62 79 20 43 61 72 67 6f 2e 0a 23 20 49 74 20 69 73 20 6e 6f 74 20 69 6e nerated.by.Cargo..#.It.is.not.in
0440 74 65 6e 64 65 64 20 66 6f 72 20 6d 61 6e 75 61 6c 20 65 64 69 74 69 6e 67 2e 0a 76 65 72 73 69 tended.for.manual.editing..versi
0460 6f 6e 20 3d 20 33 0a 0a 5b 5b 70 61 63 6b 61 67 65 5d 5d 0a 6e 61 6d 65 20 3d 20 22 61 68 6f 2d on.=.3..[[package]].name.=."aho-
0480 63 6f 72 61 73 69 63 6b 22 0a 76 65 72 73 69 6f 6e 20 3d 20 22 30 2e 37 2e 31 38 22 0a 73 6f 75 corasick".version.=."0.7.18".sou
04a0 72 63 65 20 3d 20 22 72 65 67 69 73 74 72 79 2b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 rce.=."registry+https://github.c
04c0 6f 6d 2f 72 75 73 74 2d 6c 61 6e 67 2f 63 72 61 74 65 73 2e 69 6f 2d 69 6e 64 65 78 22 0a 63 68 om/rust-lang/crates.io-index".ch
04e0 65 63 6b 73 75 6d 20 3d 20 22 31 65 33 37 63 66 64 35 65 37 36 35 37 61 64 61 34 35 66 37 34 32 ecksum.=."1e37cfd5e7657ada45f742
0500 64 36 65 39 39 63 61 35 37 38 38 35 38 30 62 35 63 35 32 39 64 63 37 38 66 61 66 31 31 65 63 65 d6e99ca5788580b5c529dc78faf11ece
0520 36 64 63 37 30 32 36 35 36 66 22 0a 64 65 70 65 6e 64 65 6e 63 69 65 73 20 3d 20 5b 0a 20 22 6d 6dc702656f".dependencies.=.[.."m
0540 65 6d 63 68 72 22 2c 0a 5d 0a 0a 5b 5b 70 61 63 6b 61 67 65 5d 5d 0a 6e 61 6d 65 20 3d 20 22 61 emchr",.]..[[package]].name.=."a
0560 6e 79 68 6f 77 22 0a 76 65 72 73 69 6f 6e 20 3d 20 22 31 2e 30 2e 35 31 22 0a 73 6f 75 72 63 65 nyhow".version.=."1.0.51".source
0580 20 3d 20 22 72 65 67 69 73 74 72 79 2b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f .=."registry+https://github.com/
05a0 72 75 73 74 2d 6c 61 6e 67 2f 63 72 61 74 65 73 2e 69 6f 2d 69 6e 64 65 78 22 0a 63 68 65 63 6b rust-lang/crates.io-index".check
05c0 73 75 6d 20 3d 20 22 38 62 32 36 37 30 32 66 33 31 35 66 35 33 62 36 30 37 31 32 35 39 65 31 35 sum.=."8b26702f315f53b6071259e15
05e0 64 64 39 64 36 34 35 32 38 32 31 33 62 34 34 64 36 31 64 65 31 65 63 39 32 36 65 63 61 37 37 31 dd9d64528213b44d61de1ec926eca771
0600 35 64 36 32 32 30 33 22 0a 0a 5b 5b 70 61 63 6b 61 67 65 5d 5d 0a 6e 61 6d 65 20 3d 20 22 63 63 5d62203"..[[package]].name.=."cc
0620 22 0a 76 65 72 73 69 6f 6e 20 3d 20 22 31 2e 30 2e 37 32 22 0a 73 6f 75 72 63 65 20 3d 20 22 72 ".version.=."1.0.72".source.=."r
0640 65 67 69 73 74 72 79 2b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 72 75 73 74 2d egistry+https://github.com/rust-
0660 6c 61 6e 67 2f 63 72 61 74 65 73 2e 69 6f 2d 69 6e 64 65 78 22 0a 63 68 65 63 6b 73 75 6d 20 3d lang/crates.io-index".checksum.=
0680 20 22 32 32 61 39 31 33 37 62 39 35 65 61 30 36 38 36 34 65 30 31 38 33 37 35 62 37 32 61 64 66 ."22a9137b95ea06864e018375b72adf
06a0 62 37 64 62 36 65 36 66 36 38 63 66 63 38 64 66 35 61 30 34 64 30 30 32 38 38 30 35 30 34 38 35 b7db6e6f68cfc8df5a04d00288050485
06c0 65 65 22 0a 0a 5b 5b 70 61 63 6b 61 67 65 5d 5d 0a 6e 61 6d 65 20 3d 20 22 63 66 67 2d 69 66 22 ee"..[[package]].name.=."cfg-if"
06e0 0a 76 65 72 73 69 6f 6e 20 3d 20 22 31 2e 30 2e 30 22 0a 73 6f 75 72 63 65 20 3d 20 22 72 65 67 .version.=."1.0.0".source.=."reg
0700 69 73 74 72 79 2b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 72 75 73 74 2d 6c 61 istry+https://github.com/rust-la
0720 6e 67 2f 63 72 61 74 65 73 2e 69 6f 2d 69 6e 64 65 78 22 0a 63 68 65 63 6b 73 75 6d 20 3d 20 22 ng/crates.io-index".checksum.=."
0740 62 61 66 31 64 65 34 33 33 39 37 36 31 35 38 38 62 63 30 36 31 39 65 33 63 62 63 30 31 32 30 65 baf1de4339761588bc0619e3cbc0120e
0760 65 35 38 32 65 62 62 37 34 62 35 33 62 34 65 66 62 66 37 39 31 31 37 62 64 32 64 61 34 30 66 64 e582ebb74b53b4efbf79117bd2da40fd
0780 22 0a 0a 5b 5b 70 61 63 6b 61 67 65 5d 5d 0a 6e 61 6d 65 20 3d 20 22 63 74 6f 72 22 0a 76 65 72 "..[[package]].name.=."ctor".ver
07a0 73 69 6f 6e 20 3d 20 22 30 2e 31 2e 32 31 22 0a 73 6f 75 72 63 65 20 3d 20 22 72 65 67 69 73 74 sion.=."0.1.21".source.=."regist
07c0 72 79 2b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 72 75 73 74 2d 6c 61 6e 67 2f ry+https://github.com/rust-lang/
07e0 63 72 61 74 65 73 2e 69 6f 2d 69 6e 64 65 78 22 0a 63 68 65 63 6b 73 75 6d 20 3d 20 22 63 63 63 crates.io-index".checksum.=."ccc
0800 30 61 34 38 61 39 62 38 32 36 61 63 64 66 34 30 32 38 35 39 35 61 64 63 39 64 62 39 32 63 61 65 0a48a9b826acdf4028595adc9db92cae
0820 61 33 35 32 66 37 61 66 30 31 31 61 33 30 33 34 61 63 64 31 37 32 61 35 32 61 30 61 61 22 0a 64 a352f7af011a3034acd172a52a0aa".d
0840 65 70 65 6e 64 65 6e 63 69 65 73 20 3d 20 5b 0a 20 22 71 75 6f 74 65 22 2c 0a 20 22 73 79 6e 22 ependencies.=.[.."quote",.."syn"
0860 2c 0a 5d 0a 0a 5b 5b 70 61 63 6b 61 67 65 5d 5d 0a 6e 61 6d 65 20 3d 20 22 64 61 72 6c 69 6e 67 ,.]..[[package]].name.=."darling
0880 22 0a 76 65 72 73 69 6f 6e 20 3d 20 22 30 2e 31 30 2e 32 22 0a 73 6f 75 72 63 65 20 3d 20 22 72 ".version.=."0.10.2".source.=."r
08a0 65 67 69 73 74 72 79 2b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 72 75 73 74 2d egistry+https://github.com/rust-
08c0 6c 61 6e 67 2f 63 72 61 74 65 73 2e 69 6f 2d 69 6e 64 65 78 22 0a 63 68 65 63 6b 73 75 6d 20 3d lang/crates.io-index".checksum.=
08e0 20 22 30 64 37 30 36 65 37 35 64 38 37 65 33 35 35 36 39 64 62 37 38 31 61 39 62 35 65 32 34 31 ."0d706e75d87e35569db781a9b5e241
0900 36 63 66 66 31 32 33 36 61 34 37 65 64 33 38 30 38 33 31 66 39 35 39 33 38 32 63 63 64 35 66 38 6cff1236a47ed380831f959382ccd5f8
0920 35 38 22 0a 64 65 70 65 6e 64 65 6e 63 69 65 73 20 3d 20 5b 0a 20 22 64 61 72 6c 69 6e 67 5f 63 58".dependencies.=.[.."darling_c
0940 6f 72 65 22 2c 0a 20 22 64 61 72 6c 69 6e 67 5f 6d 61 63 72 6f 22 2c 0a 5d 0a 0a 5b 5b 70 61 63 ore",.."darling_macro",.]..[[pac
0960 6b 61 67 65 5d 5d 0a 6e 61 6d 65 20 3d 20 22 64 61 72 6c 69 6e 67 5f 63 6f 72 65 22 0a 76 65 72 kage]].name.=."darling_core".ver
0980 73 69 6f 6e 20 3d 20 22 30 2e 31 30 2e 32 22 0a 73 6f 75 72 63 65 20 3d 20 22 72 65 67 69 73 74 sion.=."0.10.2".source.=."regist
09a0 72 79 2b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 72 75 73 74 2d 6c 61 6e 67 2f ry+https://github.com/rust-lang/
09c0 63 72 61 74 65 73 2e 69 6f 2d 69 6e 64 65 78 22 0a 63 68 65 63 6b 73 75 6d 20 3d 20 22 66 30 63 crates.io-index".checksum.=."f0c
09e0 39 36 30 61 65 32 64 61 34 64 65 38 38 61 39 31 62 32 64 39 32 30 63 32 61 37 32 33 33 62 34 30 960ae2da4de88a91b2d920c2a7233b40
0a00 30 62 63 33 33 63 62 32 38 34 35 33 61 32 39 38 37 38 32 32 64 38 33 39 32 35 31 39 62 22 0a 64 0bc33cb28453a2987822d8392519b".d
0a20 65 70 65 6e 64 65 6e 63 69 65 73 20 3d 20 5b 0a 20 22 66 6e 76 22 2c 0a 20 22 69 64 65 6e 74 5f ependencies.=.[.."fnv",.."ident_
0a40 63 61 73 65 22 2c 0a 20 22 70 72 6f 63 2d 6d 61 63 72 6f 32 22 2c 0a 20 22 71 75 6f 74 65 22 2c case",.."proc-macro2",.."quote",
0a60 0a 20 22 73 74 72 73 69 6d 22 2c 0a 20 22 73 79 6e 22 2c 0a 5d 0a 0a 5b 5b 70 61 63 6b 61 67 65 .."strsim",.."syn",.]..[[package
0a80 5d 5d 0a 6e 61 6d 65 20 3d 20 22 64 61 72 6c 69 6e 67 5f 6d 61 63 72 6f 22 0a 76 65 72 73 69 6f ]].name.=."darling_macro".versio
0aa0 6e 20 3d 20 22 30 2e 31 30 2e 32 22 0a 73 6f 75 72 63 65 20 3d 20 22 72 65 67 69 73 74 72 79 2b n.=."0.10.2".source.=."registry+
0ac0 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 72 75 73 74 2d 6c 61 6e 67 2f 63 72 61 https://github.com/rust-lang/cra
0ae0 74 65 73 2e 69 6f 2d 69 6e 64 65 78 22 0a 63 68 65 63 6b 73 75 6d 20 3d 20 22 64 39 62 35 61 32 tes.io-index".checksum.=."d9b5a2
0b00 66 34 61 63 34 39 36 39 38 32 32 63 36 32 32 32 34 38 31 35 64 30 36 39 39 35 32 36 35 36 63 61 f4ac4969822c62224815d069952656ca
0b20 64 63 37 30 38 34 66 64 63 61 39 37 35 31 65 36 64 39 35 39 31 38 39 62 37 32 22 0a 64 65 70 65 dc7084fdca9751e6d959189b72".depe
0b40 6e 64 65 6e 63 69 65 73 20 3d 20 5b 0a 20 22 64 61 72 6c 69 6e 67 5f 63 6f 72 65 22 2c 0a 20 22 ndencies.=.[.."darling_core",.."
0b60 71 75 6f 74 65 22 2c 0a 20 22 73 79 6e 22 2c 0a 5d 0a 0a 5b 5b 70 61 63 6b 61 67 65 5d 5d 0a 6e quote",.."syn",.]..[[package]].n
0b80 61 6d 65 20 3d 20 22 65 6d 61 63 73 22 0a 76 65 72 73 69 6f 6e 20 3d 20 22 30 2e 31 38 2e 30 22 ame.=."emacs".version.=."0.18.0"
0ba0 0a 73 6f 75 72 63 65 20 3d 20 22 72 65 67 69 73 74 72 79 2b 68 74 74 70 73 3a 2f 2f 67 69 74 68 .source.=."registry+https://gith
0bc0 75 62 2e 63 6f 6d 2f 72 75 73 74 2d 6c 61 6e 67 2f 63 72 61 74 65 73 2e 69 6f 2d 69 6e 64 65 78 ub.com/rust-lang/crates.io-index
0be0 22 0a 63 68 65 63 6b 73 75 6d 20 3d 20 22 36 37 39 37 61 39 34 30 31 38 39 64 33 35 33 64 65 37 ".checksum.=."6797a940189d353de7
0c00 39 62 65 63 33 32 61 62 65 37 31 37 61 65 65 65 63 64 37 39 61 30 38 32 33 36 65 38 34 34 30 34 9bec32abe717aeeecd79a08236e84404
0c20 63 38 38 38 33 35 34 65 30 34 30 36 36 35 22 0a 64 65 70 65 6e 64 65 6e 63 69 65 73 20 3d 20 5b c888354e040665".dependencies.=.[
0c40 0a 20 22 61 6e 79 68 6f 77 22 2c 0a 20 22 63 74 6f 72 22 2c 0a 20 22 65 6d 61 63 73 2d 6d 61 63 .."anyhow",.."ctor",.."emacs-mac
0c60 72 6f 73 22 2c 0a 20 22 65 6d 61 63 73 5f 6d 6f 64 75 6c 65 22 2c 0a 20 22 6f 6e 63 65 5f 63 65 ros",.."emacs_module",.."once_ce
0c80 6c 6c 22 2c 0a 20 22 72 75 73 74 63 5f 76 65 72 73 69 6f 6e 22 2c 0a 20 22 74 68 69 73 65 72 72 ll",.."rustc_version",.."thiserr
0ca0 6f 72 22 2c 0a 5d 0a 0a 5b 5b 70 61 63 6b 61 67 65 5d 5d 0a 6e 61 6d 65 20 3d 20 22 65 6d 61 63 or",.]..[[package]].name.=."emac
0cc0 73 2d 6d 61 63 72 6f 73 22 0a 76 65 72 73 69 6f 6e 20 3d 20 22 30 2e 31 37 2e 30 22 0a 73 6f 75 s-macros".version.=."0.17.0".sou
0ce0 72 63 65 20 3d 20 22 72 65 67 69 73 74 72 79 2b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 rce.=."registry+https://github.c
0d00 6f 6d 2f 72 75 73 74 2d 6c 61 6e 67 2f 63 72 61 74 65 73 2e 69 6f 2d 69 6e 64 65 78 22 0a 63 68 om/rust-lang/crates.io-index".ch
0d20 65 63 6b 73 75 6d 20 3d 20 22 36 39 36 35 36 66 64 66 65 37 63 32 36 30 38 62 38 37 31 36 34 39 ecksum.=."69656fdfe7c2608b871649
0d40 36 34 64 62 38 34 38 62 35 63 33 37 39 35 64 65 37 33 30 32 65 33 31 33 30 63 63 65 37 31 33 31 64db848b5c3795de7302e3130cce7131
0d60 35 35 32 63 36 62 65 31 36 31 22 0a 64 65 70 65 6e 64 65 6e 63 69 65 73 20 3d 20 5b 0a 20 22 64 552c6be161".dependencies.=.[.."d
0d80 61 72 6c 69 6e 67 22 2c 0a 20 22 70 72 6f 63 2d 6d 61 63 72 6f 32 22 2c 0a 20 22 71 75 6f 74 65 arling",.."proc-macro2",.."quote
0da0 22 2c 0a 20 22 73 79 6e 22 2c 0a 5d 0a 0a 5b 5b 70 61 63 6b 61 67 65 5d 5d 0a 6e 61 6d 65 20 3d ",.."syn",.]..[[package]].name.=
0dc0 20 22 65 6d 61 63 73 2d 74 72 65 65 2d 73 69 74 74 65 72 22 0a 76 65 72 73 69 6f 6e 20 3d 20 22 ."emacs-tree-sitter".version.=."
0de0 30 2e 31 38 2e 30 22 0a 64 65 70 65 6e 64 65 6e 63 69 65 73 20 3d 20 5b 0a 20 22 65 6d 61 63 73 0.18.0".dependencies.=.[.."emacs
0e00 22 2c 0a 20 22 6c 69 62 6c 6f 61 64 69 6e 67 22 2c 0a 20 22 6f 6e 63 65 5f 63 65 6c 6c 22 2c 0a ",.."libloading",.."once_cell",.
0e20 20 22 74 72 65 65 2d 73 69 74 74 65 72 22 2c 0a 5d 0a 0a 5b 5b 70 61 63 6b 61 67 65 5d 5d 0a 6e ."tree-sitter",.]..[[package]].n
0e40 61 6d 65 20 3d 20 22 65 6d 61 63 73 5f 6d 6f 64 75 6c 65 22 0a 76 65 72 73 69 6f 6e 20 3d 20 22 ame.=."emacs_module".version.=."
0e60 30 2e 31 38 2e 30 22 0a 73 6f 75 72 63 65 20 3d 20 22 72 65 67 69 73 74 72 79 2b 68 74 74 70 73 0.18.0".source.=."registry+https
0e80 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 72 75 73 74 2d 6c 61 6e 67 2f 63 72 61 74 65 73 2e 69 ://github.com/rust-lang/crates.i
0ea0 6f 2d 69 6e 64 65 78 22 0a 63 68 65 63 6b 73 75 6d 20 3d 20 22 62 33 30 36 37 62 63 39 37 34 30 o-index".checksum.=."b3067bc9740
0ec0 34 35 65 64 32 63 36 64 62 33 33 33 62 64 34 66 63 33 30 64 33 62 64 61 61 66 61 36 34 32 31 61 45ed2c6db333bd4fc30d3bdaafa6421a
0ee0 39 61 38 38 39 66 61 37 62 32 38 32 36 62 36 66 37 66 32 66 61 22 0a 0a 5b 5b 70 61 63 6b 61 67 9a889fa7b2826b6f7f2fa"..[[packag
0f00 65 5d 5d 0a 6e 61 6d 65 20 3d 20 22 66 6e 76 22 0a 76 65 72 73 69 6f 6e 20 3d 20 22 31 2e 30 2e e]].name.=."fnv".version.=."1.0.
0f20 37 22 0a 73 6f 75 72 63 65 20 3d 20 22 72 65 67 69 73 74 72 79 2b 68 74 74 70 73 3a 2f 2f 67 69 7".source.=."registry+https://gi
0f40 74 68 75 62 2e 63 6f 6d 2f 72 75 73 74 2d 6c 61 6e 67 2f 63 72 61 74 65 73 2e 69 6f 2d 69 6e 64 thub.com/rust-lang/crates.io-ind
0f60 65 78 22 0a 63 68 65 63 6b 73 75 6d 20 3d 20 22 33 66 39 65 65 63 39 31 38 64 33 66 32 34 30 36 ex".checksum.=."3f9eec918d3f2406
0f80 39 64 65 63 62 39 61 66 31 35 35 34 63 61 64 37 63 38 38 30 65 32 64 61 32 34 61 39 61 66 64 38 9decb9af1554cad7c880e2da24a9afd8
0fa0 38 61 63 61 30 30 30 35 33 31 61 62 38 32 63 31 22 0a 0a 5b 5b 70 61 63 6b 61 67 65 5d 5d 0a 6e 8aca000531ab82c1"..[[package]].n
0fc0 61 6d 65 20 3d 20 22 69 64 65 6e 74 5f 63 61 73 65 22 0a 76 65 72 73 69 6f 6e 20 3d 20 22 31 2e ame.=."ident_case".version.=."1.
0fe0 30 2e 31 22 0a 73 6f 75 72 63 65 20 3d 20 22 72 65 67 69 73 74 72 79 2b 68 74 74 70 73 3a 2f 2f 0.1".source.=."registry+https://
1000 67 69 74 68 75 62 2e 63 6f 6d 2f 72 75 73 74 2d 6c 61 6e 67 2f 63 72 61 74 65 73 2e 69 6f 2d 69 github.com/rust-lang/crates.io-i
1020 6e 64 65 78 22 0a 63 68 65 63 6b 73 75 6d 20 3d 20 22 62 39 65 30 33 38 34 62 36 31 39 35 38 35 ndex".checksum.=."b9e0384b619585
1040 36 36 65 39 32 36 64 63 35 30 36 36 30 33 32 31 64 31 32 31 35 39 30 32 35 65 37 36 37 63 31 38 66e926dc50660321d12159025e767c18
1060 65 30 34 33 64 61 66 32 36 62 37 30 31 30 34 63 33 39 22 0a 0a 5b 5b 70 61 63 6b 61 67 65 5d 5d e043daf26b70104c39"..[[package]]
1080 0a 6e 61 6d 65 20 3d 20 22 6c 69 62 6c 6f 61 64 69 6e 67 22 0a 76 65 72 73 69 6f 6e 20 3d 20 22 .name.=."libloading".version.=."
10a0 30 2e 37 2e 32 22 0a 73 6f 75 72 63 65 20 3d 20 22 72 65 67 69 73 74 72 79 2b 68 74 74 70 73 3a 0.7.2".source.=."registry+https:
10c0 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 72 75 73 74 2d 6c 61 6e 67 2f 63 72 61 74 65 73 2e 69 6f //github.com/rust-lang/crates.io
10e0 2d 69 6e 64 65 78 22 0a 63 68 65 63 6b 73 75 6d 20 3d 20 22 61 66 65 32 30 33 64 36 36 39 65 63 -index".checksum.=."afe203d669ec
1100 39 37 39 62 37 31 32 38 36 31 39 62 61 65 35 61 36 33 62 37 62 34 32 65 39 32 30 33 63 31 62 32 979b7128619bae5a63b7b42e9203c1b2
1120 39 31 34 36 30 37 39 65 65 30 35 65 32 66 36 30 34 62 35 32 22 0a 64 65 70 65 6e 64 65 6e 63 69 9146079ee05e2f604b52".dependenci
1140 65 73 20 3d 20 5b 0a 20 22 63 66 67 2d 69 66 22 2c 0a 20 22 77 69 6e 61 70 69 22 2c 0a 5d 0a 0a es.=.[.."cfg-if",.."winapi",.]..
1160 5b 5b 70 61 63 6b 61 67 65 5d 5d 0a 6e 61 6d 65 20 3d 20 22 6d 65 6d 63 68 72 22 0a 76 65 72 73 [[package]].name.=."memchr".vers
1180 69 6f 6e 20 3d 20 22 32 2e 34 2e 31 22 0a 73 6f 75 72 63 65 20 3d 20 22 72 65 67 69 73 74 72 79 ion.=."2.4.1".source.=."registry
11a0 2b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 72 75 73 74 2d 6c 61 6e 67 2f 63 72 +https://github.com/rust-lang/cr
11c0 61 74 65 73 2e 69 6f 2d 69 6e 64 65 78 22 0a 63 68 65 63 6b 73 75 6d 20 3d 20 22 33 30 38 63 63 ates.io-index".checksum.=."308cc
11e0 33 39 62 65 30 31 62 37 33 64 30 64 31 38 66 38 32 61 30 65 37 62 32 61 33 64 66 38 35 32 34 35 39be01b73d0d18f82a0e7b2a3df85245
1200 66 38 34 61 66 39 36 66 64 64 64 63 35 64 32 30 32 64 32 37 65 34 37 62 38 36 61 22 0a 0a 5b 5b f84af96fdddc5d202d27e47b86a"..[[
1220 70 61 63 6b 61 67 65 5d 5d 0a 6e 61 6d 65 20 3d 20 22 6f 6e 63 65 5f 63 65 6c 6c 22 0a 76 65 72 package]].name.=."once_cell".ver
1240 73 69 6f 6e 20 3d 20 22 31 2e 38 2e 30 22 0a 73 6f 75 72 63 65 20 3d 20 22 72 65 67 69 73 74 72 sion.=."1.8.0".source.=."registr
1260 79 2b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 72 75 73 74 2d 6c 61 6e 67 2f 63 y+https://github.com/rust-lang/c
1280 72 61 74 65 73 2e 69 6f 2d 69 6e 64 65 78 22 0a 63 68 65 63 6b 73 75 6d 20 3d 20 22 36 39 32 66 rates.io-index".checksum.=."692f
12a0 63 62 36 33 62 36 34 62 31 37 35 38 30 32 39 65 30 61 39 36 65 65 36 33 65 30 34 39 63 65 38 63 cb63b64b1758029e0a96ee63e049ce8c
12c0 35 39 34 38 35 38 37 66 32 66 37 32 30 38 64 66 30 34 36 32 35 65 35 66 36 62 35 36 22 0a 0a 5b 5948587f2f7208df04625e5f6b56"..[
12e0 5b 70 61 63 6b 61 67 65 5d 5d 0a 6e 61 6d 65 20 3d 20 22 70 72 6f 63 2d 6d 61 63 72 6f 32 22 0a [package]].name.=."proc-macro2".
1300 76 65 72 73 69 6f 6e 20 3d 20 22 31 2e 30 2e 33 33 22 0a 73 6f 75 72 63 65 20 3d 20 22 72 65 67 version.=."1.0.33".source.=."reg
1320 69 73 74 72 79 2b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 72 75 73 74 2d 6c 61 istry+https://github.com/rust-la
1340 6e 67 2f 63 72 61 74 65 73 2e 69 6f 2d 69 6e 64 65 78 22 0a 63 68 65 63 6b 73 75 6d 20 3d 20 22 ng/crates.io-index".checksum.=."
1360 66 62 33 37 64 32 64 66 35 64 66 37 34 30 65 35 38 32 66 32 38 66 38 35 36 30 63 66 34 32 35 66 fb37d2df5df740e582f28f8560cf425f
1380 35 32 62 62 32 36 37 64 38 37 32 66 65 35 38 33 35 38 65 61 64 62 35 35 34 39 30 39 66 30 37 61 52bb267d872fe58358eadb554909f07a
13a0 22 0a 64 65 70 65 6e 64 65 6e 63 69 65 73 20 3d 20 5b 0a 20 22 75 6e 69 63 6f 64 65 2d 78 69 64 ".dependencies.=.[.."unicode-xid
13c0 22 2c 0a 5d 0a 0a 5b 5b 70 61 63 6b 61 67 65 5d 5d 0a 6e 61 6d 65 20 3d 20 22 71 75 6f 74 65 22 ",.]..[[package]].name.=."quote"
13e0 0a 76 65 72 73 69 6f 6e 20 3d 20 22 31 2e 30 2e 31 30 22 0a 73 6f 75 72 63 65 20 3d 20 22 72 65 .version.=."1.0.10".source.=."re
1400 67 69 73 74 72 79 2b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 72 75 73 74 2d 6c gistry+https://github.com/rust-l
1420 61 6e 67 2f 63 72 61 74 65 73 2e 69 6f 2d 69 6e 64 65 78 22 0a 63 68 65 63 6b 73 75 6d 20 3d 20 ang/crates.io-index".checksum.=.
1440 22 33 38 62 63 38 63 63 36 61 35 66 32 65 33 36 35 35 65 30 38 39 39 63 31 62 38 34 38 36 34 33 "38bc8cc6a5f2e3655e0899c1b848643
1460 62 32 35 36 32 66 38 35 33 66 31 31 34 62 66 65 63 37 62 65 31 32 30 36 37 38 65 33 61 63 65 30 b2562f853f114bfec7be120678e3ace0
1480 35 22 0a 64 65 70 65 6e 64 65 6e 63 69 65 73 20 3d 20 5b 0a 20 22 70 72 6f 63 2d 6d 61 63 72 6f 5".dependencies.=.[.."proc-macro
14a0 32 22 2c 0a 5d 0a 0a 5b 5b 70 61 63 6b 61 67 65 5d 5d 0a 6e 61 6d 65 20 3d 20 22 72 65 67 65 78 2",.]..[[package]].name.=."regex
14c0 22 0a 76 65 72 73 69 6f 6e 20 3d 20 22 31 2e 35 2e 34 22 0a 73 6f 75 72 63 65 20 3d 20 22 72 65 ".version.=."1.5.4".source.=."re
14e0 67 69 73 74 72 79 2b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 72 75 73 74 2d 6c gistry+https://github.com/rust-l
1500 61 6e 67 2f 63 72 61 74 65 73 2e 69 6f 2d 69 6e 64 65 78 22 0a 63 68 65 63 6b 73 75 6d 20 3d 20 ang/crates.io-index".checksum.=.
1520 22 64 30 37 61 38 36 32 39 33 35 39 65 62 35 36 66 31 65 32 66 62 31 36 35 32 62 62 30 34 32 31 "d07a8629359eb56f1e2fb1652bb0421
1540 32 63 30 37 32 61 38 37 62 61 36 38 35 34 36 61 30 34 30 36 35 64 35 32 35 36 37 33 61 63 34 36 2c072a87ba68546a04065d525673ac46
1560 31 22 0a 64 65 70 65 6e 64 65 6e 63 69 65 73 20 3d 20 5b 0a 20 22 61 68 6f 2d 63 6f 72 61 73 69 1".dependencies.=.[.."aho-corasi
1580 63 6b 22 2c 0a 20 22 6d 65 6d 63 68 72 22 2c 0a 20 22 72 65 67 65 78 2d 73 79 6e 74 61 78 22 2c ck",.."memchr",.."regex-syntax",
15a0 0a 5d 0a 0a 5b 5b 70 61 63 6b 61 67 65 5d 5d 0a 6e 61 6d 65 20 3d 20 22 72 65 67 65 78 2d 73 79 .]..[[package]].name.=."regex-sy
15c0 6e 74 61 78 22 0a 76 65 72 73 69 6f 6e 20 3d 20 22 30 2e 36 2e 32 35 22 0a 73 6f 75 72 63 65 20 ntax".version.=."0.6.25".source.
15e0 3d 20 22 72 65 67 69 73 74 72 79 2b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 72 =."registry+https://github.com/r
1600 75 73 74 2d 6c 61 6e 67 2f 63 72 61 74 65 73 2e 69 6f 2d 69 6e 64 65 78 22 0a 63 68 65 63 6b 73 ust-lang/crates.io-index".checks
1620 75 6d 20 3d 20 22 66 34 39 37 32 38 35 38 38 34 66 33 66 63 66 66 34 32 34 66 66 63 39 33 33 65 um.=."f497285884f3fcff424ffc933e
1640 35 36 64 37 63 62 63 61 35 31 31 64 65 66 30 63 39 38 33 31 61 37 66 39 62 35 66 36 31 35 33 65 56d7cbca511def0c9831a7f9b5f6153e
1660 33 63 63 38 39 62 22 0a 0a 5b 5b 70 61 63 6b 61 67 65 5d 5d 0a 6e 61 6d 65 20 3d 20 22 72 75 73 3cc89b"..[[package]].name.=."rus
1680 74 63 5f 76 65 72 73 69 6f 6e 22 0a 76 65 72 73 69 6f 6e 20 3d 20 22 30 2e 32 2e 33 22 0a 73 6f tc_version".version.=."0.2.3".so
16a0 75 72 63 65 20 3d 20 22 72 65 67 69 73 74 72 79 2b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e urce.=."registry+https://github.
16c0 63 6f 6d 2f 72 75 73 74 2d 6c 61 6e 67 2f 63 72 61 74 65 73 2e 69 6f 2d 69 6e 64 65 78 22 0a 63 com/rust-lang/crates.io-index".c
16e0 68 65 63 6b 73 75 6d 20 3d 20 22 31 33 38 65 33 65 30 61 63 62 36 63 39 66 62 32 35 38 62 31 39 hecksum.=."138e3e0acb6c9fb258b19
1700 62 36 37 63 62 38 61 62 64 36 33 63 30 30 36 37 39 64 32 38 35 31 38 30 35 65 61 31 35 31 34 36 b67cb8abd63c00679d2851805ea15146
1720 35 34 36 34 66 65 39 30 33 30 61 22 0a 64 65 70 65 6e 64 65 6e 63 69 65 73 20 3d 20 5b 0a 20 22 5464fe9030a".dependencies.=.[.."
1740 73 65 6d 76 65 72 22 2c 0a 5d 0a 0a 5b 5b 70 61 63 6b 61 67 65 5d 5d 0a 6e 61 6d 65 20 3d 20 22 semver",.]..[[package]].name.=."
1760 73 65 6d 76 65 72 22 0a 76 65 72 73 69 6f 6e 20 3d 20 22 30 2e 39 2e 30 22 0a 73 6f 75 72 63 65 semver".version.=."0.9.0".source
1780 20 3d 20 22 72 65 67 69 73 74 72 79 2b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f .=."registry+https://github.com/
17a0 72 75 73 74 2d 6c 61 6e 67 2f 63 72 61 74 65 73 2e 69 6f 2d 69 6e 64 65 78 22 0a 63 68 65 63 6b rust-lang/crates.io-index".check
17c0 73 75 6d 20 3d 20 22 31 64 37 65 62 39 65 66 32 63 31 38 36 36 31 39 30 32 63 63 34 37 65 35 33 sum.=."1d7eb9ef2c18661902cc47e53
17e0 35 66 39 62 63 35 31 62 37 38 61 63 64 32 35 34 64 61 37 31 64 33 37 35 63 32 66 36 37 32 30 64 5f9bc51b78acd254da71d375c2f6720d
1800 39 61 34 30 34 30 33 22 0a 64 65 70 65 6e 64 65 6e 63 69 65 73 20 3d 20 5b 0a 20 22 73 65 6d 76 9a40403".dependencies.=.[.."semv
1820 65 72 2d 70 61 72 73 65 72 22 2c 0a 5d 0a 0a 5b 5b 70 61 63 6b 61 67 65 5d 5d 0a 6e 61 6d 65 20 er-parser",.]..[[package]].name.
1840 3d 20 22 73 65 6d 76 65 72 2d 70 61 72 73 65 72 22 0a 76 65 72 73 69 6f 6e 20 3d 20 22 30 2e 37 =."semver-parser".version.=."0.7
1860 2e 30 22 0a 73 6f 75 72 63 65 20 3d 20 22 72 65 67 69 73 74 72 79 2b 68 74 74 70 73 3a 2f 2f 67 .0".source.=."registry+https://g
1880 69 74 68 75 62 2e 63 6f 6d 2f 72 75 73 74 2d 6c 61 6e 67 2f 63 72 61 74 65 73 2e 69 6f 2d 69 6e ithub.com/rust-lang/crates.io-in
18a0 64 65 78 22 0a 63 68 65 63 6b 73 75 6d 20 3d 20 22 33 38 38 61 31 64 66 32 35 33 65 63 61 30 38 dex".checksum.=."388a1df253eca08
18c0 35 35 30 62 65 66 36 63 37 32 33 39 32 63 66 65 37 63 33 30 39 31 34 62 66 34 31 64 66 35 32 36 550bef6c72392cfe7c30914bf41df526
18e0 39 62 36 38 63 62 64 36 66 66 38 66 35 37 30 61 33 22 0a 0a 5b 5b 70 61 63 6b 61 67 65 5d 5d 0a 9b68cbd6ff8f570a3"..[[package]].
1900 6e 61 6d 65 20 3d 20 22 73 74 72 73 69 6d 22 0a 76 65 72 73 69 6f 6e 20 3d 20 22 30 2e 39 2e 33 name.=."strsim".version.=."0.9.3
1920 22 0a 73 6f 75 72 63 65 20 3d 20 22 72 65 67 69 73 74 72 79 2b 68 74 74 70 73 3a 2f 2f 67 69 74 ".source.=."registry+https://git
1940 68 75 62 2e 63 6f 6d 2f 72 75 73 74 2d 6c 61 6e 67 2f 63 72 61 74 65 73 2e 69 6f 2d 69 6e 64 65 hub.com/rust-lang/crates.io-inde
1960 78 22 0a 63 68 65 63 6b 73 75 6d 20 3d 20 22 36 34 34 36 63 65 64 38 30 64 36 63 34 38 36 34 33 x".checksum.=."6446ced80d6c48643
1980 36 64 62 35 63 30 37 38 64 64 65 31 31 61 39 66 37 33 64 34 32 62 35 37 66 62 32 37 33 31 32 31 6db5c078dde11a9f73d42b57fb273121
19a0 65 31 36 30 62 38 34 66 36 33 64 38 39 34 63 22 0a 0a 5b 5b 70 61 63 6b 61 67 65 5d 5d 0a 6e 61 e160b84f63d894c"..[[package]].na
19c0 6d 65 20 3d 20 22 73 79 6e 22 0a 76 65 72 73 69 6f 6e 20 3d 20 22 31 2e 30 2e 38 32 22 0a 73 6f me.=."syn".version.=."1.0.82".so
19e0 75 72 63 65 20 3d 20 22 72 65 67 69 73 74 72 79 2b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e urce.=."registry+https://github.
1a00 63 6f 6d 2f 72 75 73 74 2d 6c 61 6e 67 2f 63 72 61 74 65 73 2e 69 6f 2d 69 6e 64 65 78 22 0a 63 com/rust-lang/crates.io-index".c
1a20 68 65 63 6b 73 75 6d 20 3d 20 22 38 64 61 66 35 64 64 30 62 62 36 30 63 62 64 34 31 33 37 62 31 hecksum.=."8daf5dd0bb60cbd4137b1
1a40 62 35 38 37 64 32 66 63 30 61 65 37 32 39 62 63 30 37 63 66 30 31 63 64 37 30 62 33 36 61 31 65 b587d2fc0ae729bc07cf01cd70b36a1e
1a60 64 35 61 64 65 33 62 39 64 35 39 22 0a 64 65 70 65 6e 64 65 6e 63 69 65 73 20 3d 20 5b 0a 20 22 d5ade3b9d59".dependencies.=.[.."
1a80 70 72 6f 63 2d 6d 61 63 72 6f 32 22 2c 0a 20 22 71 75 6f 74 65 22 2c 0a 20 22 75 6e 69 63 6f 64 proc-macro2",.."quote",.."unicod
1aa0 65 2d 78 69 64 22 2c 0a 5d 0a 0a 5b 5b 70 61 63 6b 61 67 65 5d 5d 0a 6e 61 6d 65 20 3d 20 22 74 e-xid",.]..[[package]].name.=."t
1ac0 68 69 73 65 72 72 6f 72 22 0a 76 65 72 73 69 6f 6e 20 3d 20 22 31 2e 30 2e 33 30 22 0a 73 6f 75 hiserror".version.=."1.0.30".sou
1ae0 72 63 65 20 3d 20 22 72 65 67 69 73 74 72 79 2b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 rce.=."registry+https://github.c
1b00 6f 6d 2f 72 75 73 74 2d 6c 61 6e 67 2f 63 72 61 74 65 73 2e 69 6f 2d 69 6e 64 65 78 22 0a 63 68 om/rust-lang/crates.io-index".ch
1b20 65 63 6b 73 75 6d 20 3d 20 22 38 35 34 62 61 62 65 35 32 65 34 64 66 31 36 35 33 37 30 36 62 39 ecksum.=."854babe52e4df1653706b9
1b40 38 66 63 66 63 30 35 38 34 33 30 31 30 30 33 39 62 34 30 36 38 37 35 39 33 30 61 37 30 65 34 64 8fcfc05843010039b406875930a70e4d
1b60 39 36 34 34 65 35 63 34 31 37 22 0a 64 65 70 65 6e 64 65 6e 63 69 65 73 20 3d 20 5b 0a 20 22 74 9644e5c417".dependencies.=.[.."t
1b80 68 69 73 65 72 72 6f 72 2d 69 6d 70 6c 22 2c 0a 5d 0a 0a 5b 5b 70 61 63 6b 61 67 65 5d 5d 0a 6e hiserror-impl",.]..[[package]].n
1ba0 61 6d 65 20 3d 20 22 74 68 69 73 65 72 72 6f 72 2d 69 6d 70 6c 22 0a 76 65 72 73 69 6f 6e 20 3d ame.=."thiserror-impl".version.=
1bc0 20 22 31 2e 30 2e 33 30 22 0a 73 6f 75 72 63 65 20 3d 20 22 72 65 67 69 73 74 72 79 2b 68 74 74 ."1.0.30".source.=."registry+htt
1be0 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 72 75 73 74 2d 6c 61 6e 67 2f 63 72 61 74 65 73 ps://github.com/rust-lang/crates
1c00 2e 69 6f 2d 69 6e 64 65 78 22 0a 63 68 65 63 6b 73 75 6d 20 3d 20 22 61 61 33 32 66 64 33 66 36 .io-index".checksum.=."aa32fd3f6
1c20 32 37 66 33 36 37 66 65 31 36 66 38 39 33 65 32 35 39 37 61 65 33 63 30 35 30 32 30 66 38 62 62 27f367fe16f893e2597ae3c05020f8bb
1c40 61 32 36 36 36 61 34 65 36 65 61 37 33 64 33 37 37 65 35 37 31 34 62 22 0a 64 65 70 65 6e 64 65 a2666a4e6ea73d377e5714b".depende
1c60 6e 63 69 65 73 20 3d 20 5b 0a 20 22 70 72 6f 63 2d 6d 61 63 72 6f 32 22 2c 0a 20 22 71 75 6f 74 ncies.=.[.."proc-macro2",.."quot
1c80 65 22 2c 0a 20 22 73 79 6e 22 2c 0a 5d 0a 0a 5b 5b 70 61 63 6b 61 67 65 5d 5d 0a 6e 61 6d 65 20 e",.."syn",.]..[[package]].name.
1ca0 3d 20 22 74 72 65 65 2d 73 69 74 74 65 72 22 0a 76 65 72 73 69 6f 6e 20 3d 20 22 30 2e 32 30 2e =."tree-sitter".version.=."0.20.
1cc0 30 22 0a 73 6f 75 72 63 65 20 3d 20 22 67 69 74 2b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 0".source.=."git+https://github.
1ce0 63 6f 6d 2f 75 62 6f 6c 6f 6e 74 6f 6e 2f 74 72 65 65 2d 73 69 74 74 65 72 3f 62 72 61 6e 63 68 com/ubolonton/tree-sitter?branch
1d00 3d 69 6d 70 72 6f 76 65 2d 74 65 78 74 2d 70 72 6f 76 69 64 65 72 23 34 37 35 62 38 32 32 66 34 =improve-text-provider#475b822f4
1d20 37 62 64 63 35 38 64 38 33 32 35 33 33 34 34 38 62 36 66 36 64 39 38 31 38 35 35 34 66 33 37 22 7bdc58d832533448b6f6d9818554f37"
1d40 0a 64 65 70 65 6e 64 65 6e 63 69 65 73 20 3d 20 5b 0a 20 22 63 63 22 2c 0a 20 22 72 65 67 65 78 .dependencies.=.[.."cc",.."regex
1d60 22 2c 0a 5d 0a 0a 5b 5b 70 61 63 6b 61 67 65 5d 5d 0a 6e 61 6d 65 20 3d 20 22 75 6e 69 63 6f 64 ",.]..[[package]].name.=."unicod
1d80 65 2d 78 69 64 22 0a 76 65 72 73 69 6f 6e 20 3d 20 22 30 2e 32 2e 32 22 0a 73 6f 75 72 63 65 20 e-xid".version.=."0.2.2".source.
1da0 3d 20 22 72 65 67 69 73 74 72 79 2b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 72 =."registry+https://github.com/r
1dc0 75 73 74 2d 6c 61 6e 67 2f 63 72 61 74 65 73 2e 69 6f 2d 69 6e 64 65 78 22 0a 63 68 65 63 6b 73 ust-lang/crates.io-index".checks
1de0 75 6d 20 3d 20 22 38 63 63 62 38 32 64 36 31 66 38 30 61 36 36 33 65 66 65 31 66 37 38 37 61 35 um.=."8ccb82d61f80a663efe1f787a5
1e00 31 62 31 36 62 35 61 35 31 65 33 33 31 34 64 36 61 63 33 36 35 62 30 38 36 33 39 66 35 32 33 38 1b16b5a51e3314d6ac365b08639f5238
1e20 37 62 33 33 66 33 22 0a 0a 5b 5b 70 61 63 6b 61 67 65 5d 5d 0a 6e 61 6d 65 20 3d 20 22 77 69 6e 7b33f3"..[[package]].name.=."win
1e40 61 70 69 22 0a 76 65 72 73 69 6f 6e 20 3d 20 22 30 2e 33 2e 39 22 0a 73 6f 75 72 63 65 20 3d 20 api".version.=."0.3.9".source.=.
1e60 22 72 65 67 69 73 74 72 79 2b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 72 75 73 "registry+https://github.com/rus
1e80 74 2d 6c 61 6e 67 2f 63 72 61 74 65 73 2e 69 6f 2d 69 6e 64 65 78 22 0a 63 68 65 63 6b 73 75 6d t-lang/crates.io-index".checksum
1ea0 20 3d 20 22 35 63 38 33 39 61 36 37 34 66 63 64 37 61 39 38 39 35 32 65 35 39 33 32 34 32 65 61 .=."5c839a674fcd7a98952e593242ea
1ec0 34 30 30 61 62 65 39 33 39 39 32 37 34 36 37 36 31 65 33 38 36 34 31 34 30 35 64 32 38 62 30 30 400abe93992746761e38641405d28b00
1ee0 66 34 31 39 22 0a 64 65 70 65 6e 64 65 6e 63 69 65 73 20 3d 20 5b 0a 20 22 77 69 6e 61 70 69 2d f419".dependencies.=.[.."winapi-
1f00 69 36 38 36 2d 70 63 2d 77 69 6e 64 6f 77 73 2d 67 6e 75 22 2c 0a 20 22 77 69 6e 61 70 69 2d 78 i686-pc-windows-gnu",.."winapi-x
1f20 38 36 5f 36 34 2d 70 63 2d 77 69 6e 64 6f 77 73 2d 67 6e 75 22 2c 0a 5d 0a 0a 5b 5b 70 61 63 6b 86_64-pc-windows-gnu",.]..[[pack
1f40 61 67 65 5d 5d 0a 6e 61 6d 65 20 3d 20 22 77 69 6e 61 70 69 2d 69 36 38 36 2d 70 63 2d 77 69 6e age]].name.=."winapi-i686-pc-win
1f60 64 6f 77 73 2d 67 6e 75 22 0a 76 65 72 73 69 6f 6e 20 3d 20 22 30 2e 34 2e 30 22 0a 73 6f 75 72 dows-gnu".version.=."0.4.0".sour
1f80 63 65 20 3d 20 22 72 65 67 69 73 74 72 79 2b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f ce.=."registry+https://github.co
1fa0 6d 2f 72 75 73 74 2d 6c 61 6e 67 2f 63 72 61 74 65 73 2e 69 6f 2d 69 6e 64 65 78 22 0a 63 68 65 m/rust-lang/crates.io-index".che
1fc0 63 6b 73 75 6d 20 3d 20 22 61 63 33 62 38 37 63 36 33 36 32 30 34 32 36 64 64 39 62 39 39 31 65 cksum.=."ac3b87c63620426dd9b991e
1fe0 35 63 65 30 33 32 39 65 66 66 35 34 35 62 63 63 62 62 62 33 34 66 33 62 65 30 39 66 66 36 66 62 5ce0329eff545bccbbb34f3be09ff6fb
2000 36 61 62 35 31 62 37 62 36 22 0a 0a 5b 5b 70 61 63 6b 61 67 65 5d 5d 0a 6e 61 6d 65 20 3d 20 22 6ab51b7b6"..[[package]].name.=."
2020 77 69 6e 61 70 69 2d 78 38 36 5f 36 34 2d 70 63 2d 77 69 6e 64 6f 77 73 2d 67 6e 75 22 0a 76 65 winapi-x86_64-pc-windows-gnu".ve
2040 72 73 69 6f 6e 20 3d 20 22 30 2e 34 2e 30 22 0a 73 6f 75 72 63 65 20 3d 20 22 72 65 67 69 73 74 rsion.=."0.4.0".source.=."regist
2060 72 79 2b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 72 75 73 74 2d 6c 61 6e 67 2f ry+https://github.com/rust-lang/
2080 63 72 61 74 65 73 2e 69 6f 2d 69 6e 64 65 78 22 0a 63 68 65 63 6b 73 75 6d 20 3d 20 22 37 31 32 crates.io-index".checksum.=."712
20a0 65 32 32 37 38 34 31 64 30 35 37 63 31 65 65 31 63 64 32 66 62 32 32 66 61 37 65 35 61 35 34 36 e227841d057c1ee1cd2fb22fa7e5a546
20c0 31 61 65 38 65 34 38 66 61 32 63 61 37 39 65 63 34 32 63 66 63 31 39 33 31 31 38 33 66 22 0a 00 1ae8e48fa2ca79ec42cfc1931183f"..
20e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2200 74 73 63 2d 32 30 32 32 30 32 31 32 2e 31 36 33 32 2f 43 61 72 67 6f 2e 74 6f 6d 6c 00 00 00 00 tsc-20220212.1632/Cargo.toml....
2220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2260 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
2280 30 30 30 31 30 30 33 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 35 31 32 00 20 30 00 00 00 0001003.00000000000.013512..0...
22a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2300 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
2320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
2340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2400 5b 70 61 63 6b 61 67 65 5d 0a 6e 61 6d 65 20 3d 20 22 65 6d 61 63 73 2d 74 72 65 65 2d 73 69 74 [package].name.=."emacs-tree-sit
2420 74 65 72 22 0a 76 65 72 73 69 6f 6e 20 3d 20 22 30 2e 31 38 2e 30 22 0a 61 75 74 68 6f 72 73 20 ter".version.=."0.18.0".authors.
2440 3d 20 5b 22 54 75 e1 ba a5 6e 2d 41 6e 68 20 4e 67 75 79 e1 bb 85 6e 20 3c 75 62 6f 6c 6f 6e 74 =.["Tu...n-Anh.Nguy...n.<ubolont
2460 6f 6e 40 67 6d 61 69 6c 2e 63 6f 6d 3e 22 5d 0a 65 64 69 74 69 6f 6e 20 3d 20 22 32 30 31 38 22 on@gmail.com>"].edition.=."2018"
2480 0a 70 75 62 6c 69 73 68 20 3d 20 66 61 6c 73 65 0a 0a 5b 6c 69 62 5d 0a 70 61 74 68 20 3d 20 22 .publish.=.false..[lib].path.=."
24a0 73 72 63 2f 6c 69 62 2e 72 73 22 0a 6e 61 6d 65 20 3d 20 22 74 73 63 5f 64 79 6e 22 0a 63 72 61 src/lib.rs".name.=."tsc_dyn".cra
24c0 74 65 2d 74 79 70 65 20 3d 20 5b 22 63 64 79 6c 69 62 22 5d 0a 0a 5b 64 65 70 65 6e 64 65 6e 63 te-type.=.["cdylib"]..[dependenc
24e0 69 65 73 5d 0a 65 6d 61 63 73 20 3d 20 22 30 2e 31 38 22 0a 6c 69 62 6c 6f 61 64 69 6e 67 20 3d ies].emacs.=."0.18".libloading.=
2500 20 22 30 2e 37 2e 30 22 0a 74 72 65 65 2d 73 69 74 74 65 72 20 3d 20 22 30 2e 32 30 2e 30 22 0a ."0.7.0".tree-sitter.=."0.20.0".
2520 6f 6e 63 65 5f 63 65 6c 6c 20 3d 20 22 31 2e 37 2e 32 22 0a 0a 5b 70 72 6f 66 69 6c 65 2e 72 65 once_cell.=."1.7.2"..[profile.re
2540 6c 65 61 73 65 5d 0a 6f 70 74 2d 6c 65 76 65 6c 20 3d 20 33 0a 6c 74 6f 20 3d 20 22 74 68 69 6e lease].opt-level.=.3.lto.=."thin
2560 22 0a 0a 5b 70 72 6f 66 69 6c 65 2e 72 65 6c 65 61 73 65 2e 62 75 69 6c 64 2d 6f 76 65 72 72 69 "..[profile.release.build-overri
2580 64 65 5d 0a 6f 70 74 2d 6c 65 76 65 6c 20 3d 20 30 0a 0a 5b 70 61 74 63 68 2e 63 72 61 74 65 73 de].opt-level.=.0..[patch.crates
25a0 2d 69 6f 2e 74 72 65 65 2d 73 69 74 74 65 72 5d 0a 67 69 74 20 3d 20 22 68 74 74 70 73 3a 2f 2f -io.tree-sitter].git.=."https://
25c0 67 69 74 68 75 62 2e 63 6f 6d 2f 75 62 6f 6c 6f 6e 74 6f 6e 2f 74 72 65 65 2d 73 69 74 74 65 72 github.com/ubolonton/tree-sitter
25e0 22 0a 62 72 61 6e 63 68 20 3d 20 22 69 6d 70 72 6f 76 65 2d 74 65 78 74 2d 70 72 6f 76 69 64 65 ".branch.=."improve-text-provide
2600 72 22 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 r"..............................
2620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2800 74 73 63 2d 32 30 32 32 30 32 31 32 2e 31 36 33 32 2f 73 72 63 2f 00 00 00 00 00 00 00 00 00 00 tsc-20220212.1632/src/..........
2820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2860 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
2880 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 32 33 35 37 00 20 35 00 00 00 0000000.00000000000.012357..5...
28a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2900 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
2920 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
2940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a00 74 73 63 2d 32 30 32 32 30 32 31 32 2e 31 36 33 32 2f 73 72 63 2f 63 75 72 73 6f 72 2e 72 73 00 tsc-20220212.1632/src/cursor.rs.
2a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
2a80 30 30 33 36 37 36 34 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 32 36 32 00 20 30 00 00 00 0036764.00000000000.014262..0...
2aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2b00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
2b20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
2b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c00 75 73 65 20 73 74 64 3a 3a 7b 0a 20 20 20 20 63 65 6c 6c 3a 3a 7b 52 65 66 2c 20 52 65 66 43 65 use.std::{.....cell::{Ref,.RefCe
2c20 6c 6c 7d 2c 0a 20 20 20 20 6d 65 6d 2c 0a 20 20 20 20 6f 70 73 3a 3a 7b 44 65 72 65 66 2c 20 44 ll},.....mem,.....ops::{Deref,.D
2c40 65 72 65 66 4d 75 74 7d 2c 0a 7d 3b 0a 0a 75 73 65 20 65 6d 61 63 73 3a 3a 7b 64 65 66 75 6e 2c erefMut},.};..use.emacs::{defun,
2c60 20 52 65 73 75 6c 74 2c 20 56 61 6c 75 65 2c 20 45 6e 76 2c 20 47 6c 6f 62 61 6c 52 65 66 2c 20 .Result,.Value,.Env,.GlobalRef,.
2c80 56 65 63 74 6f 72 2c 20 49 6e 74 6f 4c 69 73 70 2c 20 46 72 6f 6d 4c 69 73 70 7d 3b 0a 75 73 65 Vector,.IntoLisp,.FromLisp};.use
2ca0 20 74 72 65 65 5f 73 69 74 74 65 72 3a 3a 7b 54 72 65 65 2c 20 54 72 65 65 43 75 72 73 6f 72 2c .tree_sitter::{Tree,.TreeCursor,
2cc0 20 4e 6f 64 65 7d 3b 0a 0a 75 73 65 20 63 72 61 74 65 3a 3a 7b 0a 20 20 20 20 74 79 70 65 73 3a .Node};..use.crate::{.....types:
2ce0 3a 7b 73 65 6c 66 2c 20 53 68 61 72 65 64 2c 20 42 79 74 65 50 6f 73 7d 2c 0a 20 20 20 20 6e 6f :{self,.Shared,.BytePos},.....no
2d00 64 65 3a 3a 7b 52 4e 6f 64 65 2c 20 4c 69 73 70 55 74 69 6c 73 7d 2c 0a 20 20 20 20 6c 61 6e 67 de::{RNode,.LispUtils},.....lang
2d20 3a 3a 4c 61 6e 67 75 61 67 65 2c 0a 7d 3b 0a 0a 65 6d 61 63 73 3a 3a 75 73 65 5f 73 79 6d 62 6f ::Language,.};..emacs::use_symbo
2d40 6c 73 21 20 7b 0a 20 20 20 20 77 72 6f 6e 67 5f 74 79 70 65 5f 61 72 67 75 6d 65 6e 74 0a 20 20 ls!.{.....wrong_type_argument...
2d60 20 20 74 72 65 65 5f 6f 72 5f 6e 6f 64 65 5f 70 0a 0a 20 20 20 20 5f 74 79 70 65 20 20 20 20 20 ..tree_or_node_p......_type.....
2d80 20 20 20 3d 3e 20 22 3a 74 79 70 65 22 0a 20 20 20 20 5f 6e 61 6d 65 64 5f 70 20 20 20 20 20 3d ...=>.":type"....._named_p.....=
2da0 3e 20 22 3a 6e 61 6d 65 64 2d 70 22 0a 20 20 20 20 5f 65 78 74 72 61 5f 70 20 20 20 20 20 3d 3e >.":named-p"....._extra_p.....=>
2dc0 20 22 3a 65 78 74 72 61 2d 70 22 0a 20 20 20 20 5f 65 72 72 6f 72 5f 70 20 20 20 20 20 3d 3e 20 .":extra-p"....._error_p.....=>.
2de0 22 3a 65 72 72 6f 72 2d 70 22 0a 20 20 20 20 5f 6d 69 73 73 69 6e 67 5f 70 20 20 20 3d 3e 20 22 ":error-p"....._missing_p...=>."
2e00 3a 6d 69 73 73 69 6e 67 2d 70 22 0a 20 20 20 20 5f 68 61 73 5f 65 72 72 6f 72 5f 70 20 3d 3e 20 :missing-p"....._has_error_p.=>.
2e20 22 3a 68 61 73 2d 65 72 72 6f 72 2d 70 22 0a 20 20 20 20 5f 73 74 61 72 74 5f 62 79 74 65 20 20 ":has-error-p"....._start_byte..
2e40 3d 3e 20 22 3a 73 74 61 72 74 2d 62 79 74 65 22 0a 20 20 20 20 5f 73 74 61 72 74 5f 70 6f 69 6e =>.":start-byte"....._start_poin
2e60 74 20 3d 3e 20 22 3a 73 74 61 72 74 2d 70 6f 69 6e 74 22 0a 20 20 20 20 5f 65 6e 64 5f 62 79 74 t.=>.":start-point"....._end_byt
2e80 65 20 20 20 20 3d 3e 20 22 3a 65 6e 64 2d 62 79 74 65 22 0a 20 20 20 20 5f 65 6e 64 5f 70 6f 69 e....=>.":end-byte"....._end_poi
2ea0 6e 74 20 20 20 3d 3e 20 22 3a 65 6e 64 2d 70 6f 69 6e 74 22 0a 20 20 20 20 5f 72 61 6e 67 65 20 nt...=>.":end-point"....._range.
2ec0 20 20 20 20 20 20 3d 3e 20 22 3a 72 61 6e 67 65 22 0a 20 20 20 20 5f 62 79 74 65 5f 72 61 6e 67 ......=>.":range"....._byte_rang
2ee0 65 20 20 3d 3e 20 22 3a 62 79 74 65 2d 72 61 6e 67 65 22 0a 0a 20 20 20 20 5f 66 69 65 6c 64 20 e..=>.":byte-range"......_field.
2f00 20 20 20 20 20 20 3d 3e 20 22 3a 66 69 65 6c 64 22 0a 20 20 20 20 5f 64 65 70 74 68 20 20 20 20 ......=>.":field"....._depth....
2f20 20 20 20 3d 3e 20 22 3a 64 65 70 74 68 22 0a 7d 0a 0a 2f 2f 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ...=>.":depth".}..//.-----------
2f40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
2f60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
2f80 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 2f 2f 2f 20 57 72 61 70 ----------------------..///.Wrap
2fa0 70 65 72 20 61 72 6f 75 6e 64 20 60 74 72 65 65 5f 73 69 74 74 65 72 3a 3a 54 72 65 65 43 75 72 per.around.`tree_sitter::TreeCur
2fc0 73 6f 72 60 20 74 68 61 74 20 63 61 6e 20 68 61 76 65 20 27 73 74 61 74 69 63 20 6c 69 66 65 74 sor`.that.can.have.'static.lifet
2fe0 69 6d 65 2c 20 62 79 20 6b 65 65 70 69 6e 67 20 61 0a 2f 2f 2f 20 72 65 66 2d 63 6f 75 6e 74 65 ime,.by.keeping.a.///.ref-counte
3000 64 20 72 65 66 65 72 65 6e 63 65 20 74 6f 20 74 68 65 20 75 6e 64 65 72 6c 79 69 6e 67 20 74 72 d.reference.to.the.underlying.tr
3020 65 65 2e 0a 23 5b 64 65 72 69 76 65 28 43 6c 6f 6e 65 29 5d 0a 70 75 62 20 73 74 72 75 63 74 20 ee..#[derive(Clone)].pub.struct.
3040 52 43 75 72 73 6f 72 20 7b 0a 20 20 20 20 74 72 65 65 3a 20 53 68 61 72 65 64 3c 54 72 65 65 3e RCursor.{.....tree:.Shared<Tree>
3060 2c 0a 20 20 20 20 69 6e 6e 65 72 3a 20 54 72 65 65 43 75 72 73 6f 72 3c 27 73 74 61 74 69 63 3e ,.....inner:.TreeCursor<'static>
3080 2c 0a 7d 0a 0a 69 6d 70 6c 5f 70 72 65 64 21 28 63 75 72 73 6f 72 5f 70 2c 20 26 52 65 66 43 65 ,.}..impl_pred!(cursor_p,.&RefCe
30a0 6c 6c 3c 52 43 75 72 73 6f 72 3e 29 3b 0a 0a 70 75 62 20 73 74 72 75 63 74 20 52 43 75 72 73 6f ll<RCursor>);..pub.struct.RCurso
30c0 72 42 6f 72 72 6f 77 3c 27 65 3e 20 7b 0a 20 20 20 20 23 5b 61 6c 6c 6f 77 28 75 6e 75 73 65 64 rBorrow<'e>.{.....#[allow(unused
30e0 29 5d 0a 20 20 20 20 72 65 66 74 3a 20 52 65 66 3c 27 65 2c 20 54 72 65 65 3e 2c 0a 20 20 20 20 )].....reft:.Ref<'e,.Tree>,.....
3100 63 75 72 73 6f 72 3a 20 26 27 65 20 54 72 65 65 43 75 72 73 6f 72 3c 27 65 3e 2c 0a 7d 0a 0a 69 cursor:.&'e.TreeCursor<'e>,.}..i
3120 6d 70 6c 3c 27 65 3e 20 44 65 72 65 66 20 66 6f 72 20 52 43 75 72 73 6f 72 42 6f 72 72 6f 77 3c mpl<'e>.Deref.for.RCursorBorrow<
3140 27 65 3e 20 7b 0a 20 20 20 20 74 79 70 65 20 54 61 72 67 65 74 20 3d 20 54 72 65 65 43 75 72 73 'e>.{.....type.Target.=.TreeCurs
3160 6f 72 3c 27 65 3e 3b 0a 0a 20 20 20 20 23 5b 69 6e 6c 69 6e 65 5d 0a 20 20 20 20 66 6e 20 64 65 or<'e>;......#[inline].....fn.de
3180 72 65 66 28 26 73 65 6c 66 29 20 2d 3e 20 26 53 65 6c 66 3a 3a 54 61 72 67 65 74 20 7b 0a 20 20 ref(&self).->.&Self::Target.{...
31a0 20 20 20 20 20 20 73 65 6c 66 2e 63 75 72 73 6f 72 0a 20 20 20 20 7d 0a 7d 0a 0a 70 75 62 20 73 ......self.cursor.....}.}..pub.s
31c0 74 72 75 63 74 20 52 43 75 72 73 6f 72 42 6f 72 72 6f 77 4d 75 74 3c 27 65 3e 20 7b 0a 20 20 20 truct.RCursorBorrowMut<'e>.{....
31e0 20 23 5b 61 6c 6c 6f 77 28 75 6e 75 73 65 64 29 5d 0a 20 20 20 20 72 65 66 74 3a 20 52 65 66 3c .#[allow(unused)].....reft:.Ref<
3200 27 65 2c 20 54 72 65 65 3e 2c 0a 20 20 20 20 63 75 72 73 6f 72 3a 20 26 27 65 20 6d 75 74 20 54 'e,.Tree>,.....cursor:.&'e.mut.T
3220 72 65 65 43 75 72 73 6f 72 3c 27 65 3e 2c 0a 7d 0a 0a 69 6d 70 6c 3c 27 65 3e 20 44 65 72 65 66 reeCursor<'e>,.}..impl<'e>.Deref
3240 20 66 6f 72 20 52 43 75 72 73 6f 72 42 6f 72 72 6f 77 4d 75 74 3c 27 65 3e 20 7b 0a 20 20 20 20 .for.RCursorBorrowMut<'e>.{.....
3260 74 79 70 65 20 54 61 72 67 65 74 20 3d 20 54 72 65 65 43 75 72 73 6f 72 3c 27 65 3e 3b 0a 0a 20 type.Target.=.TreeCursor<'e>;...
3280 20 20 20 23 5b 69 6e 6c 69 6e 65 5d 0a 20 20 20 20 66 6e 20 64 65 72 65 66 28 26 73 65 6c 66 29 ...#[inline].....fn.deref(&self)
32a0 20 2d 3e 20 26 53 65 6c 66 3a 3a 54 61 72 67 65 74 20 7b 0a 20 20 20 20 20 20 20 20 73 65 6c 66 .->.&Self::Target.{.........self
32c0 2e 63 75 72 73 6f 72 0a 20 20 20 20 7d 0a 7d 0a 0a 69 6d 70 6c 3c 27 65 3e 20 44 65 72 65 66 4d .cursor.....}.}..impl<'e>.DerefM
32e0 75 74 20 66 6f 72 20 52 43 75 72 73 6f 72 42 6f 72 72 6f 77 4d 75 74 3c 27 65 3e 20 7b 0a 20 20 ut.for.RCursorBorrowMut<'e>.{...
3300 20 20 23 5b 69 6e 6c 69 6e 65 5d 0a 20 20 20 20 66 6e 20 64 65 72 65 66 5f 6d 75 74 28 26 6d 75 ..#[inline].....fn.deref_mut(&mu
3320 74 20 73 65 6c 66 29 20 2d 3e 20 26 6d 75 74 20 53 65 6c 66 3a 3a 54 61 72 67 65 74 20 7b 0a 20 t.self).->.&mut.Self::Target.{..
3340 20 20 20 20 20 20 20 73 65 6c 66 2e 63 75 72 73 6f 72 0a 20 20 20 20 7d 0a 7d 0a 0a 69 6d 70 6c .......self.cursor.....}.}..impl
3360 20 52 43 75 72 73 6f 72 20 7b 0a 20 20 20 20 70 75 62 20 66 6e 20 6e 65 77 3c 27 65 2c 20 46 3a .RCursor.{.....pub.fn.new<'e,.F:
3380 20 46 6e 4f 6e 63 65 28 26 27 65 20 54 72 65 65 29 20 2d 3e 20 54 72 65 65 43 75 72 73 6f 72 3c .FnOnce(&'e.Tree).->.TreeCursor<
33a0 27 65 3e 3e 28 74 72 65 65 3a 20 53 68 61 72 65 64 3c 54 72 65 65 3e 2c 20 66 3a 20 46 29 20 2d 'e>>(tree:.Shared<Tree>,.f:.F).-
33c0 3e 20 53 65 6c 66 20 7b 0a 20 20 20 20 20 20 20 20 6c 65 74 20 72 74 72 65 65 20 3d 20 75 6e 73 >.Self.{.........let.rtree.=.uns
33e0 61 66 65 20 7b 20 74 79 70 65 73 3a 3a 65 72 61 73 65 5f 6c 69 66 65 74 69 6d 65 28 26 2a 74 72 afe.{.types::erase_lifetime(&*tr
3400 65 65 2e 62 6f 72 72 6f 77 28 29 29 20 7d 3b 0a 20 20 20 20 20 20 20 20 6c 65 74 20 69 6e 6e 65 ee.borrow()).};.........let.inne
3420 72 20 3d 20 75 6e 73 61 66 65 20 7b 20 6d 65 6d 3a 3a 74 72 61 6e 73 6d 75 74 65 28 66 28 72 74 r.=.unsafe.{.mem::transmute(f(rt
3440 72 65 65 29 29 20 7d 3b 0a 20 20 20 20 20 20 20 20 53 65 6c 66 20 7b 20 74 72 65 65 2c 20 69 6e ree)).};.........Self.{.tree,.in
3460 6e 65 72 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 20 66 6e 20 63 6c 6f 6e 65 5f 74 72 ner.}.....}......pub.fn.clone_tr
3480 65 65 28 26 73 65 6c 66 29 20 2d 3e 20 53 68 61 72 65 64 3c 54 72 65 65 3e 20 7b 0a 20 20 20 20 ee(&self).->.Shared<Tree>.{.....
34a0 20 20 20 20 73 65 6c 66 2e 74 72 65 65 2e 63 6c 6f 6e 65 28 29 0a 20 20 20 20 7d 0a 0a 20 20 20 ....self.tree.clone().....}.....
34c0 20 23 5b 69 6e 6c 69 6e 65 5d 0a 20 20 20 20 70 75 62 20 66 6e 20 62 6f 72 72 6f 77 28 26 73 65 .#[inline].....pub.fn.borrow(&se
34e0 6c 66 29 20 2d 3e 20 52 43 75 72 73 6f 72 42 6f 72 72 6f 77 20 7b 0a 20 20 20 20 20 20 20 20 6c lf).->.RCursorBorrow.{.........l
3500 65 74 20 72 65 66 74 20 3d 20 73 65 6c 66 2e 74 72 65 65 2e 62 6f 72 72 6f 77 28 29 3b 0a 20 20 et.reft.=.self.tree.borrow();...
3520 20 20 20 20 20 20 6c 65 74 20 63 75 72 73 6f 72 20 3d 20 26 73 65 6c 66 2e 69 6e 6e 65 72 3b 0a ......let.cursor.=.&self.inner;.
3540 20 20 20 20 20 20 20 20 52 43 75 72 73 6f 72 42 6f 72 72 6f 77 20 7b 20 72 65 66 74 2c 20 63 75 ........RCursorBorrow.{.reft,.cu
3560 72 73 6f 72 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 23 5b 69 6e 6c 69 6e 65 5d 0a 20 20 20 20 rsor.}.....}......#[inline].....
3580 70 75 62 20 66 6e 20 62 6f 72 72 6f 77 5f 6d 75 74 3c 27 65 3e 28 26 27 65 20 6d 75 74 20 73 65 pub.fn.borrow_mut<'e>(&'e.mut.se
35a0 6c 66 29 20 2d 3e 20 52 43 75 72 73 6f 72 42 6f 72 72 6f 77 4d 75 74 20 7b 0a 20 20 20 20 20 20 lf).->.RCursorBorrowMut.{.......
35c0 20 20 6c 65 74 20 72 65 66 74 3a 20 52 65 66 3c 27 65 2c 20 54 72 65 65 3e 20 3d 20 73 65 6c 66 ..let.reft:.Ref<'e,.Tree>.=.self
35e0 2e 74 72 65 65 2e 62 6f 72 72 6f 77 28 29 3b 0a 20 20 20 20 20 20 20 20 2f 2f 20 58 58 58 3a 20 .tree.borrow();.........//.XXX:.
3600 45 78 70 6c 61 69 6e 20 74 68 65 20 73 61 66 65 74 79 20 68 65 72 65 2e 0a 20 20 20 20 20 20 20 Explain.the.safety.here.........
3620 20 6c 65 74 20 63 75 72 73 6f 72 3a 20 26 27 65 20 6d 75 74 20 5f 20 3d 20 75 6e 73 61 66 65 20 .let.cursor:.&'e.mut._.=.unsafe.
3640 7b 20 6d 65 6d 3a 3a 74 72 61 6e 73 6d 75 74 65 28 26 6d 75 74 20 73 65 6c 66 2e 69 6e 6e 65 72 {.mem::transmute(&mut.self.inner
3660 29 20 7d 3b 0a 20 20 20 20 20 20 20 20 52 43 75 72 73 6f 72 42 6f 72 72 6f 77 4d 75 74 20 7b 20 ).};.........RCursorBorrowMut.{.
3680 72 65 66 74 2c 20 63 75 72 73 6f 72 20 7d 0a 20 20 20 20 7d 0a 7d 0a 0a 70 75 62 20 65 6e 75 6d reft,.cursor.}.....}.}..pub.enum
36a0 20 54 72 65 65 4f 72 4e 6f 64 65 3c 27 65 3e 20 7b 0a 20 20 20 20 54 72 65 65 28 26 27 65 20 53 .TreeOrNode<'e>.{.....Tree(&'e.S
36c0 68 61 72 65 64 3c 54 72 65 65 3e 29 2c 0a 20 20 20 20 4e 6f 64 65 28 26 27 65 20 52 65 66 43 65 hared<Tree>),.....Node(&'e.RefCe
36e0 6c 6c 3c 52 4e 6f 64 65 3e 29 2c 0a 7d 0a 0a 69 6d 70 6c 3c 27 65 3e 20 46 72 6f 6d 4c 69 73 70 ll<RNode>),.}..impl<'e>.FromLisp
3700 3c 27 65 3e 20 66 6f 72 20 54 72 65 65 4f 72 4e 6f 64 65 3c 27 65 3e 20 7b 0a 20 20 20 20 66 6e <'e>.for.TreeOrNode<'e>.{.....fn
3720 20 66 72 6f 6d 5f 6c 69 73 70 28 76 61 6c 75 65 3a 20 56 61 6c 75 65 3c 27 65 3e 29 20 2d 3e 20 .from_lisp(value:.Value<'e>).->.
3740 52 65 73 75 6c 74 3c 53 65 6c 66 3e 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 6c 65 74 20 4f 6b Result<Self>.{.........if.let.Ok
3760 28 76 61 6c 75 65 29 20 3d 20 76 61 6c 75 65 2e 69 6e 74 6f 5f 72 75 73 74 28 29 20 7b 0a 20 20 (value).=.value.into_rust().{...
3780 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 4f 6b 28 53 65 6c 66 3a 3a 54 72 65 65 28 76 ..........return.Ok(Self::Tree(v
37a0 61 6c 75 65 29 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 6c 65 74 alue));.........}.........if.let
37c0 20 4f 6b 28 76 61 6c 75 65 29 20 3d 20 76 61 6c 75 65 2e 69 6e 74 6f 5f 72 75 73 74 28 29 20 7b .Ok(value).=.value.into_rust().{
37e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 4f 6b 28 53 65 6c 66 3a 3a 4e 6f 64 .............return.Ok(Self::Nod
3800 65 28 76 61 6c 75 65 29 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 76 61 6c e(value));.........}.........val
3820 75 65 2e 65 6e 76 2e 73 69 67 6e 61 6c 28 77 72 6f 6e 67 5f 74 79 70 65 5f 61 72 67 75 6d 65 6e ue.env.signal(wrong_type_argumen
3840 74 2c 20 28 74 72 65 65 5f 6f 72 5f 6e 6f 64 65 5f 70 2c 20 76 61 6c 75 65 29 29 0a 20 20 20 20 t,.(tree_or_node_p,.value)).....
3860 7d 0a 7d 0a 0a 69 6d 70 6c 3c 27 65 3e 20 54 72 65 65 4f 72 4e 6f 64 65 3c 27 65 3e 20 7b 0a 20 }.}..impl<'e>.TreeOrNode<'e>.{..
3880 20 20 20 66 6e 20 77 61 6c 6b 28 26 73 65 6c 66 29 20 2d 3e 20 52 43 75 72 73 6f 72 20 7b 0a 20 ...fn.walk(&self).->.RCursor.{..
38a0 20 20 20 20 20 20 20 6d 61 74 63 68 20 2a 73 65 6c 66 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 .......match.*self.{............
38c0 20 53 65 6c 66 3a 3a 54 72 65 65 28 74 72 65 65 29 20 3d 3e 20 52 43 75 72 73 6f 72 3a 3a 6e 65 .Self::Tree(tree).=>.RCursor::ne
38e0 77 28 74 72 65 65 2e 63 6c 6f 6e 65 28 29 2c 20 7c 74 72 65 65 7c 20 74 72 65 65 2e 77 61 6c 6b w(tree.clone(),.|tree|.tree.walk
3900 28 29 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 53 65 6c 66 3a 3a 4e 6f 64 65 28 6e 6f 64 65 ()),.............Self::Node(node
3920 29 20 3d 3e 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 65 74 20 6e 6f 64 65 20 ).=>.{.................let.node.
3940 3d 20 6e 6f 64 65 2e 62 6f 72 72 6f 77 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 =.node.borrow();................
3960 20 52 43 75 72 73 6f 72 3a 3a 6e 65 77 28 6e 6f 64 65 2e 63 6c 6f 6e 65 5f 74 72 65 65 28 29 2c .RCursor::new(node.clone_tree(),
3980 20 7c 5f 7c 20 6e 6f 64 65 2e 62 6f 72 72 6f 77 28 29 2e 77 61 6c 6b 28 29 29 0a 20 20 20 20 20 .|_|.node.borrow().walk())......
39a0 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 7d 0a 0a 2f 2f 20 2d .......}.........}.....}.}..//.-
39c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
39e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
3a00 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
3a20 0a 0a 2f 2f 2f 20 43 72 65 61 74 65 20 61 20 6e 65 77 20 63 75 72 73 6f 72 20 73 74 61 72 74 69 ..///.Create.a.new.cursor.starti
3a40 6e 67 20 66 72 6f 6d 20 74 68 65 20 67 69 76 65 6e 20 54 52 45 45 2d 4f 52 2d 4e 4f 44 45 2e 0a ng.from.the.given.TREE-OR-NODE..
3a60 2f 2f 2f 0a 2f 2f 2f 20 41 20 63 75 72 73 6f 72 20 61 6c 6c 6f 77 73 20 79 6f 75 20 74 6f 20 77 ///.///.A.cursor.allows.you.to.w
3a80 61 6c 6b 20 61 20 73 79 6e 74 61 78 20 74 72 65 65 20 6d 6f 72 65 20 65 66 66 69 63 69 65 6e 74 alk.a.syntax.tree.more.efficient
3aa0 6c 79 20 74 68 61 6e 20 69 73 20 70 6f 73 73 69 62 6c 65 0a 2f 2f 2f 20 75 73 69 6e 67 20 60 74 ly.than.is.possible.///.using.`t
3ac0 73 63 2d 67 65 74 2d 27 20 66 75 6e 63 74 69 6f 6e 73 2e 20 49 74 20 69 73 20 61 20 6d 75 74 61 sc-get-'.functions..It.is.a.muta
3ae0 62 6c 65 20 6f 62 6a 65 63 74 20 74 68 61 74 20 69 73 20 61 6c 77 61 79 73 20 6f 6e 20 61 20 63 ble.object.that.is.always.on.a.c
3b00 65 72 74 61 69 6e 0a 2f 2f 2f 20 73 79 6e 74 61 78 20 6e 6f 64 65 2c 20 61 6e 64 20 63 61 6e 20 ertain.///.syntax.node,.and.can.
3b20 62 65 20 6d 6f 76 65 64 20 69 6d 70 65 72 61 74 69 76 65 6c 79 20 74 6f 20 64 69 66 66 65 72 65 be.moved.imperatively.to.differe
3b40 6e 74 20 6e 6f 64 65 73 2e 0a 2f 2f 2f 0a 2f 2f 2f 20 49 66 20 61 20 74 72 65 65 20 69 73 20 67 nt.nodes..///.///.If.a.tree.is.g
3b60 69 76 65 6e 2c 20 74 68 65 20 72 65 74 75 72 6e 65 64 20 63 75 72 73 6f 72 20 73 74 61 72 74 73 iven,.the.returned.cursor.starts
3b80 20 6f 6e 20 69 74 73 20 72 6f 6f 74 20 6e 6f 64 65 2e 0a 23 5b 64 65 66 75 6e 28 75 73 65 72 5f .on.its.root.node..#[defun(user_
3ba0 70 74 72 29 5d 0a 66 6e 20 6d 61 6b 65 5f 63 75 72 73 6f 72 28 74 72 65 65 5f 6f 72 5f 6e 6f 64 ptr)].fn.make_cursor(tree_or_nod
3bc0 65 3a 20 54 72 65 65 4f 72 4e 6f 64 65 29 20 2d 3e 20 52 65 73 75 6c 74 3c 52 43 75 72 73 6f 72 e:.TreeOrNode).->.Result<RCursor
3be0 3e 20 7b 0a 20 20 20 20 4f 6b 28 74 72 65 65 5f 6f 72 5f 6e 6f 64 65 2e 77 61 6c 6b 28 29 29 0a >.{.....Ok(tree_or_node.walk()).
3c00 7d 0a 0a 2f 2f 2f 20 52 65 74 75 72 6e 20 74 68 65 20 66 69 65 6c 64 20 69 64 20 6f 66 20 43 55 }..///.Return.the.field.id.of.CU
3c20 52 53 4f 52 27 73 20 63 75 72 72 65 6e 74 20 6e 6f 64 65 2e 0a 2f 2f 2f 20 52 65 74 75 72 6e 20 RSOR's.current.node..///.Return.
3c40 6e 69 6c 20 69 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 6e 6f 64 65 20 64 6f 65 73 6e 27 74 20 nil.if.the.current.node.doesn't.
3c60 68 61 76 65 20 61 20 66 69 65 6c 64 2e 0a 23 5b 64 65 66 75 6e 5d 0a 66 6e 20 63 75 72 72 65 6e have.a.field..#[defun].fn.curren
3c80 74 5f 66 69 65 6c 64 5f 69 64 28 63 75 72 73 6f 72 3a 20 26 52 43 75 72 73 6f 72 29 20 2d 3e 20 t_field_id(cursor:.&RCursor).->.
3ca0 52 65 73 75 6c 74 3c 4f 70 74 69 6f 6e 3c 75 31 36 3e 3e 20 7b 0a 20 20 20 20 4f 6b 28 63 75 72 Result<Option<u16>>.{.....Ok(cur
3cc0 73 6f 72 2e 62 6f 72 72 6f 77 28 29 2e 66 69 65 6c 64 5f 69 64 28 29 29 0a 7d 0a 0a 2f 2f 2f 20 sor.borrow().field_id()).}..///.
3ce0 52 65 74 75 72 6e 20 74 68 65 20 66 69 65 6c 64 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 Return.the.field.associated.with
3d00 20 43 55 52 53 4f 52 27 73 20 63 75 72 72 65 6e 74 20 6e 6f 64 65 2c 20 61 73 20 61 20 6b 65 79 .CURSOR's.current.node,.as.a.key
3d20 77 6f 72 64 2e 0a 2f 2f 2f 20 52 65 74 75 72 6e 20 6e 69 6c 20 69 66 20 74 68 65 20 63 75 72 72 word..///.Return.nil.if.the.curr
3d40 65 6e 74 20 6e 6f 64 65 20 69 73 20 6e 6f 74 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 ent.node.is.not.associated.with.
3d60 61 20 66 69 65 6c 64 2e 0a 23 5b 64 65 66 75 6e 5d 0a 66 6e 20 63 75 72 72 65 6e 74 5f 66 69 65 a.field..#[defun].fn.current_fie
3d80 6c 64 28 63 75 72 73 6f 72 3a 20 26 52 43 75 72 73 6f 72 29 20 2d 3e 20 52 65 73 75 6c 74 3c 4f ld(cursor:.&RCursor).->.Result<O
3da0 70 74 69 6f 6e 3c 26 27 73 74 61 74 69 63 20 47 6c 6f 62 61 6c 52 65 66 3e 3e 20 7b 0a 20 20 20 ption<&'static.GlobalRef>>.{....
3dc0 20 6c 65 74 20 63 75 72 73 6f 72 20 3d 20 63 75 72 73 6f 72 2e 62 6f 72 72 6f 77 28 29 3b 0a 20 .let.cursor.=.cursor.borrow();..
3de0 20 20 20 6c 65 74 20 6c 61 6e 67 75 61 67 65 3a 20 4c 61 6e 67 75 61 67 65 20 3d 20 63 75 72 73 ...let.language:.Language.=.curs
3e00 6f 72 2e 72 65 66 74 2e 6c 61 6e 67 75 61 67 65 28 29 2e 69 6e 74 6f 28 29 3b 0a 20 20 20 20 4f or.reft.language().into();.....O
3e20 6b 28 63 75 72 73 6f 72 2e 66 69 65 6c 64 5f 69 64 28 29 2e 61 6e 64 5f 74 68 65 6e 28 7c 69 64 k(cursor.field_id().and_then(|id
3e40 7c 20 6c 61 6e 67 75 61 67 65 2e 69 6e 66 6f 28 29 2e 66 69 65 6c 64 5f 6e 61 6d 65 28 69 64 29 |.language.info().field_name(id)
3e60 29 29 0a 7d 0a 0a 6d 61 63 72 6f 5f 72 75 6c 65 73 21 20 64 65 66 75 6e 5f 63 75 72 73 6f 72 5f )).}..macro_rules!.defun_cursor_
3e80 77 61 6c 6b 73 20 7b 0a 20 20 20 20 28 24 28 24 28 23 5b 24 6d 65 74 61 3a 6d 65 74 61 5d 29 2a walks.{.....($($(#[$meta:meta])*
3ea0 20 24 28 24 6c 69 73 70 5f 6e 61 6d 65 3a 6c 69 74 65 72 61 6c 29 3f 20 66 6e 20 24 6e 61 6d 65 .$($lisp_name:literal)?.fn.$name
3ec0 3a 69 64 65 6e 74 20 24 28 20 28 20 24 28 20 24 70 61 72 61 6d 3a 69 64 65 6e 74 20 24 28 24 69 :ident.$(.(.$(.$param:ident.$($i
3ee0 6e 74 6f 3a 69 64 65 6e 74 29 3f 20 3a 20 24 69 74 79 70 65 3a 74 79 20 29 2c 2a 20 29 20 29 3f nto:ident)?.:.$itype:ty.),*.).)?
3f00 20 2d 3e 20 24 74 79 70 65 3a 74 79 29 2a 29 20 3d 3e 20 7b 0a 20 20 20 20 20 20 20 20 24 28 0a .->.$type:ty)*).=>.{.........$(.
3f20 20 20 20 20 20 20 20 20 20 20 20 20 24 28 23 5b 24 6d 65 74 61 5d 29 2a 0a 20 20 20 20 20 20 20 ............$(#[$meta])*........
3f40 20 20 20 20 20 23 5b 64 65 66 75 6e 24 28 28 6e 61 6d 65 20 3d 20 24 6c 69 73 70 5f 6e 61 6d 65 .....#[defun$((name.=.$lisp_name
3f60 29 29 3f 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6e 20 24 6e 61 6d 65 28 63 75 72 73 6f 72 ))?].............fn.$name(cursor
3f80 3a 20 26 6d 75 74 20 52 43 75 72 73 6f 72 2c 20 24 28 20 24 28 20 24 70 61 72 61 6d 3a 20 24 69 :.&mut.RCursor,.$(.$(.$param:.$i
3fa0 74 79 70 65 20 29 2c 2a 20 29 3f 20 29 20 2d 3e 20 52 65 73 75 6c 74 3c 24 74 79 70 65 3e 20 7b type.),*.)?.).->.Result<$type>.{
3fc0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f 6b 28 63 75 72 73 6f 72 2e 62 6f 72 72 6f .................Ok(cursor.borro
3fe0 77 5f 6d 75 74 28 29 2e 24 6e 61 6d 65 28 20 24 28 20 24 28 20 24 70 61 72 61 6d 20 24 28 2e 24 w_mut().$name(.$(.$(.$param.$(.$
4000 69 6e 74 6f 28 29 29 3f 20 29 2c 2a 20 29 3f 20 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d into())?.),*.)?.)).............}
4020 0a 20 20 20 20 20 20 20 20 29 2a 0a 20 20 20 20 7d 3b 0a 7d 0a 0a 64 65 66 75 6e 5f 63 75 72 73 .........)*.....};.}..defun_curs
4040 6f 72 5f 77 61 6c 6b 73 21 20 7b 0a 20 20 20 20 2f 2f 2f 20 4d 6f 76 65 20 43 55 52 53 4f 52 20 or_walks!.{.....///.Move.CURSOR.
4060 74 6f 20 74 68 65 20 66 69 72 73 74 20 63 68 69 6c 64 20 6f 66 20 69 74 73 20 63 75 72 72 65 6e to.the.first.child.of.its.curren
4080 74 20 6e 6f 64 65 2e 0a 20 20 20 20 2f 2f 2f 20 52 65 74 75 72 6e 20 74 20 69 66 20 43 55 52 53 t.node......///.Return.t.if.CURS
40a0 4f 52 20 73 75 63 63 65 73 73 66 75 6c 6c 79 20 6d 6f 76 65 64 2c 20 6e 69 6c 20 69 66 20 74 68 OR.successfully.moved,.nil.if.th
40c0 65 72 65 20 77 65 72 65 20 6e 6f 20 63 68 69 6c 64 72 65 6e 2e 0a 20 20 20 20 66 6e 20 67 6f 74 ere.were.no.children......fn.got
40e0 6f 5f 66 69 72 73 74 5f 63 68 69 6c 64 20 2d 3e 20 62 6f 6f 6c 0a 0a 20 20 20 20 2f 2f 2f 20 4d o_first_child.->.bool......///.M
4100 6f 76 65 20 43 55 52 53 4f 52 20 74 6f 20 74 68 65 20 70 61 72 65 6e 74 20 6e 6f 64 65 20 6f 66 ove.CURSOR.to.the.parent.node.of
4120 20 69 74 73 20 63 75 72 72 65 6e 74 20 6e 6f 64 65 2e 0a 20 20 20 20 2f 2f 2f 20 52 65 74 75 72 .its.current.node......///.Retur
4140 6e 20 74 20 69 66 20 43 55 52 53 4f 52 20 73 75 63 63 65 73 73 66 75 6c 6c 79 20 6d 6f 76 65 64 n.t.if.CURSOR.successfully.moved
4160 2c 20 6e 69 6c 20 69 66 20 69 74 20 77 61 73 20 61 6c 72 65 61 64 79 20 6f 6e 20 74 68 65 20 72 ,.nil.if.it.was.already.on.the.r
4180 6f 6f 74 20 6e 6f 64 65 2e 0a 20 20 20 20 66 6e 20 67 6f 74 6f 5f 70 61 72 65 6e 74 20 2d 3e 20 oot.node......fn.goto_parent.->.
41a0 62 6f 6f 6c 0a 0a 20 20 20 20 2f 2f 2f 20 4d 6f 76 65 20 43 55 52 53 4f 52 20 74 6f 20 74 68 65 bool......///.Move.CURSOR.to.the
41c0 20 6e 65 78 74 20 73 69 62 6c 69 6e 67 20 6f 66 20 69 74 73 20 63 75 72 72 65 6e 74 20 6e 6f 64 .next.sibling.of.its.current.nod
41e0 65 2e 0a 20 20 20 20 2f 2f 2f 20 52 65 74 75 72 6e 20 74 20 69 66 20 43 55 52 53 4f 52 20 73 75 e......///.Return.t.if.CURSOR.su
4200 63 63 65 73 73 66 75 6c 6c 79 20 6d 6f 76 65 64 2c 20 6e 69 6c 20 69 66 20 74 68 65 72 65 20 77 ccessfully.moved,.nil.if.there.w
4220 61 73 20 6e 6f 20 6e 65 78 74 20 73 69 62 6c 69 6e 67 20 6e 6f 64 65 2e 0a 20 20 20 20 66 6e 20 as.no.next.sibling.node......fn.
4240 67 6f 74 6f 5f 6e 65 78 74 5f 73 69 62 6c 69 6e 67 20 2d 3e 20 62 6f 6f 6c 0a 0a 20 20 20 20 2f goto_next_sibling.->.bool....../
4260 2f 2f 20 4d 6f 76 65 20 43 55 52 53 4f 52 20 74 6f 20 74 68 65 20 66 69 72 73 74 20 63 68 69 6c //.Move.CURSOR.to.the.first.chil
4280 64 20 74 68 61 74 20 65 78 74 65 6e 64 73 20 62 65 79 6f 6e 64 20 74 68 65 20 67 69 76 65 6e 20 d.that.extends.beyond.the.given.
42a0 42 59 54 45 50 4f 53 2e 0a 20 20 20 20 2f 2f 2f 20 52 65 74 75 72 6e 20 74 68 65 20 69 6e 64 65 BYTEPOS......///.Return.the.inde
42c0 78 20 6f 66 20 74 68 65 20 63 68 69 6c 64 20 6e 6f 64 65 20 69 66 20 6f 6e 65 20 77 61 73 20 66 x.of.the.child.node.if.one.was.f
42e0 6f 75 6e 64 2c 20 6e 69 6c 20 6f 74 68 65 72 77 69 73 65 2e 0a 20 20 20 20 22 67 6f 74 6f 2d 66 ound,.nil.otherwise......"goto-f
4300 69 72 73 74 2d 63 68 69 6c 64 2d 66 6f 72 2d 62 79 74 65 22 20 66 6e 20 67 6f 74 6f 5f 66 69 72 irst-child-for-byte".fn.goto_fir
4320 73 74 5f 63 68 69 6c 64 5f 66 6f 72 5f 62 79 74 65 28 62 79 74 65 70 6f 73 20 69 6e 74 6f 3a 20 st_child_for_byte(bytepos.into:.
4340 42 79 74 65 50 6f 73 29 20 2d 3e 20 4f 70 74 69 6f 6e 3c 75 73 69 7a 65 3e 0a 7d 0a 0a 2f 2f 2f BytePos).->.Option<usize>.}..///
4360 20 52 65 2d 69 6e 69 74 69 61 6c 69 7a 65 20 43 55 52 53 4f 52 20 74 6f 20 73 74 61 72 74 20 61 .Re-initialize.CURSOR.to.start.a
4380 74 20 61 20 64 69 66 66 65 72 65 6e 74 20 4e 4f 44 45 2e 0a 23 5b 64 65 66 75 6e 5d 0a 66 6e 20 t.a.different.NODE..#[defun].fn.
43a0 72 65 73 65 74 5f 63 75 72 73 6f 72 28 63 75 72 73 6f 72 3a 20 26 6d 75 74 20 52 43 75 72 73 6f reset_cursor(cursor:.&mut.RCurso
43c0 72 2c 20 6e 6f 64 65 3a 20 26 52 4e 6f 64 65 29 20 2d 3e 20 52 65 73 75 6c 74 3c 28 29 3e 20 7b r,.node:.&RNode).->.Result<()>.{
43e0 0a 20 20 20 20 4f 6b 28 63 75 72 73 6f 72 2e 62 6f 72 72 6f 77 5f 6d 75 74 28 29 2e 72 65 73 65 .....Ok(cursor.borrow_mut().rese
4400 74 28 2a 6e 6f 64 65 2e 62 6f 72 72 6f 77 28 29 29 29 0a 7d 0a 0a 2f 2f 20 2d 2d 2d 2d 2d 2d 2d t(*node.borrow())).}..//.-------
4420 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
4440 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
4460 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 65 6e 75 6d --------------------------..enum
4480 20 54 72 61 76 65 72 73 61 6c 53 74 61 74 65 20 7b 0a 20 20 20 20 53 74 61 72 74 2c 0a 20 20 20 .TraversalState.{.....Start,....
44a0 20 44 6f 77 6e 2c 0a 20 20 20 20 52 69 67 68 74 2c 0a 20 20 20 20 44 6f 6e 65 2c 0a 7d 0a 0a 75 .Down,.....Right,.....Done,.}..u
44c0 73 65 20 54 72 61 76 65 72 73 61 6c 53 74 61 74 65 3a 3a 2a 3b 0a 0a 73 74 72 75 63 74 20 44 65 se.TraversalState::*;..struct.De
44e0 70 74 68 46 69 72 73 74 49 74 65 72 61 74 6f 72 20 7b 0a 20 20 20 20 63 75 72 73 6f 72 3a 20 52 pthFirstIterator.{.....cursor:.R
4500 43 75 72 73 6f 72 2c 0a 20 20 20 20 73 74 61 74 65 3a 20 54 72 61 76 65 72 73 61 6c 53 74 61 74 Cursor,.....state:.TraversalStat
4520 65 2c 0a 20 20 20 20 64 65 70 74 68 3a 20 75 73 69 7a 65 2c 0a 7d 0a 0a 2f 2f 20 54 4f 44 4f 3a e,.....depth:.usize,.}..//.TODO:
4540 20 50 72 6f 76 69 64 65 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 6d 6f 76 65 20 62 61 63 6b .Provide.a.function.to.move.back
4560 77 61 72 64 2e 0a 69 6d 70 6c 20 44 65 70 74 68 46 69 72 73 74 49 74 65 72 61 74 6f 72 20 7b 0a ward..impl.DepthFirstIterator.{.
4580 20 20 20 20 66 6e 20 6e 65 77 28 74 72 65 65 5f 6f 72 5f 6e 6f 64 65 3a 20 54 72 65 65 4f 72 4e ....fn.new(tree_or_node:.TreeOrN
45a0 6f 64 65 29 20 2d 3e 20 53 65 6c 66 20 7b 0a 20 20 20 20 20 20 20 20 53 65 6c 66 20 7b 20 63 75 ode).->.Self.{.........Self.{.cu
45c0 72 73 6f 72 3a 20 74 72 65 65 5f 6f 72 5f 6e 6f 64 65 2e 77 61 6c 6b 28 29 2c 20 73 74 61 74 65 rsor:.tree_or_node.walk(),.state
45e0 3a 20 53 74 61 72 74 2c 20 64 65 70 74 68 3a 20 30 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 23 :.Start,.depth:.0.}.....}......#
4600 5b 69 6e 6c 69 6e 65 5d 0a 20 20 20 20 66 6e 20 69 74 65 6d 28 26 73 65 6c 66 29 20 2d 3e 20 4f [inline].....fn.item(&self).->.O
4620 70 74 69 6f 6e 3c 28 52 4e 6f 64 65 2c 20 75 73 69 7a 65 29 3e 20 7b 0a 20 20 20 20 20 20 20 20 ption<(RNode,.usize)>.{.........
4640 53 6f 6d 65 28 28 52 4e 6f 64 65 3a 3a 6e 65 77 28 73 65 6c 66 2e 63 75 72 73 6f 72 2e 63 6c 6f Some((RNode::new(self.cursor.clo
4660 6e 65 5f 74 72 65 65 28 29 2c 20 7c 5f 7c 20 73 65 6c 66 2e 63 75 72 73 6f 72 2e 62 6f 72 72 6f ne_tree(),.|_|.self.cursor.borro
4680 77 28 29 2e 6e 6f 64 65 28 29 29 2c 20 73 65 6c 66 2e 64 65 70 74 68 29 29 0a 20 20 20 20 7d 0a w().node()),.self.depth)).....}.
46a0 0a 20 20 20 20 66 6e 20 63 6c 6f 73 65 28 26 6d 75 74 20 73 65 6c 66 29 20 7b 0a 20 20 20 20 20 .....fn.close(&mut.self).{......
46c0 20 20 20 73 65 6c 66 2e 73 74 61 74 65 20 3d 20 44 6f 6e 65 3b 0a 20 20 20 20 7d 0a 7d 0a 0a 69 ...self.state.=.Done;.....}.}..i
46e0 6d 70 6c 20 49 74 65 72 61 74 6f 72 20 66 6f 72 20 44 65 70 74 68 46 69 72 73 74 49 74 65 72 61 mpl.Iterator.for.DepthFirstItera
4700 74 6f 72 20 7b 0a 20 20 20 20 74 79 70 65 20 49 74 65 6d 20 3d 20 28 52 4e 6f 64 65 2c 20 75 73 tor.{.....type.Item.=.(RNode,.us
4720 69 7a 65 29 3b 0a 0a 20 20 20 20 66 6e 20 6e 65 78 74 28 26 6d 75 74 20 73 65 6c 66 29 20 2d 3e ize);......fn.next(&mut.self).->
4740 20 4f 70 74 69 6f 6e 3c 53 65 6c 66 3a 3a 49 74 65 6d 3e 20 7b 0a 20 20 20 20 20 20 20 20 6d 61 .Option<Self::Item>.{.........ma
4760 74 63 68 20 73 65 6c 66 2e 73 74 61 74 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 53 74 61 tch.self.state.{.............Sta
4780 72 74 20 3d 3e 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 74 61 rt.=>.{.................self.sta
47a0 74 65 20 3d 20 44 6f 77 6e 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e te.=.Down;.................self.
47c0 69 74 65 6d 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 item().............}............
47e0 20 44 6f 77 6e 20 3d 3e 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 73 65 .Down.=>.{.................if.se
4800 6c 66 2e 63 75 72 73 6f 72 2e 62 6f 72 72 6f 77 5f 6d 75 74 28 29 2e 67 6f 74 6f 5f 66 69 72 73 lf.cursor.borrow_mut().goto_firs
4820 74 5f 63 68 69 6c 64 28 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t_child().{.....................
4840 73 65 6c 66 2e 64 65 70 74 68 20 2b 3d 20 31 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 self.depth.+=.1;................
4860 20 20 20 20 20 73 65 6c 66 2e 69 74 65 6d 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .....self.item()................
4880 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 .}.else.{.....................se
48a0 6c 66 2e 73 74 61 74 65 20 3d 20 52 69 67 68 74 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 lf.state.=.Right;...............
48c0 20 20 20 20 20 20 73 65 6c 66 2e 6e 65 78 74 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......self.next()...............
48e0 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 52 69 ..}.............}.............Ri
4900 67 68 74 20 3d 3e 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 73 65 6c 66 ght.=>.{.................if.self
4920 2e 63 75 72 73 6f 72 2e 62 6f 72 72 6f 77 5f 6d 75 74 28 29 2e 67 6f 74 6f 5f 6e 65 78 74 5f 73 .cursor.borrow_mut().goto_next_s
4940 69 62 6c 69 6e 67 28 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 ibling().{.....................s
4960 65 6c 66 2e 73 74 61 74 65 20 3d 20 44 6f 77 6e 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 elf.state.=.Down;...............
4980 20 20 20 20 20 20 73 65 6c 66 2e 69 74 65 6d 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......self.item()...............
49a0 20 20 7d 20 65 6c 73 65 20 69 66 20 73 65 6c 66 2e 63 75 72 73 6f 72 2e 62 6f 72 72 6f 77 5f 6d ..}.else.if.self.cursor.borrow_m
49c0 75 74 28 29 2e 67 6f 74 6f 5f 70 61 72 65 6e 74 28 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ut().goto_parent().{............
49e0 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 64 65 70 74 68 20 2d 3d 20 31 3b 0a 20 20 20 20 20 20 .........self.depth.-=.1;.......
4a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 6e 65 78 74 28 29 0a 20 20 20 20 20 20 ..............self.next().......
4a20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..........}.else.{..............
4a40 20 20 20 20 20 20 20 73 65 6c 66 2e 73 74 61 74 65 20 3d 20 44 6f 6e 65 3b 0a 20 20 20 20 20 20 .......self.state.=.Done;.......
4a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 6e 65 78 74 28 29 0a 20 20 20 20 20 20 ..............self.next().......
4a80 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 ..........}.............}.......
4aa0 20 20 20 20 20 20 44 6f 6e 65 20 3d 3e 20 4e 6f 6e 65 2c 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 ......Done.=>.None,.........}...
4ac0 20 20 7d 0a 7d 0a 0a 2f 2f 2f 20 43 72 65 61 74 65 20 61 20 6e 65 77 20 64 65 70 74 68 2d 66 69 ..}.}..///.Create.a.new.depth-fi
4ae0 72 73 74 20 69 74 65 72 61 74 6f 72 20 66 72 6f 6d 20 74 68 65 20 67 69 76 65 6e 20 54 52 45 45 rst.iterator.from.the.given.TREE
4b00 2d 4f 52 2d 4e 4f 44 45 2e 0a 2f 2f 2f 20 54 68 65 20 74 72 61 76 65 72 73 61 6c 20 69 73 20 70 -OR-NODE..///.The.traversal.is.p
4b20 72 65 2d 6f 72 64 65 72 2e 0a 23 5b 64 65 66 75 6e 28 75 73 65 72 5f 70 74 72 29 5d 0a 66 6e 20 re-order..#[defun(user_ptr)].fn.
4b40 5f 69 74 65 72 28 74 72 65 65 5f 6f 72 5f 6e 6f 64 65 3a 20 54 72 65 65 4f 72 4e 6f 64 65 29 20 _iter(tree_or_node:.TreeOrNode).
4b60 2d 3e 20 52 65 73 75 6c 74 3c 44 65 70 74 68 46 69 72 73 74 49 74 65 72 61 74 6f 72 3e 20 7b 0a ->.Result<DepthFirstIterator>.{.
4b80 20 20 20 20 4f 6b 28 44 65 70 74 68 46 69 72 73 74 49 74 65 72 61 74 6f 72 3a 3a 6e 65 77 28 74 ....Ok(DepthFirstIterator::new(t
4ba0 72 65 65 5f 6f 72 5f 6e 6f 64 65 29 29 0a 7d 0a 0a 2f 2f 2f 20 4d 6f 76 65 20 49 54 45 52 41 54 ree_or_node)).}..///.Move.ITERAT
4bc0 4f 52 20 74 6f 20 74 68 65 20 6e 65 78 74 20 6e 6f 64 65 2e 0a 2f 2f 2f 20 52 65 74 75 72 6e 20 OR.to.the.next.node..///.Return.
4be0 74 20 69 66 20 49 54 45 52 41 54 4f 52 20 73 75 63 63 65 73 73 66 75 6c 6c 79 20 6d 6f 76 65 64 t.if.ITERATOR.successfully.moved
4c00 2c 20 6e 69 6c 20 69 66 20 74 68 65 72 65 20 77 61 73 20 6e 6f 20 6e 65 78 74 20 6e 6f 64 65 2c ,.nil.if.there.was.no.next.node,
4c20 20 6f 72 20 69 66 0a 2f 2f 2f 20 49 54 45 52 41 54 4f 52 20 77 61 73 20 63 6c 6f 73 65 64 2e 0a .or.if.///.ITERATOR.was.closed..
4c40 23 5b 64 65 66 75 6e 5d 0a 66 6e 20 5f 69 74 65 72 5f 6e 65 78 74 28 69 74 65 72 61 74 6f 72 3a #[defun].fn._iter_next(iterator:
4c60 20 26 6d 75 74 20 44 65 70 74 68 46 69 72 73 74 49 74 65 72 61 74 6f 72 29 20 2d 3e 20 52 65 73 .&mut.DepthFirstIterator).->.Res
4c80 75 6c 74 3c 62 6f 6f 6c 3e 20 7b 0a 20 20 20 20 4f 6b 28 69 74 65 72 61 74 6f 72 2e 6e 65 78 74 ult<bool>.{.....Ok(iterator.next
4ca0 28 29 2e 69 73 5f 73 6f 6d 65 28 29 29 0a 7d 0a 0a 2f 2f 2f 20 43 6c 6f 73 65 20 49 54 45 52 41 ().is_some()).}..///.Close.ITERA
4cc0 54 4f 52 2e 0a 23 5b 64 65 66 75 6e 5d 0a 66 6e 20 5f 69 74 65 72 5f 63 6c 6f 73 65 28 69 74 65 TOR..#[defun].fn._iter_close(ite
4ce0 72 61 74 6f 72 3a 20 26 6d 75 74 20 44 65 70 74 68 46 69 72 73 74 49 74 65 72 61 74 6f 72 29 20 rator:.&mut.DepthFirstIterator).
4d00 2d 3e 20 52 65 73 75 6c 74 3c 28 29 3e 20 7b 0a 20 20 20 20 4f 6b 28 69 74 65 72 61 74 6f 72 2e ->.Result<()>.{.....Ok(iterator.
4d20 63 6c 6f 73 65 28 29 29 0a 7d 0a 0a 23 5b 64 65 72 69 76 65 28 43 6c 6f 6e 65 2c 20 43 6f 70 79 close()).}..#[derive(Clone,.Copy
4d40 29 5d 0a 65 6e 75 6d 20 56 65 63 74 6f 72 4f 72 4b 65 79 77 6f 72 64 3c 27 65 3e 20 7b 0a 20 20 )].enum.VectorOrKeyword<'e>.{...
4d60 20 20 56 65 63 74 6f 72 28 56 65 63 74 6f 72 3c 27 65 3e 29 2c 0a 20 20 20 20 4b 65 79 77 6f 72 ..Vector(Vector<'e>),.....Keywor
4d80 64 28 56 61 6c 75 65 3c 27 65 3e 29 2c 0a 7d 0a 0a 69 6d 70 6c 3c 27 65 3e 20 46 72 6f 6d 4c 69 d(Value<'e>),.}..impl<'e>.FromLi
4da0 73 70 3c 27 65 3e 20 66 6f 72 20 56 65 63 74 6f 72 4f 72 4b 65 79 77 6f 72 64 3c 27 65 3e 20 7b sp<'e>.for.VectorOrKeyword<'e>.{
4dc0 0a 20 20 20 20 66 6e 20 66 72 6f 6d 5f 6c 69 73 70 28 76 61 6c 75 65 3a 20 56 61 6c 75 65 3c 27 .....fn.from_lisp(value:.Value<'
4de0 65 3e 29 20 2d 3e 20 52 65 73 75 6c 74 3c 53 65 6c 66 3e 20 7b 0a 20 20 20 20 20 20 20 20 69 66 e>).->.Result<Self>.{.........if
4e00 20 6c 65 74 20 4f 6b 28 76 61 6c 75 65 29 20 3d 20 76 61 6c 75 65 2e 69 6e 74 6f 5f 72 75 73 74 .let.Ok(value).=.value.into_rust
4e20 3a 3a 3c 56 65 63 74 6f 72 3e 28 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 4f 6b 28 53 65 ::<Vector>().{.............Ok(Se
4e40 6c 66 3a 3a 56 65 63 74 6f 72 28 76 61 6c 75 65 29 29 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 lf::Vector(value)).........}.els
4e60 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 54 4f 44 4f 3a 20 56 65 72 69 66 79 20 e.{.............//.TODO:.Verify.
4e80 74 68 61 74 20 69 74 27 73 20 61 20 76 61 6c 69 64 20 6e 6f 64 65 20 70 72 6f 70 65 72 74 79 0a that.it's.a.valid.node.property.
4ea0 20 20 20 20 20 20 20 20 20 20 20 20 4f 6b 28 53 65 6c 66 3a 3a 4b 65 79 77 6f 72 64 28 76 61 6c ............Ok(Self::Keyword(val
4ec0 75 65 29 29 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 7d 0a 0a 2f 2f 2f 20 52 65 74 75 ue)).........}.....}.}..///.Retu
4ee0 72 6e 20 74 68 65 20 70 72 6f 70 65 72 74 69 65 73 20 6f 66 20 49 54 45 52 41 54 4f 52 27 73 20 rn.the.properties.of.ITERATOR's.
4f00 63 75 72 72 65 6e 74 20 6e 6f 64 65 2c 20 6f 72 20 74 68 65 20 6e 6f 64 65 20 69 74 73 65 6c 66 current.node,.or.the.node.itself
4f20 2e 0a 2f 2f 2f 0a 2f 2f 2f 20 49 66 20 50 52 4f 50 53 20 69 73 20 61 20 76 65 63 74 6f 72 20 6f ..///.///.If.PROPS.is.a.vector.o
4f40 66 20 70 72 6f 70 65 72 74 79 20 6e 61 6d 65 73 2c 20 72 65 74 75 72 6e 20 61 20 76 65 63 74 6f f.property.names,.return.a.vecto
4f60 72 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 6e 6f 64 65 27 73 0a 2f 2f 2f 20 63 6f 72 72 r.containing.the.node's.///.corr
4f80 65 73 70 6f 6e 64 69 6e 67 20 70 72 6f 70 65 72 74 69 65 73 2e 20 49 66 20 4f 55 54 50 55 54 20 esponding.properties..If.OUTPUT.
4fa0 69 73 20 61 6c 73 6f 20 6e 6f 6e 2d 6e 69 6c 2c 20 69 74 20 6d 75 73 74 20 62 65 20 61 20 76 65 is.also.non-nil,.it.must.be.a.ve
4fc0 63 74 6f 72 20 6f 66 20 74 68 65 0a 2f 2f 2f 20 73 61 6d 65 20 6c 65 6e 67 74 68 2c 20 77 68 65 ctor.of.the.///.same.length,.whe
4fe0 72 65 20 74 68 65 20 70 72 6f 70 65 72 74 69 65 73 20 77 69 6c 6c 20 62 65 20 77 72 69 74 74 65 re.the.properties.will.be.writte
5000 6e 20 69 6e 74 6f 2e 0a 2f 2f 2f 0a 2f 2f 2f 20 49 66 20 50 52 4f 50 53 20 69 73 20 61 20 73 69 n.into..///.///.If.PROPS.is.a.si
5020 6e 67 6c 65 20 70 72 6f 70 65 72 74 79 20 6e 61 6d 65 2c 20 72 65 74 75 72 6e 20 74 68 61 74 20 ngle.property.name,.return.that.
5040 70 72 6f 70 65 72 74 79 2e 0a 2f 2f 2f 0a 2f 2f 2f 20 49 66 20 50 52 4f 50 53 20 69 73 20 6e 69 property..///.///.If.PROPS.is.ni
5060 6c 2c 20 72 65 74 75 72 6e 20 74 68 65 20 6e 6f 64 65 20 69 74 73 65 6c 66 2e 0a 2f 2f 2f 0a 2f l,.return.the.node.itself..///./
5080 2f 2f 20 53 65 65 20 60 74 73 63 2d 76 61 6c 69 64 2d 6e 6f 64 65 2d 70 72 6f 70 73 27 20 66 6f //.See.`tsc-valid-node-props'.fo
50a0 72 20 74 68 65 20 6c 69 73 74 20 6f 66 20 61 76 61 69 6c 61 62 6c 65 20 70 72 6f 70 65 72 74 69 r.the.list.of.available.properti
50c0 65 73 2e 0a 23 5b 64 65 66 75 6e 5d 0a 66 6e 20 5f 69 74 65 72 5f 63 75 72 72 65 6e 74 5f 6e 6f es..#[defun].fn._iter_current_no
50e0 64 65 3c 27 65 3e 28 0a 20 20 20 20 69 74 65 72 61 74 6f 72 3a 20 26 6d 75 74 20 44 65 70 74 68 de<'e>(.....iterator:.&mut.Depth
5100 46 69 72 73 74 49 74 65 72 61 74 6f 72 2c 0a 20 20 20 20 70 72 6f 70 73 3a 20 4f 70 74 69 6f 6e FirstIterator,.....props:.Option
5120 3c 56 65 63 74 6f 72 4f 72 4b 65 79 77 6f 72 64 3c 27 65 3e 3e 2c 0a 20 20 20 20 6f 75 74 70 75 <VectorOrKeyword<'e>>,.....outpu
5140 74 3a 20 4f 70 74 69 6f 6e 3c 56 65 63 74 6f 72 3c 27 65 3e 3e 2c 0a 20 20 20 20 65 6e 76 3a 20 t:.Option<Vector<'e>>,.....env:.
5160 26 27 65 20 45 6e 76 2c 0a 29 20 2d 3e 20 52 65 73 75 6c 74 3c 56 61 6c 75 65 3c 27 65 3e 3e 20 &'e.Env,.).->.Result<Value<'e>>.
5180 7b 0a 20 20 20 20 6c 65 74 20 63 75 72 73 6f 72 20 3d 20 26 69 74 65 72 61 74 6f 72 2e 63 75 72 {.....let.cursor.=.&iterator.cur
51a0 73 6f 72 3b 0a 20 20 20 20 6d 61 74 63 68 20 70 72 6f 70 73 20 7b 0a 20 20 20 20 20 20 20 20 53 sor;.....match.props.{.........S
51c0 6f 6d 65 28 56 65 63 74 6f 72 4f 72 4b 65 79 77 6f 72 64 3a 3a 4b 65 79 77 6f 72 64 28 70 72 6f ome(VectorOrKeyword::Keyword(pro
51e0 70 29 29 20 69 66 20 70 72 6f 70 2e 65 71 28 5f 64 65 70 74 68 2e 62 69 6e 64 28 65 6e 76 29 29 p)).if.prop.eq(_depth.bind(env))
5200 20 3d 3e 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 74 65 72 61 74 6f 72 2e 64 65 70 74 68 .=>.{.............iterator.depth
5220 2e 69 6e 74 6f 5f 6c 69 73 70 28 65 6e 76 29 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 .into_lisp(env).........}.......
5240 20 20 5f 20 3d 3e 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 6c 65 74 20 72 65 73 75 6c 74 20 .._.=>.{.............let.result.
5260 3d 20 5f 63 75 72 72 65 6e 74 5f 6e 6f 64 65 28 63 75 72 73 6f 72 2c 20 70 72 6f 70 73 2c 20 6f =._current_node(cursor,.props,.o
5280 75 74 70 75 74 2c 20 65 6e 76 29 3f 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 6c 65 74 utput,.env)?;.............if.let
52a0 20 53 6f 6d 65 28 56 65 63 74 6f 72 4f 72 4b 65 79 77 6f 72 64 3a 3a 56 65 63 74 6f 72 28 70 72 .Some(VectorOrKeyword::Vector(pr
52c0 6f 70 73 29 29 20 3d 20 70 72 6f 70 73 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ops)).=.props.{.................
52e0 69 66 20 6c 65 74 20 53 6f 6d 65 28 6f 75 74 70 75 74 29 20 3d 20 6f 75 74 70 75 74 20 7b 0a 20 if.let.Some(output).=.output.{..
5300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 69 2c 20 70 72 6f 70 29 ...................for.(i,.prop)
5320 20 69 6e 20 70 72 6f 70 73 2e 69 6e 74 6f 5f 69 74 65 72 28 29 2e 65 6e 75 6d 65 72 61 74 65 28 .in.props.into_iter().enumerate(
5340 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 70 ).{.........................if.p
5360 72 6f 70 2e 65 71 28 5f 64 65 70 74 68 2e 62 69 6e 64 28 65 6e 76 29 29 20 7b 0a 20 20 20 20 20 rop.eq(_depth.bind(env)).{......
5380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74 70 75 74 2e 73 65 .......................output.se
53a0 74 28 69 2c 20 69 74 65 72 61 74 6f 72 2e 64 65 70 74 68 29 3f 3b 0a 20 20 20 20 20 20 20 20 20 t(i,.iterator.depth)?;..........
53c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...............}................
53e0 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a .....}.................}.else.{.
5400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 6f 64 6f 21 28 29 0a 20 20 20 20 ....................todo!().....
5420 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 ............}.............}.....
5440 20 20 20 20 20 20 20 20 4f 6b 28 72 65 73 75 6c 74 29 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 ........Ok(result).........}....
5460 20 7d 0a 7d 0a 0a 2f 2f 2f 20 4d 6f 76 65 20 49 54 45 52 41 54 4f 52 20 74 6f 20 74 68 65 20 6e .}.}..///.Move.ITERATOR.to.the.n
5480 65 78 74 20 6e 6f 64 65 2c 20 61 6e 64 20 72 65 74 72 69 65 76 65 20 69 74 73 20 70 72 6f 70 65 ext.node,.and.retrieve.its.prope
54a0 72 74 69 65 73 2c 20 6f 72 20 74 68 65 20 6e 6f 64 65 20 69 74 73 65 6c 66 2e 0a 2f 2f 2f 0a 2f rties,.or.the.node.itself..///./
54c0 2f 2f 20 54 68 69 73 20 61 20 63 6f 6d 62 69 6e 61 74 69 6f 6e 20 6f 66 20 60 74 73 63 2d 2d 69 //.This.a.combination.of.`tsc--i
54e0 74 65 72 2d 6e 65 78 74 27 20 61 6e 64 20 60 74 73 63 2d 2d 69 74 65 72 2d 63 75 72 72 65 6e 74 ter-next'.and.`tsc--iter-current
5500 2d 6e 6f 64 65 27 2e 0a 23 5b 64 65 66 75 6e 5d 0a 66 6e 20 5f 69 74 65 72 5f 6e 65 78 74 5f 6e -node'..#[defun].fn._iter_next_n
5520 6f 64 65 3c 27 65 3e 28 0a 20 20 20 20 69 74 65 72 61 74 6f 72 3a 20 26 6d 75 74 20 44 65 70 74 ode<'e>(.....iterator:.&mut.Dept
5540 68 46 69 72 73 74 49 74 65 72 61 74 6f 72 2c 0a 20 20 20 20 70 72 6f 70 73 3a 20 4f 70 74 69 6f hFirstIterator,.....props:.Optio
5560 6e 3c 56 65 63 74 6f 72 4f 72 4b 65 79 77 6f 72 64 3c 27 65 3e 3e 2c 0a 20 20 20 20 6f 75 74 70 n<VectorOrKeyword<'e>>,.....outp
5580 75 74 3a 20 4f 70 74 69 6f 6e 3c 56 65 63 74 6f 72 3c 27 65 3e 3e 2c 0a 20 20 20 20 65 6e 76 3a ut:.Option<Vector<'e>>,.....env:
55a0 20 26 27 65 20 45 6e 76 2c 0a 29 20 2d 3e 20 52 65 73 75 6c 74 3c 4f 70 74 69 6f 6e 3c 56 61 6c .&'e.Env,.).->.Result<Option<Val
55c0 75 65 3c 27 65 3e 3e 3e 20 7b 0a 20 20 20 20 69 66 20 69 74 65 72 61 74 6f 72 2e 6e 65 78 74 28 ue<'e>>>.{.....if.iterator.next(
55e0 29 2e 69 73 5f 73 6f 6d 65 28 29 20 7b 0a 20 20 20 20 20 20 20 20 4f 6b 28 53 6f 6d 65 28 5f 69 ).is_some().{.........Ok(Some(_i
5600 74 65 72 5f 63 75 72 72 65 6e 74 5f 6e 6f 64 65 28 69 74 65 72 61 74 6f 72 2c 20 70 72 6f 70 73 ter_current_node(iterator,.props
5620 2c 20 6f 75 74 70 75 74 2c 20 65 6e 76 29 3f 29 29 0a 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 ,.output,.env)?)).....}.else.{..
5640 20 20 20 20 20 20 20 4f 6b 28 4e 6f 6e 65 29 0a 20 20 20 20 7d 0a 7d 0a 0a 66 6e 20 67 65 74 3c .......Ok(None).....}.}..fn.get<
5660 27 65 3e 28 70 72 6f 70 3a 20 56 61 6c 75 65 3c 27 65 3e 2c 20 6e 6f 64 65 3a 20 4e 6f 64 65 2c 'e>(prop:.Value<'e>,.node:.Node,
5680 20 63 75 72 73 6f 72 3a 20 26 52 43 75 72 73 6f 72 29 20 2d 3e 20 52 65 73 75 6c 74 3c 56 61 6c .cursor:.&RCursor).->.Result<Val
56a0 75 65 3c 27 65 3e 3e 20 7b 0a 20 20 20 20 6d 61 63 72 6f 5f 72 75 6c 65 73 21 20 73 75 67 61 72 ue<'e>>.{.....macro_rules!.sugar
56c0 20 7b 0a 20 20 20 20 20 20 20 20 28 24 70 72 6f 70 3a 69 64 65 6e 74 2c 20 24 65 6e 76 3a 69 64 .{.........($prop:ident,.$env:id
56e0 65 6e 74 29 20 3d 3e 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 63 72 6f 5f 72 75 6c 65 ent).=>.{.............macro_rule
5700 73 21 20 65 71 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 24 6e 61 6d 65 3a 69 s!.eq.{.................($name:i
5720 64 65 6e 74 29 20 3d 3e 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 dent).=>.{.....................$
5740 70 72 6f 70 2e 65 71 28 24 6e 61 6d 65 2e 62 69 6e 64 28 24 65 6e 76 29 29 0a 20 20 20 20 20 20 prop.eq($name.bind($env)).......
5760 20 20 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 ..........};.............}......
5780 20 20 20 7d 3b 0a 20 20 20 20 7d 0a 20 20 20 20 6c 65 74 20 65 6e 76 20 3d 20 70 72 6f 70 2e 65 ...};.....}.....let.env.=.prop.e
57a0 6e 76 3b 0a 20 20 20 20 73 75 67 61 72 21 28 70 72 6f 70 2c 20 65 6e 76 29 3b 0a 20 20 20 20 69 nv;.....sugar!(prop,.env);.....i
57c0 66 20 65 71 21 28 5f 74 79 70 65 29 20 7b 0a 20 20 20 20 20 20 20 20 6e 6f 64 65 2e 6c 69 73 70 f.eq!(_type).{.........node.lisp
57e0 5f 74 79 70 65 28 29 2e 69 6e 74 6f 5f 6c 69 73 70 28 65 6e 76 29 0a 20 20 20 20 7d 20 65 6c 73 _type().into_lisp(env).....}.els
5800 65 20 69 66 20 65 71 21 28 5f 62 79 74 65 5f 72 61 6e 67 65 29 20 7b 0a 20 20 20 20 20 20 20 20 e.if.eq!(_byte_range).{.........
5820 6e 6f 64 65 2e 6c 69 73 70 5f 62 79 74 65 5f 72 61 6e 67 65 28 65 6e 76 29 0a 20 20 20 20 7d 20 node.lisp_byte_range(env).....}.
5840 65 6c 73 65 20 69 66 20 65 71 21 28 5f 73 74 61 72 74 5f 62 79 74 65 29 20 7b 0a 20 20 20 20 20 else.if.eq!(_start_byte).{......
5860 20 20 20 6e 6f 64 65 2e 6c 69 73 70 5f 73 74 61 72 74 5f 62 79 74 65 28 29 2e 69 6e 74 6f 5f 6c ...node.lisp_start_byte().into_l
5880 69 73 70 28 65 6e 76 29 0a 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 65 71 21 28 5f 65 6e 64 5f isp(env).....}.else.if.eq!(_end_
58a0 62 79 74 65 29 20 7b 0a 20 20 20 20 20 20 20 20 6e 6f 64 65 2e 6c 69 73 70 5f 65 6e 64 5f 62 79 byte).{.........node.lisp_end_by
58c0 74 65 28 29 2e 69 6e 74 6f 5f 6c 69 73 70 28 65 6e 76 29 0a 20 20 20 20 7d 20 65 6c 73 65 20 69 te().into_lisp(env).....}.else.i
58e0 66 20 65 71 21 28 5f 66 69 65 6c 64 29 20 7b 0a 20 20 20 20 20 20 20 20 63 75 72 72 65 6e 74 5f f.eq!(_field).{.........current_
5900 66 69 65 6c 64 28 63 75 72 73 6f 72 29 3f 2e 69 6e 74 6f 5f 6c 69 73 70 28 65 6e 76 29 0a 20 20 field(cursor)?.into_lisp(env)...
5920 20 20 7d 20 65 6c 73 65 20 69 66 20 65 71 21 28 5f 6e 61 6d 65 64 5f 70 29 20 7b 0a 20 20 20 20 ..}.else.if.eq!(_named_p).{.....
5940 20 20 20 20 6e 6f 64 65 2e 69 73 5f 6e 61 6d 65 64 28 29 2e 69 6e 74 6f 5f 6c 69 73 70 28 65 6e ....node.is_named().into_lisp(en
5960 76 29 0a 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 65 71 21 28 5f 65 78 74 72 61 5f 70 29 20 7b v).....}.else.if.eq!(_extra_p).{
5980 0a 20 20 20 20 20 20 20 20 6e 6f 64 65 2e 69 73 5f 65 78 74 72 61 28 29 2e 69 6e 74 6f 5f 6c 69 .........node.is_extra().into_li
59a0 73 70 28 65 6e 76 29 0a 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 65 71 21 28 5f 65 72 72 6f 72 sp(env).....}.else.if.eq!(_error
59c0 5f 70 29 20 7b 0a 20 20 20 20 20 20 20 20 6e 6f 64 65 2e 69 73 5f 65 72 72 6f 72 28 29 2e 69 6e _p).{.........node.is_error().in
59e0 74 6f 5f 6c 69 73 70 28 65 6e 76 29 0a 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 65 71 21 28 5f to_lisp(env).....}.else.if.eq!(_
5a00 6d 69 73 73 69 6e 67 5f 70 29 20 7b 0a 20 20 20 20 20 20 20 20 6e 6f 64 65 2e 69 73 5f 6d 69 73 missing_p).{.........node.is_mis
5a20 73 69 6e 67 28 29 2e 69 6e 74 6f 5f 6c 69 73 70 28 65 6e 76 29 0a 20 20 20 20 7d 20 65 6c 73 65 sing().into_lisp(env).....}.else
5a40 20 69 66 20 65 71 21 28 5f 68 61 73 5f 65 72 72 6f 72 5f 70 29 20 7b 0a 20 20 20 20 20 20 20 20 .if.eq!(_has_error_p).{.........
5a60 6e 6f 64 65 2e 68 61 73 5f 65 72 72 6f 72 28 29 2e 69 6e 74 6f 5f 6c 69 73 70 28 65 6e 76 29 0a node.has_error().into_lisp(env).
5a80 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 65 71 21 28 5f 73 74 61 72 74 5f 70 6f 69 6e 74 29 20 ....}.else.if.eq!(_start_point).
5aa0 7b 0a 20 20 20 20 20 20 20 20 6e 6f 64 65 2e 6c 69 73 70 5f 73 74 61 72 74 5f 70 6f 69 6e 74 28 {.........node.lisp_start_point(
5ac0 29 2e 69 6e 74 6f 5f 6c 69 73 70 28 65 6e 76 29 0a 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 65 ).into_lisp(env).....}.else.if.e
5ae0 71 21 28 5f 65 6e 64 5f 70 6f 69 6e 74 29 20 7b 0a 20 20 20 20 20 20 20 20 6e 6f 64 65 2e 6c 69 q!(_end_point).{.........node.li
5b00 73 70 5f 65 6e 64 5f 70 6f 69 6e 74 28 29 2e 69 6e 74 6f 5f 6c 69 73 70 28 65 6e 76 29 0a 20 20 sp_end_point().into_lisp(env)...
5b20 20 20 7d 20 65 6c 73 65 20 69 66 20 65 71 21 28 5f 72 61 6e 67 65 29 20 7b 0a 20 20 20 20 20 20 ..}.else.if.eq!(_range).{.......
5b40 20 20 6e 6f 64 65 2e 6c 69 73 70 5f 72 61 6e 67 65 28 29 2e 69 6e 74 6f 5f 6c 69 73 70 28 65 6e ..node.lisp_range().into_lisp(en
5b60 76 29 0a 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 20 46 49 58 3a 20 v).....}.else.{.........//.FIX:.
5b80 53 69 67 6e 61 6c 20 61 6e 20 65 72 72 6f 72 20 69 6e 73 74 65 61 64 2e 0a 20 20 20 20 20 20 20 Signal.an.error.instead.........
5ba0 20 28 29 2e 69 6e 74 6f 5f 6c 69 73 70 28 65 6e 76 29 0a 20 20 20 20 7d 0a 7d 0a 0a 2f 2f 2f 20 .().into_lisp(env).....}.}..///.
5bc0 52 65 74 75 72 6e 20 74 68 65 20 70 72 6f 70 65 72 74 69 65 73 20 6f 66 20 43 55 52 53 4f 52 27 Return.the.properties.of.CURSOR'
5be0 73 20 63 75 72 72 65 6e 74 20 6e 6f 64 65 2c 20 6f 72 20 74 68 65 20 6e 6f 64 65 20 69 74 73 65 s.current.node,.or.the.node.itse
5c00 6c 66 2e 0a 2f 2f 2f 0a 2f 2f 2f 20 49 66 20 50 52 4f 50 53 20 69 73 20 61 20 76 65 63 74 6f 72 lf..///.///.If.PROPS.is.a.vector
5c20 20 6f 66 20 70 72 6f 70 65 72 74 79 20 6e 61 6d 65 73 2c 20 72 65 74 75 72 6e 20 61 20 76 65 63 .of.property.names,.return.a.vec
5c40 74 6f 72 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 6e 6f 64 65 27 73 0a 2f 2f 2f 20 63 6f tor.containing.the.node's.///.co
5c60 72 72 65 73 70 6f 6e 64 69 6e 67 20 70 72 6f 70 65 72 74 69 65 73 2e 20 49 66 20 4f 55 54 50 55 rresponding.properties..If.OUTPU
5c80 54 20 69 73 20 61 6c 73 6f 20 6e 6f 6e 2d 6e 69 6c 2c 20 69 74 20 6d 75 73 74 20 62 65 20 61 20 T.is.also.non-nil,.it.must.be.a.
5ca0 76 65 63 74 6f 72 20 6f 66 20 74 68 65 0a 2f 2f 2f 20 73 61 6d 65 20 6c 65 6e 67 74 68 2c 20 77 vector.of.the.///.same.length,.w
5cc0 68 65 72 65 20 74 68 65 20 70 72 6f 70 65 72 74 69 65 73 20 77 69 6c 6c 20 62 65 20 77 72 69 74 here.the.properties.will.be.writ
5ce0 74 65 6e 20 69 6e 74 6f 2e 0a 2f 2f 2f 0a 2f 2f 2f 20 49 66 20 50 52 4f 50 53 20 69 73 20 61 20 ten.into..///.///.If.PROPS.is.a.
5d00 73 69 6e 67 6c 65 20 70 72 6f 70 65 72 74 79 20 6e 61 6d 65 2c 20 72 65 74 75 72 6e 20 74 68 61 single.property.name,.return.tha
5d20 74 20 70 72 6f 70 65 72 74 79 2e 0a 2f 2f 2f 0a 2f 2f 2f 20 49 66 20 50 52 4f 50 53 20 69 73 20 t.property..///.///.If.PROPS.is.
5d40 6e 69 6c 2c 20 72 65 74 75 72 6e 20 74 68 65 20 6e 6f 64 65 20 69 74 73 65 6c 66 2e 0a 2f 2f 2f nil,.return.the.node.itself..///
5d60 0a 2f 2f 2f 20 53 65 65 20 60 74 73 63 2d 76 61 6c 69 64 2d 6e 6f 64 65 2d 70 72 6f 70 73 27 20 .///.See.`tsc-valid-node-props'.
5d80 66 6f 72 20 74 68 65 20 6c 69 73 74 20 6f 66 20 61 76 61 69 6c 61 62 6c 65 20 70 72 6f 70 65 72 for.the.list.of.available.proper
5da0 74 69 65 73 2e 0a 23 5b 64 65 66 75 6e 5d 0a 66 6e 20 5f 63 75 72 72 65 6e 74 5f 6e 6f 64 65 3c ties..#[defun].fn._current_node<
5dc0 27 65 3e 28 0a 20 20 20 20 63 75 72 73 6f 72 3a 20 26 52 43 75 72 73 6f 72 2c 0a 20 20 20 20 70 'e>(.....cursor:.&RCursor,.....p
5de0 72 6f 70 73 3a 20 4f 70 74 69 6f 6e 3c 56 65 63 74 6f 72 4f 72 4b 65 79 77 6f 72 64 3c 27 65 3e rops:.Option<VectorOrKeyword<'e>
5e00 3e 2c 0a 20 20 20 20 6f 75 74 70 75 74 3a 20 4f 70 74 69 6f 6e 3c 56 65 63 74 6f 72 3c 27 65 3e >,.....output:.Option<Vector<'e>
5e20 3e 2c 0a 20 20 20 20 65 6e 76 3a 20 26 27 65 20 45 6e 76 2c 0a 29 20 2d 3e 20 52 65 73 75 6c 74 >,.....env:.&'e.Env,.).->.Result
5e40 3c 56 61 6c 75 65 3c 27 65 3e 3e 20 7b 0a 20 20 20 20 6c 65 74 20 6e 6f 64 65 20 3d 20 63 75 72 <Value<'e>>.{.....let.node.=.cur
5e60 73 6f 72 2e 62 6f 72 72 6f 77 28 29 2e 6e 6f 64 65 28 29 3b 0a 20 20 20 20 6d 61 74 63 68 20 70 sor.borrow().node();.....match.p
5e80 72 6f 70 73 20 7b 0a 20 20 20 20 20 20 20 20 4e 6f 6e 65 20 3d 3e 20 52 4e 6f 64 65 3a 3a 6e 65 rops.{.........None.=>.RNode::ne
5ea0 77 28 63 75 72 73 6f 72 2e 63 6c 6f 6e 65 5f 74 72 65 65 28 29 2c 20 7c 5f 7c 20 6e 6f 64 65 29 w(cursor.clone_tree(),.|_|.node)
5ec0 2e 69 6e 74 6f 5f 6c 69 73 70 28 65 6e 76 29 2c 0a 20 20 20 20 20 20 20 20 53 6f 6d 65 28 56 65 .into_lisp(env),.........Some(Ve
5ee0 63 74 6f 72 4f 72 4b 65 79 77 6f 72 64 3a 3a 56 65 63 74 6f 72 28 70 72 6f 70 73 29 29 20 3d 3e ctorOrKeyword::Vector(props)).=>
5f00 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 6c 65 74 20 72 65 73 75 6c 74 20 3d 20 6d 61 74 63 .{.............let.result.=.matc
5f20 68 20 6f 75 74 70 75 74 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4e 6f 6e 65 20 h.output.{.................None.
5f40 3d 3e 20 65 6e 76 2e 6d 61 6b 65 5f 76 65 63 74 6f 72 28 70 72 6f 70 73 2e 6c 65 6e 28 29 2c 20 =>.env.make_vector(props.len(),.
5f60 28 29 29 3f 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 6f 6d 65 28 6f 75 74 70 75 ())?,.................Some(outpu
5f80 74 29 20 3d 3e 20 6f 75 74 70 75 74 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 t).=>.output,.............};....
5fa0 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 69 2c 20 70 72 6f 70 29 20 69 6e 20 70 72 6f 70 73 2e .........for.(i,.prop).in.props.
5fc0 69 6e 74 6f 5f 69 74 65 72 28 29 2e 65 6e 75 6d 65 72 61 74 65 28 29 20 7b 0a 20 20 20 20 20 20 into_iter().enumerate().{.......
5fe0 20 20 20 20 20 20 20 20 20 20 72 65 73 75 6c 74 2e 73 65 74 28 69 2c 20 67 65 74 28 70 72 6f 70 ..........result.set(i,.get(prop
6000 2c 20 6e 6f 64 65 2c 20 63 75 72 73 6f 72 29 3f 29 3f 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ,.node,.cursor)?)?;.............
6020 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 73 75 6c 74 2e 69 6e 74 6f 5f 6c 69 73 70 28 65 }.............result.into_lisp(e
6040 6e 76 29 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 53 6f 6d 65 28 56 65 63 74 6f nv).........}.........Some(Vecto
6060 72 4f 72 4b 65 79 77 6f 72 64 3a 3a 4b 65 79 77 6f 72 64 28 70 72 6f 70 29 29 20 3d 3e 20 67 65 rOrKeyword::Keyword(prop)).=>.ge
6080 74 28 70 72 6f 70 2c 20 6e 6f 64 65 2c 20 63 75 72 73 6f 72 29 2c 0a 20 20 20 20 7d 0a 7d 0a 0a t(prop,.node,.cursor),.....}.}..
60a0 2f 2f 2f 20 41 63 74 75 61 6c 20 6c 6f 67 69 63 20 6f 66 20 60 74 73 63 2d 74 72 61 76 65 72 73 ///.Actual.logic.of.`tsc-travers
60c0 65 2d 6d 61 70 63 27 2e 20 54 68 65 20 77 72 61 70 70 65 72 20 69 73 20 6e 65 65 64 65 64 20 62 e-mapc'..The.wrapper.is.needed.b
60e0 65 63 61 75 73 65 0a 2f 2f 2f 20 60 65 6d 61 63 73 2d 6d 6f 64 75 6c 65 2d 72 73 27 20 64 6f 65 ecause.///.`emacs-module-rs'.doe
6100 73 6e 27 74 20 63 75 72 72 65 6e 74 6c 79 20 73 75 70 70 6f 72 74 20 6f 70 74 69 6f 6e 61 6c 20 sn't.currently.support.optional.
6120 61 72 67 75 6d 65 6e 74 73 2e 0a 23 5b 64 65 66 75 6e 5d 0a 66 6e 20 5f 74 72 61 76 65 72 73 65 arguments..#[defun].fn._traverse
6140 5f 6d 61 70 63 28 0a 20 20 20 20 66 75 6e 63 3a 20 56 61 6c 75 65 2c 0a 20 20 20 20 74 72 65 65 _mapc(.....func:.Value,.....tree
6160 5f 6f 72 5f 6e 6f 64 65 3a 20 54 72 65 65 4f 72 4e 6f 64 65 2c 0a 20 20 20 20 70 72 6f 70 73 3a _or_node:.TreeOrNode,.....props:
6180 20 4f 70 74 69 6f 6e 3c 56 65 63 74 6f 72 4f 72 4b 65 79 77 6f 72 64 3e 2c 0a 29 20 2d 3e 20 52 .Option<VectorOrKeyword>,.).->.R
61a0 65 73 75 6c 74 3c 28 29 3e 20 7b 0a 20 20 20 20 6c 65 74 20 6d 75 74 20 69 74 65 72 61 74 6f 72 esult<()>.{.....let.mut.iterator
61c0 20 3d 20 44 65 70 74 68 46 69 72 73 74 49 74 65 72 61 74 6f 72 3a 3a 6e 65 77 28 74 72 65 65 5f .=.DepthFirstIterator::new(tree_
61e0 6f 72 5f 6e 6f 64 65 29 3b 0a 20 20 20 20 6c 65 74 20 65 6e 76 20 3d 20 66 75 6e 63 2e 65 6e 76 or_node);.....let.env.=.func.env
6200 3b 0a 20 20 20 20 6c 65 74 20 6d 75 74 20 6f 75 74 70 75 74 20 3d 20 4e 6f 6e 65 3b 0a 20 20 20 ;.....let.mut.output.=.None;....
6220 20 6c 65 74 20 6d 75 74 20 64 65 70 74 68 5f 69 6e 64 65 78 65 73 20 3d 20 56 65 63 3a 3a 77 69 .let.mut.depth_indexes.=.Vec::wi
6240 74 68 5f 63 61 70 61 63 69 74 79 28 31 29 3b 0a 20 20 20 20 6c 65 74 20 6d 75 74 20 64 65 70 74 th_capacity(1);.....let.mut.dept
6260 68 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 6d 61 74 63 68 20 70 72 6f 70 73 20 7b 0a 20 20 20 h.=.false;.....match.props.{....
6280 20 20 20 20 20 53 6f 6d 65 28 56 65 63 74 6f 72 4f 72 4b 65 79 77 6f 72 64 3a 3a 56 65 63 74 6f .....Some(VectorOrKeyword::Vecto
62a0 72 28 70 72 6f 70 73 29 29 20 3d 3e 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74 70 75 r(props)).=>.{.............outpu
62c0 74 20 3d 20 53 6f 6d 65 28 65 6e 76 2e 6d 61 6b 65 5f 76 65 63 74 6f 72 28 70 72 6f 70 73 2e 6c t.=.Some(env.make_vector(props.l
62e0 65 6e 28 29 2c 20 28 29 29 3f 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 69 2c en(),.())?);.............for.(i,
6300 20 70 72 6f 70 29 20 69 6e 20 70 72 6f 70 73 2e 69 6e 74 6f 5f 69 74 65 72 28 29 2e 65 6e 75 6d .prop).in.props.into_iter().enum
6320 65 72 61 74 65 28 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 70 72 6f erate().{.................if.pro
6340 70 2e 65 71 28 5f 64 65 70 74 68 2e 62 69 6e 64 28 65 6e 76 29 29 20 7b 0a 20 20 20 20 20 20 20 p.eq(_depth.bind(env)).{........
6360 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 70 74 68 5f 69 6e 64 65 78 65 73 2e 70 75 73 68 28 .............depth_indexes.push(
6380 69 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 i).................}............
63a0 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 53 6f 6d 65 28 56 65 63 74 6f 72 .}.........}.........Some(Vector
63c0 4f 72 4b 65 79 77 6f 72 64 3a 3a 4b 65 79 77 6f 72 64 28 70 72 6f 70 29 29 20 69 66 20 70 72 6f OrKeyword::Keyword(prop)).if.pro
63e0 70 2e 65 71 28 5f 64 65 70 74 68 2e 62 69 6e 64 28 65 6e 76 29 29 20 3d 3e 20 7b 0a 20 20 20 20 p.eq(_depth.bind(env)).=>.{.....
6400 20 20 20 20 20 20 20 20 64 65 70 74 68 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a ........depth.=.true;.........}.
6420 20 20 20 20 20 20 20 20 5f 20 3d 3e 20 7b 7d 0a 20 20 20 20 7d 0a 20 20 20 20 2f 2f 20 43 61 6e ........_.=>.{}.....}.....//.Can
6440 27 74 20 75 73 65 20 61 20 66 6f 72 20 6c 6f 6f 70 20 62 65 63 61 75 73 65 20 77 65 20 6e 65 65 't.use.a.for.loop.because.we.nee
6460 64 20 74 6f 20 61 63 63 65 73 73 20 74 68 65 20 63 75 72 73 6f 72 20 74 6f 20 70 72 6f 63 65 73 d.to.access.the.cursor.to.proces
6480 73 20 65 61 63 68 20 69 74 65 6d 2e 0a 20 20 20 20 6c 65 74 20 6d 75 74 20 69 74 65 6d 3a 20 4f s.each.item......let.mut.item:.O
64a0 70 74 69 6f 6e 3c 28 52 4e 6f 64 65 2c 20 75 73 69 7a 65 29 3e 20 3d 20 69 74 65 72 61 74 6f 72 ption<(RNode,.usize)>.=.iterator
64c0 2e 6e 65 78 74 28 29 3b 0a 20 20 20 20 77 68 69 6c 65 20 69 74 65 6d 2e 69 73 5f 73 6f 6d 65 28 .next();.....while.item.is_some(
64e0 29 20 7b 0a 20 20 20 20 20 20 20 20 6c 65 74 20 72 65 73 75 6c 74 20 3d 20 69 66 20 64 65 70 74 ).{.........let.result.=.if.dept
6500 68 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 74 65 72 61 74 6f 72 2e 64 65 70 74 68 2e 69 h.{.............iterator.depth.i
6520 6e 74 6f 5f 6c 69 73 70 28 65 6e 76 29 3f 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a nto_lisp(env)?.........}.else.{.
6540 20 20 20 20 20 20 20 20 20 20 20 20 6c 65 74 20 72 65 73 75 6c 74 20 3d 20 5f 63 75 72 72 65 6e ............let.result.=._curren
6560 74 5f 6e 6f 64 65 28 26 69 74 65 72 61 74 6f 72 2e 63 75 72 73 6f 72 2c 20 70 72 6f 70 73 2c 20 t_node(&iterator.cursor,.props,.
6580 6f 75 74 70 75 74 2c 20 65 6e 76 29 3f 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 6c 65 output,.env)?;.............if.le
65a0 74 20 53 6f 6d 65 28 6f 75 74 70 75 74 29 20 3d 20 6f 75 74 70 75 74 20 7b 0a 20 20 20 20 20 20 t.Some(output).=.output.{.......
65c0 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 69 20 69 6e 20 26 64 65 70 74 68 5f 69 6e 64 65 78 65 ..........for.i.in.&depth_indexe
65e0 73 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 75 74 70 75 74 2e 73 s.{.....................output.s
6600 65 74 28 2a 69 2c 20 69 74 65 72 61 74 6f 72 2e 64 65 70 74 68 29 3f 3b 0a 20 20 20 20 20 20 20 et(*i,.iterator.depth)?;........
6620 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 .........}.............}........
6640 20 20 20 20 20 72 65 73 75 6c 74 0a 20 20 20 20 20 20 20 20 7d 3b 0a 0a 20 20 20 20 20 20 20 20 .....result.........};..........
6660 2f 2f 20 53 61 66 65 74 79 3a 20 74 68 65 20 72 65 74 75 72 6e 65 64 20 76 61 6c 75 65 20 69 73 //.Safety:.the.returned.value.is
6680 20 75 6e 75 73 65 64 2e 0a 20 20 20 20 20 20 20 20 75 6e 73 61 66 65 20 7b 0a 20 20 20 20 20 20 .unused..........unsafe.{.......
66a0 20 20 20 20 20 20 66 75 6e 63 2e 63 61 6c 6c 5f 75 6e 70 72 6f 74 65 63 74 65 64 28 5b 72 65 73 ......func.call_unprotected([res
66c0 75 6c 74 5d 29 3f 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 2f 2f ult])?;.........}..........//.//
66e0 20 53 61 66 65 74 79 3a 20 74 68 65 20 72 65 74 75 72 6e 65 64 20 76 61 6c 75 65 20 69 73 20 75 .Safety:.the.returned.value.is.u
6700 6e 75 73 65 64 2e 0a 20 20 20 20 20 20 20 20 2f 2f 20 75 6e 73 61 66 65 20 7b 20 66 75 6e 63 2e nused..........//.unsafe.{.func.
6720 63 61 6c 6c 5f 75 6e 70 72 6f 74 65 63 74 65 64 28 28 72 65 73 75 6c 74 2c 20 64 65 70 74 68 29 call_unprotected((result,.depth)
6740 29 3f 3b 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 2f 2f 20 30 0a 20 20 20 20 20 20 20 20 2f )?;.}..........//.//.0........./
6760 2f 20 75 6e 73 61 66 65 20 7b 20 66 75 6e 63 2e 63 61 6c 6c 5f 75 6e 70 72 6f 74 65 63 74 65 64 /.unsafe.{.func.call_unprotected
6780 28 5b 5d 29 3f 3b 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 2f 2f 20 32 37 0a 20 20 20 20 20 ([])?;.}..........//.//.27......
67a0 20 20 20 2f 2f 20 75 6e 73 61 66 65 20 7b 20 66 75 6e 63 2e 63 61 6c 6c 5f 75 6e 70 72 6f 74 65 ...//.unsafe.{.func.call_unprote
67c0 63 74 65 64 28 28 72 65 73 75 6c 74 2c 20 64 65 70 74 68 2c 20 66 75 6e 63 2c 20 70 72 6f 70 73 cted((result,.depth,.func,.props
67e0 29 29 3f 3b 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 2f 2f 20 31 33 0a 20 20 20 20 20 20 20 ))?;.}..........//.//.13........
6800 20 2f 2f 20 75 6e 73 61 66 65 20 7b 20 66 75 6e 63 2e 63 61 6c 6c 5f 75 6e 70 72 6f 74 65 63 74 .//.unsafe.{.func.call_unprotect
6820 65 64 28 28 72 65 73 75 6c 74 2c 20 64 65 70 74 68 29 29 3f 3b 20 7d 0a 0a 20 20 20 20 20 20 20 ed((result,.depth))?;.}.........
6840 20 2f 2f 20 2f 2f 20 31 30 0a 20 20 20 20 20 20 20 20 2f 2f 20 65 6e 76 2e 76 65 63 74 6f 72 28 .//.//.10.........//.env.vector(
6860 28 72 65 73 75 6c 74 2c 20 64 65 70 74 68 29 29 3f 3b 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 2f (result,.depth))?;..........//./
6880 2f 20 36 0a 20 20 20 20 20 20 20 20 2f 2f 20 65 6e 76 2e 63 6f 6e 73 28 72 65 73 75 6c 74 2c 20 /.6.........//.env.cons(result,.
68a0 64 65 70 74 68 29 3f 3b 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 2f 2f 20 30 0a 20 20 20 20 20 20 depth)?;..........//.//.0.......
68c0 20 20 2f 2f 20 75 73 65 20 65 6d 61 63 73 3a 3a 63 61 6c 6c 3a 3a 49 6e 74 6f 4c 69 73 70 41 72 ..//.use.emacs::call::IntoLispAr
68e0 67 73 3b 0a 20 20 20 20 20 20 20 20 2f 2f 20 28 72 65 73 75 6c 74 2c 20 64 65 70 74 68 29 2e 69 gs;.........//.(result,.depth).i
6900 6e 74 6f 5f 6c 69 73 70 5f 61 72 67 73 28 65 6e 76 29 3f 3b 0a 0a 20 20 20 20 20 20 20 20 69 74 nto_lisp_args(env)?;..........it
6920 65 6d 20 3d 20 69 74 65 72 61 74 6f 72 2e 6e 65 78 74 28 29 3b 0a 20 20 20 20 7d 0a 20 20 20 20 em.=.iterator.next();.....}.....
6940 2f 2f 20 66 6f 72 20 28 5f 2c 20 64 65 70 74 68 29 20 69 6e 20 69 74 65 72 61 74 6f 72 20 7b 0a //.for.(_,.depth).in.iterator.{.
6960 20 20 20 20 2f 2f 20 20 20 20 20 6c 65 74 20 72 65 73 75 6c 74 20 3d 20 5f 63 75 72 72 65 6e 74 ....//.....let.result.=._current
6980 5f 6e 6f 64 65 28 26 69 74 65 72 61 74 6f 72 2e 63 75 72 73 6f 72 2e 63 6c 6f 6e 65 28 29 2c 20 _node(&iterator.cursor.clone(),.
69a0 70 72 6f 70 73 2c 20 6f 75 74 70 75 74 2c 20 65 6e 76 29 3f 3b 0a 20 20 20 20 2f 2f 20 20 20 20 props,.output,.env)?;.....//....
69c0 20 66 75 6e 63 2e 63 61 6c 6c 28 28 72 65 73 75 6c 74 2c 20 64 65 70 74 68 29 29 3f 3b 0a 20 20 .func.call((result,.depth))?;...
69e0 20 20 2f 2f 20 7d 0a 20 20 20 20 4f 6b 28 28 29 29 0a 7d 0a 00 00 00 00 00 00 00 00 00 00 00 00 ..//.}.....Ok(()).}.............
6a00 74 73 63 2d 32 30 32 32 30 32 31 32 2e 31 36 33 32 2f 73 72 63 2f 65 72 72 6f 72 2e 72 73 00 00 tsc-20220212.1632/src/error.rs..
6a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6a60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
6a80 30 30 30 31 37 37 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 30 36 33 00 20 30 00 00 00 0001770.00000000000.014063..0...
6aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6b00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
6b20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
6b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c00 65 6d 61 63 73 3a 3a 64 65 66 69 6e 65 5f 65 72 72 6f 72 73 21 20 7b 0a 20 20 20 20 74 73 63 5f emacs::define_errors!.{.....tsc_
6c20 65 72 72 6f 72 20 22 54 72 65 65 2d 73 69 74 74 65 72 20 63 6f 72 65 20 65 72 72 6f 72 22 0a 0a error."Tree-sitter.core.error"..
6c40 20 20 20 20 74 73 63 5f 6c 61 6e 67 5f 6c 6f 61 64 5f 66 61 69 6c 65 64 20 22 4c 61 6e 67 75 61 ....tsc_lang_load_failed."Langua
6c60 67 65 20 6c 6f 61 64 20 66 61 69 6c 65 64 22 20 28 74 73 63 5f 65 72 72 6f 72 29 0a 20 20 20 20 ge.load.failed".(tsc_error).....
6c80 74 73 63 5f 6c 61 6e 67 5f 61 62 69 5f 65 72 72 6f 72 20 22 4c 61 6e 67 75 61 67 65 27 73 20 41 tsc_lang_abi_error."Language's.A
6ca0 42 49 20 69 73 20 69 6e 63 6f 6d 70 61 74 69 62 6c 65 22 20 28 74 73 63 5f 65 72 72 6f 72 29 0a BI.is.incompatible".(tsc_error).
6cc0 20 20 20 20 74 73 63 5f 6c 61 6e 67 5f 61 62 69 5f 74 6f 6f 5f 6f 6c 64 20 22 4c 61 6e 67 75 61 ....tsc_lang_abi_too_old."Langua
6ce0 67 65 27 73 20 41 42 49 20 69 73 20 74 6f 6f 20 6f 6c 64 22 20 28 74 73 63 5f 6c 61 6e 67 5f 6c ge's.ABI.is.too.old".(tsc_lang_l
6d00 6f 61 64 5f 66 61 69 6c 65 64 20 74 73 63 5f 6c 61 6e 67 5f 61 62 69 5f 65 72 72 6f 72 29 0a 20 oad_failed.tsc_lang_abi_error)..
6d20 20 20 20 74 73 63 5f 6c 61 6e 67 5f 61 62 69 5f 74 6f 6f 5f 6e 65 77 20 22 4c 61 6e 67 75 61 67 ...tsc_lang_abi_too_new."Languag
6d40 65 27 73 20 41 42 49 20 69 73 20 74 6f 6f 20 6e 65 77 22 20 28 74 73 63 5f 6c 61 6e 67 5f 6c 6f e's.ABI.is.too.new".(tsc_lang_lo
6d60 61 64 5f 66 61 69 6c 65 64 20 74 73 63 5f 6c 61 6e 67 5f 61 62 69 5f 65 72 72 6f 72 29 0a 0a 20 ad_failed.tsc_lang_abi_error)...
6d80 20 20 20 74 73 63 5f 69 6e 76 61 6c 69 64 5f 72 61 6e 67 65 73 20 22 49 6e 76 61 6c 69 64 20 70 ...tsc_invalid_ranges."Invalid.p
6da0 61 72 73 69 6e 67 20 72 61 6e 67 65 73 22 20 28 74 73 63 5f 65 72 72 6f 72 29 0a 0a 20 20 20 20 arsing.ranges".(tsc_error)......
6dc0 74 73 63 5f 71 75 65 72 79 5f 69 6e 76 61 6c 69 64 20 22 49 6e 76 61 6c 69 64 20 71 75 65 72 79 tsc_query_invalid."Invalid.query
6de0 22 20 28 74 73 63 5f 65 72 72 6f 72 29 0a 20 20 20 20 74 73 63 5f 71 75 65 72 79 5f 69 6e 76 61 ".(tsc_error).....tsc_query_inva
6e00 6c 69 64 5f 73 79 6e 74 61 78 20 22 51 75 65 72 79 20 73 79 6e 74 61 78 20 65 72 72 6f 72 22 20 lid_syntax."Query.syntax.error".
6e20 28 74 73 63 5f 71 75 65 72 79 5f 69 6e 76 61 6c 69 64 29 0a 20 20 20 20 74 73 63 5f 71 75 65 72 (tsc_query_invalid).....tsc_quer
6e40 79 5f 69 6e 76 61 6c 69 64 5f 6e 6f 64 65 5f 74 79 70 65 20 22 51 75 65 72 79 20 63 6f 6e 74 61 y_invalid_node_type."Query.conta
6e60 69 6e 73 20 69 6e 76 61 6c 69 64 20 6e 6f 64 65 20 74 79 70 65 22 20 28 74 73 63 5f 71 75 65 72 ins.invalid.node.type".(tsc_quer
6e80 79 5f 69 6e 76 61 6c 69 64 29 0a 20 20 20 20 74 73 63 5f 71 75 65 72 79 5f 69 6e 76 61 6c 69 64 y_invalid).....tsc_query_invalid
6ea0 5f 66 69 65 6c 64 20 22 51 75 65 72 79 20 63 6f 6e 74 61 69 6e 73 20 69 6e 76 61 6c 69 64 20 66 _field."Query.contains.invalid.f
6ec0 69 65 6c 64 20 6e 61 6d 65 22 20 28 74 73 63 5f 71 75 65 72 79 5f 69 6e 76 61 6c 69 64 29 0a 20 ield.name".(tsc_query_invalid)..
6ee0 20 20 20 74 73 63 5f 71 75 65 72 79 5f 69 6e 76 61 6c 69 64 5f 63 61 70 74 75 72 65 20 22 51 75 ...tsc_query_invalid_capture."Qu
6f00 65 72 79 20 63 6f 6e 74 61 69 6e 73 20 75 6e 64 65 63 6c 61 72 65 64 20 63 61 70 74 75 72 65 20 ery.contains.undeclared.capture.
6f20 6e 61 6d 65 22 20 28 74 73 63 5f 71 75 65 72 79 5f 69 6e 76 61 6c 69 64 29 0a 20 20 20 20 74 73 name".(tsc_query_invalid).....ts
6f40 63 5f 71 75 65 72 79 5f 69 6e 76 61 6c 69 64 5f 70 72 65 64 69 63 61 74 65 20 22 51 75 65 72 79 c_query_invalid_predicate."Query
6f60 20 63 6f 6e 74 61 69 6e 73 20 69 6e 76 61 6c 69 64 20 70 72 65 64 69 63 61 74 65 20 75 73 61 67 .contains.invalid.predicate.usag
6f80 65 22 20 28 74 73 63 5f 71 75 65 72 79 5f 69 6e 76 61 6c 69 64 29 0a 20 20 20 20 74 73 63 5f 71 e".(tsc_query_invalid).....tsc_q
6fa0 75 65 72 79 5f 69 6e 76 61 6c 69 64 5f 73 74 72 75 63 74 75 72 65 20 22 51 75 65 72 79 20 63 6f uery_invalid_structure."Query.co
6fc0 6e 74 61 69 6e 73 20 69 6e 76 61 6c 69 64 20 70 61 74 74 65 72 6e 20 73 74 72 75 63 74 75 72 65 ntains.invalid.pattern.structure
6fe0 22 20 28 74 73 63 5f 71 75 65 72 79 5f 69 6e 76 61 6c 69 64 29 0a 7d 0a 00 00 00 00 00 00 00 00 ".(tsc_query_invalid).}.........
7000 74 73 63 2d 32 30 32 32 30 32 31 32 2e 31 36 33 32 2f 73 72 63 2f 6c 61 6e 67 2e 72 73 00 00 00 tsc-20220212.1632/src/lang.rs...
7020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7060 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
7080 30 30 31 37 32 36 37 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 36 36 33 00 20 30 00 00 00 0017267.00000000000.013663..0...
70a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
70c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
70e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7100 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
7120 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
7140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
71a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
71c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
71e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7200 75 73 65 20 73 74 64 3a 3a 7b 6d 65 6d 2c 20 6f 73 2c 20 63 6f 6c 6c 65 63 74 69 6f 6e 73 3a 3a use.std::{mem,.os,.collections::
7220 48 61 73 68 4d 61 70 2c 20 73 79 6e 63 3a 3a 4d 75 74 65 78 7d 3b 0a 0a 75 73 65 20 65 6d 61 63 HashMap,.sync::Mutex};..use.emac
7240 73 3a 3a 7b 64 65 66 75 6e 2c 20 52 65 73 75 6c 74 2c 20 52 65 73 75 6c 74 45 78 74 2c 20 47 6c s::{defun,.Result,.ResultExt,.Gl
7260 6f 62 61 6c 52 65 66 2c 20 56 61 6c 75 65 2c 20 45 6e 76 2c 20 49 6e 74 6f 4c 69 73 70 2c 20 46 obalRef,.Value,.Env,.IntoLisp,.F
7280 72 6f 6d 4c 69 73 70 2c 20 45 72 72 6f 72 4b 69 6e 64 7d 3b 0a 0a 75 73 65 20 6c 69 62 6c 6f 61 romLisp,.ErrorKind};..use.libloa
72a0 64 69 6e 67 3a 3a 7b 4c 69 62 72 61 72 79 2c 20 53 79 6d 62 6f 6c 7d 3b 0a 75 73 65 20 6f 6e 63 ding::{Library,.Symbol};.use.onc
72c0 65 5f 63 65 6c 6c 3a 3a 73 79 6e 63 3a 3a 4c 61 7a 79 3b 0a 0a 75 73 65 20 63 72 61 74 65 3a 3a e_cell::sync::Lazy;..use.crate::
72e0 7b 74 79 70 65 73 2c 20 65 72 72 6f 72 7d 3b 0a 75 73 65 20 74 72 65 65 5f 73 69 74 74 65 72 3a {types,.error};.use.tree_sitter:
7300 3a 7b 4c 41 4e 47 55 41 47 45 5f 56 45 52 53 49 4f 4e 2c 20 4d 49 4e 5f 43 4f 4d 50 41 54 49 42 :{LANGUAGE_VERSION,.MIN_COMPATIB
7320 4c 45 5f 4c 41 4e 47 55 41 47 45 5f 56 45 52 53 49 4f 4e 7d 3b 0a 0a 23 5b 64 65 72 69 76 65 28 LE_LANGUAGE_VERSION};..#[derive(
7340 43 6f 70 79 2c 20 43 6c 6f 6e 65 29 5d 0a 23 5b 72 65 70 72 28 74 72 61 6e 73 70 61 72 65 6e 74 Copy,.Clone)].#[repr(transparent
7360 29 5d 0a 70 75 62 20 73 74 72 75 63 74 20 4c 61 6e 67 75 61 67 65 28 70 75 62 28 63 72 61 74 65 )].pub.struct.Language(pub(crate
7380 29 20 74 72 65 65 5f 73 69 74 74 65 72 3a 3a 4c 61 6e 67 75 61 67 65 29 3b 0a 0a 69 6d 70 6c 20 ).tree_sitter::Language);..impl.
73a0 49 6e 74 6f 4c 69 73 70 3c 27 5f 3e 20 66 6f 72 20 4c 61 6e 67 75 61 67 65 20 7b 0a 20 20 20 20 IntoLisp<'_>.for.Language.{.....
73c0 66 6e 20 69 6e 74 6f 5f 6c 69 73 70 28 73 65 6c 66 2c 20 65 6e 76 3a 20 26 45 6e 76 29 20 2d 3e fn.into_lisp(self,.env:.&Env).->
73e0 20 52 65 73 75 6c 74 3c 56 61 6c 75 65 3e 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 20 53 61 66 65 .Result<Value>.{.........//.Safe
7400 74 79 3a 20 4c 61 6e 67 75 61 67 65 20 68 61 73 20 74 68 65 20 73 61 6d 65 20 72 65 70 72 65 73 ty:.Language.has.the.same.repres
7420 65 6e 74 61 74 69 6f 6e 20 61 73 20 74 68 65 20 6f 70 61 71 75 65 20 70 6f 69 6e 74 65 72 20 74 entation.as.the.opaque.pointer.t
7440 79 70 65 2e 0a 20 20 20 20 20 20 20 20 6c 65 74 20 70 74 72 3a 20 2a 6d 75 74 20 6f 73 3a 3a 72 ype..........let.ptr:.*mut.os::r
7460 61 77 3a 3a 63 5f 76 6f 69 64 20 3d 20 75 6e 73 61 66 65 20 7b 20 6d 65 6d 3a 3a 74 72 61 6e 73 aw::c_void.=.unsafe.{.mem::trans
7480 6d 75 74 65 28 73 65 6c 66 29 20 7d 3b 0a 20 20 20 20 20 20 20 20 2f 2f 20 53 61 66 65 74 79 3a mute(self).};.........//.Safety:
74a0 20 54 68 65 20 66 69 6e 61 6c 69 7a 65 72 20 64 6f 65 73 20 6e 6f 74 68 69 6e 67 2e 0a 20 20 20 .The.finalizer.does.nothing.....
74c0 20 20 20 20 20 75 6e 73 61 66 65 20 7b 20 65 6e 76 2e 6d 61 6b 65 5f 75 73 65 72 5f 70 74 72 28 .....unsafe.{.env.make_user_ptr(
74e0 53 6f 6d 65 28 6e 6f 5f 6f 70 3a 3a 3c 4c 61 6e 67 75 61 67 65 3e 29 2c 20 70 74 72 29 20 7d 0a Some(no_op::<Language>),.ptr).}.
7500 20 20 20 20 7d 0a 7d 0a 0a 69 6d 70 6c 20 46 72 6f 6d 4c 69 73 70 3c 27 5f 3e 20 66 6f 72 20 4c ....}.}..impl.FromLisp<'_>.for.L
7520 61 6e 67 75 61 67 65 20 7b 0a 20 20 20 20 66 6e 20 66 72 6f 6d 5f 6c 69 73 70 28 76 61 6c 75 65 anguage.{.....fn.from_lisp(value
7540 3a 20 56 61 6c 75 65 29 20 2d 3e 20 52 65 73 75 6c 74 3c 4c 61 6e 67 75 61 67 65 3e 20 7b 0a 20 :.Value).->.Result<Language>.{..
7560 20 20 20 20 20 20 20 6d 61 74 63 68 20 76 61 6c 75 65 2e 67 65 74 5f 75 73 65 72 5f 66 69 6e 61 .......match.value.get_user_fina
7580 6c 69 7a 65 72 28 29 3f 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 53 6f 6d 65 28 66 69 6e 29 lizer()?.{.............Some(fin)
75a0 20 69 66 20 66 69 6e 20 3d 3d 20 6e 6f 5f 6f 70 3a 3a 3c 4c 61 6e 67 75 61 67 65 3e 20 3d 3e 20 .if.fin.==.no_op::<Language>.=>.
75c0 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 65 74 20 70 74 72 20 3d 20 76 61 6c 75 {.................let.ptr.=.valu
75e0 65 2e 67 65 74 5f 75 73 65 72 5f 70 74 72 28 29 3f 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 e.get_user_ptr()?;..............
7600 20 20 20 2f 2f 20 53 61 66 65 74 79 3a 20 4c 61 6e 67 75 61 67 65 20 68 61 73 20 74 68 65 20 73 ...//.Safety:.Language.has.the.s
7620 61 6d 65 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 61 73 20 74 68 65 20 6f 70 61 71 75 65 ame.representation.as.the.opaque
7640 20 70 6f 69 6e 74 65 72 20 74 79 70 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f .pointer.type..................O
7660 6b 28 75 6e 73 61 66 65 20 7b 20 6d 65 6d 3a 3a 74 72 61 6e 73 6d 75 74 65 28 70 74 72 29 20 7d k(unsafe.{.mem::transmute(ptr).}
7680 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 5f 20 3d 3e ).............}............._.=>
76a0 20 45 72 72 28 45 72 72 6f 72 4b 69 6e 64 3a 3a 57 72 6f 6e 67 54 79 70 65 55 73 65 72 50 74 72 .Err(ErrorKind::WrongTypeUserPtr
76c0 20 7b 20 65 78 70 65 63 74 65 64 3a 20 22 54 72 65 65 53 69 74 74 65 72 4c 61 6e 67 75 61 67 65 .{.expected:."TreeSitterLanguage
76e0 22 20 7d 2e 69 6e 74 6f 28 29 29 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 7d 0a 0a 69 ".}.into()).........}.....}.}..i
7700 6d 70 6c 5f 6e 65 77 74 79 70 65 5f 74 72 61 69 74 73 21 28 4c 61 6e 67 75 61 67 65 29 3b 0a 0a mpl_newtype_traits!(Language);..
7720 69 6d 70 6c 5f 70 72 65 64 21 28 6c 61 6e 67 75 61 67 65 5f 70 2c 20 4c 61 6e 67 75 61 67 65 29 impl_pred!(language_p,.Language)
7740 3b 0a 0a 69 6d 70 6c 20 4c 61 6e 67 75 61 67 65 20 7b 0a 20 20 20 20 70 75 62 20 66 6e 20 69 64 ;..impl.Language.{.....pub.fn.id
7760 28 73 65 6c 66 29 20 2d 3e 20 75 73 69 7a 65 20 7b 0a 20 20 20 20 20 20 20 20 75 6e 73 61 66 65 (self).->.usize.{.........unsafe
7780 20 7b 20 6d 65 6d 3a 3a 74 72 61 6e 73 6d 75 74 65 28 73 65 6c 66 29 20 7d 0a 20 20 20 20 7d 0a .{.mem::transmute(self).}.....}.
77a0 0a 20 20 20 20 70 75 62 20 66 6e 20 69 6e 66 6f 28 73 65 6c 66 29 20 2d 3e 20 26 27 73 74 61 74 .....pub.fn.info(self).->.&'stat
77c0 69 63 20 4c 61 6e 67 49 6e 66 6f 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 20 54 4f 44 4f 3a 20 45 ic.LangInfo.{.........//.TODO:.E
77e0 78 70 6c 61 69 6e 20 74 68 65 20 73 61 66 65 74 79 2e 0a 20 20 20 20 20 20 20 20 4c 41 4e 47 5f xplain.the.safety..........LANG_
7800 49 4e 46 4f 53 2e 74 72 79 5f 6c 6f 63 6b 28 29 2e 65 78 70 65 63 74 28 22 46 61 69 6c 65 64 20 INFOS.try_lock().expect("Failed.
7820 74 6f 20 61 63 63 65 73 73 20 6c 61 6e 67 75 61 67 65 20 69 6e 66 6f 20 72 65 67 69 73 74 72 79 to.access.language.info.registry
7840 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 67 65 74 28 26 73 65 6c 66 2e 69 64 28 29 29 0a ")..............get(&self.id()).
7860 20 20 20 20 20 20 20 20 20 20 20 20 2e 6d 61 70 28 7c 69 6e 66 6f 7c 20 75 6e 73 61 66 65 20 7b .............map(|info|.unsafe.{
7880 20 74 79 70 65 73 3a 3a 65 72 61 73 65 5f 6c 69 66 65 74 69 6d 65 28 69 6e 66 6f 29 20 7d 29 0a .types::erase_lifetime(info).}).
78a0 20 20 20 20 20 20 20 20 20 20 20 20 2e 65 78 70 65 63 74 28 22 46 61 69 6c 65 64 20 74 6f 20 67 .............expect("Failed.to.g
78c0 65 74 20 6c 61 6e 67 75 61 67 65 20 69 6e 66 6f 20 66 72 6f 6d 20 74 68 65 20 72 65 67 69 73 74 et.language.info.from.the.regist
78e0 72 79 22 29 0a 20 20 20 20 7d 0a 7d 0a 0a 75 6e 73 61 66 65 20 65 78 74 65 72 6e 20 22 43 22 20 ry").....}.}..unsafe.extern."C".
7900 66 6e 20 6e 6f 5f 6f 70 3c 54 3e 28 5f 3a 20 2a 6d 75 74 20 6f 73 3a 3a 72 61 77 3a 3a 63 5f 76 fn.no_op<T>(_:.*mut.os::raw::c_v
7920 6f 69 64 29 20 7b 7d 0a 0a 2f 2f 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d oid).{}..//.--------------------
7940 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
7960 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
7980 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 70 75 62 20 73 74 72 75 63 74 20 4c 61 6e 67 49 6e -------------..pub.struct.LangIn
79a0 66 6f 20 7b 0a 20 20 20 20 6c 6f 61 64 5f 66 69 6c 65 3a 20 53 74 72 69 6e 67 2c 0a 20 20 20 20 fo.{.....load_file:.String,.....
79c0 6c 61 6e 67 5f 73 79 6d 62 6f 6c 3a 20 47 6c 6f 62 61 6c 52 65 66 2c 0a 20 20 20 20 5f 6c 69 62 lang_symbol:.GlobalRef,....._lib
79e0 3a 20 4c 69 62 72 61 72 79 2c 0a 20 20 20 20 6e 6f 64 65 5f 74 79 70 65 73 3a 20 56 65 63 3c 47 :.Library,.....node_types:.Vec<G
7a00 6c 6f 62 61 6c 52 65 66 3e 2c 0a 20 20 20 20 66 69 65 6c 64 5f 6e 61 6d 65 73 3a 20 56 65 63 3c lobalRef>,.....field_names:.Vec<
7a20 47 6c 6f 62 61 6c 52 65 66 3e 2c 0a 7d 0a 0a 69 6d 70 6c 20 4c 61 6e 67 49 6e 66 6f 20 7b 0a 20 GlobalRef>,.}..impl.LangInfo.{..
7a40 20 20 20 23 5b 69 6e 6c 69 6e 65 5d 0a 20 20 20 20 70 75 62 28 63 72 61 74 65 29 20 66 6e 20 6e ...#[inline].....pub(crate).fn.n
7a60 6f 64 65 5f 74 79 70 65 28 26 73 65 6c 66 2c 20 69 64 3a 20 75 31 36 29 20 2d 3e 20 4f 70 74 69 ode_type(&self,.id:.u16).->.Opti
7a80 6f 6e 3c 26 47 6c 6f 62 61 6c 52 65 66 3e 20 7b 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 6e 6f on<&GlobalRef>.{.........self.no
7aa0 64 65 5f 74 79 70 65 73 2e 67 65 74 28 69 64 20 61 73 20 75 73 69 7a 65 29 0a 20 20 20 20 7d 0a de_types.get(id.as.usize).....}.
7ac0 0a 20 20 20 20 23 5b 69 6e 6c 69 6e 65 5d 0a 20 20 20 20 70 75 62 28 63 72 61 74 65 29 20 66 6e .....#[inline].....pub(crate).fn
7ae0 20 66 69 65 6c 64 5f 6e 61 6d 65 28 26 73 65 6c 66 2c 20 69 64 3a 20 75 31 36 29 20 2d 3e 20 4f .field_name(&self,.id:.u16).->.O
7b00 70 74 69 6f 6e 3c 26 47 6c 6f 62 61 6c 52 65 66 3e 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 69 ption<&GlobalRef>.{.........if.i
7b20 64 20 3d 3d 20 30 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 4e 6f 6e 65 0a 20 20 20 20 20 20 d.==.0.{.............None.......
7b40 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 2e 66 69 65 6c ..}.else.{.............self.fiel
7b60 64 5f 6e 61 6d 65 73 2e 67 65 74 28 69 64 20 61 73 20 75 73 69 7a 65 20 2d 20 31 29 0a 20 20 20 d_names.get(id.as.usize.-.1)....
7b80 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 7d 0a 0a 2f 2f 20 54 4f 44 4f 3a 20 43 6f 6e 73 69 64 65 .....}.....}.}..//.TODO:.Conside
7ba0 72 20 6f 70 74 69 6d 69 7a 69 6e 67 20 66 6f 72 20 61 63 63 65 73 73 69 6e 67 20 6c 61 6e 67 75 r.optimizing.for.accessing.langu
7bc0 61 67 65 27 73 20 6d 65 74 61 64 61 74 61 2c 20 69 2e 65 2e 20 6d 61 6b 69 6e 67 20 4c 61 6e 67 age's.metadata,.i.e..making.Lang
7be0 75 61 67 65 20 61 20 62 69 67 20 77 72 61 70 70 65 72 0a 2f 2f 20 61 72 6f 75 6e 64 20 74 72 65 uage.a.big.wrapper.//.around.tre
7c00 65 5f 73 69 74 74 65 72 3a 3a 4c 61 6e 67 75 61 67 65 2c 20 73 6f 20 74 68 61 74 20 68 61 73 68 e_sitter::Language,.so.that.hash
7c20 20 6c 6f 6f 6b 75 70 20 68 61 70 70 65 6e 73 20 6f 6e 6c 79 20 77 68 65 6e 20 72 65 74 75 72 6e .lookup.happens.only.when.return
7c40 69 6e 67 20 74 68 65 20 6c 61 6e 67 75 61 67 65 20 6f 66 20 61 0a 2f 2f 20 70 61 72 73 65 72 2f ing.the.language.of.a.//.parser/
7c60 74 72 65 65 2f 6e 6f 64 65 2f 71 75 65 72 79 2e 0a 73 74 61 74 69 63 20 4c 41 4e 47 5f 49 4e 46 tree/node/query..static.LANG_INF
7c80 4f 53 3a 20 4c 61 7a 79 3c 4d 75 74 65 78 3c 48 61 73 68 4d 61 70 3c 75 73 69 7a 65 2c 20 4c 61 OS:.Lazy<Mutex<HashMap<usize,.La
7ca0 6e 67 49 6e 66 6f 3e 3e 3e 20 3d 20 4c 61 7a 79 3a 3a 6e 65 77 28 7c 7c 20 4d 75 74 65 78 3a 3a ngInfo>>>.=.Lazy::new(||.Mutex::
7cc0 6e 65 77 28 48 61 73 68 4d 61 70 3a 3a 6e 65 77 28 29 29 29 3b 0a 0a 2f 2f 2f 20 4c 6f 61 64 20 new(HashMap::new()));..///.Load.
7ce0 74 68 65 20 73 68 61 72 65 64 20 6c 69 62 20 46 49 4c 45 20 61 6e 64 20 72 65 74 75 72 6e 20 74 the.shared.lib.FILE.and.return.t
7d00 68 65 20 6c 61 6e 67 75 61 67 65 20 75 6e 64 65 72 20 53 59 4d 42 4f 4c 2d 4e 41 4d 45 2e 0a 2f he.language.under.SYMBOL-NAME../
7d20 2f 2f 20 54 68 65 20 6c 61 6e 67 75 61 67 65 27 73 20 6e 61 6d 65 20 73 79 6d 62 6f 6c 20 69 73 //.The.language's.name.symbol.is
7d40 20 73 65 74 20 74 6f 20 4c 41 4e 47 2d 53 59 4d 42 4f 4c 2e 0a 23 5b 64 65 66 75 6e 5d 0a 66 6e .set.to.LANG-SYMBOL..#[defun].fn
7d60 20 5f 6c 6f 61 64 5f 6c 61 6e 67 75 61 67 65 28 66 69 6c 65 3a 20 53 74 72 69 6e 67 2c 20 73 79 ._load_language(file:.String,.sy
7d80 6d 62 6f 6c 5f 6e 61 6d 65 3a 20 53 74 72 69 6e 67 2c 20 6c 61 6e 67 5f 73 79 6d 62 6f 6c 3a 20 mbol_name:.String,.lang_symbol:.
7da0 56 61 6c 75 65 29 20 2d 3e 20 52 65 73 75 6c 74 3c 4c 61 6e 67 75 61 67 65 3e 20 7b 0a 20 20 20 Value).->.Result<Language>.{....
7dc0 20 6c 65 74 20 65 6e 76 20 3d 20 6c 61 6e 67 5f 73 79 6d 62 6f 6c 2e 65 6e 76 3b 0a 20 20 20 20 .let.env.=.lang_symbol.env;.....
7de0 6c 65 74 20 6c 69 62 20 3d 20 75 6e 73 61 66 65 20 7b 20 4c 69 62 72 61 72 79 3a 3a 6e 65 77 28 let.lib.=.unsafe.{.Library::new(
7e00 26 66 69 6c 65 29 20 7d 2e 6f 72 5f 73 69 67 6e 61 6c 28 65 6e 76 2c 20 65 72 72 6f 72 3a 3a 74 &file).}.or_signal(env,.error::t
7e20 73 63 5f 6c 61 6e 67 5f 6c 6f 61 64 5f 66 61 69 6c 65 64 29 3f 3b 0a 20 20 20 20 6c 65 74 20 74 sc_lang_load_failed)?;.....let.t
7e40 72 65 65 5f 73 69 74 74 65 72 5f 6c 61 6e 67 3a 20 53 79 6d 62 6f 6c 3c 27 5f 2c 20 75 6e 73 61 ree_sitter_lang:.Symbol<'_,.unsa
7e60 66 65 20 65 78 74 65 72 6e 20 22 43 22 20 66 6e 28 29 20 2d 3e 20 5f 3e 20 3d 0a 20 20 20 20 20 fe.extern."C".fn().->._>.=......
7e80 20 20 20 75 6e 73 61 66 65 20 7b 20 6c 69 62 2e 67 65 74 28 73 79 6d 62 6f 6c 5f 6e 61 6d 65 2e ...unsafe.{.lib.get(symbol_name.
7ea0 61 73 5f 62 79 74 65 73 28 29 29 20 7d 2e 6f 72 5f 73 69 67 6e 61 6c 28 65 6e 76 2c 20 65 72 72 as_bytes()).}.or_signal(env,.err
7ec0 6f 72 3a 3a 74 73 63 5f 6c 61 6e 67 5f 6c 6f 61 64 5f 66 61 69 6c 65 64 29 3f 3b 0a 20 20 20 20 or::tsc_lang_load_failed)?;.....
7ee0 6c 65 74 20 6c 61 6e 67 75 61 67 65 3a 20 74 72 65 65 5f 73 69 74 74 65 72 3a 3a 4c 61 6e 67 75 let.language:.tree_sitter::Langu
7f00 61 67 65 20 3d 20 75 6e 73 61 66 65 20 7b 20 74 72 65 65 5f 73 69 74 74 65 72 5f 6c 61 6e 67 28 age.=.unsafe.{.tree_sitter_lang(
7f20 29 20 7d 3b 0a 20 20 20 20 6c 65 74 20 76 65 72 73 69 6f 6e 20 3d 20 6c 61 6e 67 75 61 67 65 2e ).};.....let.version.=.language.
7f40 76 65 72 73 69 6f 6e 28 29 3b 0a 20 20 20 20 69 66 20 76 65 72 73 69 6f 6e 20 3c 20 4d 49 4e 5f version();.....if.version.<.MIN_
7f60 43 4f 4d 50 41 54 49 42 4c 45 5f 4c 41 4e 47 55 41 47 45 5f 56 45 52 53 49 4f 4e 20 7b 0a 20 20 COMPATIBLE_LANGUAGE_VERSION.{...
7f80 20 20 20 20 20 20 72 65 74 75 72 6e 20 65 6e 76 2e 73 69 67 6e 61 6c 28 65 72 72 6f 72 3a 3a 74 ......return.env.signal(error::t
7fa0 73 63 5f 6c 61 6e 67 5f 61 62 69 5f 74 6f 6f 5f 6f 6c 64 2c 20 28 0a 20 20 20 20 20 20 20 20 20 sc_lang_abi_too_old,.(..........
7fc0 20 20 20 76 65 72 73 69 6f 6e 2c 20 73 75 70 70 6f 72 74 65 64 5f 61 62 69 5f 72 61 6e 67 65 28 ...version,.supported_abi_range(
7fe0 65 6e 76 29 3f 2c 20 66 69 6c 65 0a 20 20 20 20 20 20 20 20 29 29 3b 0a 20 20 20 20 7d 0a 20 20 env)?,.file.........));.....}...
8000 20 20 69 66 20 76 65 72 73 69 6f 6e 20 3e 20 4c 41 4e 47 55 41 47 45 5f 56 45 52 53 49 4f 4e 20 ..if.version.>.LANGUAGE_VERSION.
8020 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 65 6e 76 2e 73 69 67 6e 61 6c 28 65 72 72 6f {.........return.env.signal(erro
8040 72 3a 3a 74 73 63 5f 6c 61 6e 67 5f 61 62 69 5f 74 6f 6f 5f 6e 65 77 2c 20 28 0a 20 20 20 20 20 r::tsc_lang_abi_too_new,.(......
8060 20 20 20 20 20 20 20 76 65 72 73 69 6f 6e 2c 20 73 75 70 70 6f 72 74 65 64 5f 61 62 69 5f 72 61 .......version,.supported_abi_ra
8080 6e 67 65 28 65 6e 76 29 3f 2c 20 66 69 6c 65 0a 20 20 20 20 20 20 20 20 29 29 3b 0a 20 20 20 20 nge(env)?,.file.........));.....
80a0 7d 0a 20 20 20 20 6c 65 74 20 6e 6f 64 65 5f 74 79 70 65 73 20 3d 20 28 30 2e 2e 6c 61 6e 67 75 }.....let.node_types.=.(0..langu
80c0 61 67 65 2e 6e 6f 64 65 5f 6b 69 6e 64 5f 63 6f 75 6e 74 28 29 20 61 73 20 75 31 36 29 2e 6d 61 age.node_kind_count().as.u16).ma
80e0 70 28 7c 69 64 7c 20 7b 0a 20 20 20 20 20 20 20 20 6c 65 74 20 74 79 70 65 5f 73 74 72 20 3d 20 p(|id|.{.........let.type_str.=.
8100 6c 61 6e 67 75 61 67 65 2e 6e 6f 64 65 5f 6b 69 6e 64 5f 66 6f 72 5f 69 64 28 69 64 29 2e 65 78 language.node_kind_for_id(id).ex
8120 70 65 63 74 28 22 46 61 69 6c 65 64 20 74 6f 20 67 65 74 20 6e 6f 64 65 20 74 79 70 65 20 66 6f pect("Failed.to.get.node.type.fo
8140 72 20 69 64 22 29 3b 0a 20 20 20 20 20 20 20 20 6c 65 74 20 76 61 6c 75 65 20 3d 20 69 66 20 21 r.id");.........let.value.=.if.!
8160 6c 61 6e 67 75 61 67 65 2e 6e 6f 64 65 5f 6b 69 6e 64 5f 69 73 5f 76 69 73 69 62 6c 65 28 69 64 language.node_kind_is_visible(id
8180 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6e 76 2e 69 6e 74 65 72 6e 28 26 66 6f 72 6d ).{.............env.intern(&form
81a0 61 74 21 28 22 3a 7b 7d 22 2c 20 74 79 70 65 5f 73 74 72 29 29 2e 65 78 70 65 63 74 28 22 46 61 at!(":{}",.type_str)).expect("Fa
81c0 69 6c 65 64 20 74 6f 20 69 6e 74 65 72 6e 20 6b 65 79 77 6f 72 64 20 66 6f 72 20 6e 6f 64 65 20 iled.to.intern.keyword.for.node.
81e0 74 79 70 65 22 29 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 6c 61 6e 67 75 61 67 type").........}.else.if.languag
8200 65 2e 6e 6f 64 65 5f 6b 69 6e 64 5f 69 73 5f 6e 61 6d 65 64 28 69 64 29 20 7b 0a 20 20 20 20 20 e.node_kind_is_named(id).{......
8220 20 20 20 20 20 20 20 65 6e 76 2e 69 6e 74 65 72 6e 28 74 79 70 65 5f 73 74 72 29 2e 65 78 70 65 .......env.intern(type_str).expe
8240 63 74 28 22 46 61 69 6c 65 64 20 74 6f 20 69 6e 74 65 72 6e 20 73 79 6d 62 6f 6c 20 66 6f 72 20 ct("Failed.to.intern.symbol.for.
8260 6e 6f 64 65 20 74 79 70 65 22 29 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 node.type").........}.else.{....
8280 20 20 20 20 20 20 20 20 20 74 79 70 65 5f 73 74 72 2e 69 6e 74 6f 5f 6c 69 73 70 28 65 6e 76 29 .........type_str.into_lisp(env)
82a0 2e 65 78 70 65 63 74 28 22 46 61 69 6c 65 64 20 74 6f 20 6d 61 6b 65 20 73 74 72 69 6e 67 20 66 .expect("Failed.to.make.string.f
82c0 6f 72 20 6e 6f 64 65 20 74 79 70 65 22 29 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 or.node.type").........};.......
82e0 20 20 76 61 6c 75 65 2e 6d 61 6b 65 5f 67 6c 6f 62 61 6c 5f 72 65 66 28 29 0a 20 20 20 20 7d 29 ..value.make_global_ref().....})
8300 2e 63 6f 6c 6c 65 63 74 28 29 3b 0a 20 20 20 20 6c 65 74 20 66 69 65 6c 64 5f 6e 61 6d 65 73 20 .collect();.....let.field_names.
8320 3d 20 28 31 2e 2e 3d 6c 61 6e 67 75 61 67 65 2e 66 69 65 6c 64 5f 63 6f 75 6e 74 28 29 20 61 73 =.(1..=language.field_count().as
8340 20 75 31 36 29 2e 6d 61 70 28 7c 69 64 7c 20 7b 0a 20 20 20 20 20 20 20 20 6c 65 74 20 66 69 65 .u16).map(|id|.{.........let.fie
8360 6c 64 5f 73 74 72 20 3d 20 6c 61 6e 67 75 61 67 65 2e 66 69 65 6c 64 5f 6e 61 6d 65 5f 66 6f 72 ld_str.=.language.field_name_for
8380 5f 69 64 28 69 64 29 2e 65 78 70 65 63 74 28 22 46 61 69 6c 65 64 20 74 6f 20 67 65 74 20 66 69 _id(id).expect("Failed.to.get.fi
83a0 65 6c 64 20 6e 61 6d 65 20 66 6f 72 20 69 64 22 29 3b 0a 20 20 20 20 20 20 20 20 65 6e 76 2e 69 eld.name.for.id");.........env.i
83c0 6e 74 65 72 6e 28 26 66 6f 72 6d 61 74 21 28 22 3a 7b 7d 22 2c 20 66 69 65 6c 64 5f 73 74 72 29 ntern(&format!(":{}",.field_str)
83e0 29 2e 65 78 70 65 63 74 28 22 46 61 69 6c 65 64 20 74 6f 20 69 6e 74 65 72 6e 20 6b 65 79 77 6f ).expect("Failed.to.intern.keywo
8400 72 64 20 66 6f 72 20 66 69 65 6c 64 20 6e 61 6d 65 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 rd.for.field.name").............
8420 2e 6d 61 6b 65 5f 67 6c 6f 62 61 6c 5f 72 65 66 28 29 0a 20 20 20 20 7d 29 2e 63 6f 6c 6c 65 63 .make_global_ref().....}).collec
8440 74 28 29 3b 0a 20 20 20 20 6c 65 74 20 6c 61 6e 67 75 61 67 65 3a 20 4c 61 6e 67 75 61 67 65 20 t();.....let.language:.Language.
8460 3d 20 6c 61 6e 67 75 61 67 65 2e 69 6e 74 6f 28 29 3b 0a 20 20 20 20 4c 41 4e 47 5f 49 4e 46 4f =.language.into();.....LANG_INFO
8480 53 2e 74 72 79 5f 6c 6f 63 6b 28 29 2e 65 78 70 65 63 74 28 22 46 61 69 6c 65 64 20 74 6f 20 61 S.try_lock().expect("Failed.to.a
84a0 63 63 65 73 73 20 6c 61 6e 67 75 61 67 65 20 69 6e 66 6f 20 72 65 67 69 73 74 72 79 22 29 0a 20 ccess.language.info.registry")..
84c0 20 20 20 20 20 20 20 2e 69 6e 73 65 72 74 28 6c 61 6e 67 75 61 67 65 2e 69 64 28 29 2c 20 4c 61 ........insert(language.id(),.La
84e0 6e 67 49 6e 66 6f 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 6c 6f 61 64 5f 66 69 6c 65 3a 20 ngInfo.{.............load_file:.
8500 66 69 6c 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 6c 61 6e 67 5f 73 79 6d 62 6f 6c 3a 20 6c file,.............lang_symbol:.l
8520 61 6e 67 5f 73 79 6d 62 6f 6c 2e 6d 61 6b 65 5f 67 6c 6f 62 61 6c 5f 72 65 66 28 29 2c 0a 20 20 ang_symbol.make_global_ref(),...
8540 20 20 20 20 20 20 20 20 20 20 5f 6c 69 62 3a 20 6c 69 62 2c 0a 20 20 20 20 20 20 20 20 20 20 20 .........._lib:.lib,............
8560 20 6e 6f 64 65 5f 74 79 70 65 73 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 69 65 6c 64 5f 6e .node_types,.............field_n
8580 61 6d 65 73 2c 0a 20 20 20 20 20 20 20 20 7d 29 3b 0a 20 20 20 20 4f 6b 28 6c 61 6e 67 75 61 67 ames,.........});.....Ok(languag
85a0 65 29 0a 7d 0a 0a 2f 2f 2f 20 52 65 74 75 72 6e 20 4c 41 4e 47 55 41 47 45 27 73 20 6e 61 6d 65 e).}..///.Return.LANGUAGE's.name
85c0 2c 20 61 73 20 61 20 73 79 6d 62 6f 6c 2e 0a 23 5b 64 65 66 75 6e 5d 0a 66 6e 20 5f 6c 61 6e 67 ,.as.a.symbol..#[defun].fn._lang
85e0 5f 73 79 6d 62 6f 6c 28 6c 61 6e 67 75 61 67 65 3a 20 4c 61 6e 67 75 61 67 65 29 20 2d 3e 20 52 _symbol(language:.Language).->.R
8600 65 73 75 6c 74 3c 26 27 73 74 61 74 69 63 20 47 6c 6f 62 61 6c 52 65 66 3e 20 7b 0a 20 20 20 20 esult<&'static.GlobalRef>.{.....
8620 4f 6b 28 26 6c 61 6e 67 75 61 67 65 2e 69 6e 66 6f 28 29 2e 6c 61 6e 67 5f 73 79 6d 62 6f 6c 29 Ok(&language.info().lang_symbol)
8640 0a 7d 0a 0a 2f 2f 2f 20 52 65 74 75 72 6e 20 74 68 65 20 73 68 61 72 65 64 20 6c 69 62 20 66 69 .}..///.Return.the.shared.lib.fi
8660 6c 65 20 74 68 61 74 20 4c 41 4e 47 55 41 47 45 20 77 61 73 20 6c 6f 61 64 65 64 20 66 72 6f 6d le.that.LANGUAGE.was.loaded.from
8680 2e 0a 23 5b 64 65 66 75 6e 5d 0a 66 6e 20 5f 6c 61 6e 67 5f 6c 6f 61 64 5f 66 69 6c 65 28 6c 61 ..#[defun].fn._lang_load_file(la
86a0 6e 67 75 61 67 65 3a 20 4c 61 6e 67 75 61 67 65 29 20 2d 3e 20 52 65 73 75 6c 74 3c 26 27 73 74 nguage:.Language).->.Result<&'st
86c0 61 74 69 63 20 53 74 72 69 6e 67 3e 20 7b 0a 20 20 20 20 4f 6b 28 26 6c 61 6e 67 75 61 67 65 2e atic.String>.{.....Ok(&language.
86e0 69 6e 66 6f 28 29 2e 6c 6f 61 64 5f 66 69 6c 65 29 0a 7d 0a 0a 2f 2f 2f 20 52 65 74 75 72 6e 20 info().load_file).}..///.Return.
8700 74 68 65 20 6e 6f 64 65 20 74 79 70 65 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 74 68 the.node.type.associated.with.th
8720 65 20 6e 75 6d 65 72 69 63 20 54 59 50 45 2d 49 44 20 69 6e 20 4c 41 4e 47 55 41 47 45 2e 0a 2f e.numeric.TYPE-ID.in.LANGUAGE../
8740 2f 2f 0a 2f 2f 2f 20 46 6f 72 20 6e 61 6d 65 64 20 6e 6f 64 65 73 2c 20 74 68 65 20 6e 6f 64 65 //.///.For.named.nodes,.the.node
8760 20 74 79 70 65 20 69 73 20 61 20 73 79 6d 62 6f 6c 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 3a 20 .type.is.a.symbol..For.example:.
8780 27 69 64 65 6e 74 69 66 69 65 72 2c 20 27 62 6c 6f 63 6b 2e 0a 2f 2f 2f 20 46 6f 72 20 61 6e 6f 'identifier,.'block..///.For.ano
87a0 6e 79 6d 6f 75 73 20 6e 6f 64 65 73 2c 20 74 68 65 20 6e 6f 64 65 20 74 79 70 65 20 69 73 20 61 nymous.nodes,.the.node.type.is.a
87c0 20 73 74 72 69 6e 67 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 3a 20 22 69 66 22 2c 20 22 65 6c 73 .string..For.example:."if",."els
87e0 65 22 2e 0a 2f 2f 2f 20 46 6f 72 20 61 75 78 69 6c 69 61 72 79 20 28 69 6e 76 69 73 69 62 6c 65 e"..///.For.auxiliary.(invisible
8800 29 20 6e 6f 64 65 73 2c 20 74 68 65 20 6e 6f 64 65 20 74 79 70 65 20 69 73 20 61 20 6b 65 79 77 ).nodes,.the.node.type.is.a.keyw
8820 6f 72 64 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 3a 20 3a 65 6e 64 2c 20 3a 5f 65 78 70 72 65 73 ord..For.example:.:end,.:_expres
8840 73 69 6f 6e 2e 0a 23 5b 64 65 66 75 6e 5d 0a 66 6e 20 6c 61 6e 67 5f 6e 6f 64 65 5f 74 79 70 65 sion..#[defun].fn.lang_node_type
8860 28 6c 61 6e 67 75 61 67 65 3a 20 4c 61 6e 67 75 61 67 65 2c 20 74 79 70 65 5f 69 64 3a 20 75 31 (language:.Language,.type_id:.u1
8880 36 29 20 2d 3e 20 52 65 73 75 6c 74 3c 4f 70 74 69 6f 6e 3c 26 27 73 74 61 74 69 63 20 47 6c 6f 6).->.Result<Option<&'static.Glo
88a0 62 61 6c 52 65 66 3e 3e 20 7b 0a 20 20 20 20 4f 6b 28 6c 61 6e 67 75 61 67 65 2e 69 6e 66 6f 28 balRef>>.{.....Ok(language.info(
88c0 29 2e 6e 6f 64 65 5f 74 79 70 65 28 74 79 70 65 5f 69 64 29 29 0a 7d 0a 0a 2f 2f 2f 20 52 65 74 ).node_type(type_id)).}..///.Ret
88e0 75 72 6e 20 61 20 66 69 65 6c 64 27 73 20 6e 61 6d 65 20 6b 65 79 77 6f 72 64 2c 20 67 69 76 65 urn.a.field's.name.keyword,.give
8900 6e 20 69 74 73 20 6e 75 6d 65 72 69 63 20 46 49 45 4c 44 2d 49 44 20 69 6e 20 4c 41 4e 47 55 41 n.its.numeric.FIELD-ID.in.LANGUA
8920 47 45 2e 0a 23 5b 64 65 66 75 6e 5d 0a 66 6e 20 6c 61 6e 67 5f 66 69 65 6c 64 28 6c 61 6e 67 75 GE..#[defun].fn.lang_field(langu
8940 61 67 65 3a 20 4c 61 6e 67 75 61 67 65 2c 20 66 69 65 6c 64 5f 69 64 3a 20 75 31 36 29 20 2d 3e age:.Language,.field_id:.u16).->
8960 20 52 65 73 75 6c 74 3c 4f 70 74 69 6f 6e 3c 26 27 73 74 61 74 69 63 20 47 6c 6f 62 61 6c 52 65 .Result<Option<&'static.GlobalRe
8980 66 3e 3e 20 7b 0a 20 20 20 20 4f 6b 28 6c 61 6e 67 75 61 67 65 2e 69 6e 66 6f 28 29 2e 66 69 65 f>>.{.....Ok(language.info().fie
89a0 6c 64 5f 6e 61 6d 65 28 66 69 65 6c 64 5f 69 64 29 29 0a 7d 0a 0a 2f 2f 2f 20 52 65 74 75 72 6e ld_name(field_id)).}..///.Return
89c0 20 74 68 65 20 6e 75 6d 65 72 69 63 20 69 64 20 6f 66 20 54 59 50 45 2d 4e 41 4d 45 20 69 6e 20 .the.numeric.id.of.TYPE-NAME.in.
89e0 4c 41 4e 47 55 41 47 45 2e 0a 23 5b 64 65 66 75 6e 5d 0a 66 6e 20 5f 6c 61 6e 67 5f 74 79 70 65 LANGUAGE..#[defun].fn._lang_type
8a00 5f 69 64 5f 66 6f 72 5f 6e 61 6d 65 28 6c 61 6e 67 75 61 67 65 3a 20 4c 61 6e 67 75 61 67 65 2c _id_for_name(language:.Language,
8a20 20 74 79 70 65 5f 6e 61 6d 65 3a 20 53 74 72 69 6e 67 2c 20 6e 61 6d 65 64 3a 20 4f 70 74 69 6f .type_name:.String,.named:.Optio
8a40 6e 3c 56 61 6c 75 65 3e 29 20 2d 3e 20 52 65 73 75 6c 74 3c 75 31 36 3e 20 7b 0a 20 20 20 20 4f n<Value>).->.Result<u16>.{.....O
8a60 6b 28 6c 61 6e 67 75 61 67 65 2e 30 2e 69 64 5f 66 6f 72 5f 6e 6f 64 65 5f 6b 69 6e 64 28 26 74 k(language.0.id_for_node_kind(&t
8a80 79 70 65 5f 6e 61 6d 65 2c 20 6e 61 6d 65 64 2e 69 73 5f 73 6f 6d 65 28 29 29 29 0a 7d 0a 0a 2f ype_name,.named.is_some())).}../
8aa0 2f 2f 20 52 65 74 75 72 6e 20 74 68 65 20 72 61 6e 67 65 20 6f 66 20 6c 61 6e 67 75 61 67 65 20 //.Return.the.range.of.language.
8ac0 41 42 49 27 73 20 74 68 61 74 20 74 68 69 73 20 6d 6f 64 75 6c 65 20 63 61 6e 20 6c 6f 61 64 2e ABI's.that.this.module.can.load.
8ae0 0a 23 5b 64 65 66 75 6e 5d 0a 66 6e 20 73 75 70 70 6f 72 74 65 64 5f 61 62 69 5f 72 61 6e 67 65 .#[defun].fn.supported_abi_range
8b00 28 65 6e 76 3a 20 26 45 6e 76 29 20 2d 3e 20 52 65 73 75 6c 74 3c 56 61 6c 75 65 3e 20 7b 0a 20 (env:.&Env).->.Result<Value>.{..
8b20 20 20 20 65 6e 76 2e 63 6f 6e 73 28 4d 49 4e 5f 43 4f 4d 50 41 54 49 42 4c 45 5f 4c 41 4e 47 55 ...env.cons(MIN_COMPATIBLE_LANGU
8b40 41 47 45 5f 56 45 52 53 49 4f 4e 2c 20 4c 41 4e 47 55 41 47 45 5f 56 45 52 53 49 4f 4e 29 0a 7d AGE_VERSION,.LANGUAGE_VERSION).}
8b60 0a 0a 6d 61 63 72 6f 5f 72 75 6c 65 73 21 20 64 65 66 75 6e 5f 6c 61 6e 67 5f 6d 65 74 68 6f 64 ..macro_rules!.defun_lang_method
8b80 73 20 7b 0a 20 20 20 20 28 24 28 24 28 23 5b 24 6d 65 74 61 3a 6d 65 74 61 5d 29 2a 20 24 28 24 s.{.....($($(#[$meta:meta])*.$($
8ba0 6c 69 73 70 5f 6e 61 6d 65 3a 6c 69 74 65 72 61 6c 29 3f 20 66 6e 20 24 6e 61 6d 65 3a 69 64 65 lisp_name:literal)?.fn.$name:ide
8bc0 6e 74 20 24 28 20 28 20 24 28 20 24 70 61 72 61 6d 3a 69 64 65 6e 74 20 3a 20 24 74 79 70 65 3a nt.$(.(.$(.$param:ident.:.$type:
8be0 74 79 20 29 2c 2a 20 29 20 29 3f 20 2d 3e 20 24 72 74 79 70 65 3a 74 79 20 29 2a 29 20 3d 3e 20 ty.),*.).)?.->.$rtype:ty.)*).=>.
8c00 7b 0a 20 20 20 20 20 20 20 20 24 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 5b 64 65 66 75 6e {.........$(.............#[defun
8c20 24 28 28 6e 61 6d 65 20 3d 20 24 6c 69 73 70 5f 6e 61 6d 65 29 29 3f 5d 0a 20 20 20 20 20 20 20 $((name.=.$lisp_name))?]........
8c40 20 20 20 20 20 24 28 23 5b 24 6d 65 74 61 5d 29 2a 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6e .....$(#[$meta])*.............fn
8c60 20 24 6e 61 6d 65 28 6c 61 6e 67 75 61 67 65 3a 20 4c 61 6e 67 75 61 67 65 2c 20 24 28 20 24 28 .$name(language:.Language,.$(.$(
8c80 20 24 70 61 72 61 6d 20 3a 20 24 74 79 70 65 20 29 2c 2a 20 29 3f 20 29 20 2d 3e 20 52 65 73 75 .$param.:.$type.),*.)?.).->.Resu
8ca0 6c 74 3c 24 72 74 79 70 65 3e 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f 6b 28 lt<$rtype>.{.................Ok(
8cc0 28 6c 61 6e 67 75 61 67 65 2e 30 29 2e 24 6e 61 6d 65 28 20 24 28 20 24 28 20 24 70 61 72 61 6d (language.0).$name(.$(.$(.$param
8ce0 20 29 2c 2a 20 29 3f 20 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 .),*.)?.)).............}........
8d00 20 29 2a 0a 20 20 20 20 7d 3b 0a 7d 0a 0a 64 65 66 75 6e 5f 6c 61 6e 67 5f 6d 65 74 68 6f 64 73 .)*.....};.}..defun_lang_methods
8d20 21 20 7b 0a 20 20 20 20 2f 2f 2f 20 52 65 74 75 72 6e 20 74 68 65 20 41 42 49 20 76 65 72 73 69 !.{.....///.Return.the.ABI.versi
8d40 6f 6e 20 6e 75 6d 62 65 72 20 66 6f 72 20 4c 41 4e 47 55 41 47 45 2e 0a 20 20 20 20 2f 2f 2f 20 on.number.for.LANGUAGE......///.
8d60 54 68 69 73 20 76 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 20 69 73 20 75 73 65 64 20 74 6f 20 65 This.version.number.is.used.to.e
8d80 6e 73 75 72 65 20 74 68 61 74 20 6c 61 6e 67 75 61 67 65 73 20 77 65 72 65 20 67 65 6e 65 72 61 nsure.that.languages.were.genera
8da0 74 65 64 20 62 79 20 61 0a 20 20 20 20 2f 2f 2f 20 63 6f 6d 70 61 74 69 62 6c 65 20 76 65 72 73 ted.by.a.....///.compatible.vers
8dc0 69 6f 6e 20 6f 66 20 74 72 65 65 2d 73 69 74 74 65 72 2e 20 60 74 73 63 2d 73 65 74 2d 6c 61 6e ion.of.tree-sitter..`tsc-set-lan
8de0 67 75 61 67 65 27 20 77 69 6c 6c 20 66 61 69 6c 20 69 66 20 74 68 65 20 6c 61 6e 67 75 61 67 65 guage'.will.fail.if.the.language
8e00 0a 20 20 20 20 2f 2f 2f 20 69 73 20 69 6e 63 6f 6d 70 61 74 69 62 6c 65 2c 20 73 6f 20 74 68 65 .....///.is.incompatible,.so.the
8e20 72 65 27 73 20 72 61 72 65 6c 79 20 61 20 6e 65 65 64 20 74 6f 20 75 73 65 20 74 68 69 73 20 66 re's.rarely.a.need.to.use.this.f
8e40 75 6e 63 74 69 6f 6e 2c 20 65 78 63 65 70 74 20 66 6f 72 0a 20 20 20 20 2f 2f 2f 20 64 65 62 75 unction,.except.for.....///.debu
8e60 67 67 69 6e 67 20 70 75 72 70 6f 73 65 73 2e 0a 20 20 20 20 22 6c 61 6e 67 2d 76 65 72 73 69 6f gging.purposes......"lang-versio
8e80 6e 22 20 66 6e 20 76 65 72 73 69 6f 6e 20 2d 3e 20 75 73 69 7a 65 0a 0a 20 20 20 20 2f 2f 2f 20 n".fn.version.->.usize......///.
8ea0 52 65 74 75 72 6e 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 64 69 73 74 69 6e 63 74 20 6e 6f Return.the.number.of.distinct.no
8ec0 64 65 20 74 79 70 65 73 20 64 65 66 69 6e 65 64 20 69 6e 20 4c 41 4e 47 55 41 47 45 2e 0a 20 20 de.types.defined.in.LANGUAGE....
8ee0 20 20 22 6c 61 6e 67 2d 63 6f 75 6e 74 2d 74 79 70 65 73 22 20 66 6e 20 6e 6f 64 65 5f 6b 69 6e .."lang-count-types".fn.node_kin
8f00 64 5f 63 6f 75 6e 74 20 2d 3e 20 75 73 69 7a 65 0a 0a 20 20 20 20 2f 2f 2f 20 52 65 74 75 72 6e d_count.->.usize......///.Return
8f20 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 64 69 73 74 69 6e 63 74 20 66 69 65 6c 64 20 6e 61 .the.number.of.distinct.field.na
8f40 6d 65 73 20 64 65 66 69 6e 65 64 20 69 6e 20 4c 41 4e 47 55 41 47 45 2e 0a 20 20 20 20 22 6c 61 mes.defined.in.LANGUAGE......"la
8f60 6e 67 2d 63 6f 75 6e 74 2d 66 69 65 6c 64 73 22 20 66 6e 20 66 69 65 6c 64 5f 63 6f 75 6e 74 20 ng-count-fields".fn.field_count.
8f80 2d 3e 20 75 73 69 7a 65 0a 0a 20 20 20 20 2f 2f 2f 20 52 65 74 75 72 6e 20 74 20 69 66 20 74 68 ->.usize......///.Return.t.if.th
8fa0 65 20 6e 75 6d 65 72 69 63 20 54 59 50 45 2d 49 44 20 69 64 65 6e 74 69 66 69 65 73 20 61 20 6e e.numeric.TYPE-ID.identifies.a.n
8fc0 61 6d 65 64 20 6e 6f 64 65 20 74 79 70 65 20 69 6e 20 4c 41 4e 47 55 41 47 45 2e 0a 20 20 20 20 amed.node.type.in.LANGUAGE......
8fe0 22 6c 61 6e 67 2d 6e 6f 64 65 2d 74 79 70 65 2d 6e 61 6d 65 64 2d 70 22 20 66 6e 20 6e 6f 64 65 "lang-node-type-named-p".fn.node
9000 5f 6b 69 6e 64 5f 69 73 5f 6e 61 6d 65 64 28 74 79 70 65 5f 69 64 3a 20 75 31 36 29 20 2d 3e 20 _kind_is_named(type_id:.u16).->.
9020 62 6f 6f 6c 0a 0a 20 20 20 20 2f 2f 2f 20 52 65 74 75 72 6e 20 74 68 65 20 6e 75 6d 65 72 69 63 bool......///.Return.the.numeric
9040 20 69 64 20 6f 66 20 46 49 45 4c 44 2d 4e 41 4d 45 20 69 6e 20 4c 41 4e 47 55 41 47 45 2e 0a 20 .id.of.FIELD-NAME.in.LANGUAGE...
9060 20 20 20 22 2d 6c 61 6e 67 2d 66 69 65 6c 64 2d 69 64 2d 66 6f 72 2d 6e 61 6d 65 22 20 66 6e 20 ..."-lang-field-id-for-name".fn.
9080 66 69 65 6c 64 5f 69 64 5f 66 6f 72 5f 6e 61 6d 65 28 66 69 65 6c 64 5f 6e 61 6d 65 3a 20 53 74 field_id_for_name(field_name:.St
90a0 72 69 6e 67 29 20 2d 3e 20 4f 70 74 69 6f 6e 3c 75 31 36 3e 0a 7d 0a 00 00 00 00 00 00 00 00 00 ring).->.Option<u16>.}..........
90c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
90e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
91a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
91c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
91e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9200 74 73 63 2d 32 30 32 32 30 32 31 32 2e 31 36 33 32 2f 73 72 63 2f 6c 69 62 2e 72 73 00 00 00 00 tsc-20220212.1632/src/lib.rs....
9220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9260 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
9280 30 30 30 30 36 30 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 34 36 37 00 20 30 00 00 00 0000600.00000000000.013467..0...
92a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
92c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
92e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9300 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
9320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
9340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
93a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
93c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
93e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9400 0a 75 73 65 20 65 6d 61 63 73 3a 3a 7b 45 6e 76 2c 20 52 65 73 75 6c 74 7d 3b 0a 0a 23 5b 6d 61 .use.emacs::{Env,.Result};..#[ma
9420 63 72 6f 5f 75 73 65 5d 0a 6d 6f 64 20 74 79 70 65 73 3b 0a 6d 6f 64 20 65 72 72 6f 72 3b 0a 6d cro_use].mod.types;.mod.error;.m
9440 6f 64 20 6c 61 6e 67 3b 0a 6d 6f 64 20 70 61 72 73 65 72 3b 0a 6d 6f 64 20 74 72 65 65 3b 0a 6d od.lang;.mod.parser;.mod.tree;.m
9460 6f 64 20 6e 6f 64 65 3b 0a 6d 6f 64 20 63 75 72 73 6f 72 3b 0a 6d 6f 64 20 71 75 65 72 79 3b 0a od.node;.mod.cursor;.mod.query;.
9480 0a 65 6d 61 63 73 3a 3a 70 6c 75 67 69 6e 5f 69 73 5f 47 50 4c 5f 63 6f 6d 70 61 74 69 62 6c 65 .emacs::plugin_is_GPL_compatible
94a0 21 20 7b 7d 0a 0a 23 5b 65 6d 61 63 73 3a 3a 6d 6f 64 75 6c 65 28 6e 61 6d 65 20 3d 20 22 74 73 !.{}..#[emacs::module(name.=."ts
94c0 63 2d 64 79 6e 22 2c 20 64 65 66 75 6e 5f 70 72 65 66 69 78 20 3d 20 22 74 73 63 22 2c 20 6d 6f c-dyn",.defun_prefix.=."tsc",.mo
94e0 64 5f 69 6e 5f 6e 61 6d 65 20 3d 20 66 61 6c 73 65 29 5d 0a 66 6e 20 69 6e 69 74 28 65 6e 76 3a d_in_name.=.false)].fn.init(env:
9500 20 26 45 6e 76 29 20 2d 3e 20 52 65 73 75 6c 74 3c 28 29 3e 20 7b 0a 20 20 20 20 65 6e 76 2e 63 .&Env).->.Result<()>.{.....env.c
9520 61 6c 6c 28 22 73 65 74 22 2c 20 28 65 6e 76 2e 69 6e 74 65 72 6e 28 22 74 73 63 2d 64 79 6e 2d all("set",.(env.intern("tsc-dyn-
9540 2d 76 65 72 73 69 6f 6e 22 29 3f 2c 20 6f 70 74 69 6f 6e 5f 65 6e 76 21 28 22 43 41 52 47 4f 5f -version")?,.option_env!("CARGO_
9560 50 4b 47 5f 56 45 52 53 49 4f 4e 22 29 29 29 3f 3b 0a 20 20 20 20 4f 6b 28 28 29 29 0a 7d 0a 0a PKG_VERSION")))?;.....Ok(()).}..
9580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
95a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
95c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
95e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9600 74 73 63 2d 32 30 32 32 30 32 31 32 2e 31 36 33 32 2f 73 72 63 2f 6e 6f 64 65 2e 72 73 00 00 00 tsc-20220212.1632/src/node.rs...
9620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9660 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
9680 30 30 32 36 36 32 34 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 36 36 34 00 20 30 00 00 00 0026624.00000000000.013664..0...
96a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
96c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
96e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9700 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
9720 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
9740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
97a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
97c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
97e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9800 75 73 65 20 73 74 64 3a 3a 7b 0a 20 20 20 20 63 65 6c 6c 3a 3a 7b 52 65 66 2c 20 52 65 66 43 65 use.std::{.....cell::{Ref,.RefCe
9820 6c 6c 2c 20 52 65 66 4d 75 74 7d 2c 0a 20 20 20 20 6d 65 6d 2c 0a 20 20 20 20 6f 70 73 3a 3a 7b ll,.RefMut},.....mem,.....ops::{
9840 44 65 72 65 66 2c 20 44 65 72 65 66 4d 75 74 7d 2c 0a 7d 3b 0a 0a 75 73 65 20 65 6d 61 63 73 3a Deref,.DerefMut},.};..use.emacs:
9860 3a 7b 64 65 66 75 6e 2c 20 45 6e 76 2c 20 49 6e 74 6f 4c 69 73 70 2c 20 52 65 73 75 6c 74 2c 20 :{defun,.Env,.IntoLisp,.Result,.
9880 56 61 6c 75 65 2c 20 47 6c 6f 62 61 6c 52 65 66 7d 3b 0a 75 73 65 20 74 72 65 65 5f 73 69 74 74 Value,.GlobalRef};.use.tree_sitt
98a0 65 72 3a 3a 7b 49 6e 70 75 74 45 64 69 74 2c 20 4e 6f 64 65 2c 20 54 72 65 65 7d 3b 0a 0a 75 73 er::{InputEdit,.Node,.Tree};..us
98c0 65 20 63 72 61 74 65 3a 3a 7b 0a 20 20 20 20 74 79 70 65 73 3a 3a 7b 73 65 6c 66 2c 20 42 79 74 e.crate::{.....types::{self,.Byt
98e0 65 50 6f 73 2c 20 50 6f 69 6e 74 2c 20 53 68 61 72 65 64 2c 20 52 61 6e 67 65 7d 2c 0a 20 20 20 ePos,.Point,.Shared,.Range},....
9900 20 6c 61 6e 67 3a 3a 4c 61 6e 67 75 61 67 65 2c 0a 7d 3b 0a 0a 2f 2f 20 2d 2d 2d 2d 2d 2d 2d 2d .lang::Language,.};..//.--------
9920 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
9940 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
9960 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 2f 2f 2f 20 57 -------------------------..///.W
9980 72 61 70 70 65 72 20 61 72 6f 75 6e 64 20 60 74 72 65 65 5f 73 69 74 74 65 72 3a 3a 4e 6f 64 65 rapper.around.`tree_sitter::Node
99a0 60 20 74 68 61 74 20 63 61 6e 20 68 61 76 65 20 27 73 74 61 74 69 63 20 6c 69 66 65 74 69 6d 65 `.that.can.have.'static.lifetime
99c0 2c 20 62 79 20 6b 65 65 70 69 6e 67 20 61 20 72 65 66 2d 63 6f 75 6e 74 65 64 0a 2f 2f 2f 20 72 ,.by.keeping.a.ref-counted.///.r
99e0 65 66 65 72 65 6e 63 65 20 74 6f 20 74 68 65 20 75 6e 64 65 72 6c 79 69 6e 67 20 74 72 65 65 2e eference.to.the.underlying.tree.
9a00 0a 23 5b 64 65 72 69 76 65 28 43 6c 6f 6e 65 29 5d 0a 70 75 62 20 73 74 72 75 63 74 20 52 4e 6f .#[derive(Clone)].pub.struct.RNo
9a20 64 65 20 7b 0a 20 20 20 20 74 72 65 65 3a 20 53 68 61 72 65 64 3c 54 72 65 65 3e 2c 0a 20 20 20 de.{.....tree:.Shared<Tree>,....
9a40 20 69 6e 6e 65 72 3a 20 4e 6f 64 65 3c 27 73 74 61 74 69 63 3e 2c 0a 7d 0a 0a 69 6d 70 6c 5f 70 .inner:.Node<'static>,.}..impl_p
9a60 72 65 64 21 28 6e 6f 64 65 5f 70 2c 20 26 52 65 66 43 65 6c 6c 3c 52 4e 6f 64 65 3e 29 3b 0a 0a red!(node_p,.&RefCell<RNode>);..
9a80 70 75 62 20 73 74 72 75 63 74 20 52 4e 6f 64 65 42 6f 72 72 6f 77 3c 27 65 3e 20 7b 0a 20 20 20 pub.struct.RNodeBorrow<'e>.{....
9aa0 20 23 5b 61 6c 6c 6f 77 28 75 6e 75 73 65 64 29 5d 0a 20 20 20 20 72 65 66 74 3a 20 52 65 66 3c .#[allow(unused)].....reft:.Ref<
9ac0 27 65 2c 20 54 72 65 65 3e 2c 0a 20 20 20 20 6e 6f 64 65 3a 20 26 27 65 20 4e 6f 64 65 3c 27 65 'e,.Tree>,.....node:.&'e.Node<'e
9ae0 3e 2c 0a 7d 0a 0a 69 6d 70 6c 3c 27 65 3e 20 44 65 72 65 66 20 66 6f 72 20 52 4e 6f 64 65 42 6f >,.}..impl<'e>.Deref.for.RNodeBo
9b00 72 72 6f 77 3c 27 65 3e 20 7b 0a 20 20 20 20 74 79 70 65 20 54 61 72 67 65 74 20 3d 20 4e 6f 64 rrow<'e>.{.....type.Target.=.Nod
9b20 65 3c 27 65 3e 3b 0a 0a 20 20 20 20 23 5b 69 6e 6c 69 6e 65 5d 0a 20 20 20 20 66 6e 20 64 65 72 e<'e>;......#[inline].....fn.der
9b40 65 66 28 26 73 65 6c 66 29 20 2d 3e 20 26 53 65 6c 66 3a 3a 54 61 72 67 65 74 20 7b 0a 20 20 20 ef(&self).->.&Self::Target.{....
9b60 20 20 20 20 20 73 65 6c 66 2e 6e 6f 64 65 0a 20 20 20 20 7d 0a 7d 0a 0a 70 75 62 20 73 74 72 75 .....self.node.....}.}..pub.stru
9b80 63 74 20 52 4e 6f 64 65 42 6f 72 72 6f 77 4d 75 74 3c 27 65 3e 20 7b 0a 20 20 20 20 23 5b 61 6c ct.RNodeBorrowMut<'e>.{.....#[al
9ba0 6c 6f 77 28 75 6e 75 73 65 64 29 5d 0a 20 20 20 20 72 65 66 74 3a 20 52 65 66 4d 75 74 3c 27 65 low(unused)].....reft:.RefMut<'e
9bc0 2c 20 54 72 65 65 3e 2c 0a 20 20 20 20 6e 6f 64 65 3a 20 4e 6f 64 65 3c 27 65 3e 2c 0a 7d 0a 0a ,.Tree>,.....node:.Node<'e>,.}..
9be0 69 6d 70 6c 3c 27 65 3e 20 44 65 72 65 66 20 66 6f 72 20 52 4e 6f 64 65 42 6f 72 72 6f 77 4d 75 impl<'e>.Deref.for.RNodeBorrowMu
9c00 74 3c 27 65 3e 20 7b 0a 20 20 20 20 74 79 70 65 20 54 61 72 67 65 74 20 3d 20 4e 6f 64 65 3c 27 t<'e>.{.....type.Target.=.Node<'
9c20 65 3e 3b 0a 0a 20 20 20 20 23 5b 69 6e 6c 69 6e 65 5d 0a 20 20 20 20 66 6e 20 64 65 72 65 66 28 e>;......#[inline].....fn.deref(
9c40 26 73 65 6c 66 29 20 2d 3e 20 26 53 65 6c 66 3a 3a 54 61 72 67 65 74 20 7b 0a 20 20 20 20 20 20 &self).->.&Self::Target.{.......
9c60 20 20 26 73 65 6c 66 2e 6e 6f 64 65 0a 20 20 20 20 7d 0a 7d 0a 0a 69 6d 70 6c 3c 27 65 3e 20 44 ..&self.node.....}.}..impl<'e>.D
9c80 65 72 65 66 4d 75 74 20 66 6f 72 20 52 4e 6f 64 65 42 6f 72 72 6f 77 4d 75 74 3c 27 65 3e 20 7b erefMut.for.RNodeBorrowMut<'e>.{
9ca0 0a 20 20 20 20 23 5b 69 6e 6c 69 6e 65 5d 0a 20 20 20 20 66 6e 20 64 65 72 65 66 5f 6d 75 74 28 .....#[inline].....fn.deref_mut(
9cc0 26 6d 75 74 20 73 65 6c 66 29 20 2d 3e 20 26 6d 75 74 20 53 65 6c 66 3a 3a 54 61 72 67 65 74 20 &mut.self).->.&mut.Self::Target.
9ce0 7b 0a 20 20 20 20 20 20 20 20 26 6d 75 74 20 73 65 6c 66 2e 6e 6f 64 65 0a 20 20 20 20 7d 0a 7d {.........&mut.self.node.....}.}
9d00 0a 0a 69 6d 70 6c 20 50 61 72 74 69 61 6c 45 71 20 66 6f 72 20 52 4e 6f 64 65 20 7b 0a 20 20 20 ..impl.PartialEq.for.RNode.{....
9d20 20 66 6e 20 65 71 28 26 73 65 6c 66 2c 20 6f 74 68 65 72 3a 20 26 53 65 6c 66 29 20 2d 3e 20 62 .fn.eq(&self,.other:.&Self).->.b
9d40 6f 6f 6c 20 7b 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 69 6e 6e 65 72 20 3d 3d 20 6f 74 68 65 ool.{.........self.inner.==.othe
9d60 72 2e 69 6e 6e 65 72 0a 20 20 20 20 7d 0a 7d 0a 0a 69 6d 70 6c 20 49 6e 74 6f 4c 69 73 70 3c 27 r.inner.....}.}..impl.IntoLisp<'
9d80 5f 3e 20 66 6f 72 20 52 4e 6f 64 65 20 7b 0a 20 20 20 20 66 6e 20 69 6e 74 6f 5f 6c 69 73 70 28 _>.for.RNode.{.....fn.into_lisp(
9da0 73 65 6c 66 2c 20 65 6e 76 3a 20 26 45 6e 76 29 20 2d 3e 20 52 65 73 75 6c 74 3c 56 61 6c 75 65 self,.env:.&Env).->.Result<Value
9dc0 3e 20 7b 0a 20 20 20 20 20 20 20 20 52 65 66 43 65 6c 6c 3a 3a 6e 65 77 28 73 65 6c 66 29 2e 69 >.{.........RefCell::new(self).i
9de0 6e 74 6f 5f 6c 69 73 70 28 65 6e 76 29 0a 20 20 20 20 7d 0a 7d 0a 0a 69 6d 70 6c 20 52 4e 6f 64 nto_lisp(env).....}.}..impl.RNod
9e00 65 20 7b 0a 20 20 20 20 70 75 62 20 66 6e 20 6e 65 77 3c 27 65 2c 20 46 3a 20 46 6e 4f 6e 63 65 e.{.....pub.fn.new<'e,.F:.FnOnce
9e20 28 26 27 65 20 54 72 65 65 29 20 2d 3e 20 4e 6f 64 65 3c 27 65 3e 3e 28 74 72 65 65 3a 20 53 68 (&'e.Tree).->.Node<'e>>(tree:.Sh
9e40 61 72 65 64 3c 54 72 65 65 3e 2c 20 66 3a 20 46 29 20 2d 3e 20 53 65 6c 66 20 7b 0a 20 20 20 20 ared<Tree>,.f:.F).->.Self.{.....
9e60 20 20 20 20 6c 65 74 20 72 74 72 65 65 20 3d 20 75 6e 73 61 66 65 20 7b 20 74 79 70 65 73 3a 3a ....let.rtree.=.unsafe.{.types::
9e80 65 72 61 73 65 5f 6c 69 66 65 74 69 6d 65 28 26 2a 74 72 65 65 2e 62 6f 72 72 6f 77 28 29 29 20 erase_lifetime(&*tree.borrow()).
9ea0 7d 3b 0a 20 20 20 20 20 20 20 20 6c 65 74 20 69 6e 6e 65 72 20 3d 20 75 6e 73 61 66 65 20 7b 20 };.........let.inner.=.unsafe.{.
9ec0 6d 65 6d 3a 3a 74 72 61 6e 73 6d 75 74 65 28 66 28 72 74 72 65 65 29 29 20 7d 3b 0a 20 20 20 20 mem::transmute(f(rtree)).};.....
9ee0 20 20 20 20 53 65 6c 66 20 7b 20 74 72 65 65 2c 20 69 6e 6e 65 72 20 7d 0a 20 20 20 20 7d 0a 0a ....Self.{.tree,.inner.}.....}..
9f00 20 20 20 20 70 75 62 20 66 6e 20 63 6c 6f 6e 65 5f 74 72 65 65 28 26 73 65 6c 66 29 20 2d 3e 20 ....pub.fn.clone_tree(&self).->.
9f20 53 68 61 72 65 64 3c 54 72 65 65 3e 20 7b 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 74 72 65 65 Shared<Tree>.{.........self.tree
9f40 2e 63 6c 6f 6e 65 28 29 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 20 66 6e 20 6d 61 70 3c 27 .clone().....}......pub.fn.map<'
9f60 65 2c 20 46 3a 20 46 6e 4f 6e 63 65 28 26 4e 6f 64 65 3c 27 65 3e 29 20 2d 3e 20 4e 6f 64 65 3c e,.F:.FnOnce(&Node<'e>).->.Node<
9f80 27 65 3e 3e 28 26 73 65 6c 66 2c 20 66 3a 20 46 29 20 2d 3e 20 53 65 6c 66 20 7b 0a 20 20 20 20 'e>>(&self,.f:.F).->.Self.{.....
9fa0 20 20 20 20 53 65 6c 66 3a 3a 6e 65 77 28 73 65 6c 66 2e 63 6c 6f 6e 65 5f 74 72 65 65 28 29 2c ....Self::new(self.clone_tree(),
9fc0 20 7c 5f 7c 20 66 28 26 73 65 6c 66 2e 69 6e 6e 65 72 29 29 0a 20 20 20 20 7d 0a 0a 20 20 20 20 .|_|.f(&self.inner)).....}......
9fe0 23 5b 69 6e 6c 69 6e 65 5d 0a 20 20 20 20 70 75 62 20 66 6e 20 62 6f 72 72 6f 77 28 26 73 65 6c #[inline].....pub.fn.borrow(&sel
a000 66 29 20 2d 3e 20 52 4e 6f 64 65 42 6f 72 72 6f 77 20 7b 0a 20 20 20 20 20 20 20 20 6c 65 74 20 f).->.RNodeBorrow.{.........let.
a020 72 65 66 74 20 3d 20 73 65 6c 66 2e 74 72 65 65 2e 62 6f 72 72 6f 77 28 29 3b 0a 20 20 20 20 20 reft.=.self.tree.borrow();......
a040 20 20 20 6c 65 74 20 6e 6f 64 65 20 3d 20 26 73 65 6c 66 2e 69 6e 6e 65 72 3b 0a 20 20 20 20 20 ...let.node.=.&self.inner;......
a060 20 20 20 52 4e 6f 64 65 42 6f 72 72 6f 77 20 7b 20 72 65 66 74 2c 20 6e 6f 64 65 20 7d 0a 20 20 ...RNodeBorrow.{.reft,.node.}...
a080 20 20 7d 0a 0a 20 20 20 20 23 5b 69 6e 6c 69 6e 65 5d 0a 20 20 20 20 70 75 62 20 66 6e 20 62 6f ..}......#[inline].....pub.fn.bo
a0a0 72 72 6f 77 5f 6d 75 74 28 26 6d 75 74 20 73 65 6c 66 29 20 2d 3e 20 52 4e 6f 64 65 42 6f 72 72 rrow_mut(&mut.self).->.RNodeBorr
a0c0 6f 77 4d 75 74 20 7b 0a 20 20 20 20 20 20 20 20 6c 65 74 20 72 65 66 74 20 3d 20 73 65 6c 66 2e owMut.{.........let.reft.=.self.
a0e0 74 72 65 65 2e 62 6f 72 72 6f 77 5f 6d 75 74 28 29 3b 0a 20 20 20 20 20 20 20 20 6c 65 74 20 6e tree.borrow_mut();.........let.n
a100 6f 64 65 20 3d 20 73 65 6c 66 2e 69 6e 6e 65 72 3b 0a 20 20 20 20 20 20 20 20 52 4e 6f 64 65 42 ode.=.self.inner;.........RNodeB
a120 6f 72 72 6f 77 4d 75 74 20 7b 20 72 65 66 74 2c 20 6e 6f 64 65 20 7d 0a 20 20 20 20 7d 0a 7d 0a orrowMut.{.reft,.node.}.....}.}.
a140 0a 2f 2f 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .//.----------------------------
a160 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
a180 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
a1a0 2d 2d 2d 2d 2d 0a 0a 2f 2f 2f 20 45 78 70 6f 73 65 73 20 6d 65 74 68 6f 64 73 20 74 68 61 74 20 -----..///.Exposes.methods.that.
a1c0 72 65 74 75 72 6e 20 61 20 6e 6f 64 65 27 73 20 70 72 6f 70 65 72 74 79 2e 0a 6d 61 63 72 6f 5f return.a.node's.property..macro_
a1e0 72 75 6c 65 73 21 20 64 65 66 75 6e 5f 6e 6f 64 65 5f 70 72 6f 70 73 20 7b 0a 20 20 20 20 28 24 rules!.defun_node_props.{.....($
a200 28 24 28 23 5b 24 6d 65 74 61 3a 6d 65 74 61 5d 29 2a 20 24 28 24 6c 69 73 70 5f 6e 61 6d 65 3a ($(#[$meta:meta])*.$($lisp_name:
a220 6c 69 74 65 72 61 6c 29 3f 20 66 6e 20 24 6e 61 6d 65 3a 69 64 65 6e 74 20 2d 3e 20 24 74 79 70 literal)?.fn.$name:ident.->.$typ
a240 65 3a 74 79 20 24 28 3b 20 24 69 6e 74 6f 3a 69 64 65 6e 74 29 3f 20 29 2a 29 20 3d 3e 20 7b 0a e:ty.$(;.$into:ident)?.)*).=>.{.
a260 20 20 20 20 20 20 20 20 24 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 5b 64 65 66 75 6e 24 28 ........$(.............#[defun$(
a280 28 6e 61 6d 65 20 3d 20 24 6c 69 73 70 5f 6e 61 6d 65 29 29 3f 5d 0a 20 20 20 20 20 20 20 20 20 (name.=.$lisp_name))?]..........
a2a0 20 20 20 24 28 23 5b 24 6d 65 74 61 5d 29 2a 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6e 20 24 ...$(#[$meta])*.............fn.$
a2c0 6e 61 6d 65 28 6e 6f 64 65 3a 20 26 52 4e 6f 64 65 29 20 2d 3e 20 52 65 73 75 6c 74 3c 24 74 79 name(node:.&RNode).->.Result<$ty
a2e0 70 65 3e 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f 6b 28 6e 6f 64 65 2e 62 6f pe>.{.................Ok(node.bo
a300 72 72 6f 77 28 29 2e 24 6e 61 6d 65 28 29 24 28 2e 24 69 6e 74 6f 28 29 29 3f 29 0a 20 20 20 20 rrow().$name()$(.$into())?).....
a320 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 29 2a 0a 20 20 20 20 7d 3b 0a 7d 0a 0a 2f ........}.........)*.....};.}../
a340 2f 2f 20 45 78 70 6f 73 65 73 20 6d 65 74 68 6f 64 73 20 74 68 61 74 20 72 65 74 75 72 6e 20 61 //.Exposes.methods.that.return.a
a360 6e 6f 74 68 65 72 20 6e 6f 64 65 2e 0a 6d 61 63 72 6f 5f 72 75 6c 65 73 21 20 64 65 66 75 6e 5f nother.node..macro_rules!.defun_
a380 6e 6f 64 65 5f 6e 61 76 73 20 7b 0a 20 20 20 20 28 24 28 24 28 23 5b 24 6d 65 74 61 3a 6d 65 74 node_navs.{.....($($(#[$meta:met
a3a0 61 5d 29 2a 20 24 28 24 6c 69 73 70 5f 6e 61 6d 65 3a 6c 69 74 65 72 61 6c 29 3f 20 66 6e 20 24 a])*.$($lisp_name:literal)?.fn.$
a3c0 6e 61 6d 65 3a 69 64 65 6e 74 20 24 28 20 28 20 24 28 20 24 70 61 72 61 6d 3a 69 64 65 6e 74 20 name:ident.$(.(.$(.$param:ident.
a3e0 24 28 24 69 6e 74 6f 3a 69 64 65 6e 74 29 3f 20 3a 20 24 74 79 70 65 3a 74 79 20 29 2c 2a 20 29 $($into:ident)?.:.$type:ty.),*.)
a400 20 29 3f 29 2a 29 20 3d 3e 20 7b 0a 20 20 20 20 20 20 20 20 24 28 0a 20 20 20 20 20 20 20 20 20 .)?)*).=>.{.........$(..........
a420 20 20 20 23 5b 64 65 66 75 6e 24 28 28 6e 61 6d 65 20 3d 20 24 6c 69 73 70 5f 6e 61 6d 65 29 29 ...#[defun$((name.=.$lisp_name))
a440 3f 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 28 23 5b 24 6d 65 74 61 5d 29 2a 0a 20 20 20 20 ?].............$(#[$meta])*.....
a460 20 20 20 20 20 20 20 20 66 6e 20 24 6e 61 6d 65 28 6e 6f 64 65 3a 20 26 52 4e 6f 64 65 2c 20 24 ........fn.$name(node:.&RNode,.$
a480 28 20 24 28 20 24 70 61 72 61 6d 20 3a 20 24 74 79 70 65 20 29 2c 2a 20 29 3f 20 29 20 2d 3e 20 (.$(.$param.:.$type.),*.)?.).->.
a4a0 52 65 73 75 6c 74 3c 4f 70 74 69 6f 6e 3c 52 4e 6f 64 65 3e 3e 20 7b 0a 20 20 20 20 20 20 20 20 Result<Option<RNode>>.{.........
a4c0 20 20 20 20 20 20 20 20 4f 6b 28 6e 6f 64 65 2e 62 6f 72 72 6f 77 28 29 2e 24 6e 61 6d 65 28 20 ........Ok(node.borrow().$name(.
a4e0 24 28 20 24 28 20 24 70 61 72 61 6d 20 24 28 2e 24 69 6e 74 6f 28 29 29 3f 20 29 2c 2a 20 29 3f $(.$(.$param.$(.$into())?.),*.)?
a500 20 29 2e 6d 61 70 28 7c 6f 74 68 65 72 7c 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .).map(|other|.{................
a520 20 20 20 20 20 6e 6f 64 65 2e 6d 61 70 28 7c 5f 7c 20 6f 74 68 65 72 29 0a 20 20 20 20 20 20 20 .....node.map(|_|.other)........
a540 20 20 20 20 20 20 20 20 20 7d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 .........})).............}......
a560 20 20 20 29 2a 0a 20 20 20 20 7d 3b 0a 7d 0a 0a 65 6d 61 63 73 3a 3a 75 73 65 5f 73 79 6d 62 6f ...)*.....};.}..emacs::use_symbo
a580 6c 73 21 28 45 52 52 4f 52 29 3b 0a 0a 2f 2f 2f 20 52 65 74 75 72 6e 20 4e 4f 44 45 27 73 20 74 ls!(ERROR);..///.Return.NODE's.t
a5a0 79 70 65 2c 20 61 73 20 61 20 73 79 6d 62 6f 6c 20 28 6e 61 6d 65 64 20 6e 6f 64 65 29 2c 20 6f ype,.as.a.symbol.(named.node),.o
a5c0 72 20 61 20 73 74 72 69 6e 67 20 28 61 6e 6f 6e 79 6d 6f 75 73 20 6e 6f 64 65 29 2e 0a 2f 2f 2f r.a.string.(anonymous.node)..///
a5e0 0a 2f 2f 2f 20 49 66 20 4e 4f 44 45 20 69 73 20 61 20 6e 61 6d 65 64 20 6e 6f 64 65 2c 20 69 74 .///.If.NODE.is.a.named.node,.it
a600 73 20 74 79 70 65 20 69 73 20 61 20 73 79 6d 62 6f 6c 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 3a s.type.is.a.symbol..For.example:
a620 20 27 69 64 65 6e 74 69 66 69 65 72 2c 20 27 62 6c 6f 63 6b 2e 0a 2f 2f 2f 20 49 66 20 4e 4f 44 .'identifier,.'block..///.If.NOD
a640 45 20 69 73 20 61 6e 20 61 6e 6f 6e 79 6d 6f 75 73 20 6e 6f 64 65 2c 20 69 74 73 20 74 79 70 65 E.is.an.anonymous.node,.its.type
a660 20 69 73 20 61 20 73 74 72 69 6e 67 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 3a 20 22 69 66 22 2c .is.a.string..For.example:."if",
a680 20 22 65 6c 73 65 22 2e 0a 23 5b 64 65 66 75 6e 5d 0a 66 6e 20 6e 6f 64 65 5f 74 79 70 65 28 6e ."else"..#[defun].fn.node_type(n
a6a0 6f 64 65 3a 20 26 52 4e 6f 64 65 29 20 2d 3e 20 52 65 73 75 6c 74 3c 26 27 73 74 61 74 69 63 20 ode:.&RNode).->.Result<&'static.
a6c0 47 6c 6f 62 61 6c 52 65 66 3e 20 7b 0a 20 20 20 20 4f 6b 28 6e 6f 64 65 2e 62 6f 72 72 6f 77 28 GlobalRef>.{.....Ok(node.borrow(
a6e0 29 2e 6c 69 73 70 5f 74 79 70 65 28 29 29 0a 7d 0a 0a 70 75 62 28 63 72 61 74 65 29 20 74 72 61 ).lisp_type()).}..pub(crate).tra
a700 69 74 20 4c 69 73 70 55 74 69 6c 73 20 7b 0a 20 20 20 20 66 6e 20 6c 69 73 70 5f 74 79 70 65 28 it.LispUtils.{.....fn.lisp_type(
a720 26 73 65 6c 66 29 20 2d 3e 20 26 27 73 74 61 74 69 63 20 47 6c 6f 62 61 6c 52 65 66 3b 0a 20 20 &self).->.&'static.GlobalRef;...
a740 20 20 66 6e 20 6c 69 73 70 5f 62 79 74 65 5f 72 61 6e 67 65 3c 27 65 3e 28 26 73 65 6c 66 2c 20 ..fn.lisp_byte_range<'e>(&self,.
a760 65 6e 76 3a 20 26 27 65 20 45 6e 76 29 20 2d 3e 20 52 65 73 75 6c 74 3c 56 61 6c 75 65 3c 27 65 env:.&'e.Env).->.Result<Value<'e
a780 3e 3e 3b 0a 20 20 20 20 66 6e 20 6c 69 73 70 5f 73 74 61 72 74 5f 62 79 74 65 28 26 73 65 6c 66 >>;.....fn.lisp_start_byte(&self
a7a0 29 20 2d 3e 20 42 79 74 65 50 6f 73 3b 0a 20 20 20 20 66 6e 20 6c 69 73 70 5f 65 6e 64 5f 62 79 ).->.BytePos;.....fn.lisp_end_by
a7c0 74 65 28 26 73 65 6c 66 29 20 2d 3e 20 42 79 74 65 50 6f 73 3b 0a 20 20 20 20 66 6e 20 6c 69 73 te(&self).->.BytePos;.....fn.lis
a7e0 70 5f 73 74 61 72 74 5f 70 6f 69 6e 74 28 26 73 65 6c 66 29 20 2d 3e 20 50 6f 69 6e 74 3b 0a 20 p_start_point(&self).->.Point;..
a800 20 20 20 66 6e 20 6c 69 73 70 5f 65 6e 64 5f 70 6f 69 6e 74 28 26 73 65 6c 66 29 20 2d 3e 20 50 ...fn.lisp_end_point(&self).->.P
a820 6f 69 6e 74 3b 0a 20 20 20 20 66 6e 20 6c 69 73 70 5f 72 61 6e 67 65 28 26 73 65 6c 66 29 20 2d oint;.....fn.lisp_range(&self).-
a840 3e 20 52 61 6e 67 65 3b 0a 7d 0a 0a 69 6d 70 6c 3c 27 6e 3e 20 4c 69 73 70 55 74 69 6c 73 20 66 >.Range;.}..impl<'n>.LispUtils.f
a860 6f 72 20 4e 6f 64 65 3c 27 6e 3e 20 7b 0a 20 20 20 20 23 5b 69 6e 6c 69 6e 65 5d 0a 20 20 20 20 or.Node<'n>.{.....#[inline].....
a880 66 6e 20 6c 69 73 70 5f 74 79 70 65 28 26 73 65 6c 66 29 20 2d 3e 20 26 27 73 74 61 74 69 63 20 fn.lisp_type(&self).->.&'static.
a8a0 47 6c 6f 62 61 6c 52 65 66 20 7b 0a 20 20 20 20 20 20 20 20 6c 65 74 20 6c 61 6e 67 75 61 67 65 GlobalRef.{.........let.language
a8c0 3a 20 4c 61 6e 67 75 61 67 65 20 3d 20 73 65 6c 66 2e 6c 61 6e 67 75 61 67 65 28 29 2e 69 6e 74 :.Language.=.self.language().int
a8e0 6f 28 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 73 65 6c 66 2e 69 73 5f 65 72 72 6f 72 28 29 20 o();.........if.self.is_error().
a900 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 45 52 52 4f 52 0a 20 20 20 20 20 20 20 20 7d 20 65 6c {.............ERROR.........}.el
a920 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 61 6e 67 75 61 67 65 2e 69 6e 66 6f 28 se.{.............&language.info(
a940 29 2e 6e 6f 64 65 5f 74 79 70 65 28 73 65 6c 66 2e 6b 69 6e 64 5f 69 64 28 29 29 2e 65 78 70 65 ).node_type(self.kind_id()).expe
a960 63 74 28 22 46 61 69 6c 65 64 20 74 6f 20 67 65 74 20 6e 6f 64 65 20 74 79 70 65 20 66 72 6f 6d ct("Failed.to.get.node.type.from
a980 20 69 64 22 29 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 23 5b 69 6e 6c .id").........}.....}......#[inl
a9a0 69 6e 65 5d 0a 20 20 20 20 66 6e 20 6c 69 73 70 5f 62 79 74 65 5f 72 61 6e 67 65 3c 27 65 3e 28 ine].....fn.lisp_byte_range<'e>(
a9c0 26 73 65 6c 66 2c 20 65 6e 76 3a 20 26 27 65 20 45 6e 76 29 20 2d 3e 20 52 65 73 75 6c 74 3c 56 &self,.env:.&'e.Env).->.Result<V
a9e0 61 6c 75 65 3c 27 65 3e 3e 20 7b 0a 20 20 20 20 20 20 20 20 6c 65 74 20 62 65 67 3a 20 42 79 74 alue<'e>>.{.........let.beg:.Byt
aa00 65 50 6f 73 20 3d 20 73 65 6c 66 2e 73 74 61 72 74 5f 62 79 74 65 28 29 2e 69 6e 74 6f 28 29 3b ePos.=.self.start_byte().into();
aa20 0a 20 20 20 20 20 20 20 20 6c 65 74 20 65 6e 64 3a 20 42 79 74 65 50 6f 73 20 3d 20 73 65 6c 66 .........let.end:.BytePos.=.self
aa40 2e 65 6e 64 5f 62 79 74 65 28 29 2e 69 6e 74 6f 28 29 3b 0a 20 20 20 20 20 20 20 20 65 6e 76 2e .end_byte().into();.........env.
aa60 63 6f 6e 73 28 62 65 67 2c 20 65 6e 64 29 0a 20 20 20 20 7d 0a 0a 20 20 20 20 23 5b 69 6e 6c 69 cons(beg,.end).....}......#[inli
aa80 6e 65 5d 0a 20 20 20 20 66 6e 20 6c 69 73 70 5f 73 74 61 72 74 5f 62 79 74 65 28 26 73 65 6c 66 ne].....fn.lisp_start_byte(&self
aaa0 29 20 2d 3e 20 42 79 74 65 50 6f 73 20 7b 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 74 61 72 ).->.BytePos.{.........self.star
aac0 74 5f 62 79 74 65 28 29 2e 69 6e 74 6f 28 29 0a 20 20 20 20 7d 0a 0a 20 20 20 20 23 5b 69 6e 6c t_byte().into().....}......#[inl
aae0 69 6e 65 5d 0a 20 20 20 20 66 6e 20 6c 69 73 70 5f 65 6e 64 5f 62 79 74 65 28 26 73 65 6c 66 29 ine].....fn.lisp_end_byte(&self)
ab00 20 2d 3e 20 42 79 74 65 50 6f 73 20 7b 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 65 6e 64 5f 62 .->.BytePos.{.........self.end_b
ab20 79 74 65 28 29 2e 69 6e 74 6f 28 29 0a 20 20 20 20 7d 0a 0a 20 20 20 20 23 5b 69 6e 6c 69 6e 65 yte().into().....}......#[inline
ab40 5d 0a 20 20 20 20 66 6e 20 6c 69 73 70 5f 73 74 61 72 74 5f 70 6f 69 6e 74 28 26 73 65 6c 66 29 ].....fn.lisp_start_point(&self)
ab60 20 2d 3e 20 50 6f 69 6e 74 20 7b 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 73 74 61 72 74 5f 70 .->.Point.{.........self.start_p
ab80 6f 73 69 74 69 6f 6e 28 29 2e 69 6e 74 6f 28 29 0a 20 20 20 20 7d 0a 0a 20 20 20 20 23 5b 69 6e osition().into().....}......#[in
aba0 6c 69 6e 65 5d 0a 20 20 20 20 66 6e 20 6c 69 73 70 5f 65 6e 64 5f 70 6f 69 6e 74 28 26 73 65 6c line].....fn.lisp_end_point(&sel
abc0 66 29 20 2d 3e 20 50 6f 69 6e 74 20 7b 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 65 6e 64 5f 70 f).->.Point.{.........self.end_p
abe0 6f 73 69 74 69 6f 6e 28 29 2e 69 6e 74 6f 28 29 0a 20 20 20 20 7d 0a 0a 20 20 20 20 23 5b 69 6e osition().into().....}......#[in
ac00 6c 69 6e 65 5d 0a 20 20 20 20 66 6e 20 6c 69 73 70 5f 72 61 6e 67 65 28 26 73 65 6c 66 29 20 2d line].....fn.lisp_range(&self).-
ac20 3e 20 52 61 6e 67 65 20 7b 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 72 61 6e 67 65 28 29 2e 69 >.Range.{.........self.range().i
ac40 6e 74 6f 28 29 0a 20 20 20 20 7d 7d 0a 0a 64 65 66 75 6e 5f 6e 6f 64 65 5f 70 72 6f 70 73 21 20 nto().....}}..defun_node_props!.
ac60 7b 0a 20 20 20 20 2f 2f 2f 20 52 65 74 75 72 6e 20 4e 4f 44 45 27 73 20 6e 75 6d 65 72 69 63 20 {.....///.Return.NODE's.numeric.
ac80 74 79 70 65 2d 69 64 2e 0a 20 20 20 20 22 6e 6f 64 65 2d 74 79 70 65 2d 69 64 22 20 66 6e 20 6b type-id......"node-type-id".fn.k
aca0 69 6e 64 5f 69 64 20 2d 3e 20 75 31 36 0a 0a 20 20 20 20 2f 2f 20 50 72 65 64 69 63 61 74 65 73 ind_id.->.u16......//.Predicates
acc0 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .-------------------------------
ace0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
ad00 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 20 20 20 20 2f 2f 2f 20 52 65 74 -------------------......///.Ret
ad20 75 72 6e 20 74 20 69 66 20 4e 4f 44 45 20 69 73 20 27 6e 61 6d 65 64 27 2e 0a 20 20 20 20 2f 2f urn.t.if.NODE.is.'named'......//
ad40 2f 20 4e 61 6d 65 64 20 6e 6f 64 65 73 20 63 6f 72 72 65 73 70 6f 6e 64 20 74 6f 20 6e 61 6d 65 /.Named.nodes.correspond.to.name
ad60 64 20 72 75 6c 65 73 20 69 6e 20 74 68 65 20 67 72 61 6d 6d 61 72 2c 20 77 68 65 72 65 61 73 20 d.rules.in.the.grammar,.whereas.
ad80 61 6e 6f 6e 79 6d 6f 75 73 20 6e 6f 64 65 73 0a 20 20 20 20 2f 2f 2f 20 63 6f 72 72 65 73 70 6f anonymous.nodes.....///.correspo
ada0 6e 64 20 74 6f 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 73 20 69 6e 20 74 68 65 20 67 72 61 nd.to.string.literals.in.the.gra
adc0 6d 6d 61 72 2e 0a 20 20 20 20 22 6e 6f 64 65 2d 6e 61 6d 65 64 2d 70 22 20 66 6e 20 69 73 5f 6e mmar......"node-named-p".fn.is_n
ade0 61 6d 65 64 20 2d 3e 20 62 6f 6f 6c 0a 0a 20 20 20 20 2f 2f 2f 20 52 65 74 75 72 6e 20 74 20 69 amed.->.bool......///.Return.t.i
ae00 66 20 4e 4f 44 45 20 69 73 20 27 65 78 74 72 61 27 2e 0a 20 20 20 20 2f 2f 2f 20 45 78 74 72 61 f.NODE.is.'extra'......///.Extra
ae20 20 6e 6f 64 65 73 20 72 65 70 72 65 73 65 6e 74 20 74 68 69 6e 67 73 20 6c 69 6b 65 20 63 6f 6d .nodes.represent.things.like.com
ae40 6d 65 6e 74 73 2c 20 77 68 69 63 68 20 61 72 65 20 6e 6f 74 20 72 65 71 75 69 72 65 64 20 74 68 ments,.which.are.not.required.th
ae60 65 20 67 72 61 6d 6d 61 72 2c 0a 20 20 20 20 2f 2f 2f 20 62 75 74 20 63 61 6e 20 61 70 70 65 61 e.grammar,.....///.but.can.appea
ae80 72 20 61 6e 79 77 68 65 72 65 2e 0a 20 20 20 20 22 6e 6f 64 65 2d 65 78 74 72 61 2d 70 22 20 66 r.anywhere......"node-extra-p".f
aea0 6e 20 69 73 5f 65 78 74 72 61 20 2d 3e 20 62 6f 6f 6c 0a 0a 20 20 20 20 2f 2f 2f 20 52 65 74 75 n.is_extra.->.bool......///.Retu
aec0 72 6e 20 74 20 69 66 20 4e 4f 44 45 20 72 65 70 72 65 73 65 6e 74 73 20 61 20 73 79 6e 74 61 78 rn.t.if.NODE.represents.a.syntax
aee0 20 65 72 72 6f 72 2e 0a 20 20 20 20 2f 2f 2f 20 53 79 6e 74 61 78 20 65 72 72 6f 72 73 20 72 65 .error......///.Syntax.errors.re
af00 70 72 65 73 65 6e 74 20 70 61 72 74 73 20 6f 66 20 74 68 65 20 63 6f 64 65 20 74 68 61 74 20 63 present.parts.of.the.code.that.c
af20 6f 75 6c 64 20 6e 6f 74 20 62 65 20 69 6e 63 6f 72 70 6f 72 61 74 65 64 20 69 6e 74 6f 20 61 0a ould.not.be.incorporated.into.a.
af40 20 20 20 20 2f 2f 2f 20 76 61 6c 69 64 20 73 79 6e 74 61 78 20 74 72 65 65 2e 0a 20 20 20 20 22 ....///.valid.syntax.tree......"
af60 6e 6f 64 65 2d 65 72 72 6f 72 2d 70 22 20 66 6e 20 69 73 5f 65 72 72 6f 72 20 2d 3e 20 62 6f 6f node-error-p".fn.is_error.->.boo
af80 6c 0a 0a 20 20 20 20 2f 2f 2f 20 52 65 74 75 72 6e 20 74 20 69 66 20 4e 4f 44 45 20 69 73 20 27 l......///.Return.t.if.NODE.is.'
afa0 6d 69 73 73 69 6e 67 27 2e 0a 20 20 20 20 2f 2f 2f 20 4d 69 73 73 69 6e 67 20 6e 6f 64 65 73 20 missing'......///.Missing.nodes.
afc0 61 72 65 20 69 6e 73 65 72 74 65 64 20 62 79 20 74 68 65 20 70 61 72 73 65 72 20 69 6e 20 6f 72 are.inserted.by.the.parser.in.or
afe0 64 65 72 20 74 6f 20 72 65 63 6f 76 65 72 20 66 72 6f 6d 20 63 65 72 74 61 69 6e 20 6b 69 6e 64 der.to.recover.from.certain.kind
b000 73 0a 20 20 20 20 2f 2f 2f 20 6f 66 20 73 79 6e 74 61 78 20 65 72 72 6f 72 73 2e 0a 20 20 20 20 s.....///.of.syntax.errors......
b020 22 6e 6f 64 65 2d 6d 69 73 73 69 6e 67 2d 70 22 20 66 6e 20 69 73 5f 6d 69 73 73 69 6e 67 20 2d "node-missing-p".fn.is_missing.-
b040 3e 20 62 6f 6f 6c 0a 0a 20 20 20 20 2f 2f 2f 20 52 65 74 75 72 6e 20 74 20 69 66 20 4e 4f 44 45 >.bool......///.Return.t.if.NODE
b060 20 68 61 73 20 62 65 65 6e 20 65 64 69 74 65 64 2e 0a 20 20 20 20 22 6e 6f 64 65 2d 68 61 73 2d .has.been.edited......"node-has-
b080 63 68 61 6e 67 65 73 2d 70 22 20 66 6e 20 68 61 73 5f 63 68 61 6e 67 65 73 20 2d 3e 20 62 6f 6f changes-p".fn.has_changes.->.boo
b0a0 6c 0a 0a 20 20 20 20 2f 2f 2f 20 52 65 74 75 72 6e 20 74 20 69 66 20 4e 4f 44 45 20 72 65 70 72 l......///.Return.t.if.NODE.repr
b0c0 65 73 65 6e 74 73 20 61 20 73 79 6e 74 61 78 20 65 72 72 6f 72 20 6f 72 20 63 6f 6e 74 61 69 6e esents.a.syntax.error.or.contain
b0e0 73 20 61 6e 79 20 73 79 6e 74 61 78 20 65 72 72 6f 72 73 2e 0a 20 20 20 20 22 6e 6f 64 65 2d 68 s.any.syntax.errors......"node-h
b100 61 73 2d 65 72 72 6f 72 2d 70 22 20 66 6e 20 68 61 73 5f 65 72 72 6f 72 20 2d 3e 20 62 6f 6f 6c as-error-p".fn.has_error.->.bool
b120 0a 0a 20 20 20 20 2f 2f 20 50 6f 73 69 74 69 6f 6e 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ......//.Position.--------------
b140 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
b160 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
b180 2d 2d 2d 2d 2d 2d 0a 0a 20 20 20 20 2f 2f 2f 20 52 65 74 75 72 6e 20 4e 4f 44 45 27 73 20 73 74 ------......///.Return.NODE's.st
b1a0 61 72 74 20 62 79 74 65 20 70 6f 73 69 74 69 6f 6e 2e 0a 20 20 20 20 22 6e 6f 64 65 2d 73 74 61 art.byte.position......"node-sta
b1c0 72 74 2d 62 79 74 65 22 20 66 6e 20 73 74 61 72 74 5f 62 79 74 65 20 2d 3e 20 42 79 74 65 50 6f rt-byte".fn.start_byte.->.BytePo
b1e0 73 3b 20 69 6e 74 6f 0a 0a 20 20 20 20 2f 2f 2f 20 52 65 74 75 72 6e 20 4e 4f 44 45 27 73 20 73 s;.into......///.Return.NODE's.s
b200 74 61 72 74 20 70 6f 69 6e 74 2c 20 69 6e 20 74 68 65 20 66 6f 72 6d 20 6f 66 20 28 4c 49 4e 45 tart.point,.in.the.form.of.(LINE
b220 2d 4e 55 4d 42 45 52 20 2e 20 42 59 54 45 2d 43 4f 4c 55 4d 4e 29 2e 0a 20 20 20 20 22 6e 6f 64 -NUMBER...BYTE-COLUMN)......"nod
b240 65 2d 73 74 61 72 74 2d 70 6f 69 6e 74 22 20 66 6e 20 73 74 61 72 74 5f 70 6f 73 69 74 69 6f 6e e-start-point".fn.start_position
b260 20 2d 3e 20 50 6f 69 6e 74 3b 20 69 6e 74 6f 0a 0a 20 20 20 20 2f 2f 2f 20 52 65 74 75 72 6e 20 .->.Point;.into......///.Return.
b280 4e 4f 44 45 27 73 20 65 6e 64 20 62 79 74 65 20 70 6f 73 69 74 69 6f 6e 2e 0a 20 20 20 20 22 6e NODE's.end.byte.position......"n
b2a0 6f 64 65 2d 65 6e 64 2d 62 79 74 65 22 20 66 6e 20 65 6e 64 5f 62 79 74 65 20 2d 3e 20 42 79 74 ode-end-byte".fn.end_byte.->.Byt
b2c0 65 50 6f 73 3b 20 69 6e 74 6f 0a 0a 20 20 20 20 2f 2f 2f 20 52 65 74 75 72 6e 20 4e 4f 44 45 27 ePos;.into......///.Return.NODE'
b2e0 73 20 65 6e 64 20 70 6f 69 6e 74 2c 20 69 6e 20 74 68 65 20 66 6f 72 6d 20 6f 66 20 28 4c 49 4e s.end.point,.in.the.form.of.(LIN
b300 45 2d 4e 55 4d 42 45 52 20 2e 20 42 59 54 45 2d 43 4f 4c 55 4d 4e 29 2e 0a 20 20 20 20 22 6e 6f E-NUMBER...BYTE-COLUMN)......"no
b320 64 65 2d 65 6e 64 2d 70 6f 69 6e 74 22 20 66 6e 20 65 6e 64 5f 70 6f 73 69 74 69 6f 6e 20 2d 3e de-end-point".fn.end_position.->
b340 20 50 6f 69 6e 74 3b 20 69 6e 74 6f 0a 0a 20 20 20 20 2f 2f 2f 20 52 65 74 75 72 6e 20 61 20 76 .Point;.into......///.Return.a.v
b360 65 63 74 6f 72 20 6f 66 20 4e 4f 44 45 27 73 20 5b 53 54 41 52 54 2d 42 59 54 45 50 4f 53 20 45 ector.of.NODE's.[START-BYTEPOS.E
b380 4e 44 2d 42 59 54 45 50 4f 53 20 53 54 41 52 54 2d 50 4f 49 4e 54 20 45 4e 44 2d 50 4f 49 4e 54 ND-BYTEPOS.START-POINT.END-POINT
b3a0 5d 2e 0a 20 20 20 20 22 6e 6f 64 65 2d 72 61 6e 67 65 22 20 66 6e 20 72 61 6e 67 65 20 2d 3e 20 ]......"node-range".fn.range.->.
b3c0 52 61 6e 67 65 3b 20 69 6e 74 6f 0a 0a 20 20 20 20 2f 2f 20 43 6f 75 6e 74 69 6e 67 20 63 68 69 Range;.into......//.Counting.chi
b3e0 6c 64 20 6e 6f 64 65 73 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ld.nodes.-----------------------
b400 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
b420 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 20 20 20 20 2f 2f 2f 20 52 65 74 75 72 -----------------......///.Retur
b440 6e 20 4e 4f 44 45 27 73 20 6e 75 6d 62 65 72 20 6f 66 20 63 68 69 6c 64 72 65 6e 2e 0a 20 20 20 n.NODE's.number.of.children.....
b460 20 22 63 6f 75 6e 74 2d 63 68 69 6c 64 72 65 6e 22 20 66 6e 20 63 68 69 6c 64 5f 63 6f 75 6e 74 ."count-children".fn.child_count
b480 20 2d 3e 20 75 73 69 7a 65 0a 0a 20 20 20 20 2f 2f 2f 20 52 65 74 75 72 6e 20 4e 4f 44 45 27 73 .->.usize......///.Return.NODE's
b4a0 20 6e 75 6d 62 65 72 20 6f 66 20 6e 61 6d 65 64 20 63 68 69 6c 64 72 65 6e 2e 0a 20 20 20 20 22 .number.of.named.children......"
b4c0 63 6f 75 6e 74 2d 6e 61 6d 65 64 2d 63 68 69 6c 64 72 65 6e 22 20 66 6e 20 6e 61 6d 65 64 5f 63 count-named-children".fn.named_c
b4e0 68 69 6c 64 5f 63 6f 75 6e 74 20 2d 3e 20 75 73 69 7a 65 0a 7d 0a 0a 2f 2f 2f 20 52 65 74 75 72 hild_count.->.usize.}..///.Retur
b500 6e 20 4e 4f 44 45 27 73 20 28 53 54 41 52 54 2d 42 59 54 45 50 4f 53 20 2e 20 45 4e 44 2d 42 59 n.NODE's.(START-BYTEPOS...END-BY
b520 54 45 50 4f 53 29 2e 0a 23 5b 64 65 66 75 6e 5d 0a 66 6e 20 6e 6f 64 65 5f 62 79 74 65 5f 72 61 TEPOS)..#[defun].fn.node_byte_ra
b540 6e 67 65 3c 27 65 3e 28 65 6e 76 3a 20 26 27 65 20 45 6e 76 2c 20 6e 6f 64 65 3a 20 26 52 4e 6f nge<'e>(env:.&'e.Env,.node:.&RNo
b560 64 65 29 20 2d 3e 20 52 65 73 75 6c 74 3c 56 61 6c 75 65 3c 27 65 3e 3e 20 7b 0a 20 20 20 20 6e de).->.Result<Value<'e>>.{.....n
b580 6f 64 65 2e 62 6f 72 72 6f 77 28 29 2e 6c 69 73 70 5f 62 79 74 65 5f 72 61 6e 67 65 28 65 6e 76 ode.borrow().lisp_byte_range(env
b5a0 29 0a 7d 0a 0a 2f 2f 2f 20 52 65 74 75 72 6e 20 74 20 69 66 20 74 77 6f 20 6e 6f 64 65 73 20 61 ).}..///.Return.t.if.two.nodes.a
b5c0 72 65 20 69 64 65 6e 74 69 63 61 6c 2e 0a 23 5b 64 65 66 75 6e 5d 0a 66 6e 20 6e 6f 64 65 5f 65 re.identical..#[defun].fn.node_e
b5e0 71 28 6e 6f 64 65 31 3a 20 26 52 4e 6f 64 65 2c 20 6e 6f 64 65 32 3a 20 26 52 4e 6f 64 65 29 20 q(node1:.&RNode,.node2:.&RNode).
b600 2d 3e 20 52 65 73 75 6c 74 3c 62 6f 6f 6c 3e 20 7b 0a 20 20 20 20 4f 6b 28 6e 6f 64 65 31 20 3d ->.Result<bool>.{.....Ok(node1.=
b620 3d 20 6e 6f 64 65 32 29 0a 7d 0a 0a 2f 2f 2f 20 41 70 70 6c 79 20 46 55 4e 43 54 49 4f 4e 20 74 =.node2).}..///.Apply.FUNCTION.t
b640 6f 20 65 61 63 68 20 6f 66 20 4e 4f 44 45 27 73 20 63 68 69 6c 64 72 65 6e 2c 20 66 6f 72 20 73 o.each.of.NODE's.children,.for.s
b660 69 64 65 20 65 66 66 65 63 74 73 20 6f 6e 6c 79 2e 0a 23 5b 64 65 66 75 6e 5d 0a 66 6e 20 6d 61 ide.effects.only..#[defun].fn.ma
b680 70 63 5f 63 68 69 6c 64 72 65 6e 28 66 75 6e 63 74 69 6f 6e 3a 20 56 61 6c 75 65 2c 20 6e 6f 64 pc_children(function:.Value,.nod
b6a0 65 3a 20 26 52 4e 6f 64 65 29 20 2d 3e 20 52 65 73 75 6c 74 3c 28 29 3e 20 7b 0a 20 20 20 20 6c e:.&RNode).->.Result<()>.{.....l
b6c0 65 74 20 69 6e 6e 65 72 20 3d 20 6e 6f 64 65 2e 62 6f 72 72 6f 77 28 29 3b 0a 20 20 20 20 2f 2f et.inner.=.node.borrow();.....//
b6e0 20 54 4f 44 4f 3a 20 52 65 75 73 65 20 63 75 72 73 6f 72 2e 0a 20 20 20 20 6c 65 74 20 63 75 72 .TODO:.Reuse.cursor......let.cur
b700 73 6f 72 20 3d 20 26 6d 75 74 20 69 6e 6e 65 72 2e 77 61 6c 6b 28 29 3b 0a 20 20 20 20 66 6f 72 sor.=.&mut.inner.walk();.....for
b720 20 63 68 69 6c 64 20 69 6e 20 69 6e 6e 65 72 2e 63 68 69 6c 64 72 65 6e 28 63 75 72 73 6f 72 29 .child.in.inner.children(cursor)
b740 20 7b 0a 20 20 20 20 20 20 20 20 6c 65 74 20 63 68 69 6c 64 20 3d 20 6e 6f 64 65 2e 6d 61 70 28 .{.........let.child.=.node.map(
b760 7c 5f 7c 20 63 68 69 6c 64 29 3b 0a 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 2e 63 61 6c |_|.child);.........function.cal
b780 6c 28 28 63 68 69 6c 64 2c 29 29 3f 3b 0a 20 20 20 20 7d 0a 20 20 20 20 4f 6b 28 28 29 29 0a 7d l((child,))?;.....}.....Ok(()).}
b7a0 0a 0a 2f 2f 20 54 4f 44 4f 3a 20 6e 61 6d 65 64 5f 63 68 69 6c 64 72 65 6e 2e 0a 2f 2f 20 54 4f ..//.TODO:.named_children..//.TO
b7c0 44 4f 3a 20 63 68 69 6c 64 72 65 6e 5f 62 79 5f 66 69 65 6c 64 5f 6e 61 6d 65 2e 0a 2f 2f 20 54 DO:.children_by_field_name..//.T
b7e0 4f 44 4f 3a 20 63 68 69 6c 64 72 65 6e 5f 62 79 5f 66 69 65 6c 64 5f 69 64 2e 0a 0a 64 65 66 75 ODO:.children_by_field_id...defu
b800 6e 5f 6e 6f 64 65 5f 6e 61 76 73 21 20 7b 0a 20 20 20 20 2f 2f 2f 20 52 65 74 75 72 6e 20 4e 4f n_node_navs!.{.....///.Return.NO
b820 44 45 27 73 20 70 61 72 65 6e 74 20 6e 6f 64 65 2e 0a 20 20 20 20 22 67 65 74 2d 70 61 72 65 6e DE's.parent.node......"get-paren
b840 74 22 20 66 6e 20 70 61 72 65 6e 74 0a 0a 20 20 20 20 2f 2f 20 43 68 69 6c 64 20 2d 2d 2d 2d 2d t".fn.parent......//.Child.-----
b860 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
b880 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
b8a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 20 20 20 20 2f 2f 2f 20 52 65 74 75 ------------------......///.Retu
b8c0 72 6e 20 4e 4f 44 45 27 73 20 63 68 69 6c 64 20 61 74 20 74 68 65 20 67 69 76 65 6e 20 30 2d 62 rn.NODE's.child.at.the.given.0-b
b8e0 61 73 65 64 20 69 6e 64 65 78 2e 0a 20 20 20 20 22 67 65 74 2d 6e 74 68 2d 63 68 69 6c 64 22 20 ased.index......"get-nth-child".
b900 66 6e 20 63 68 69 6c 64 28 69 3a 20 75 73 69 7a 65 29 0a 0a 20 20 20 20 2f 2f 2f 20 52 65 74 75 fn.child(i:.usize)......///.Retu
b920 72 6e 20 4e 4f 44 45 27 73 20 6e 61 6d 65 64 20 63 68 69 6c 64 20 61 74 20 74 68 65 20 67 69 76 rn.NODE's.named.child.at.the.giv
b940 65 6e 20 30 2d 62 61 73 65 64 20 69 6e 64 65 78 2e 0a 20 20 20 20 22 67 65 74 2d 6e 74 68 2d 6e en.0-based.index......"get-nth-n
b960 61 6d 65 64 2d 63 68 69 6c 64 22 20 66 6e 20 6e 61 6d 65 64 5f 63 68 69 6c 64 28 69 3a 20 75 73 amed-child".fn.named_child(i:.us
b980 69 7a 65 29 0a 0a 20 20 20 20 2f 2f 2f 20 52 65 74 75 72 6e 20 4e 4f 44 45 27 73 20 63 68 69 6c ize)......///.Return.NODE's.chil
b9a0 64 20 77 69 74 68 20 74 68 65 20 67 69 76 65 6e 20 46 49 45 4c 44 2d 4e 41 4d 45 20 73 74 72 69 d.with.the.given.FIELD-NAME.stri
b9c0 6e 67 2e 0a 20 20 20 20 22 2d 67 65 74 2d 63 68 69 6c 64 2d 62 79 2d 66 69 65 6c 64 2d 6e 61 6d ng......"-get-child-by-field-nam
b9e0 65 22 20 66 6e 20 63 68 69 6c 64 5f 62 79 5f 66 69 65 6c 64 5f 6e 61 6d 65 28 66 69 65 6c 64 5f e".fn.child_by_field_name(field_
ba00 6e 61 6d 65 3a 20 53 74 72 69 6e 67 29 0a 0a 20 20 20 20 2f 2f 2f 20 52 65 74 75 72 6e 20 4e 4f name:.String)......///.Return.NO
ba20 44 45 27 73 20 63 68 69 6c 64 20 77 69 74 68 20 74 68 65 20 67 69 76 65 6e 20 6e 75 6d 65 72 69 DE's.child.with.the.given.numeri
ba40 63 61 6c 20 46 49 45 4c 44 2d 49 44 2e 0a 20 20 20 20 22 67 65 74 2d 63 68 69 6c 64 2d 62 79 2d cal.FIELD-ID......"get-child-by-
ba60 66 69 65 6c 64 2d 69 64 22 20 66 6e 20 63 68 69 6c 64 5f 62 79 5f 66 69 65 6c 64 5f 69 64 28 66 field-id".fn.child_by_field_id(f
ba80 69 65 6c 64 5f 69 64 3a 20 75 31 36 29 0a 0a 20 20 20 20 2f 2f 20 53 69 62 6c 69 6e 67 20 2d 2d ield_id:.u16)......//.Sibling.--
baa0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
bac0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
bae0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 20 20 20 20 2f 2f 2f 20 52 65 74 -------------------......///.Ret
bb00 75 72 6e 20 4e 4f 44 45 27 73 20 6e 65 78 74 20 73 69 62 6c 69 6e 67 2e 0a 20 20 20 20 22 67 65 urn.NODE's.next.sibling......"ge
bb20 74 2d 6e 65 78 74 2d 73 69 62 6c 69 6e 67 22 20 66 6e 20 6e 65 78 74 5f 73 69 62 6c 69 6e 67 0a t-next-sibling".fn.next_sibling.
bb40 0a 20 20 20 20 2f 2f 2f 20 52 65 74 75 72 6e 20 4e 4f 44 45 27 73 20 70 72 65 76 69 6f 75 73 20 .....///.Return.NODE's.previous.
bb60 73 69 62 6c 69 6e 67 2e 0a 20 20 20 20 22 67 65 74 2d 70 72 65 76 2d 73 69 62 6c 69 6e 67 22 20 sibling......"get-prev-sibling".
bb80 66 6e 20 70 72 65 76 5f 73 69 62 6c 69 6e 67 0a 0a 20 20 20 20 2f 2f 2f 20 52 65 74 75 72 6e 20 fn.prev_sibling......///.Return.
bba0 4e 4f 44 45 27 73 20 6e 65 78 74 20 6e 61 6d 65 64 20 73 69 62 6c 69 6e 67 2e 0a 20 20 20 20 22 NODE's.next.named.sibling......"
bbc0 67 65 74 2d 6e 65 78 74 2d 6e 61 6d 65 64 2d 73 69 62 6c 69 6e 67 22 20 66 6e 20 6e 65 78 74 5f get-next-named-sibling".fn.next_
bbe0 6e 61 6d 65 64 5f 73 69 62 6c 69 6e 67 0a 0a 20 20 20 20 2f 2f 2f 20 52 65 74 75 72 6e 20 4e 4f named_sibling......///.Return.NO
bc00 44 45 27 73 20 70 72 65 76 69 6f 75 73 20 6e 61 6d 65 64 20 73 69 62 6c 69 6e 67 2e 0a 20 20 20 DE's.previous.named.sibling.....
bc20 20 22 67 65 74 2d 70 72 65 76 2d 6e 61 6d 65 64 2d 73 69 62 6c 69 6e 67 22 20 66 6e 20 70 72 65 ."get-prev-named-sibling".fn.pre
bc40 76 5f 6e 61 6d 65 64 5f 73 69 62 6c 69 6e 67 0a 0a 20 20 20 20 2f 2f 20 44 65 73 63 65 6e 64 61 v_named_sibling......//.Descenda
bc60 6e 74 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d nt.-----------------------------
bc80 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
bca0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 20 20 20 20 2f 2f 2f 20 52 ---------------------......///.R
bcc0 65 74 75 72 6e 20 74 68 65 20 73 6d 61 6c 6c 65 73 74 20 6e 6f 64 65 20 77 69 74 68 69 6e 20 4e eturn.the.smallest.node.within.N
bce0 4f 44 45 20 74 68 61 74 20 73 70 61 6e 73 20 74 68 65 20 67 69 76 65 6e 20 72 61 6e 67 65 20 6f ODE.that.spans.the.given.range.o
bd00 66 20 62 79 74 65 0a 20 20 20 20 2f 2f 2f 20 70 6f 73 69 74 69 6f 6e 73 2e 0a 20 20 20 20 22 67 f.byte.....///.positions......"g
bd20 65 74 2d 64 65 73 63 65 6e 64 61 6e 74 2d 66 6f 72 2d 62 79 74 65 2d 72 61 6e 67 65 22 20 66 6e et-descendant-for-byte-range".fn
bd40 20 64 65 73 63 65 6e 64 61 6e 74 5f 66 6f 72 5f 62 79 74 65 5f 72 61 6e 67 65 28 73 74 61 72 74 .descendant_for_byte_range(start
bd60 20 69 6e 74 6f 3a 20 42 79 74 65 50 6f 73 2c 20 65 6e 64 20 69 6e 74 6f 3a 20 42 79 74 65 50 6f .into:.BytePos,.end.into:.BytePo
bd80 73 29 0a 0a 20 20 20 20 2f 2f 2f 20 52 65 74 75 72 6e 20 74 68 65 20 73 6d 61 6c 6c 65 73 74 20 s)......///.Return.the.smallest.
bda0 6e 6f 64 65 20 77 69 74 68 69 6e 20 4e 4f 44 45 20 74 68 61 74 20 73 70 61 6e 73 20 74 68 65 20 node.within.NODE.that.spans.the.
bdc0 67 69 76 65 6e 20 70 6f 69 6e 74 20 72 61 6e 67 65 2e 0a 20 20 20 20 22 67 65 74 2d 64 65 73 63 given.point.range......"get-desc
bde0 65 6e 64 61 6e 74 2d 66 6f 72 2d 70 6f 69 6e 74 2d 72 61 6e 67 65 22 20 66 6e 20 64 65 73 63 65 endant-for-point-range".fn.desce
be00 6e 64 61 6e 74 5f 66 6f 72 5f 70 6f 69 6e 74 5f 72 61 6e 67 65 28 73 74 61 72 74 20 69 6e 74 6f ndant_for_point_range(start.into
be20 3a 20 50 6f 69 6e 74 2c 20 65 6e 64 20 69 6e 74 6f 3a 20 50 6f 69 6e 74 29 0a 0a 20 20 20 20 2f :.Point,.end.into:.Point)....../
be40 2f 2f 20 52 65 74 75 72 6e 20 74 68 65 20 73 6d 61 6c 6c 65 73 74 20 6e 61 6d 65 64 20 6e 6f 64 //.Return.the.smallest.named.nod
be60 65 20 77 69 74 68 69 6e 20 4e 4f 44 45 20 74 68 61 74 20 73 70 61 6e 73 20 74 68 65 20 67 69 76 e.within.NODE.that.spans.the.giv
be80 65 6e 20 72 61 6e 67 65 20 6f 66 20 62 79 74 65 0a 20 20 20 20 2f 2f 2f 20 70 6f 73 69 74 69 6f en.range.of.byte.....///.positio
bea0 6e 73 2e 0a 20 20 20 20 22 67 65 74 2d 6e 61 6d 65 64 2d 64 65 73 63 65 6e 64 61 6e 74 2d 66 6f ns......"get-named-descendant-fo
bec0 72 2d 62 79 74 65 2d 72 61 6e 67 65 22 20 66 6e 20 6e 61 6d 65 64 5f 64 65 73 63 65 6e 64 61 6e r-byte-range".fn.named_descendan
bee0 74 5f 66 6f 72 5f 62 79 74 65 5f 72 61 6e 67 65 28 73 74 61 72 74 20 69 6e 74 6f 3a 20 42 79 74 t_for_byte_range(start.into:.Byt
bf00 65 50 6f 73 2c 20 65 6e 64 20 69 6e 74 6f 3a 20 42 79 74 65 50 6f 73 29 0a 0a 20 20 20 20 2f 2f ePos,.end.into:.BytePos)......//
bf20 2f 20 52 65 74 75 72 6e 20 74 68 65 20 73 6d 61 6c 6c 65 73 74 20 6e 61 6d 65 64 20 6e 6f 64 65 /.Return.the.smallest.named.node
bf40 20 77 69 74 68 69 6e 20 4e 4f 44 45 20 74 68 61 74 20 73 70 61 6e 73 20 74 68 65 20 67 69 76 65 .within.NODE.that.spans.the.give
bf60 6e 20 70 6f 69 6e 74 20 72 61 6e 67 65 2e 0a 20 20 20 20 22 67 65 74 2d 6e 61 6d 65 64 2d 64 65 n.point.range......"get-named-de
bf80 73 63 65 6e 64 61 6e 74 2d 66 6f 72 2d 70 6f 69 6e 74 2d 72 61 6e 67 65 22 20 66 6e 20 6e 61 6d scendant-for-point-range".fn.nam
bfa0 65 64 5f 64 65 73 63 65 6e 64 61 6e 74 5f 66 6f 72 5f 70 6f 69 6e 74 5f 72 61 6e 67 65 28 73 74 ed_descendant_for_point_range(st
bfc0 61 72 74 20 69 6e 74 6f 3a 20 50 6f 69 6e 74 2c 20 65 6e 64 20 69 6e 74 6f 3a 20 50 6f 69 6e 74 art.into:.Point,.end.into:.Point
bfe0 29 0a 7d 0a 0a 64 65 66 75 6e 5f 6e 6f 64 65 5f 70 72 6f 70 73 21 20 7b 0a 20 20 20 20 2f 2f 2f ).}..defun_node_props!.{.....///
c000 20 52 65 74 75 72 6e 20 74 68 65 20 73 65 78 70 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 .Return.the.sexp.representation.
c020 6f 66 20 4e 4f 44 45 2c 20 69 6e 20 61 20 73 74 72 69 6e 67 2e 0a 20 20 20 20 22 6e 6f 64 65 2d of.NODE,.in.a.string......"node-
c040 74 6f 2d 73 65 78 70 22 20 66 6e 20 74 6f 5f 73 65 78 70 20 2d 3e 20 53 74 72 69 6e 67 0a 7d 0a to-sexp".fn.to_sexp.->.String.}.
c060 0a 2f 2f 2f 20 45 64 69 74 20 4e 4f 44 45 20 74 6f 20 6b 65 65 70 20 69 74 20 69 6e 20 73 79 6e .///.Edit.NODE.to.keep.it.in.syn
c080 63 20 77 69 74 68 20 73 6f 75 72 63 65 20 63 6f 64 65 20 74 68 61 74 20 68 61 73 20 62 65 65 6e c.with.source.code.that.has.been
c0a0 20 65 64 69 74 65 64 2e 0a 2f 2f 2f 0a 2f 2f 2f 20 59 6f 75 20 6d 75 73 74 20 64 65 73 63 72 69 .edited..///.///.You.must.descri
c0c0 62 65 20 74 68 65 20 65 64 69 74 20 62 6f 74 68 20 69 6e 20 74 65 72 6d 73 20 6f 66 20 62 79 74 be.the.edit.both.in.terms.of.byt
c0e0 65 20 70 6f 73 69 74 69 6f 6e 73 20 61 6e 64 20 69 6e 20 74 65 72 6d 73 20 6f 66 0a 2f 2f 2f 20 e.positions.and.in.terms.of.///.
c100 28 4c 49 4e 45 2d 4e 55 4d 42 45 52 20 2e 20 42 59 54 45 2d 43 4f 4c 55 4d 4e 29 20 63 6f 6f 72 (LINE-NUMBER...BYTE-COLUMN).coor
c120 64 69 6e 61 74 65 73 2e 0a 2f 2f 2f 0a 2f 2f 2f 20 4c 49 4e 45 2d 4e 55 4d 42 45 52 20 73 68 6f dinates..///.///.LINE-NUMBER.sho
c140 75 6c 64 20 62 65 20 74 68 65 20 6e 75 6d 62 65 72 20 72 65 74 75 72 6e 65 64 20 62 79 20 60 6c uld.be.the.number.returned.by.`l
c160 69 6e 65 2d 6e 75 6d 62 65 72 2d 61 74 2d 70 6f 73 27 2c 20 77 68 69 63 68 20 63 6f 75 6e 74 73 ine-number-at-pos',.which.counts
c180 0a 2f 2f 2f 20 66 72 6f 6d 20 31 2e 0a 2f 2f 2f 0a 2f 2f 2f 20 42 59 54 45 2d 43 4f 4c 55 4d 4e .///.from.1..///.///.BYTE-COLUMN
c1a0 20 73 68 6f 75 6c 64 20 63 6f 75 6e 74 20 66 72 6f 6d 20 30 2c 20 6c 69 6b 65 20 45 6d 61 63 73 .should.count.from.0,.like.Emacs
c1c0 27 73 20 60 63 75 72 72 65 6e 74 2d 63 6f 6c 75 6d 6e 27 2e 20 48 6f 77 65 76 65 72 2c 20 75 6e 's.`current-column'..However,.un
c1e0 6c 69 6b 65 0a 2f 2f 2f 20 74 68 61 74 20 66 75 6e 63 74 69 6f 6e 2c 20 69 74 20 73 68 6f 75 6c like.///.that.function,.it.shoul
c200 64 20 63 6f 75 6e 74 20 62 79 74 65 73 2c 20 69 6e 73 74 65 61 64 20 6f 66 20 64 69 73 70 6c 61 d.count.bytes,.instead.of.displa
c220 79 65 64 20 67 6c 79 70 68 73 2e 0a 2f 2f 2f 0a 2f 2f 2f 20 54 68 69 73 20 66 75 6e 63 74 69 6f yed.glyphs..///.///.This.functio
c240 6e 20 69 73 20 6f 6e 6c 79 20 72 61 72 65 6c 79 20 6e 65 65 64 65 64 2e 20 57 68 65 6e 20 79 6f n.is.only.rarely.needed..When.yo
c260 75 20 65 64 69 74 20 61 20 73 79 6e 74 61 78 20 74 72 65 65 2c 20 61 6c 6c 20 6f 66 20 74 68 65 u.edit.a.syntax.tree,.all.of.the
c280 0a 2f 2f 2f 20 6e 6f 64 65 73 20 74 68 61 74 20 79 6f 75 20 72 65 74 72 69 65 76 65 20 66 72 6f .///.nodes.that.you.retrieve.fro
c2a0 6d 20 74 68 65 20 74 72 65 65 20 61 66 74 65 72 77 61 72 64 20 77 69 6c 6c 20 61 6c 72 65 61 64 m.the.tree.afterward.will.alread
c2c0 79 20 72 65 66 6c 65 63 74 20 74 68 65 20 65 64 69 74 2e 0a 2f 2f 2f 20 59 6f 75 20 6f 6e 6c 79 y.reflect.the.edit..///.You.only
c2e0 20 6e 65 65 64 20 74 6f 20 75 73 65 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 77 68 65 6e 20 .need.to.use.this.function.when.
c300 79 6f 75 20 68 61 76 65 20 61 20 6e 6f 64 65 20 74 68 61 74 20 79 6f 75 20 77 61 6e 74 20 74 6f you.have.a.node.that.you.want.to
c320 20 6b 65 65 70 0a 2f 2f 2f 20 61 6e 64 20 63 6f 6e 74 69 6e 75 65 20 74 6f 20 75 73 65 20 61 66 .keep.///.and.continue.to.use.af
c340 74 65 72 20 61 6e 20 65 64 69 74 2e 0a 23 5b 64 65 66 75 6e 5d 0a 66 6e 20 65 64 69 74 5f 6e 6f ter.an.edit..#[defun].fn.edit_no
c360 64 65 28 0a 20 20 20 20 6e 6f 64 65 3a 20 26 6d 75 74 20 52 4e 6f 64 65 2c 0a 20 20 20 20 73 74 de(.....node:.&mut.RNode,.....st
c380 61 72 74 5f 62 79 74 65 70 6f 73 3a 20 42 79 74 65 50 6f 73 2c 0a 20 20 20 20 6f 6c 64 5f 65 6e art_bytepos:.BytePos,.....old_en
c3a0 64 5f 62 79 74 65 70 6f 73 3a 20 42 79 74 65 50 6f 73 2c 0a 20 20 20 20 6e 65 77 5f 65 6e 64 5f d_bytepos:.BytePos,.....new_end_
c3c0 62 79 74 65 70 6f 73 3a 20 42 79 74 65 50 6f 73 2c 0a 20 20 20 20 73 74 61 72 74 5f 70 6f 69 6e bytepos:.BytePos,.....start_poin
c3e0 74 3a 20 50 6f 69 6e 74 2c 0a 20 20 20 20 6f 6c 64 5f 65 6e 64 5f 70 6f 69 6e 74 3a 20 50 6f 69 t:.Point,.....old_end_point:.Poi
c400 6e 74 2c 0a 20 20 20 20 6e 65 77 5f 65 6e 64 5f 70 6f 69 6e 74 3a 20 50 6f 69 6e 74 2c 0a 29 20 nt,.....new_end_point:.Point,.).
c420 2d 3e 20 52 65 73 75 6c 74 3c 28 29 3e 20 7b 0a 20 20 20 20 6c 65 74 20 65 64 69 74 20 3d 20 49 ->.Result<()>.{.....let.edit.=.I
c440 6e 70 75 74 45 64 69 74 20 7b 0a 20 20 20 20 20 20 20 20 73 74 61 72 74 5f 62 79 74 65 3a 20 73 nputEdit.{.........start_byte:.s
c460 74 61 72 74 5f 62 79 74 65 70 6f 73 2e 69 6e 74 6f 28 29 2c 0a 20 20 20 20 20 20 20 20 6f 6c 64 tart_bytepos.into(),.........old
c480 5f 65 6e 64 5f 62 79 74 65 3a 20 6f 6c 64 5f 65 6e 64 5f 62 79 74 65 70 6f 73 2e 69 6e 74 6f 28 _end_byte:.old_end_bytepos.into(
c4a0 29 2c 0a 20 20 20 20 20 20 20 20 6e 65 77 5f 65 6e 64 5f 62 79 74 65 3a 20 6e 65 77 5f 65 6e 64 ),.........new_end_byte:.new_end
c4c0 5f 62 79 74 65 70 6f 73 2e 69 6e 74 6f 28 29 2c 0a 20 20 20 20 20 20 20 20 73 74 61 72 74 5f 70 _bytepos.into(),.........start_p
c4e0 6f 73 69 74 69 6f 6e 3a 20 73 74 61 72 74 5f 70 6f 69 6e 74 2e 69 6e 74 6f 28 29 2c 0a 20 20 20 osition:.start_point.into(),....
c500 20 20 20 20 20 6f 6c 64 5f 65 6e 64 5f 70 6f 73 69 74 69 6f 6e 3a 20 6f 6c 64 5f 65 6e 64 5f 70 .....old_end_position:.old_end_p
c520 6f 69 6e 74 2e 69 6e 74 6f 28 29 2c 0a 20 20 20 20 20 20 20 20 6e 65 77 5f 65 6e 64 5f 70 6f 73 oint.into(),.........new_end_pos
c540 69 74 69 6f 6e 3a 20 6e 65 77 5f 65 6e 64 5f 70 6f 69 6e 74 2e 69 6e 74 6f 28 29 2c 0a 20 20 20 ition:.new_end_point.into(),....
c560 20 7d 3b 0a 20 20 20 20 6e 6f 64 65 2e 62 6f 72 72 6f 77 5f 6d 75 74 28 29 2e 65 64 69 74 28 26 .};.....node.borrow_mut().edit(&
c580 65 64 69 74 29 3b 0a 20 20 20 20 4f 6b 28 28 29 29 0a 7d 0a 00 00 00 00 00 00 00 00 00 00 00 00 edit);.....Ok(()).}.............
c5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c600 74 73 63 2d 32 30 32 32 30 32 31 32 2e 31 36 33 32 2f 73 72 63 2f 70 61 72 73 65 72 2e 72 73 00 tsc-20220212.1632/src/parser.rs.
c620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c660 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
c680 30 30 31 32 35 36 35 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 32 33 32 00 20 30 00 00 00 0012565.00000000000.014232..0...
c6a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c6c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c700 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
c720 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
c740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c800 75 73 65 20 73 74 64 3a 3a 7b 63 65 6c 6c 3a 3a 52 65 66 43 65 6c 6c 2c 20 72 63 3a 3a 52 63 7d use.std::{cell::RefCell,.rc::Rc}
c820 3b 0a 0a 75 73 65 20 65 6d 61 63 73 3a 3a 7b 64 65 66 75 6e 2c 20 52 65 73 75 6c 74 2c 20 56 61 ;..use.emacs::{defun,.Result,.Va
c840 6c 75 65 2c 20 56 65 63 74 6f 72 2c 20 45 6e 76 2c 20 52 65 73 75 6c 74 45 78 74 7d 3b 0a 75 73 lue,.Vector,.Env,.ResultExt};.us
c860 65 20 74 72 65 65 5f 73 69 74 74 65 72 3a 3a 7b 50 61 72 73 65 72 2c 20 54 72 65 65 7d 3b 0a 0a e.tree_sitter::{Parser,.Tree};..
c880 75 73 65 20 63 72 61 74 65 3a 3a 7b 0a 20 20 20 20 74 79 70 65 73 3a 3a 7b 42 79 74 65 50 6f 73 use.crate::{.....types::{BytePos
c8a0 2c 20 50 6f 69 6e 74 2c 20 52 61 6e 67 65 2c 20 53 68 61 72 65 64 7d 2c 0a 20 20 20 20 6c 61 6e ,.Point,.Range,.Shared},.....lan
c8c0 67 3a 3a 4c 61 6e 67 75 61 67 65 2c 0a 20 20 20 20 65 72 72 6f 72 2c 0a 7d 3b 0a 0a 66 6e 20 73 g::Language,.....error,.};..fn.s
c8e0 68 61 72 65 64 3c 54 3e 28 74 3a 20 54 29 20 2d 3e 20 53 68 61 72 65 64 3c 54 3e 20 7b 0a 20 20 hared<T>(t:.T).->.Shared<T>.{...
c900 20 20 52 63 3a 3a 6e 65 77 28 52 65 66 43 65 6c 6c 3a 3a 6e 65 77 28 74 29 29 0a 7d 0a 0a 69 6d ..Rc::new(RefCell::new(t)).}..im
c920 70 6c 5f 70 72 65 64 21 28 70 61 72 73 65 72 5f 70 2c 20 26 52 65 66 43 65 6c 6c 3c 50 61 72 73 pl_pred!(parser_p,.&RefCell<Pars
c940 65 72 3e 29 3b 0a 0a 2f 2f 2f 20 43 72 65 61 74 65 20 61 20 6e 65 77 20 70 61 72 73 65 72 2e 0a er>);..///.Create.a.new.parser..
c960 23 5b 64 65 66 75 6e 28 75 73 65 72 5f 70 74 72 29 5d 0a 66 6e 20 6d 61 6b 65 5f 70 61 72 73 65 #[defun(user_ptr)].fn.make_parse
c980 72 28 29 20 2d 3e 20 52 65 73 75 6c 74 3c 50 61 72 73 65 72 3e 20 7b 0a 20 20 20 20 4f 6b 28 50 r().->.Result<Parser>.{.....Ok(P
c9a0 61 72 73 65 72 3a 3a 6e 65 77 28 29 29 0a 7d 0a 0a 2f 2f 2f 20 53 65 74 20 74 68 65 20 4c 41 4e arser::new()).}..///.Set.the.LAN
c9c0 47 55 41 47 45 20 74 68 61 74 20 50 41 52 53 45 52 20 73 68 6f 75 6c 64 20 75 73 65 20 66 6f 72 GUAGE.that.PARSER.should.use.for
c9e0 20 70 61 72 73 69 6e 67 2e 0a 2f 2f 2f 0a 2f 2f 2f 20 54 68 69 73 20 6d 61 79 20 66 61 69 6c 20 .parsing..///.///.This.may.fail.
ca00 69 66 20 74 68 65 72 65 20 77 61 73 20 61 20 76 65 72 73 69 6f 6e 20 6d 69 73 6d 61 74 63 68 3a if.there.was.a.version.mismatch:
ca20 20 74 68 65 20 6c 6f 61 64 65 64 20 4c 41 4e 47 55 41 47 45 20 77 61 73 20 67 65 6e 65 72 61 74 .the.loaded.LANGUAGE.was.generat
ca40 65 64 0a 2f 2f 2f 20 77 69 74 68 20 61 6e 20 69 6e 63 6f 6d 70 61 74 69 62 6c 65 20 76 65 72 73 ed.///.with.an.incompatible.vers
ca60 69 6f 6e 20 6f 66 20 74 72 65 65 2d 73 69 74 74 65 72 2d 63 6c 69 2e 0a 23 5b 64 65 66 75 6e 5d ion.of.tree-sitter-cli..#[defun]
ca80 0a 66 6e 20 73 65 74 5f 6c 61 6e 67 75 61 67 65 28 70 61 72 73 65 72 3a 20 26 6d 75 74 20 50 61 .fn.set_language(parser:.&mut.Pa
caa0 72 73 65 72 2c 20 6c 61 6e 67 75 61 67 65 3a 20 4c 61 6e 67 75 61 67 65 2c 20 65 6e 76 3a 20 26 rser,.language:.Language,.env:.&
cac0 45 6e 76 29 20 2d 3e 20 52 65 73 75 6c 74 3c 28 29 3e 20 7b 0a 20 20 20 20 70 61 72 73 65 72 2e Env).->.Result<()>.{.....parser.
cae0 73 65 74 5f 6c 61 6e 67 75 61 67 65 28 6c 61 6e 67 75 61 67 65 2e 69 6e 74 6f 28 29 29 2e 6f 72 set_language(language.into()).or
cb00 5f 73 69 67 6e 61 6c 28 65 6e 76 2c 20 65 72 72 6f 72 3a 3a 74 73 63 5f 6c 61 6e 67 5f 61 62 69 _signal(env,.error::tsc_lang_abi
cb20 5f 65 72 72 6f 72 29 0a 7d 0a 0a 2f 2f 2f 20 52 65 74 75 72 6e 20 50 41 52 53 45 52 27 73 20 63 _error).}..///.Return.PARSER's.c
cb40 75 72 72 65 6e 74 20 6c 61 6e 67 75 61 67 65 2e 0a 23 5b 64 65 66 75 6e 28 6d 6f 64 5f 69 6e 5f urrent.language..#[defun(mod_in_
cb60 6e 61 6d 65 20 3d 20 74 72 75 65 29 5d 0a 66 6e 20 6c 61 6e 67 75 61 67 65 28 70 61 72 73 65 72 name.=.true)].fn.language(parser
cb80 3a 20 26 50 61 72 73 65 72 29 20 2d 3e 20 52 65 73 75 6c 74 3c 4f 70 74 69 6f 6e 3c 4c 61 6e 67 :.&Parser).->.Result<Option<Lang
cba0 75 61 67 65 3e 3e 20 7b 0a 20 20 20 20 4f 6b 28 70 61 72 73 65 72 2e 6c 61 6e 67 75 61 67 65 28 uage>>.{.....Ok(parser.language(
cbc0 29 2e 6d 61 70 28 7c 6c 7c 20 6c 2e 69 6e 74 6f 28 29 29 29 0a 7d 0a 0a 2f 2f 20 54 4f 44 4f 3a ).map(|l|.l.into())).}..//.TODO:
cbe0 20 41 64 64 20 61 20 76 65 72 73 69 6f 6e 20 74 68 61 74 20 72 65 75 73 65 73 20 61 20 73 69 6e .Add.a.version.that.reuses.a.sin
cc00 67 6c 65 20 62 79 74 65 20 62 75 66 66 65 72 20 74 6f 20 61 76 6f 69 64 20 6d 75 6c 74 69 70 6c gle.byte.buffer.to.avoid.multipl
cc20 65 20 61 6c 6c 6f 63 61 74 69 6f 6e 73 2e 20 41 6c 73 6f 20 61 6c 6c 6f 77 0a 2f 2f 20 60 70 61 e.allocations..Also.allow.//.`pa
cc40 72 73 65 60 20 74 6f 20 70 61 73 73 20 61 20 73 6f 66 74 20 73 69 7a 65 20 6c 69 6d 69 74 20 74 rse`.to.pass.a.soft.size.limit.t
cc60 6f 20 74 68 65 20 69 6e 70 75 74 20 66 75 6e 63 74 69 6f 6e 2e 0a 0a 2f 2f 20 54 4f 44 4f 3a 20 o.the.input.function...//.TODO:.
cc80 41 64 64 20 70 61 72 73 65 5f 62 75 66 66 65 72 2e 0a 0a 2f 2f 2f 20 50 61 72 73 65 20 73 6f 75 Add.parse_buffer...///.Parse.sou
cca0 72 63 65 20 63 6f 64 65 20 63 68 75 6e 6b 73 20 67 65 6e 65 72 61 74 65 64 20 62 79 20 49 4e 50 rce.code.chunks.generated.by.INP
ccc0 55 54 2d 46 55 4e 43 54 49 4f 4e 20 77 69 74 68 20 50 41 52 53 45 52 3b 20 72 65 74 75 72 6e 20 UT-FUNCTION.with.PARSER;.return.
cce0 61 20 74 72 65 65 2e 0a 2f 2f 2f 0a 2f 2f 2f 20 49 4e 50 55 54 2d 46 55 4e 43 54 49 4f 4e 20 73 a.tree..///.///.INPUT-FUNCTION.s
cd00 68 6f 75 6c 64 20 74 61 6b 65 20 33 20 70 61 72 61 6d 65 74 65 72 73 3a 20 28 42 59 54 45 50 4f hould.take.3.parameters:.(BYTEPO
cd20 53 20 4c 49 4e 45 2d 4e 55 4d 42 45 52 20 42 59 54 45 2d 43 4f 4c 55 4d 4e 29 2c 20 61 6e 64 0a S.LINE-NUMBER.BYTE-COLUMN),.and.
cd40 2f 2f 2f 20 72 65 74 75 72 6e 20 61 20 66 72 61 67 6d 65 6e 74 20 6f 66 20 74 68 65 20 73 6f 75 ///.return.a.fragment.of.the.sou
cd60 72 63 65 20 63 6f 64 65 2c 20 73 74 61 72 74 69 6e 67 20 66 72 6f 6d 20 74 68 65 20 70 6f 73 69 rce.code,.starting.from.the.posi
cd80 74 69 6f 6e 20 69 64 65 6e 74 69 66 69 65 64 20 62 79 0a 2f 2f 2f 20 65 69 74 68 65 72 20 42 59 tion.identified.by.///.either.BY
cda0 54 45 50 4f 53 20 6f 72 20 28 4c 49 4e 45 2d 4e 55 4d 42 45 52 20 2e 20 42 59 54 45 2d 43 4f 4c TEPOS.or.(LINE-NUMBER...BYTE-COL
cdc0 55 4d 4e 29 2e 20 49 74 20 73 68 6f 75 6c 64 20 72 65 74 75 72 6e 20 61 6e 20 65 6d 70 74 79 20 UMN)..It.should.return.an.empty.
cde0 73 74 72 69 6e 67 0a 2f 2f 2f 20 74 6f 20 73 69 67 6e 61 6c 20 74 68 65 20 65 6e 64 20 6f 66 20 string.///.to.signal.the.end.of.
ce00 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 0a 2f 2f 2f 0a 2f 2f 2f 20 42 59 54 45 50 4f 53 the.source.code..///.///.BYTEPOS
ce20 20 69 73 20 45 6d 61 63 73 27 73 20 31 2d 62 61 73 65 64 20 62 79 74 65 20 70 6f 73 69 74 69 6f .is.Emacs's.1-based.byte.positio
ce40 6e 2e 0a 2f 2f 2f 0a 2f 2f 2f 20 4c 49 4e 45 2d 4e 55 4d 42 45 52 20 69 73 20 74 68 65 20 6e 75 n..///.///.LINE-NUMBER.is.the.nu
ce60 6d 62 65 72 20 72 65 74 75 72 6e 65 64 20 62 79 20 60 6c 69 6e 65 2d 6e 75 6d 62 65 72 2d 61 74 mber.returned.by.`line-number-at
ce80 2d 70 6f 73 27 2c 20 77 68 69 63 68 20 63 6f 75 6e 74 73 20 66 72 6f 6d 20 31 2e 0a 2f 2f 2f 0a -pos',.which.counts.from.1..///.
cea0 2f 2f 2f 20 42 59 54 45 2d 43 4f 4c 55 4d 4e 20 63 6f 75 6e 74 73 20 66 72 6f 6d 20 30 2c 20 6c ///.BYTE-COLUMN.counts.from.0,.l
cec0 69 6b 65 73 20 45 6d 61 63 73 27 73 20 60 63 75 72 72 65 6e 74 2d 63 6f 6c 75 6d 6e 27 2e 20 48 ikes.Emacs's.`current-column'..H
cee0 6f 77 65 76 65 72 2c 20 75 6e 6c 69 6b 65 20 74 68 61 74 0a 2f 2f 2f 20 66 75 6e 63 74 69 6f 6e owever,.unlike.that.///.function
cf00 2c 20 69 74 20 63 6f 75 6e 74 73 20 62 79 74 65 73 2c 20 69 6e 73 74 65 61 64 20 6f 66 20 64 69 ,.it.counts.bytes,.instead.of.di
cf20 73 70 6c 61 79 65 64 20 67 6c 79 70 68 73 2e 0a 2f 2f 2f 0a 2f 2f 2f 20 49 66 20 79 6f 75 20 68 splayed.glyphs..///.///.If.you.h
cf40 61 76 65 20 61 6c 72 65 61 64 79 20 70 61 72 73 65 64 20 61 6e 20 65 61 72 6c 69 65 72 20 76 65 ave.already.parsed.an.earlier.ve
cf60 72 73 69 6f 6e 20 6f 66 20 74 68 69 73 20 64 6f 63 75 6d 65 6e 74 2c 20 61 6e 64 20 69 74 20 68 rsion.of.this.document,.and.it.h
cf80 61 73 20 73 69 6e 63 65 0a 2f 2f 2f 20 62 65 65 6e 20 65 64 69 74 65 64 2c 20 70 61 73 73 20 74 as.since.///.been.edited,.pass.t
cfa0 68 65 20 70 72 65 76 69 6f 75 73 6c 79 20 70 61 72 73 65 64 20 4f 4c 44 2d 54 52 45 45 20 73 6f he.previously.parsed.OLD-TREE.so
cfc0 20 74 68 61 74 20 69 74 73 20 75 6e 63 68 61 6e 67 65 64 20 70 61 72 74 73 20 63 61 6e 0a 2f 2f .that.its.unchanged.parts.can.//
cfe0 2f 20 62 65 20 72 65 75 73 65 64 2e 20 54 68 69 73 20 77 69 6c 6c 20 73 61 76 65 20 74 69 6d 65 /.be.reused..This.will.save.time
d000 20 61 6e 64 20 6d 65 6d 6f 72 79 2e 20 46 6f 72 20 74 68 69 73 20 74 6f 20 77 6f 72 6b 20 63 6f .and.memory..For.this.to.work.co
d020 72 72 65 63 74 6c 79 2c 20 79 6f 75 20 6d 75 73 74 0a 2f 2f 2f 20 68 61 76 65 20 61 6c 72 65 61 rrectly,.you.must.///.have.alrea
d040 64 79 20 65 64 69 74 65 64 20 69 74 20 75 73 69 6e 67 20 60 74 73 63 2d 65 64 69 74 2d 74 72 65 dy.edited.it.using.`tsc-edit-tre
d060 65 27 20 66 75 6e 63 74 69 6f 6e 20 69 6e 20 61 20 77 61 79 20 74 68 61 74 20 65 78 61 63 74 6c e'.function.in.a.way.that.exactl
d080 79 0a 2f 2f 2f 20 6d 61 74 63 68 65 73 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 63 68 y.///.matches.the.source.code.ch
d0a0 61 6e 67 65 73 2e 0a 23 5b 64 65 66 75 6e 5d 0a 66 6e 20 70 61 72 73 65 5f 63 68 75 6e 6b 73 28 anges..#[defun].fn.parse_chunks(
d0c0 70 61 72 73 65 72 3a 20 26 6d 75 74 20 50 61 72 73 65 72 2c 20 69 6e 70 75 74 5f 66 75 6e 63 74 parser:.&mut.Parser,.input_funct
d0e0 69 6f 6e 3a 20 56 61 6c 75 65 2c 20 6f 6c 64 5f 74 72 65 65 3a 20 4f 70 74 69 6f 6e 3c 26 53 68 ion:.Value,.old_tree:.Option<&Sh
d100 61 72 65 64 3c 54 72 65 65 3e 3e 29 20 2d 3e 20 52 65 73 75 6c 74 3c 53 68 61 72 65 64 3c 54 72 ared<Tree>>).->.Result<Shared<Tr
d120 65 65 3e 3e 20 7b 0a 20 20 20 20 6c 65 74 20 6f 6c 64 5f 74 72 65 65 20 3d 20 6d 61 74 63 68 20 ee>>.{.....let.old_tree.=.match.
d140 6f 6c 64 5f 74 72 65 65 20 7b 0a 20 20 20 20 20 20 20 20 53 6f 6d 65 28 76 29 20 3d 3e 20 53 6f old_tree.{.........Some(v).=>.So
d160 6d 65 28 76 2e 74 72 79 5f 62 6f 72 72 6f 77 28 29 3f 29 2c 0a 20 20 20 20 20 20 20 20 5f 20 3d me(v.try_borrow()?),........._.=
d180 3e 20 4e 6f 6e 65 2c 0a 20 20 20 20 7d 3b 0a 20 20 20 20 6c 65 74 20 6f 6c 64 5f 74 72 65 65 20 >.None,.....};.....let.old_tree.
d1a0 3d 20 6d 61 74 63 68 20 26 6f 6c 64 5f 74 72 65 65 20 7b 0a 20 20 20 20 20 20 20 20 53 6f 6d 65 =.match.&old_tree.{.........Some
d1c0 28 72 29 20 3d 3e 20 53 6f 6d 65 28 26 2a 2a 72 29 2c 0a 20 20 20 20 20 20 20 20 5f 20 3d 3e 20 (r).=>.Some(&**r),........._.=>.
d1e0 4e 6f 6e 65 2c 0a 20 20 20 20 7d 3b 0a 20 20 20 20 2f 2f 20 54 68 69 73 20 69 73 20 75 73 65 64 None,.....};.....//.This.is.used
d200 20 74 6f 20 68 6f 6c 64 20 70 6f 74 65 6e 74 69 61 6c 20 65 72 72 6f 72 2c 20 62 65 63 61 75 73 .to.hold.potential.error,.becaus
d220 65 20 74 68 65 20 63 61 6c 6c 62 61 63 6b 20 63 61 6e 6e 6f 74 20 72 65 74 75 72 6e 20 61 20 52 e.the.callback.cannot.return.a.R
d240 65 73 75 6c 74 2c 20 61 6e 64 0a 20 20 20 20 2f 2f 20 75 6e 77 69 6e 64 69 6e 67 20 61 63 72 6f esult,.and.....//.unwinding.acro
d260 73 73 20 46 46 49 20 62 6f 75 6e 64 61 72 79 20 64 75 72 69 6e 67 20 61 20 70 61 6e 69 63 20 69 ss.FFI.boundary.during.a.panic.i
d280 73 20 55 42 20 28 66 75 74 75 72 65 20 52 75 73 74 20 76 65 72 73 69 6f 6e 73 20 77 69 6c 6c 20 s.UB.(future.Rust.versions.will.
d2a0 61 62 6f 72 74 29 2e 0a 20 20 20 20 2f 2f 20 53 65 65 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 abort)......//.See.https://githu
d2c0 62 2e 63 6f 6d 2f 72 75 73 74 2d 6c 61 6e 67 2f 72 75 73 74 2f 69 73 73 75 65 73 2f 35 32 36 35 b.com/rust-lang/rust/issues/5265
d2e0 32 2e 0a 20 20 20 20 6c 65 74 20 6d 75 74 20 69 6e 70 75 74 5f 65 72 72 6f 72 20 3d 20 4e 6f 6e 2......let.mut.input_error.=.Non
d300 65 3b 0a 20 20 20 20 6c 65 74 20 69 6e 70 75 74 20 3d 20 26 6d 75 74 20 7c 62 79 74 65 3a 20 75 e;.....let.input.=.&mut.|byte:.u
d320 73 69 7a 65 2c 20 70 6f 69 6e 74 3a 20 74 72 65 65 5f 73 69 74 74 65 72 3a 3a 50 6f 69 6e 74 7c size,.point:.tree_sitter::Point|
d340 20 2d 3e 20 53 74 72 69 6e 67 20 7b 0a 20 20 20 20 20 20 20 20 6c 65 74 20 62 79 74 65 70 6f 73 .->.String.{.........let.bytepos
d360 3a 20 42 79 74 65 50 6f 73 20 3d 20 62 79 74 65 2e 69 6e 74 6f 28 29 3b 0a 20 20 20 20 20 20 20 :.BytePos.=.byte.into();........
d380 20 6c 65 74 20 70 6f 69 6e 74 3a 20 50 6f 69 6e 74 20 3d 20 70 6f 69 6e 74 2e 69 6e 74 6f 28 29 .let.point:.Point.=.point.into()
d3a0 3b 0a 20 20 20 20 20 20 20 20 69 6e 70 75 74 5f 66 75 6e 63 74 69 6f 6e 2e 63 61 6c 6c 28 28 62 ;.........input_function.call((b
d3c0 79 74 65 70 6f 73 2c 20 70 6f 69 6e 74 2e 6c 69 6e 65 5f 6e 75 6d 62 65 72 28 29 2c 20 70 6f 69 ytepos,.point.line_number(),.poi
d3e0 6e 74 2e 62 79 74 65 5f 63 6f 6c 75 6d 6e 28 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e nt.byte_column()))..............
d400 61 6e 64 5f 74 68 65 6e 28 7c 76 7c 20 76 2e 69 6e 74 6f 5f 72 75 73 74 28 29 29 0a 20 20 20 20 and_then(|v|.v.into_rust()).....
d420 20 20 20 20 20 20 20 20 2e 75 6e 77 72 61 70 5f 6f 72 5f 65 6c 73 65 28 7c 65 7c 20 7b 0a 20 20 .........unwrap_or_else(|e|.{...
d440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 70 75 74 5f 65 72 72 6f 72 20 3d 20 53 6f 6d 65 ..............input_error.=.Some
d460 28 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 22 2e 74 6f 5f 6f 77 6e 65 64 (e);................."".to_owned
d480 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 29 0a 20 20 20 20 7d 3b 0a 20 20 20 20 2f 2f 20 ().............}).....};.....//.
d4a0 54 4f 44 4f 3a 20 53 75 70 70 6f 72 74 20 65 72 72 6f 72 20 63 61 73 65 73 20 28 4e 6f 6e 65 29 TODO:.Support.error.cases.(None)
d4c0 2e 0a 20 20 20 20 6c 65 74 20 74 72 65 65 20 3d 20 70 61 72 73 65 72 2e 70 61 72 73 65 5f 77 69 ......let.tree.=.parser.parse_wi
d4e0 74 68 28 69 6e 70 75 74 2c 20 6f 6c 64 5f 74 72 65 65 29 2e 75 6e 77 72 61 70 28 29 3b 0a 20 20 th(input,.old_tree).unwrap();...
d500 20 20 6d 61 74 63 68 20 69 6e 70 75 74 5f 65 72 72 6f 72 20 7b 0a 20 20 20 20 20 20 20 20 4e 6f ..match.input_error.{.........No
d520 6e 65 20 3d 3e 20 4f 6b 28 73 68 61 72 65 64 28 74 72 65 65 29 29 2c 0a 20 20 20 20 20 20 20 20 ne.=>.Ok(shared(tree)),.........
d540 53 6f 6d 65 28 65 29 20 3d 3e 20 45 72 72 28 65 29 2c 0a 20 20 20 20 7d 0a 7d 0a 0a 2f 2f 2f 20 Some(e).=>.Err(e),.....}.}..///.
d560 55 73 65 20 50 41 52 53 45 52 20 74 6f 20 70 61 72 73 65 20 74 68 65 20 49 4e 50 55 54 20 73 74 Use.PARSER.to.parse.the.INPUT.st
d580 72 69 6e 67 2c 20 72 65 74 75 72 6e 69 6e 67 20 61 20 74 72 65 65 2e 0a 23 5b 64 65 66 75 6e 5d ring,.returning.a.tree..#[defun]
d5a0 0a 66 6e 20 70 61 72 73 65 5f 73 74 72 69 6e 67 28 70 61 72 73 65 72 3a 20 26 6d 75 74 20 50 61 .fn.parse_string(parser:.&mut.Pa
d5c0 72 73 65 72 2c 20 69 6e 70 75 74 3a 20 53 74 72 69 6e 67 29 20 2d 3e 20 52 65 73 75 6c 74 3c 53 rser,.input:.String).->.Result<S
d5e0 68 61 72 65 64 3c 54 72 65 65 3e 3e 20 7b 0a 20 20 20 20 6c 65 74 20 74 72 65 65 20 3d 20 70 61 hared<Tree>>.{.....let.tree.=.pa
d600 72 73 65 72 2e 70 61 72 73 65 28 69 6e 70 75 74 2c 20 4e 6f 6e 65 29 2e 75 6e 77 72 61 70 28 29 rser.parse(input,.None).unwrap()
d620 3b 0a 20 20 20 20 4f 6b 28 73 68 61 72 65 64 28 74 72 65 65 29 29 0a 7d 0a 0a 2f 2f 2f 20 49 6e ;.....Ok(shared(tree)).}..///.In
d640 73 74 72 75 63 74 20 50 41 52 53 45 52 20 74 6f 20 73 74 61 72 74 20 74 68 65 20 6e 65 78 74 20 struct.PARSER.to.start.the.next.
d660 70 61 72 73 65 20 66 72 6f 6d 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 2e 0a 2f 2f 2f 0a 2f 2f parse.from.the.beginning..///.//
d680 2f 20 49 66 20 50 41 52 53 45 52 20 70 72 65 76 69 6f 75 73 6c 79 20 66 61 69 6c 65 64 20 62 65 /.If.PARSER.previously.failed.be
d6a0 63 61 75 73 65 20 6f 66 20 61 20 74 69 6d 65 6f 75 74 20 6f 72 20 61 20 63 61 6e 63 65 6c 6c 61 cause.of.a.timeout.or.a.cancella
d6c0 74 69 6f 6e 2c 20 74 68 65 6e 20 62 79 0a 2f 2f 2f 20 64 65 66 61 75 6c 74 2c 20 69 74 20 77 69 tion,.then.by.///.default,.it.wi
d6e0 6c 6c 20 72 65 73 75 6d 65 20 77 68 65 72 65 20 69 74 20 6c 65 66 74 20 6f 66 66 20 6f 6e 20 74 ll.resume.where.it.left.off.on.t
d700 68 65 20 6e 65 78 74 20 70 61 72 73 65 2e 20 49 66 20 79 6f 75 20 64 6f 6e 27 74 20 77 61 6e 74 he.next.parse..If.you.don't.want
d720 0a 2f 2f 2f 20 74 6f 20 72 65 73 75 6d 65 2c 20 61 6e 64 20 69 6e 73 74 65 61 64 20 69 6e 74 65 .///.to.resume,.and.instead.inte
d740 6e 64 20 74 6f 20 75 73 65 20 50 41 52 53 45 52 20 74 6f 20 70 61 72 73 65 20 73 6f 6d 65 20 6f nd.to.use.PARSER.to.parse.some.o
d760 74 68 65 72 20 63 6f 64 65 2c 20 79 6f 75 20 6d 75 73 74 0a 2f 2f 2f 20 63 61 6c 6c 20 74 68 69 ther.code,.you.must.///.call.thi
d780 73 20 66 75 6e 63 74 69 6f 6e 20 66 69 72 73 74 2e 0a 2f 2f 2f 0a 2f 2f 2f 20 4e 6f 74 65 3a 20 s.function.first..///.///.Note:.
d7a0 74 69 6d 65 6f 75 74 20 61 6e 64 20 63 61 6e 63 65 6c 6c 61 74 69 6f 6e 20 61 72 65 20 6e 6f 74 timeout.and.cancellation.are.not
d7c0 20 79 65 74 20 70 72 6f 70 65 72 6c 79 20 73 75 70 70 6f 72 74 65 64 2e 0a 23 5b 64 65 66 75 6e .yet.properly.supported..#[defun
d7e0 5d 0a 66 6e 20 5f 72 65 73 65 74 5f 70 61 72 73 65 72 28 70 61 72 73 65 72 3a 20 26 6d 75 74 20 ].fn._reset_parser(parser:.&mut.
d800 50 61 72 73 65 72 29 20 2d 3e 20 52 65 73 75 6c 74 3c 28 29 3e 20 7b 0a 20 20 20 20 4f 6b 28 70 Parser).->.Result<()>.{.....Ok(p
d820 61 72 73 65 72 2e 72 65 73 65 74 28 29 29 0a 7d 0a 0a 2f 2f 2f 20 52 65 74 75 72 6e 20 74 68 65 arser.reset()).}..///.Return.the
d840 20 64 75 72 61 74 69 6f 6e 20 69 6e 20 6d 69 63 72 6f 73 65 63 6f 6e 64 73 20 74 68 61 74 20 50 .duration.in.microseconds.that.P
d860 41 52 53 45 52 20 69 73 20 61 6c 6c 6f 77 65 64 20 74 6f 20 74 61 6b 65 20 65 61 63 68 20 70 61 ARSER.is.allowed.to.take.each.pa
d880 72 73 65 2e 0a 2f 2f 2f 20 4e 6f 74 65 3a 20 74 69 6d 65 6f 75 74 20 61 6e 64 20 63 61 6e 63 65 rse..///.Note:.timeout.and.cance
d8a0 6c 6c 61 74 69 6f 6e 20 61 72 65 20 6e 6f 74 20 79 65 74 20 70 72 6f 70 65 72 6c 79 20 73 75 70 llation.are.not.yet.properly.sup
d8c0 70 6f 72 74 65 64 2e 0a 23 5b 64 65 66 75 6e 5d 0a 66 6e 20 5f 74 69 6d 65 6f 75 74 5f 6d 69 63 ported..#[defun].fn._timeout_mic
d8e0 72 6f 73 28 70 61 72 73 65 72 3a 20 26 50 61 72 73 65 72 29 20 2d 3e 20 52 65 73 75 6c 74 3c 75 ros(parser:.&Parser).->.Result<u
d900 36 34 3e 20 7b 0a 20 20 20 20 4f 6b 28 70 61 72 73 65 72 2e 74 69 6d 65 6f 75 74 5f 6d 69 63 72 64>.{.....Ok(parser.timeout_micr
d920 6f 73 28 29 29 0a 7d 0a 0a 2f 2f 2f 20 53 65 74 20 4d 41 58 2d 44 55 52 41 54 49 4f 4e 20 69 6e os()).}..///.Set.MAX-DURATION.in
d940 20 6d 69 63 72 6f 73 65 63 6f 6e 64 73 20 74 68 61 74 20 50 41 52 53 45 52 20 69 73 20 61 6c 6c .microseconds.that.PARSER.is.all
d960 6f 77 65 64 20 74 6f 20 74 61 6b 65 20 65 61 63 68 20 70 61 72 73 65 2e 0a 2f 2f 2f 20 4e 6f 74 owed.to.take.each.parse..///.Not
d980 65 3a 20 74 69 6d 65 6f 75 74 20 61 6e 64 20 63 61 6e 63 65 6c 6c 61 74 69 6f 6e 20 61 72 65 20 e:.timeout.and.cancellation.are.
d9a0 6e 6f 74 20 79 65 74 20 70 72 6f 70 65 72 6c 79 20 73 75 70 70 6f 72 74 65 64 2e 0a 23 5b 64 65 not.yet.properly.supported..#[de
d9c0 66 75 6e 5d 0a 66 6e 20 5f 73 65 74 5f 74 69 6d 65 6f 75 74 5f 6d 69 63 72 6f 73 28 70 61 72 73 fun].fn._set_timeout_micros(pars
d9e0 65 72 3a 20 26 6d 75 74 20 50 61 72 73 65 72 2c 20 6d 61 78 5f 64 75 72 61 74 69 6f 6e 3a 20 75 er:.&mut.Parser,.max_duration:.u
da00 36 34 29 20 2d 3e 20 52 65 73 75 6c 74 3c 28 29 3e 20 7b 0a 20 20 20 20 4f 6b 28 70 61 72 73 65 64).->.Result<()>.{.....Ok(parse
da20 72 2e 73 65 74 5f 74 69 6d 65 6f 75 74 5f 6d 69 63 72 6f 73 28 6d 61 78 5f 64 75 72 61 74 69 6f r.set_timeout_micros(max_duratio
da40 6e 29 29 0a 7d 0a 0a 2f 2f 2f 20 53 65 74 20 74 68 65 20 52 41 4e 47 45 53 20 6f 66 20 74 65 78 n)).}..///.Set.the.RANGES.of.tex
da60 74 20 74 68 61 74 20 50 41 52 53 45 52 20 73 68 6f 75 6c 64 20 69 6e 63 6c 75 64 65 20 77 68 65 t.that.PARSER.should.include.whe
da80 6e 20 70 61 72 73 69 6e 67 2e 0a 2f 2f 2f 0a 2f 2f 2f 20 42 79 20 64 65 66 61 75 6c 74 2c 20 50 n.parsing..///.///.By.default,.P
daa0 41 52 53 45 52 20 77 69 6c 6c 20 61 6c 77 61 79 73 20 69 6e 63 6c 75 64 65 20 65 6e 74 69 72 65 ARSER.will.always.include.entire
dac0 20 64 6f 63 75 6d 65 6e 74 73 2e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 61 6c 6c 6f 77 73 .documents..This.function.allows
dae0 0a 2f 2f 2f 20 79 6f 75 20 74 6f 20 70 61 72 73 65 20 6f 6e 6c 79 20 61 20 70 6f 72 74 69 6f 6e .///.you.to.parse.only.a.portion
db00 20 6f 66 20 61 20 64 6f 63 75 6d 65 6e 74 20 62 75 74 20 73 74 69 6c 6c 20 72 65 74 75 72 6e 20 .of.a.document.but.still.return.
db20 61 20 73 79 6e 74 61 78 20 74 72 65 65 20 77 68 6f 73 65 0a 2f 2f 2f 20 72 61 6e 67 65 73 20 6d a.syntax.tree.whose.///.ranges.m
db40 61 74 63 68 20 75 70 20 77 69 74 68 20 74 68 65 20 64 6f 63 75 6d 65 6e 74 20 61 73 20 61 20 77 atch.up.with.the.document.as.a.w
db60 68 6f 6c 65 2e 20 52 41 4e 47 45 53 20 73 68 6f 75 6c 64 20 62 65 20 61 20 76 65 63 74 6f 72 2c hole..RANGES.should.be.a.vector,
db80 20 61 6e 64 20 63 61 6e 0a 2f 2f 2f 20 62 65 20 64 69 73 6a 6f 69 6e 74 65 64 2e 0a 2f 2f 2f 0a .and.can.///.be.disjointed..///.
dba0 2f 2f 2f 20 54 68 69 73 20 69 73 20 75 73 65 66 75 6c 20 66 6f 72 20 70 61 72 73 69 6e 67 20 6d ///.This.is.useful.for.parsing.m
dbc0 75 6c 74 69 2d 6c 61 6e 67 75 61 67 65 20 64 6f 63 75 6d 65 6e 74 73 2e 0a 23 5b 64 65 66 75 6e ulti-language.documents..#[defun
dbe0 5d 0a 66 6e 20 73 65 74 5f 69 6e 63 6c 75 64 65 64 5f 72 61 6e 67 65 73 28 70 61 72 73 65 72 3a ].fn.set_included_ranges(parser:
dc00 20 26 6d 75 74 20 50 61 72 73 65 72 2c 20 72 61 6e 67 65 73 3a 20 56 65 63 74 6f 72 29 20 2d 3e .&mut.Parser,.ranges:.Vector).->
dc20 20 52 65 73 75 6c 74 3c 28 29 3e 20 7b 0a 20 20 20 20 6c 65 74 20 6c 65 6e 20 3d 20 72 61 6e 67 .Result<()>.{.....let.len.=.rang
dc40 65 73 2e 6c 65 6e 28 29 3b 0a 20 20 20 20 6c 65 74 20 69 6e 63 6c 75 64 65 64 20 3d 20 26 6d 75 es.len();.....let.included.=.&mu
dc60 74 20 56 65 63 3a 3a 77 69 74 68 5f 63 61 70 61 63 69 74 79 28 6c 65 6e 29 3b 0a 20 20 20 20 66 t.Vec::with_capacity(len);.....f
dc80 6f 72 20 69 20 69 6e 20 30 2e 2e 6c 65 6e 20 7b 0a 20 20 20 20 20 20 20 20 6c 65 74 20 72 61 6e or.i.in.0..len.{.........let.ran
dca0 67 65 3a 20 52 61 6e 67 65 20 3d 20 72 61 6e 67 65 73 2e 67 65 74 28 69 29 3f 3b 0a 20 20 20 20 ge:.Range.=.ranges.get(i)?;.....
dcc0 20 20 20 20 69 6e 63 6c 75 64 65 64 2e 70 75 73 68 28 72 61 6e 67 65 2e 69 6e 74 6f 28 29 29 3b ....included.push(range.into());
dce0 0a 20 20 20 20 7d 0a 20 20 20 20 70 61 72 73 65 72 2e 73 65 74 5f 69 6e 63 6c 75 64 65 64 5f 72 .....}.....parser.set_included_r
dd00 61 6e 67 65 73 28 69 6e 63 6c 75 64 65 64 29 2e 6f 72 5f 65 6c 73 65 28 7c 65 72 72 6f 72 7c 20 anges(included).or_else(|error|.
dd20 7b 0a 20 20 20 20 20 20 20 20 72 61 6e 67 65 73 2e 76 61 6c 75 65 28 29 2e 65 6e 76 2e 73 69 67 {.........ranges.value().env.sig
dd40 6e 61 6c 28 65 72 72 6f 72 3a 3a 74 73 63 5f 69 6e 76 61 6c 69 64 5f 72 61 6e 67 65 73 2c 20 28 nal(error::tsc_invalid_ranges,.(
dd60 65 72 72 6f 72 2e 30 2c 20 29 29 0a 20 20 20 20 7d 29 0a 7d 0a 00 00 00 00 00 00 00 00 00 00 00 error.0,.)).....}).}............
dd80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
dda0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ddc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
dde0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
de00 74 73 63 2d 32 30 32 32 30 32 31 32 2e 31 36 33 32 2f 73 72 63 2f 71 75 65 72 79 2e 72 73 00 00 tsc-20220212.1632/src/query.rs..
de20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
de40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
de60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
de80 30 30 32 32 31 36 34 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 30 37 37 00 20 30 00 00 00 0022164.00000000000.014077..0...
dea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
dec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
dee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
df00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
df20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
df40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
df60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
df80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
dfa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
dfc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
dfe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e000 75 73 65 20 73 74 64 3a 3a 7b 63 65 6c 6c 3a 3a 52 65 66 43 65 6c 6c 2c 20 69 74 65 72 7d 3b 0a use.std::{cell::RefCell,.iter};.
e020 0a 75 73 65 20 65 6d 61 63 73 3a 3a 7b 64 65 66 75 6e 2c 20 45 6e 76 2c 20 45 72 72 6f 72 2c 20 .use.emacs::{defun,.Env,.Error,.
e040 47 6c 6f 62 61 6c 52 65 66 2c 20 49 6e 74 6f 4c 69 73 70 2c 20 52 65 73 75 6c 74 2c 20 56 61 6c GlobalRef,.IntoLisp,.Result,.Val
e060 75 65 2c 20 56 65 63 74 6f 72 7d 3b 0a 75 73 65 20 74 72 65 65 5f 73 69 74 74 65 72 3a 3a 7b 4e ue,.Vector};.use.tree_sitter::{N
e080 6f 64 65 2c 20 51 75 65 72 79 43 75 72 73 6f 72 2c 20 51 75 65 72 79 45 72 72 6f 72 4b 69 6e 64 ode,.QueryCursor,.QueryErrorKind
e0a0 2c 20 54 65 78 74 50 72 6f 76 69 64 65 72 7d 3b 0a 0a 75 73 65 20 63 72 61 74 65 3a 3a 7b 0a 20 ,.TextProvider};..use.crate::{..
e0c0 20 20 20 74 79 70 65 73 3a 3a 7b 42 79 74 65 50 6f 73 2c 20 50 6f 69 6e 74 7d 2c 0a 20 20 20 20 ...types::{BytePos,.Point},.....
e0e0 6c 61 6e 67 3a 3a 4c 61 6e 67 75 61 67 65 2c 0a 20 20 20 20 6e 6f 64 65 3a 3a 7b 52 4e 6f 64 65 lang::Language,.....node::{RNode
e100 2c 20 4c 69 73 70 55 74 69 6c 73 7d 2c 0a 20 20 20 20 65 72 72 6f 72 2c 0a 7d 3b 0a 0a 66 6e 20 ,.LispUtils},.....error,.};..fn.
e120 76 65 63 5f 74 6f 5f 76 65 63 74 6f 72 3c 27 65 2c 20 54 3a 20 49 6e 74 6f 4c 69 73 70 3c 27 65 vec_to_vector<'e,.T:.IntoLisp<'e
e140 3e 3e 28 65 6e 76 3a 20 26 27 65 20 45 6e 76 2c 20 76 65 63 3a 20 56 65 63 3c 54 3e 29 20 2d 3e >>(env:.&'e.Env,.vec:.Vec<T>).->
e160 20 52 65 73 75 6c 74 3c 56 65 63 74 6f 72 3c 27 65 3e 3e 20 7b 0a 20 20 20 20 6c 65 74 20 76 65 .Result<Vector<'e>>.{.....let.ve
e180 63 74 6f 72 20 3d 20 65 6e 76 2e 6d 61 6b 65 5f 76 65 63 74 6f 72 28 76 65 63 2e 6c 65 6e 28 29 ctor.=.env.make_vector(vec.len()
e1a0 2c 20 28 29 29 3f 3b 0a 20 20 20 20 66 6f 72 20 28 69 2c 20 76 29 20 69 6e 20 76 65 63 2e 69 6e ,.())?;.....for.(i,.v).in.vec.in
e1c0 74 6f 5f 69 74 65 72 28 29 2e 65 6e 75 6d 65 72 61 74 65 28 29 20 7b 0a 20 20 20 20 20 20 20 20 to_iter().enumerate().{.........
e1e0 76 65 63 74 6f 72 2e 73 65 74 28 69 2c 20 76 29 3f 3b 0a 20 20 20 20 7d 0a 20 20 20 20 4f 6b 28 vector.set(i,.v)?;.....}.....Ok(
e200 76 65 63 74 6f 72 29 0a 7d 0a 0a 2f 2f 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d vector).}..//.------------------
e220 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
e240 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
e260 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 2f 2f 20 51 75 65 72 79 0a 0a 73 74 72 75 63 74 ---------------.//.Query..struct
e280 20 51 75 65 72 79 20 7b 0a 20 20 20 20 70 75 62 28 63 72 61 74 65 29 20 72 61 77 3a 20 74 72 65 .Query.{.....pub(crate).raw:.tre
e2a0 65 5f 73 69 74 74 65 72 3a 3a 51 75 65 72 79 2c 0a 20 20 20 20 70 75 62 28 63 72 61 74 65 29 20 e_sitter::Query,.....pub(crate).
e2c0 63 61 70 74 75 72 65 5f 74 61 67 73 3a 20 56 65 63 3c 47 6c 6f 62 61 6c 52 65 66 3e 2c 0a 7d 0a capture_tags:.Vec<GlobalRef>,.}.
e2e0 0a 69 6d 70 6c 5f 70 72 65 64 21 28 71 75 65 72 79 5f 70 2c 20 26 52 65 66 43 65 6c 6c 3c 51 75 .impl_pred!(query_p,.&RefCell<Qu
e300 65 72 79 3e 29 3b 0a 0a 2f 2f 2f 20 43 72 65 61 74 65 20 61 20 6e 65 77 20 71 75 65 72 79 20 66 ery>);..///.Create.a.new.query.f
e320 72 6f 6d 20 61 20 53 4f 55 52 43 45 20 63 6f 6e 74 61 69 6e 69 6e 67 20 6f 6e 65 20 6f 72 20 6d rom.a.SOURCE.containing.one.or.m
e340 6f 72 65 20 53 2d 65 78 70 72 65 73 73 69 6f 6e 20 70 61 74 74 65 72 6e 73 2e 0a 2f 2f 2f 0a 2f ore.S-expression.patterns..///./
e360 2f 2f 20 54 68 65 20 71 75 65 72 79 20 69 73 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 //.The.query.is.associated.with.
e380 4c 41 4e 47 55 41 47 45 2c 20 61 6e 64 20 63 61 6e 20 6f 6e 6c 79 20 62 65 20 72 75 6e 20 6f 6e LANGUAGE,.and.can.only.be.run.on
e3a0 20 73 79 6e 74 61 78 20 6e 6f 64 65 73 0a 2f 2f 2f 20 70 61 72 73 65 64 20 77 69 74 68 20 4c 41 .syntax.nodes.///.parsed.with.LA
e3c0 4e 47 55 41 47 45 2e 0a 2f 2f 2f 0a 2f 2f 2f 20 54 41 47 2d 41 53 53 49 47 4e 45 52 20 69 73 20 NGUAGE..///.///.TAG-ASSIGNER.is.
e3e0 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 69 73 20 63 61 6c 6c 65 64 20 74 6f 20 64 65 74 a.function.that.is.called.to.det
e400 65 72 6d 69 6e 65 20 68 6f 77 20 63 61 70 74 75 72 65 73 20 61 72 65 20 74 61 67 67 65 64 0a 2f ermine.how.captures.are.tagged./
e420 2f 2f 20 69 6e 20 71 75 65 72 79 20 72 65 73 75 6c 74 73 2e 20 49 74 20 73 68 6f 75 6c 64 20 74 //.in.query.results..It.should.t
e440 61 6b 65 20 61 20 63 61 70 74 75 72 65 20 6e 61 6d 65 20 64 65 66 69 6e 65 64 20 69 6e 20 53 4f ake.a.capture.name.defined.in.SO
e460 55 52 43 45 27 73 20 70 61 74 74 65 72 6e 73 0a 2f 2f 2f 20 28 65 2e 67 2e 20 22 66 75 6e 63 74 URCE's.patterns.///.(e.g.."funct
e480 69 6f 6e 2e 62 75 69 6c 74 69 6e 22 29 2c 20 61 6e 64 20 72 65 74 75 72 6e 20 61 20 74 61 67 20 ion.builtin"),.and.return.a.tag.
e4a0 76 61 6c 75 65 2e 20 49 66 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 6e 69 value..If.the.return.value.is.ni
e4c0 6c 2c 0a 2f 2f 2f 20 74 68 65 20 61 73 73 6f 63 69 61 74 65 64 20 63 61 70 74 75 72 65 20 6e 61 l,.///.the.associated.capture.na
e4e0 6d 65 20 69 73 20 64 69 73 61 62 6c 65 64 2e 0a 23 5b 64 65 66 75 6e 28 75 73 65 72 5f 70 74 72 me.is.disabled..#[defun(user_ptr
e500 29 5d 0a 66 6e 20 5f 6d 61 6b 65 5f 71 75 65 72 79 28 6c 61 6e 67 75 61 67 65 3a 20 4c 61 6e 67 )].fn._make_query(language:.Lang
e520 75 61 67 65 2c 20 73 6f 75 72 63 65 3a 20 53 74 72 69 6e 67 2c 20 74 61 67 5f 61 73 73 69 67 6e uage,.source:.String,.tag_assign
e540 65 72 3a 20 56 61 6c 75 65 29 20 2d 3e 20 52 65 73 75 6c 74 3c 51 75 65 72 79 3e 20 7b 0a 20 20 er:.Value).->.Result<Query>.{...
e560 20 20 6c 65 74 20 6d 75 74 20 72 61 77 20 3d 20 74 72 65 65 5f 73 69 74 74 65 72 3a 3a 51 75 65 ..let.mut.raw.=.tree_sitter::Que
e580 72 79 3a 3a 6e 65 77 28 6c 61 6e 67 75 61 67 65 2e 69 6e 74 6f 28 29 2c 20 26 73 6f 75 72 63 65 ry::new(language.into(),.&source
e5a0 29 2e 6f 72 5f 65 6c 73 65 28 7c 65 72 72 7c 20 7b 0a 20 20 20 20 20 20 20 20 6c 65 74 20 73 79 ).or_else(|err|.{.........let.sy
e5c0 6d 62 6f 6c 20 3d 20 6d 61 74 63 68 20 65 72 72 2e 6b 69 6e 64 20 7b 0a 20 20 20 20 20 20 20 20 mbol.=.match.err.kind.{.........
e5e0 20 20 20 20 51 75 65 72 79 45 72 72 6f 72 4b 69 6e 64 3a 3a 53 79 6e 74 61 78 20 3d 3e 20 65 72 ....QueryErrorKind::Syntax.=>.er
e600 72 6f 72 3a 3a 74 73 63 5f 71 75 65 72 79 5f 69 6e 76 61 6c 69 64 5f 73 79 6e 74 61 78 2c 0a 20 ror::tsc_query_invalid_syntax,..
e620 20 20 20 20 20 20 20 20 20 20 20 51 75 65 72 79 45 72 72 6f 72 4b 69 6e 64 3a 3a 4e 6f 64 65 54 ...........QueryErrorKind::NodeT
e640 79 70 65 20 3d 3e 20 65 72 72 6f 72 3a 3a 74 73 63 5f 71 75 65 72 79 5f 69 6e 76 61 6c 69 64 5f ype.=>.error::tsc_query_invalid_
e660 6e 6f 64 65 5f 74 79 70 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 51 75 65 72 79 45 72 72 6f node_type,.............QueryErro
e680 72 4b 69 6e 64 3a 3a 46 69 65 6c 64 20 3d 3e 20 65 72 72 6f 72 3a 3a 74 73 63 5f 71 75 65 72 79 rKind::Field.=>.error::tsc_query
e6a0 5f 69 6e 76 61 6c 69 64 5f 66 69 65 6c 64 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 51 75 65 72 _invalid_field,.............Quer
e6c0 79 45 72 72 6f 72 4b 69 6e 64 3a 3a 43 61 70 74 75 72 65 20 3d 3e 20 65 72 72 6f 72 3a 3a 74 73 yErrorKind::Capture.=>.error::ts
e6e0 63 5f 71 75 65 72 79 5f 69 6e 76 61 6c 69 64 5f 63 61 70 74 75 72 65 2c 0a 20 20 20 20 20 20 20 c_query_invalid_capture,........
e700 20 20 20 20 20 51 75 65 72 79 45 72 72 6f 72 4b 69 6e 64 3a 3a 50 72 65 64 69 63 61 74 65 20 3d .....QueryErrorKind::Predicate.=
e720 3e 20 65 72 72 6f 72 3a 3a 74 73 63 5f 71 75 65 72 79 5f 69 6e 76 61 6c 69 64 5f 70 72 65 64 69 >.error::tsc_query_invalid_predi
e740 63 61 74 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 51 75 65 72 79 45 72 72 6f 72 4b 69 6e 64 cate,.............QueryErrorKind
e760 3a 3a 53 74 72 75 63 74 75 72 65 20 3d 3e 20 65 72 72 6f 72 3a 3a 74 73 63 5f 71 75 65 72 79 5f ::Structure.=>.error::tsc_query_
e780 69 6e 76 61 6c 69 64 5f 73 74 72 75 63 74 75 72 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 51 invalid_structure,.............Q
e7a0 75 65 72 79 45 72 72 6f 72 4b 69 6e 64 3a 3a 4c 61 6e 67 75 61 67 65 20 3d 3e 20 65 72 72 6f 72 ueryErrorKind::Language.=>.error
e7c0 3a 3a 74 73 63 5f 6c 61 6e 67 5f 61 62 69 5f 65 72 72 6f 72 2c 0a 20 20 20 20 20 20 20 20 7d 3b ::tsc_lang_abi_error,.........};
e7e0 0a 20 20 20 20 20 20 20 20 6c 65 74 20 62 79 74 65 5f 70 6f 73 3a 20 42 79 74 65 50 6f 73 20 3d .........let.byte_pos:.BytePos.=
e800 20 65 72 72 2e 6f 66 66 73 65 74 2e 69 6e 74 6f 28 29 3b 0a 20 20 20 20 20 20 20 20 6c 65 74 20 .err.offset.into();.........let.
e820 70 6f 69 6e 74 3a 20 50 6f 69 6e 74 20 3d 20 74 72 65 65 5f 73 69 74 74 65 72 3a 3a 50 6f 69 6e point:.Point.=.tree_sitter::Poin
e840 74 20 7b 20 72 6f 77 3a 20 65 72 72 2e 72 6f 77 2c 20 63 6f 6c 75 6d 6e 3a 20 65 72 72 2e 63 6f t.{.row:.err.row,.column:.err.co
e860 6c 75 6d 6e 20 7d 2e 69 6e 74 6f 28 29 3b 0a 20 20 20 20 20 20 20 20 2f 2f 20 54 4f 44 4f 3a 20 lumn.}.into();.........//.TODO:.
e880 43 68 61 72 61 63 74 65 72 20 70 6f 73 69 74 69 6f 6e 3f 0a 20 20 20 20 20 20 20 20 2f 2f 20 54 Character.position?.........//.T
e8a0 4f 44 4f 3a 20 43 6f 6e 76 65 72 74 20 6e 61 6d 65 64 20 6e 6f 64 65 20 74 79 70 65 73 20 61 6e ODO:.Convert.named.node.types.an
e8c0 64 20 66 69 65 6c 64 20 6e 61 6d 65 73 20 74 6f 20 73 79 6d 62 6f 6c 73 20 61 6e 64 20 6b 65 79 d.field.names.to.symbols.and.key
e8e0 77 6f 72 64 73 3f 0a 20 20 20 20 20 20 20 20 74 61 67 5f 61 73 73 69 67 6e 65 72 2e 65 6e 76 2e words?.........tag_assigner.env.
e900 73 69 67 6e 61 6c 28 73 79 6d 62 6f 6c 2c 20 28 65 72 72 2e 6d 65 73 73 61 67 65 2c 20 70 6f 69 signal(symbol,.(err.message,.poi
e920 6e 74 2c 20 62 79 74 65 5f 70 6f 73 29 29 0a 20 20 20 20 7d 29 3f 3b 0a 20 20 20 20 6c 65 74 20 nt,.byte_pos)).....})?;.....let.
e940 63 61 70 74 75 72 65 5f 6e 61 6d 65 73 20 3d 20 72 61 77 2e 63 61 70 74 75 72 65 5f 6e 61 6d 65 capture_names.=.raw.capture_name
e960 73 28 29 2e 74 6f 5f 76 65 63 28 29 3b 0a 20 20 20 20 6c 65 74 20 6d 75 74 20 63 61 70 74 75 72 s().to_vec();.....let.mut.captur
e980 65 5f 74 61 67 73 20 3d 20 76 65 63 21 5b 5d 3b 0a 20 20 20 20 66 6f 72 20 6e 61 6d 65 20 69 6e e_tags.=.vec![];.....for.name.in
e9a0 20 26 63 61 70 74 75 72 65 5f 6e 61 6d 65 73 20 7b 0a 20 20 20 20 20 20 20 20 6c 65 74 20 76 61 .&capture_names.{.........let.va
e9c0 6c 75 65 20 3d 20 74 61 67 5f 61 73 73 69 67 6e 65 72 2e 63 61 6c 6c 28 28 6e 61 6d 65 2c 20 29 lue.=.tag_assigner.call((name,.)
e9e0 29 3f 3b 0a 20 20 20 20 20 20 20 20 69 66 20 21 76 61 6c 75 65 2e 69 73 5f 6e 6f 74 5f 6e 69 6c )?;.........if.!value.is_not_nil
ea00 28 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 61 77 2e 64 69 73 61 62 6c 65 5f 63 61 70 ().{.............raw.disable_cap
ea20 74 75 72 65 28 6e 61 6d 65 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 63 61 ture(name);.........}.........ca
ea40 70 74 75 72 65 5f 74 61 67 73 2e 70 75 73 68 28 76 61 6c 75 65 2e 6d 61 6b 65 5f 67 6c 6f 62 61 pture_tags.push(value.make_globa
ea60 6c 5f 72 65 66 28 29 29 0a 20 20 20 20 7d 0a 20 20 20 20 4f 6b 28 51 75 65 72 79 20 7b 20 72 61 l_ref()).....}.....Ok(Query.{.ra
ea80 77 2c 20 63 61 70 74 75 72 65 5f 74 61 67 73 20 7d 29 0a 7d 0a 0a 6d 61 63 72 6f 5f 72 75 6c 65 w,.capture_tags.}).}..macro_rule
eaa0 73 21 20 64 65 66 75 6e 5f 71 75 65 72 79 5f 6d 65 74 68 6f 64 73 20 7b 0a 20 20 20 20 28 24 28 s!.defun_query_methods.{.....($(
eac0 24 28 23 5b 24 6d 65 74 61 3a 6d 65 74 61 5d 29 2a 20 24 28 24 6c 69 73 70 5f 6e 61 6d 65 3a 6c $(#[$meta:meta])*.$($lisp_name:l
eae0 69 74 65 72 61 6c 29 3f 20 66 6e 20 24 6e 61 6d 65 3a 69 64 65 6e 74 20 24 28 20 28 20 24 28 20 iteral)?.fn.$name:ident.$(.(.$(.
eb00 24 70 61 72 61 6d 3a 69 64 65 6e 74 20 3a 20 24 74 79 70 65 3a 74 79 20 29 2c 2a 20 29 20 29 3f $param:ident.:.$type:ty.),*.).)?
eb20 20 2d 3e 20 24 72 74 79 70 65 3a 74 79 20 24 28 3b 20 24 69 6e 74 6f 3a 69 64 65 6e 74 29 3f 20 .->.$rtype:ty.$(;.$into:ident)?.
eb40 29 2a 29 20 3d 3e 20 7b 0a 20 20 20 20 20 20 20 20 24 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 )*).=>.{.........$(.............
eb60 23 5b 64 65 66 75 6e 24 28 28 6e 61 6d 65 20 3d 20 24 6c 69 73 70 5f 6e 61 6d 65 29 29 3f 5d 0a #[defun$((name.=.$lisp_name))?].
eb80 20 20 20 20 20 20 20 20 20 20 20 20 24 28 23 5b 24 6d 65 74 61 5d 29 2a 0a 20 20 20 20 20 20 20 ............$(#[$meta])*........
eba0 20 20 20 20 20 66 6e 20 24 6e 61 6d 65 28 71 75 65 72 79 3a 20 26 51 75 65 72 79 2c 20 24 28 20 .....fn.$name(query:.&Query,.$(.
ebc0 24 28 20 24 70 61 72 61 6d 20 3a 20 24 74 79 70 65 20 29 2c 2a 20 29 3f 20 29 20 2d 3e 20 52 65 $(.$param.:.$type.),*.)?.).->.Re
ebe0 73 75 6c 74 3c 24 72 74 79 70 65 3e 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4f sult<$rtype>.{.................O
ec00 6b 28 71 75 65 72 79 2e 72 61 77 2e 24 6e 61 6d 65 28 20 24 28 20 24 28 20 24 70 61 72 61 6d 20 k(query.raw.$name(.$(.$(.$param.
ec20 29 2c 2a 20 29 3f 20 29 24 28 2e 24 69 6e 74 6f 28 29 29 3f 29 0a 20 20 20 20 20 20 20 20 20 20 ),*.)?.)$(.$into())?)...........
ec40 20 20 7d 0a 20 20 20 20 20 20 20 20 29 2a 0a 20 20 20 20 7d 3b 0a 7d 0a 0a 64 65 66 75 6e 5f 71 ..}.........)*.....};.}..defun_q
ec60 75 65 72 79 5f 6d 65 74 68 6f 64 73 21 20 7b 0a 20 20 20 20 2f 2f 2f 20 52 65 74 75 72 6e 20 74 uery_methods!.{.....///.Return.t
ec80 68 65 20 62 79 74 65 20 70 6f 73 69 74 69 6f 6e 20 77 68 65 72 65 20 74 68 65 20 4e 54 48 20 70 he.byte.position.where.the.NTH.p
eca0 61 74 74 65 72 6e 20 73 74 61 72 74 73 20 69 6e 20 51 55 45 52 59 27 73 20 73 6f 75 72 63 65 2e attern.starts.in.QUERY's.source.
ecc0 0a 20 20 20 20 22 2d 71 75 65 72 79 2d 73 74 61 72 74 2d 62 79 74 65 2d 66 6f 72 2d 70 61 74 74 ....."-query-start-byte-for-patt
ece0 65 72 6e 22 20 66 6e 20 73 74 61 72 74 5f 62 79 74 65 5f 66 6f 72 5f 70 61 74 74 65 72 6e 28 6e ern".fn.start_byte_for_pattern(n
ed00 74 68 3a 20 75 73 69 7a 65 29 20 2d 3e 20 42 79 74 65 50 6f 73 3b 20 69 6e 74 6f 0a 0a 20 20 20 th:.usize).->.BytePos;.into.....
ed20 20 2f 2f 2f 20 52 65 74 75 72 6e 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 70 61 74 74 65 72 .///.Return.the.number.of.patter
ed40 6e 73 20 69 6e 20 51 55 45 52 59 2e 0a 20 20 20 20 22 71 75 65 72 79 2d 63 6f 75 6e 74 2d 70 61 ns.in.QUERY......"query-count-pa
ed60 74 74 65 72 6e 73 22 20 66 6e 20 70 61 74 74 65 72 6e 5f 63 6f 75 6e 74 20 2d 3e 20 75 73 69 7a tterns".fn.pattern_count.->.usiz
ed80 65 0a 7d 0a 0a 2f 2f 2f 20 52 65 74 75 72 6e 20 74 68 65 20 6e 61 6d 65 73 20 6f 66 20 74 68 65 e.}..///.Return.the.names.of.the
eda0 20 63 61 70 74 75 72 65 73 20 75 73 65 64 20 69 6e 20 51 55 45 52 59 2e 0a 23 5b 64 65 66 75 6e .captures.used.in.QUERY..#[defun
edc0 5d 0a 66 6e 20 5f 71 75 65 72 79 5f 63 61 70 74 75 72 65 5f 6e 61 6d 65 73 28 71 75 65 72 79 3a ].fn._query_capture_names(query:
ede0 20 56 61 6c 75 65 29 20 2d 3e 20 52 65 73 75 6c 74 3c 56 65 63 74 6f 72 3e 20 7b 0a 20 20 20 20 .Value).->.Result<Vector>.{.....
ee00 6c 65 74 20 65 6e 76 20 3d 20 71 75 65 72 79 2e 65 6e 76 3b 0a 20 20 20 20 6c 65 74 20 71 75 65 let.env.=.query.env;.....let.que
ee20 72 79 20 3d 20 71 75 65 72 79 2e 69 6e 74 6f 5f 72 65 66 3a 3a 3c 51 75 65 72 79 3e 28 29 3f 3b ry.=.query.into_ref::<Query>()?;
ee40 0a 20 20 20 20 6c 65 74 20 6e 61 6d 65 73 20 3d 20 71 75 65 72 79 2e 72 61 77 2e 63 61 70 74 75 .....let.names.=.query.raw.captu
ee60 72 65 5f 6e 61 6d 65 73 28 29 3b 0a 20 20 20 20 6c 65 74 20 76 65 63 20 3d 20 65 6e 76 2e 6d 61 re_names();.....let.vec.=.env.ma
ee80 6b 65 5f 76 65 63 74 6f 72 28 6e 61 6d 65 73 2e 6c 65 6e 28 29 2c 20 28 29 29 3f 3b 0a 20 20 20 ke_vector(names.len(),.())?;....
eea0 20 66 6f 72 20 28 69 2c 20 6e 61 6d 65 29 20 69 6e 20 6e 61 6d 65 73 2e 69 74 65 72 28 29 2e 65 .for.(i,.name).in.names.iter().e
eec0 6e 75 6d 65 72 61 74 65 28 29 20 7b 0a 20 20 20 20 20 20 20 20 76 65 63 2e 73 65 74 28 69 2c 20 numerate().{.........vec.set(i,.
eee0 6e 61 6d 65 29 3f 3b 0a 20 20 20 20 7d 0a 20 20 20 20 4f 6b 28 76 65 63 29 0a 7d 0a 0a 2f 2f 2f name)?;.....}.....Ok(vec).}..///
ef00 20 52 65 74 75 72 6e 20 61 6c 6c 20 6f 66 20 51 55 45 52 59 27 73 20 61 76 61 69 6c 61 62 6c 65 .Return.all.of.QUERY's.available
ef20 20 63 61 70 74 75 72 65 20 74 61 67 73 2e 0a 2f 2f 2f 20 53 65 65 20 60 74 73 63 2d 6d 61 6b 65 .capture.tags..///.See.`tsc-make
ef40 2d 71 75 65 72 79 27 20 66 6f 72 20 61 6e 20 65 78 70 6c 61 6e 61 74 69 6f 6e 20 6f 66 20 63 61 -query'.for.an.explanation.of.ca
ef60 70 74 75 72 65 20 74 61 67 67 69 6e 67 2e 0a 23 5b 64 65 66 75 6e 28 6d 6f 64 5f 69 6e 5f 6e 61 pture.tagging..#[defun(mod_in_na
ef80 6d 65 20 3d 20 74 72 75 65 29 5d 0a 66 6e 20 63 61 70 74 75 72 65 5f 74 61 67 73 3c 27 65 3e 28 me.=.true)].fn.capture_tags<'e>(
efa0 65 6e 76 3a 20 26 27 65 20 45 6e 76 2c 20 71 75 65 72 79 3a 20 26 51 75 65 72 79 29 20 2d 3e 20 env:.&'e.Env,.query:.&Query).->.
efc0 52 65 73 75 6c 74 3c 56 65 63 74 6f 72 3c 27 65 3e 3e 20 7b 0a 20 20 20 20 6c 65 74 20 73 79 6d Result<Vector<'e>>.{.....let.sym
efe0 62 6f 6c 73 20 3d 20 65 6e 76 2e 6d 61 6b 65 5f 76 65 63 74 6f 72 28 71 75 65 72 79 2e 63 61 70 bols.=.env.make_vector(query.cap
f000 74 75 72 65 5f 74 61 67 73 2e 6c 65 6e 28 29 2c 20 28 29 29 3f 3b 0a 20 20 20 20 66 6f 72 20 28 ture_tags.len(),.())?;.....for.(
f020 69 2c 20 73 79 6d 62 6f 6c 29 20 69 6e 20 71 75 65 72 79 2e 63 61 70 74 75 72 65 5f 74 61 67 73 i,.symbol).in.query.capture_tags
f040 2e 69 74 65 72 28 29 2e 65 6e 75 6d 65 72 61 74 65 28 29 20 7b 0a 20 20 20 20 20 20 20 20 73 79 .iter().enumerate().{.........sy
f060 6d 62 6f 6c 73 2e 73 65 74 28 69 2c 20 73 79 6d 62 6f 6c 29 3f 3b 0a 20 20 20 20 7d 0a 20 20 20 mbols.set(i,.symbol)?;.....}....
f080 20 4f 6b 28 73 79 6d 62 6f 6c 73 29 0a 7d 0a 0a 2f 2f 2f 20 44 69 73 61 62 6c 65 20 61 20 63 65 .Ok(symbols).}..///.Disable.a.ce
f0a0 72 74 61 69 6e 20 63 61 70 74 75 72 65 20 77 69 74 68 69 6e 20 51 55 45 52 59 2c 20 62 79 20 73 rtain.capture.within.QUERY,.by.s
f0c0 70 65 63 69 66 79 69 6e 67 20 69 74 73 20 4e 41 4d 45 2e 0a 2f 2f 2f 0a 2f 2f 2f 20 54 68 69 73 pecifying.its.NAME..///.///.This
f0e0 20 70 72 65 76 65 6e 74 73 20 74 68 65 20 63 61 70 74 75 72 65 20 66 72 6f 6d 20 62 65 69 6e 67 .prevents.the.capture.from.being
f100 20 72 65 74 75 72 6e 65 64 20 69 6e 20 6d 61 74 63 68 65 73 2c 20 61 6e 64 20 61 6c 73 6f 20 61 .returned.in.matches,.and.also.a
f120 76 6f 69 64 73 20 61 6e 79 0a 2f 2f 2f 20 72 65 73 6f 75 72 63 65 20 75 73 61 67 65 20 61 73 73 voids.any.///.resource.usage.ass
f140 6f 63 69 61 74 65 64 20 77 69 74 68 20 72 65 63 6f 72 64 69 6e 67 20 74 68 65 20 63 61 70 74 75 ociated.with.recording.the.captu
f160 72 65 2e 0a 23 5b 64 65 66 75 6e 5d 0a 66 6e 20 5f 64 69 73 61 62 6c 65 5f 63 61 70 74 75 72 65 re..#[defun].fn._disable_capture
f180 28 71 75 65 72 79 3a 20 26 6d 75 74 20 51 75 65 72 79 2c 20 6e 61 6d 65 3a 20 53 74 72 69 6e 67 (query:.&mut.Query,.name:.String
f1a0 29 20 2d 3e 20 52 65 73 75 6c 74 3c 28 29 3e 20 7b 0a 20 20 20 20 71 75 65 72 79 2e 72 61 77 2e ).->.Result<()>.{.....query.raw.
f1c0 64 69 73 61 62 6c 65 5f 63 61 70 74 75 72 65 28 26 6e 61 6d 65 29 3b 0a 20 20 20 20 4f 6b 28 28 disable_capture(&name);.....Ok((
f1e0 29 29 0a 7d 0a 0a 2f 2f 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d )).}..//.-----------------------
f200 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
f220 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
f240 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 2f 2f 20 51 75 65 72 79 43 75 72 73 6f 72 0a 0a 69 6d 70 6c 5f ----------.//.QueryCursor..impl_
f260 70 72 65 64 21 28 71 75 65 72 79 5f 63 75 72 73 6f 72 5f 70 2c 20 26 52 65 66 43 65 6c 6c 3c 51 pred!(query_cursor_p,.&RefCell<Q
f280 75 65 72 79 43 75 72 73 6f 72 3e 29 3b 0a 0a 2f 2f 2f 20 43 72 65 61 74 65 20 61 20 6e 65 77 20 ueryCursor>);..///.Create.a.new.
f2a0 63 75 72 73 6f 72 20 66 6f 72 20 65 78 65 63 75 74 69 6e 67 20 61 20 67 69 76 65 6e 20 71 75 65 cursor.for.executing.a.given.que
f2c0 72 79 2e 0a 2f 2f 2f 0a 2f 2f 2f 20 54 68 65 20 63 75 72 73 6f 72 20 73 74 6f 72 65 73 20 74 68 ry..///.///.The.cursor.stores.th
f2e0 65 20 73 74 61 74 65 20 74 68 61 74 20 69 73 20 6e 65 65 64 65 64 20 74 6f 20 69 74 65 72 61 74 e.state.that.is.needed.to.iterat
f300 69 76 65 6c 79 20 73 65 61 72 63 68 20 66 6f 72 20 6d 61 74 63 68 65 73 2e 0a 23 5b 64 65 66 75 ively.search.for.matches..#[defu
f320 6e 28 75 73 65 72 5f 70 74 72 29 5d 0a 66 6e 20 6d 61 6b 65 5f 71 75 65 72 79 5f 63 75 72 73 6f n(user_ptr)].fn.make_query_curso
f340 72 28 29 20 2d 3e 20 52 65 73 75 6c 74 3c 51 75 65 72 79 43 75 72 73 6f 72 3e 20 7b 0a 20 20 20 r().->.Result<QueryCursor>.{....
f360 20 4f 6b 28 51 75 65 72 79 43 75 72 73 6f 72 3a 3a 6e 65 77 28 29 29 0a 7d 0a 0a 66 6e 20 74 65 .Ok(QueryCursor::new()).}..fn.te
f380 78 74 5f 63 61 6c 6c 62 61 63 6b 3c 27 65 3e 28 0a 20 20 20 20 74 65 78 74 5f 66 75 6e 63 74 69 xt_callback<'e>(.....text_functi
f3a0 6f 6e 3a 20 56 61 6c 75 65 3c 27 65 3e 2c 0a 20 20 20 20 65 72 72 6f 72 3a 20 26 27 65 20 52 65 on:.Value<'e>,.....error:.&'e.Re
f3c0 66 43 65 6c 6c 3c 4f 70 74 69 6f 6e 3c 45 72 72 6f 72 3e 3e 2c 0a 29 20 2d 3e 20 69 6d 70 6c 20 fCell<Option<Error>>,.).->.impl.
f3e0 54 65 78 74 50 72 6f 76 69 64 65 72 3c 27 65 3e 20 7b 0a 20 20 20 20 6d 6f 76 65 20 7c 63 68 69 TextProvider<'e>.{.....move.|chi
f400 6c 64 3a 20 4e 6f 64 65 7c 20 7b 0a 20 20 20 20 20 20 20 20 6c 65 74 20 62 65 67 20 3d 20 63 68 ld:.Node|.{.........let.beg.=.ch
f420 69 6c 64 2e 6c 69 73 70 5f 73 74 61 72 74 5f 62 79 74 65 28 29 3b 0a 20 20 20 20 20 20 20 20 6c ild.lisp_start_byte();.........l
f440 65 74 20 65 6e 64 20 3d 20 63 68 69 6c 64 2e 6c 69 73 70 5f 65 6e 64 5f 62 79 74 65 28 29 3b 0a et.end.=.child.lisp_end_byte();.
f460 20 20 20 20 20 20 20 20 6c 65 74 20 74 65 78 74 20 3d 20 74 65 78 74 5f 66 75 6e 63 74 69 6f 6e ........let.text.=.text_function
f480 2e 63 61 6c 6c 28 28 62 65 67 2c 20 65 6e 64 29 29 2e 61 6e 64 5f 74 68 65 6e 28 7c 76 7c 20 76 .call((beg,.end)).and_then(|v|.v
f4a0 2e 69 6e 74 6f 5f 72 75 73 74 28 29 29 2e 75 6e 77 72 61 70 5f 6f 72 5f 65 6c 73 65 28 7c 65 7c .into_rust()).unwrap_or_else(|e|
f4c0 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 2e 62 6f 72 72 6f 77 5f 6d 75 74 28 .{.............error.borrow_mut(
f4e0 29 2e 72 65 70 6c 61 63 65 28 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 22 2e 74 6f 5f ).replace(e);............."".to_
f500 6f 77 6e 65 64 28 29 0a 20 20 20 20 20 20 20 20 7d 29 3b 0a 20 20 20 20 20 20 20 20 69 74 65 72 owned().........});.........iter
f520 3a 3a 6f 6e 63 65 28 74 65 78 74 2e 69 6e 74 6f 5f 62 79 74 65 73 28 29 29 0a 20 20 20 20 7d 0a ::once(text.into_bytes()).....}.
f540 7d 0a 0a 23 5b 64 65 66 75 6e 5d 0a 66 6e 20 5f 71 75 65 72 79 5f 63 75 72 73 6f 72 5f 6d 61 74 }..#[defun].fn._query_cursor_mat
f560 63 68 65 73 3c 27 65 3e 28 0a 20 20 20 20 63 75 72 73 6f 72 3a 20 26 6d 75 74 20 51 75 65 72 79 ches<'e>(.....cursor:.&mut.Query
f580 43 75 72 73 6f 72 2c 0a 20 20 20 20 71 75 65 72 79 3a 20 26 51 75 65 72 79 2c 0a 20 20 20 20 6e Cursor,.....query:.&Query,.....n
f5a0 6f 64 65 3a 20 26 52 4e 6f 64 65 2c 0a 20 20 20 20 74 65 78 74 5f 66 75 6e 63 74 69 6f 6e 3a 20 ode:.&RNode,.....text_function:.
f5c0 56 61 6c 75 65 3c 27 65 3e 2c 0a 29 20 2d 3e 20 52 65 73 75 6c 74 3c 56 65 63 74 6f 72 3c 27 65 Value<'e>,.).->.Result<Vector<'e
f5e0 3e 3e 20 7b 0a 20 20 20 20 6c 65 74 20 72 61 77 20 3d 20 26 71 75 65 72 79 2e 72 61 77 3b 0a 20 >>.{.....let.raw.=.&query.raw;..
f600 20 20 20 6c 65 74 20 65 72 72 6f 72 20 3d 20 52 65 66 43 65 6c 6c 3a 3a 6e 65 77 28 4e 6f 6e 65 ...let.error.=.RefCell::new(None
f620 29 3b 0a 20 20 20 20 6c 65 74 20 6d 61 74 63 68 65 73 20 3d 20 63 75 72 73 6f 72 2e 6d 61 74 63 );.....let.matches.=.cursor.matc
f640 68 65 73 28 0a 20 20 20 20 20 20 20 20 72 61 77 2c 0a 20 20 20 20 20 20 20 20 6e 6f 64 65 2e 62 hes(.........raw,.........node.b
f660 6f 72 72 6f 77 28 29 2e 63 6c 6f 6e 65 28 29 2c 0a 20 20 20 20 20 20 20 20 74 65 78 74 5f 63 61 orrow().clone(),.........text_ca
f680 6c 6c 62 61 63 6b 28 74 65 78 74 5f 66 75 6e 63 74 69 6f 6e 2c 20 26 65 72 72 6f 72 29 2c 0a 20 llback(text_function,.&error),..
f6a0 20 20 20 29 3b 0a 20 20 20 20 6c 65 74 20 6d 75 74 20 76 65 63 20 3d 20 76 65 63 21 5b 5d 3b 0a ...);.....let.mut.vec.=.vec![];.
f6c0 20 20 20 20 6c 65 74 20 65 6e 76 20 3d 20 74 65 78 74 5f 66 75 6e 63 74 69 6f 6e 2e 65 6e 76 3b ....let.env.=.text_function.env;
f6e0 0a 20 20 20 20 66 6f 72 20 6d 20 69 6e 20 6d 61 74 63 68 65 73 20 7b 0a 20 20 20 20 20 20 20 20 .....for.m.in.matches.{.........
f700 69 66 20 6c 65 74 20 53 6f 6d 65 28 65 72 72 6f 72 29 20 3d 20 65 72 72 6f 72 2e 62 6f 72 72 6f if.let.Some(error).=.error.borro
f720 77 5f 6d 75 74 28 29 2e 74 61 6b 65 28 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 w_mut().take().{.............ret
f740 75 72 6e 20 45 72 72 28 65 72 72 6f 72 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 urn.Err(error);.........}.......
f760 20 20 6c 65 74 20 63 61 70 74 75 72 65 73 20 3d 20 65 6e 76 2e 6d 61 6b 65 5f 76 65 63 74 6f 72 ..let.captures.=.env.make_vector
f780 28 6d 2e 63 61 70 74 75 72 65 73 2e 6c 65 6e 28 29 2c 20 28 29 29 3f 3b 0a 20 20 20 20 20 20 20 (m.captures.len(),.())?;........
f7a0 20 66 6f 72 20 28 63 69 2c 20 63 29 20 69 6e 20 6d 2e 63 61 70 74 75 72 65 73 2e 69 74 65 72 28 .for.(ci,.c).in.m.captures.iter(
f7c0 29 2e 65 6e 75 6d 65 72 61 74 65 28 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 6c 65 74 20 ).enumerate().{.............let.
f7e0 63 61 70 74 75 72 65 64 5f 6e 6f 64 65 20 3d 20 6e 6f 64 65 2e 6d 61 70 28 7c 5f 7c 20 63 2e 6e captured_node.=.node.map(|_|.c.n
f800 6f 64 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 6c 65 74 20 63 61 70 74 75 72 65 20 3d 20 ode);.............let.capture.=.
f820 65 6e 76 2e 63 6f 6e 73 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 71 75 65 72 79 env.cons(.................&query
f840 2e 63 61 70 74 75 72 65 5f 74 61 67 73 5b 63 2e 69 6e 64 65 78 20 61 73 20 75 73 69 7a 65 5d 2c .capture_tags[c.index.as.usize],
f860 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 70 74 75 72 65 64 5f 6e 6f 64 65 0a 20 .................captured_node..
f880 20 20 20 20 20 20 20 20 20 20 20 29 3f 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 70 74 75 ...........)?;.............captu
f8a0 72 65 73 2e 73 65 74 28 63 69 2c 20 63 61 70 74 75 72 65 29 3f 3b 0a 20 20 20 20 20 20 20 20 7d res.set(ci,.capture)?;.........}
f8c0 0a 20 20 20 20 20 20 20 20 6c 65 74 20 5f 6d 61 74 63 68 20 3d 20 65 6e 76 2e 63 6f 6e 73 28 6d .........let._match.=.env.cons(m
f8e0 2e 70 61 74 74 65 72 6e 5f 69 6e 64 65 78 2c 20 63 61 70 74 75 72 65 73 29 3f 3b 0a 20 20 20 20 .pattern_index,.captures)?;.....
f900 20 20 20 20 76 65 63 2e 70 75 73 68 28 5f 6d 61 74 63 68 29 3b 0a 20 20 20 20 7d 0a 20 20 20 20 ....vec.push(_match);.....}.....
f920 76 65 63 5f 74 6f 5f 76 65 63 74 6f 72 28 65 6e 76 2c 20 76 65 63 29 0a 7d 0a 0a 2f 2f 20 54 4f vec_to_vector(env,.vec).}..//.TO
f940 44 4f 3a 20 4d 61 6b 65 20 5f 71 75 65 72 79 5f 63 75 72 73 6f 72 5f 63 61 70 74 75 72 65 73 20 DO:.Make._query_cursor_captures.
f960 61 63 63 65 70 74 20 61 20 60 63 61 70 74 75 72 65 5f 74 79 70 65 60 20 69 6e 73 74 65 61 64 2c accept.a.`capture_type`.instead,
f980 20 65 2e 67 2e 20 6e 6f 64 65 20 74 79 70 65 2c 20 62 79 74 65 20 72 61 6e 67 65 2e 0a 23 5b 64 .e.g..node.type,.byte.range..#[d
f9a0 65 66 75 6e 5d 0a 66 6e 20 5f 71 75 65 72 79 5f 63 75 72 73 6f 72 5f 63 61 70 74 75 72 65 73 5f efun].fn._query_cursor_captures_
f9c0 31 3c 27 65 3e 28 0a 20 20 20 20 63 75 72 73 6f 72 3a 20 26 6d 75 74 20 51 75 65 72 79 43 75 72 1<'e>(.....cursor:.&mut.QueryCur
f9e0 73 6f 72 2c 0a 20 20 20 20 71 75 65 72 79 3a 20 56 61 6c 75 65 3c 27 65 3e 2c 0a 20 20 20 20 6e sor,.....query:.Value<'e>,.....n
fa00 6f 64 65 3a 20 26 52 4e 6f 64 65 2c 0a 20 20 20 20 74 65 78 74 5f 66 75 6e 63 74 69 6f 6e 3a 20 ode:.&RNode,.....text_function:.
fa20 56 61 6c 75 65 3c 27 65 3e 2c 0a 29 20 2d 3e 20 52 65 73 75 6c 74 3c 56 65 63 74 6f 72 3c 27 65 Value<'e>,.).->.Result<Vector<'e
fa40 3e 3e 20 7b 0a 20 20 20 20 6c 65 74 20 71 75 65 72 79 20 3d 20 71 75 65 72 79 2e 69 6e 74 6f 5f >>.{.....let.query.=.query.into_
fa60 72 75 73 74 3a 3a 3c 26 52 65 66 43 65 6c 6c 3c 51 75 65 72 79 3e 3e 28 29 3f 2e 62 6f 72 72 6f rust::<&RefCell<Query>>()?.borro
fa80 77 28 29 3b 0a 20 20 20 20 6c 65 74 20 72 61 77 20 3d 20 26 71 75 65 72 79 2e 72 61 77 3b 0a 20 w();.....let.raw.=.&query.raw;..
faa0 20 20 20 6c 65 74 20 65 72 72 6f 72 20 3d 20 52 65 66 43 65 6c 6c 3a 3a 6e 65 77 28 4e 6f 6e 65 ...let.error.=.RefCell::new(None
fac0 29 3b 0a 20 20 20 20 6c 65 74 20 63 61 70 74 75 72 65 73 20 3d 20 63 75 72 73 6f 72 2e 63 61 70 );.....let.captures.=.cursor.cap
fae0 74 75 72 65 73 28 0a 20 20 20 20 20 20 20 20 72 61 77 2c 0a 20 20 20 20 20 20 20 20 6e 6f 64 65 tures(.........raw,.........node
fb00 2e 62 6f 72 72 6f 77 28 29 2e 63 6c 6f 6e 65 28 29 2c 0a 20 20 20 20 20 20 20 20 74 65 78 74 5f .borrow().clone(),.........text_
fb20 63 61 6c 6c 62 61 63 6b 28 74 65 78 74 5f 66 75 6e 63 74 69 6f 6e 2c 20 26 65 72 72 6f 72 29 2c callback(text_function,.&error),
fb40 0a 20 20 20 20 29 3b 0a 20 20 20 20 6c 65 74 20 6d 75 74 20 76 65 63 20 3d 20 76 65 63 21 5b 5d .....);.....let.mut.vec.=.vec![]
fb60 3b 0a 20 20 20 20 6c 65 74 20 65 6e 76 20 3d 20 74 65 78 74 5f 66 75 6e 63 74 69 6f 6e 2e 65 6e ;.....let.env.=.text_function.en
fb80 76 3b 0a 20 20 20 20 66 6f 72 20 28 6d 2c 20 63 61 70 74 75 72 65 5f 69 6e 64 65 78 29 20 69 6e v;.....for.(m,.capture_index).in
fba0 20 63 61 70 74 75 72 65 73 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 6c 65 74 20 53 6f 6d 65 28 .captures.{.........if.let.Some(
fbc0 65 72 72 6f 72 29 20 3d 20 65 72 72 6f 72 2e 62 6f 72 72 6f 77 5f 6d 75 74 28 29 2e 74 61 6b 65 error).=.error.borrow_mut().take
fbe0 28 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 45 72 72 28 65 72 72 6f ().{.............return.Err(erro
fc00 72 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 6c 65 74 20 63 20 3d 20 6d 2e r);.........}.........let.c.=.m.
fc20 63 61 70 74 75 72 65 73 5b 63 61 70 74 75 72 65 5f 69 6e 64 65 78 5d 3b 0a 20 20 20 20 20 20 20 captures[capture_index];........
fc40 20 6c 65 74 20 63 61 70 74 75 72 65 20 3d 20 65 6e 76 2e 63 6f 6e 73 28 0a 20 20 20 20 20 20 20 .let.capture.=.env.cons(........
fc60 20 20 20 20 20 26 71 75 65 72 79 2e 63 61 70 74 75 72 65 5f 74 61 67 73 5b 63 2e 69 6e 64 65 78 .....&query.capture_tags[c.index
fc80 20 61 73 20 75 73 69 7a 65 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 2e 6e 6f 64 65 2e 6c .as.usize],.............c.node.l
fca0 69 73 70 5f 62 79 74 65 5f 72 61 6e 67 65 28 65 6e 76 29 3f 2c 0a 20 20 20 20 20 20 20 20 29 3f isp_byte_range(env)?,.........)?
fcc0 3b 0a 20 20 20 20 20 20 20 20 76 65 63 2e 70 75 73 68 28 28 6d 2e 70 61 74 74 65 72 6e 5f 69 6e ;.........vec.push((m.pattern_in
fce0 64 65 78 2c 20 63 61 70 74 75 72 65 29 29 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2f 2f 20 50 72 69 dex,.capture));.....}.....//.Pri
fd00 6f 72 69 74 69 7a 65 20 63 61 70 74 75 72 65 73 20 66 72 6f 6d 20 65 61 72 6c 69 65 72 20 70 61 oritize.captures.from.earlier.pa
fd20 74 74 65 72 6e 73 2e 0a 20 20 20 20 76 65 63 2e 73 6f 72 74 5f 75 6e 73 74 61 62 6c 65 5f 62 79 tterns......vec.sort_unstable_by
fd40 5f 6b 65 79 28 7c 28 69 2c 20 5f 29 7c 20 2a 69 29 3b 0a 20 20 20 20 6c 65 74 20 76 65 63 74 6f _key(|(i,._)|.*i);.....let.vecto
fd60 72 20 3d 20 65 6e 76 2e 6d 61 6b 65 5f 76 65 63 74 6f 72 28 76 65 63 2e 6c 65 6e 28 29 2c 20 28 r.=.env.make_vector(vec.len(),.(
fd80 29 29 3f 3b 0a 20 20 20 20 66 6f 72 20 28 69 2c 20 28 5f 2c 20 76 29 29 20 69 6e 20 76 65 63 2e ))?;.....for.(i,.(_,.v)).in.vec.
fda0 69 6e 74 6f 5f 69 74 65 72 28 29 2e 65 6e 75 6d 65 72 61 74 65 28 29 20 7b 0a 20 20 20 20 20 20 into_iter().enumerate().{.......
fdc0 20 20 76 65 63 74 6f 72 2e 73 65 74 28 69 2c 20 76 29 3f 3b 0a 20 20 20 20 7d 0a 20 20 20 20 4f ..vector.set(i,.v)?;.....}.....O
fde0 6b 28 76 65 63 74 6f 72 29 0a 7d 0a 0a 23 5b 64 65 66 75 6e 5d 0a 66 6e 20 5f 71 75 65 72 79 5f k(vector).}..#[defun].fn._query_
fe00 63 75 72 73 6f 72 5f 63 61 70 74 75 72 65 73 3c 27 65 3e 28 0a 20 20 20 20 63 75 72 73 6f 72 3a cursor_captures<'e>(.....cursor:
fe20 20 26 6d 75 74 20 51 75 65 72 79 43 75 72 73 6f 72 2c 0a 20 20 20 20 71 75 65 72 79 3a 20 56 61 .&mut.QueryCursor,.....query:.Va
fe40 6c 75 65 3c 27 65 3e 2c 0a 20 20 20 20 6e 6f 64 65 3a 20 26 52 4e 6f 64 65 2c 0a 20 20 20 20 74 lue<'e>,.....node:.&RNode,.....t
fe60 65 78 74 5f 66 75 6e 63 74 69 6f 6e 3a 20 56 61 6c 75 65 3c 27 65 3e 2c 0a 29 20 2d 3e 20 52 65 ext_function:.Value<'e>,.).->.Re
fe80 73 75 6c 74 3c 56 65 63 74 6f 72 3c 27 65 3e 3e 20 7b 0a 20 20 20 20 6c 65 74 20 71 75 65 72 79 sult<Vector<'e>>.{.....let.query
fea0 20 3d 20 71 75 65 72 79 2e 69 6e 74 6f 5f 72 75 73 74 3a 3a 3c 26 52 65 66 43 65 6c 6c 3c 51 75 .=.query.into_rust::<&RefCell<Qu
fec0 65 72 79 3e 3e 28 29 3f 2e 62 6f 72 72 6f 77 28 29 3b 0a 20 20 20 20 6c 65 74 20 72 61 77 20 3d ery>>()?.borrow();.....let.raw.=
fee0 20 26 71 75 65 72 79 2e 72 61 77 3b 0a 20 20 20 20 6c 65 74 20 65 72 72 6f 72 20 3d 20 52 65 66 .&query.raw;.....let.error.=.Ref
ff00 43 65 6c 6c 3a 3a 6e 65 77 28 4e 6f 6e 65 29 3b 0a 20 20 20 20 6c 65 74 20 63 61 70 74 75 72 65 Cell::new(None);.....let.capture
ff20 73 20 3d 20 63 75 72 73 6f 72 2e 63 61 70 74 75 72 65 73 28 0a 20 20 20 20 20 20 20 20 72 61 77 s.=.cursor.captures(.........raw
ff40 2c 0a 20 20 20 20 20 20 20 20 6e 6f 64 65 2e 62 6f 72 72 6f 77 28 29 2e 63 6c 6f 6e 65 28 29 2c ,.........node.borrow().clone(),
ff60 0a 20 20 20 20 20 20 20 20 74 65 78 74 5f 63 61 6c 6c 62 61 63 6b 28 74 65 78 74 5f 66 75 6e 63 .........text_callback(text_func
ff80 74 69 6f 6e 2c 20 26 65 72 72 6f 72 29 2c 0a 20 20 20 20 29 3b 0a 20 20 20 20 6c 65 74 20 6d 75 tion,.&error),.....);.....let.mu
ffa0 74 20 76 65 63 20 3d 20 76 65 63 21 5b 5d 3b 0a 20 20 20 20 6c 65 74 20 65 6e 76 20 3d 20 74 65 t.vec.=.vec![];.....let.env.=.te
ffc0 78 74 5f 66 75 6e 63 74 69 6f 6e 2e 65 6e 76 3b 0a 20 20 20 20 66 6f 72 20 28 6d 2c 20 63 61 70 xt_function.env;.....for.(m,.cap
ffe0 74 75 72 65 5f 69 6e 64 65 78 29 20 69 6e 20 63 61 70 74 75 72 65 73 20 7b 0a 20 20 20 20 20 20 ture_index).in.captures.{.......
10000 20 20 69 66 20 6c 65 74 20 53 6f 6d 65 28 65 72 72 6f 72 29 20 3d 20 65 72 72 6f 72 2e 62 6f 72 ..if.let.Some(error).=.error.bor
10020 72 6f 77 5f 6d 75 74 28 29 2e 74 61 6b 65 28 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 row_mut().take().{.............r
10040 65 74 75 72 6e 20 45 72 72 28 65 72 72 6f 72 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 eturn.Err(error);.........}.....
10060 20 20 20 20 6c 65 74 20 63 20 3d 20 6d 2e 63 61 70 74 75 72 65 73 5b 63 61 70 74 75 72 65 5f 69 ....let.c.=.m.captures[capture_i
10080 6e 64 65 78 5d 3b 0a 20 20 20 20 20 20 20 20 6c 65 74 20 63 61 70 74 75 72 65 64 5f 6e 6f 64 65 ndex];.........let.captured_node
100a0 20 3d 20 6e 6f 64 65 2e 6d 61 70 28 7c 5f 7c 20 63 2e 6e 6f 64 65 29 3b 0a 20 20 20 20 20 20 20 .=.node.map(|_|.c.node);........
100c0 20 6c 65 74 20 63 61 70 74 75 72 65 20 3d 20 65 6e 76 2e 63 6f 6e 73 28 0a 20 20 20 20 20 20 20 .let.capture.=.env.cons(........
100e0 20 20 20 20 20 26 71 75 65 72 79 2e 63 61 70 74 75 72 65 5f 74 61 67 73 5b 63 2e 69 6e 64 65 78 .....&query.capture_tags[c.index
10100 20 61 73 20 75 73 69 7a 65 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 70 74 75 72 65 64 .as.usize],.............captured
10120 5f 6e 6f 64 65 0a 20 20 20 20 20 20 20 20 29 3f 3b 0a 20 20 20 20 20 20 20 20 76 65 63 2e 70 75 _node.........)?;.........vec.pu
10140 73 68 28 63 61 70 74 75 72 65 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 58 58 58 0a 20 sh(capture);.....}......//.XXX..
10160 20 20 20 6c 65 74 20 76 65 63 74 6f 72 20 3d 20 65 6e 76 2e 6d 61 6b 65 5f 76 65 63 74 6f 72 28 ...let.vector.=.env.make_vector(
10180 76 65 63 2e 6c 65 6e 28 29 2c 20 28 29 29 3f 3b 0a 20 20 20 20 66 6f 72 20 28 69 2c 20 76 29 20 vec.len(),.())?;.....for.(i,.v).
101a0 69 6e 20 76 65 63 2e 69 6e 74 6f 5f 69 74 65 72 28 29 2e 65 6e 75 6d 65 72 61 74 65 28 29 20 7b in.vec.into_iter().enumerate().{
101c0 0a 20 20 20 20 20 20 20 20 76 65 63 74 6f 72 2e 73 65 74 28 69 2c 20 76 29 3f 3b 0a 20 20 20 20 .........vector.set(i,.v)?;.....
101e0 7d 0a 20 20 20 20 4f 6b 28 76 65 63 74 6f 72 29 0a 7d 0a 0a 2f 2f 2f 20 4c 69 6d 69 74 20 43 55 }.....Ok(vector).}..///.Limit.CU
10200 52 53 4f 52 27 73 20 71 75 65 72 79 20 65 78 65 63 75 74 69 6f 6e 73 20 74 6f 20 74 68 65 20 72 RSOR's.query.executions.to.the.r
10220 61 6e 67 65 20 6f 66 20 62 79 74 65 20 70 6f 73 69 74 69 6f 6e 73 2c 20 66 72 6f 6d 20 42 45 47 ange.of.byte.positions,.from.BEG
10240 20 74 6f 20 45 4e 44 2e 0a 23 5b 64 65 66 75 6e 5d 0a 66 6e 20 5f 71 75 65 72 79 5f 63 75 72 73 .to.END..#[defun].fn._query_curs
10260 6f 72 5f 73 65 74 5f 62 79 74 65 5f 72 61 6e 67 65 28 63 75 72 73 6f 72 3a 20 26 6d 75 74 20 51 or_set_byte_range(cursor:.&mut.Q
10280 75 65 72 79 43 75 72 73 6f 72 2c 20 62 65 67 3a 20 42 79 74 65 50 6f 73 2c 20 65 6e 64 3a 20 42 ueryCursor,.beg:.BytePos,.end:.B
102a0 79 74 65 50 6f 73 29 20 2d 3e 20 52 65 73 75 6c 74 3c 28 29 3e 20 7b 0a 20 20 20 20 63 75 72 73 ytePos).->.Result<()>.{.....curs
102c0 6f 72 2e 73 65 74 5f 62 79 74 65 5f 72 61 6e 67 65 28 62 65 67 2e 69 6e 74 6f 28 29 2e 2e 65 6e or.set_byte_range(beg.into()..en
102e0 64 2e 69 6e 74 6f 28 29 29 3b 0a 20 20 20 20 4f 6b 28 28 29 29 0a 7d 0a 0a 2f 2f 2f 20 4c 69 6d d.into());.....Ok(()).}..///.Lim
10300 69 74 20 43 55 52 53 4f 52 27 73 20 71 75 65 72 79 20 65 78 65 63 75 74 69 6f 6e 73 20 74 6f 20 it.CURSOR's.query.executions.to.
10320 74 68 65 20 70 6f 69 6e 74 20 72 61 6e 67 65 2c 20 66 72 6f 6d 20 42 45 47 20 74 6f 20 45 4e 44 the.point.range,.from.BEG.to.END
10340 2e 0a 2f 2f 2f 0a 2f 2f 2f 20 41 20 22 70 6f 69 6e 74 22 20 69 6e 20 74 68 69 73 20 63 6f 6e 74 ..///.///.A."point".in.this.cont
10360 65 78 74 20 69 73 20 61 20 28 4c 49 4e 45 2d 4e 55 4d 42 45 52 20 2e 20 42 59 54 45 2d 43 4f 4c ext.is.a.(LINE-NUMBER...BYTE-COL
10380 55 4d 4e 29 20 70 61 69 72 2e 20 53 65 65 0a 2f 2f 2f 20 60 74 73 63 2d 70 61 72 73 65 2d 63 68 UMN).pair..See.///.`tsc-parse-ch
103a0 75 6e 6b 73 27 20 66 6f 72 20 61 20 6d 6f 72 65 20 64 65 74 61 69 6c 65 64 20 65 78 70 6c 61 6e unks'.for.a.more.detailed.explan
103c0 61 74 69 6f 6e 2e 0a 23 5b 64 65 66 75 6e 5d 0a 66 6e 20 5f 71 75 65 72 79 5f 63 75 72 73 6f 72 ation..#[defun].fn._query_cursor
103e0 5f 73 65 74 5f 70 6f 69 6e 74 5f 72 61 6e 67 65 28 63 75 72 73 6f 72 3a 20 26 6d 75 74 20 51 75 _set_point_range(cursor:.&mut.Qu
10400 65 72 79 43 75 72 73 6f 72 2c 20 62 65 67 3a 20 50 6f 69 6e 74 2c 20 65 6e 64 3a 20 50 6f 69 6e eryCursor,.beg:.Point,.end:.Poin
10420 74 29 20 2d 3e 20 52 65 73 75 6c 74 3c 28 29 3e 20 7b 0a 20 20 20 20 63 75 72 73 6f 72 2e 73 65 t).->.Result<()>.{.....cursor.se
10440 74 5f 70 6f 69 6e 74 5f 72 61 6e 67 65 28 62 65 67 2e 69 6e 74 6f 28 29 2e 2e 65 6e 64 2e 69 6e t_point_range(beg.into()..end.in
10460 74 6f 28 29 29 3b 0a 20 20 20 20 4f 6b 28 28 29 29 0a 7d 0a 00 00 00 00 00 00 00 00 00 00 00 00 to());.....Ok(()).}.............
10480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
104a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
104c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
104e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
105a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
105c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
105e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10600 74 73 63 2d 32 30 32 32 30 32 31 32 2e 31 36 33 32 2f 73 72 63 2f 74 72 65 65 2e 72 73 00 00 00 tsc-20220212.1632/src/tree.rs...
10620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10660 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
10680 30 30 30 36 32 35 37 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 36 37 36 00 20 30 00 00 00 0006257.00000000000.013676..0...
106a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
106c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
106e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10700 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
10720 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
10740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
107a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
107c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
107e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10800 75 73 65 20 65 6d 61 63 73 3a 3a 7b 64 65 66 75 6e 2c 20 56 61 6c 75 65 2c 20 52 65 73 75 6c 74 use.emacs::{defun,.Value,.Result
10820 2c 20 56 65 63 74 6f 72 7d 3b 0a 0a 75 73 65 20 74 72 65 65 5f 73 69 74 74 65 72 3a 3a 7b 49 6e ,.Vector};..use.tree_sitter::{In
10840 70 75 74 45 64 69 74 2c 20 54 72 65 65 7d 3b 0a 0a 75 73 65 20 63 72 61 74 65 3a 3a 7b 0a 20 20 putEdit,.Tree};..use.crate::{...
10860 20 20 74 79 70 65 73 3a 3a 7b 53 68 61 72 65 64 2c 20 42 79 74 65 50 6f 73 2c 20 50 6f 69 6e 74 ..types::{Shared,.BytePos,.Point
10880 2c 20 52 61 6e 67 65 7d 2c 0a 20 20 20 20 6c 61 6e 67 3a 3a 4c 61 6e 67 75 61 67 65 2c 0a 20 20 ,.Range},.....lang::Language,...
108a0 20 20 6e 6f 64 65 3a 3a 52 4e 6f 64 65 2c 0a 7d 3b 0a 0a 2f 2f 20 58 58 58 3a 20 49 66 20 77 65 ..node::RNode,.};..//.XXX:.If.we
108c0 20 70 61 73 73 20 61 20 26 2c 20 23 5b 64 65 66 75 6e 5d 20 77 69 6c 6c 20 61 73 73 75 6d 65 20 .pass.a.&,.#[defun].will.assume.
108e0 69 74 27 73 20 72 65 66 63 65 6c 6c 2d 77 72 61 70 70 65 64 2e 20 49 66 20 77 65 20 70 61 73 73 it's.refcell-wrapped..If.we.pass
10900 20 61 20 56 61 6c 75 65 2c 20 77 65 20 6e 65 65 64 0a 2f 2f 20 2e 69 6e 74 6f 5f 72 75 73 74 28 .a.Value,.we.need.//..into_rust(
10920 29 20 62 6f 69 6c 65 72 70 6c 61 74 65 2e 20 54 68 69 73 20 69 73 20 61 20 74 72 69 63 6b 20 74 ).boilerplate..This.is.a.trick.t
10940 6f 20 61 76 6f 69 64 20 62 6f 74 68 2e 0a 70 75 62 28 63 72 61 74 65 29 20 74 79 70 65 20 42 6f o.avoid.both..pub(crate).type.Bo
10960 72 72 6f 77 65 64 3c 27 65 2c 20 54 3e 20 3d 20 26 27 65 20 53 68 61 72 65 64 3c 54 3e 3b 0a 0a rrowed<'e,.T>.=.&'e.Shared<T>;..
10980 69 6d 70 6c 5f 70 72 65 64 21 28 74 72 65 65 5f 70 2c 20 26 53 68 61 72 65 64 3c 54 72 65 65 3e impl_pred!(tree_p,.&Shared<Tree>
109a0 29 3b 0a 0a 2f 2f 2f 20 52 65 74 75 72 6e 20 74 68 65 20 6c 61 6e 67 75 61 67 65 20 74 68 61 74 );..///.Return.the.language.that
109c0 20 77 61 73 20 75 73 65 64 20 74 6f 20 70 61 72 73 65 20 74 68 65 20 73 79 6e 74 61 78 20 54 52 .was.used.to.parse.the.syntax.TR
109e0 45 45 2e 0a 23 5b 64 65 66 75 6e 28 6d 6f 64 5f 69 6e 5f 6e 61 6d 65 20 3d 20 74 72 75 65 29 5d EE..#[defun(mod_in_name.=.true)]
10a00 0a 66 6e 20 6c 61 6e 67 75 61 67 65 28 74 72 65 65 3a 20 42 6f 72 72 6f 77 65 64 3c 54 72 65 65 .fn.language(tree:.Borrowed<Tree
10a20 3e 29 20 2d 3e 20 52 65 73 75 6c 74 3c 4c 61 6e 67 75 61 67 65 3e 20 7b 0a 20 20 20 20 4f 6b 28 >).->.Result<Language>.{.....Ok(
10a40 74 72 65 65 2e 62 6f 72 72 6f 77 28 29 2e 6c 61 6e 67 75 61 67 65 28 29 2e 69 6e 74 6f 28 29 29 tree.borrow().language().into())
10a60 0a 7d 0a 0a 2f 2f 2f 20 52 65 74 75 72 6e 20 74 68 65 20 73 65 78 70 20 72 65 70 72 65 73 65 6e .}..///.Return.the.sexp.represen
10a80 74 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 73 79 6e 74 61 78 20 54 52 45 45 2c 20 69 6e 20 61 20 tation.of.the.syntax.TREE,.in.a.
10aa0 73 74 72 69 6e 67 2e 0a 23 5b 64 65 66 75 6e 28 6d 6f 64 5f 69 6e 5f 6e 61 6d 65 20 3d 20 74 72 string..#[defun(mod_in_name.=.tr
10ac0 75 65 29 5d 0a 66 6e 20 74 6f 5f 73 65 78 70 28 74 72 65 65 3a 20 42 6f 72 72 6f 77 65 64 3c 54 ue)].fn.to_sexp(tree:.Borrowed<T
10ae0 72 65 65 3e 29 20 2d 3e 20 52 65 73 75 6c 74 3c 53 74 72 69 6e 67 3e 20 7b 0a 20 20 20 20 4f 6b ree>).->.Result<String>.{.....Ok
10b00 28 74 72 65 65 2e 62 6f 72 72 6f 77 28 29 2e 72 6f 6f 74 5f 6e 6f 64 65 28 29 2e 74 6f 5f 73 65 (tree.borrow().root_node().to_se
10b20 78 70 28 29 29 0a 7d 0a 0a 2f 2f 2f 20 52 65 74 75 72 6e 20 74 68 65 20 72 6f 6f 74 20 6e 6f 64 xp()).}..///.Return.the.root.nod
10b40 65 20 6f 66 20 74 68 65 20 73 79 6e 74 61 78 20 54 52 45 45 2e 0a 23 5b 64 65 66 75 6e 5d 0a 66 e.of.the.syntax.TREE..#[defun].f
10b60 6e 20 72 6f 6f 74 5f 6e 6f 64 65 28 74 72 65 65 3a 20 42 6f 72 72 6f 77 65 64 3c 54 72 65 65 3e n.root_node(tree:.Borrowed<Tree>
10b80 29 20 2d 3e 20 52 65 73 75 6c 74 3c 52 4e 6f 64 65 3e 20 7b 0a 20 20 20 20 4f 6b 28 52 4e 6f 64 ).->.Result<RNode>.{.....Ok(RNod
10ba0 65 3a 3a 6e 65 77 28 74 72 65 65 2e 63 6c 6f 6e 65 28 29 2c 20 7c 74 72 65 65 7c 20 74 72 65 65 e::new(tree.clone(),.|tree|.tree
10bc0 2e 72 6f 6f 74 5f 6e 6f 64 65 28 29 29 29 0a 7d 0a 0a 2f 2f 2f 20 45 64 69 74 20 74 68 65 20 73 .root_node())).}..///.Edit.the.s
10be0 79 6e 74 61 78 20 54 52 45 45 20 74 6f 20 6b 65 65 70 20 69 74 20 69 6e 20 73 79 6e 63 20 77 69 yntax.TREE.to.keep.it.in.sync.wi
10c00 74 68 20 73 6f 75 72 63 65 20 63 6f 64 65 20 74 68 61 74 20 68 61 73 20 62 65 65 6e 20 65 64 69 th.source.code.that.has.been.edi
10c20 74 65 64 2e 0a 2f 2f 2f 0a 2f 2f 2f 20 59 6f 75 20 6d 75 73 74 20 64 65 73 63 72 69 62 65 20 74 ted..///.///.You.must.describe.t
10c40 68 65 20 65 64 69 74 20 62 6f 74 68 20 69 6e 20 74 65 72 6d 73 20 6f 66 20 62 79 74 65 20 70 6f he.edit.both.in.terms.of.byte.po
10c60 73 69 74 69 6f 6e 73 20 61 6e 64 20 69 6e 20 74 65 72 6d 73 20 6f 66 0a 2f 2f 2f 20 28 4c 49 4e sitions.and.in.terms.of.///.(LIN
10c80 45 2d 4e 55 4d 42 45 52 20 2e 20 42 59 54 45 2d 43 4f 4c 55 4d 4e 29 20 63 6f 6f 72 64 69 6e 61 E-NUMBER...BYTE-COLUMN).coordina
10ca0 74 65 73 2e 0a 2f 2f 2f 0a 2f 2f 2f 20 4c 49 4e 45 2d 4e 55 4d 42 45 52 20 73 68 6f 75 6c 64 20 tes..///.///.LINE-NUMBER.should.
10cc0 62 65 20 74 68 65 20 6e 75 6d 62 65 72 20 72 65 74 75 72 6e 65 64 20 62 79 20 60 6c 69 6e 65 2d be.the.number.returned.by.`line-
10ce0 6e 75 6d 62 65 72 2d 61 74 2d 70 6f 73 27 2c 20 77 68 69 63 68 20 63 6f 75 6e 74 73 0a 2f 2f 2f number-at-pos',.which.counts.///
10d00 20 66 72 6f 6d 20 31 2e 0a 2f 2f 2f 0a 2f 2f 2f 20 42 59 54 45 2d 43 4f 4c 55 4d 4e 20 73 68 6f .from.1..///.///.BYTE-COLUMN.sho
10d20 75 6c 64 20 63 6f 75 6e 74 20 66 72 6f 6d 20 30 2c 20 6c 69 6b 65 20 45 6d 61 63 73 27 73 20 60 uld.count.from.0,.like.Emacs's.`
10d40 63 75 72 72 65 6e 74 2d 63 6f 6c 75 6d 6e 27 2e 20 48 6f 77 65 76 65 72 2c 20 75 6e 6c 69 6b 65 current-column'..However,.unlike
10d60 0a 2f 2f 2f 20 74 68 61 74 20 66 75 6e 63 74 69 6f 6e 2c 20 69 74 20 73 68 6f 75 6c 64 20 63 6f .///.that.function,.it.should.co
10d80 75 6e 74 20 62 79 74 65 73 2c 20 69 6e 73 74 65 61 64 20 6f 66 20 64 69 73 70 6c 61 79 65 64 20 unt.bytes,.instead.of.displayed.
10da0 67 6c 79 70 68 73 2e 0a 23 5b 64 65 66 75 6e 5d 0a 66 6e 20 65 64 69 74 5f 74 72 65 65 28 0a 20 glyphs..#[defun].fn.edit_tree(..
10dc0 20 20 20 74 72 65 65 3a 20 42 6f 72 72 6f 77 65 64 3c 54 72 65 65 3e 2c 0a 20 20 20 20 73 74 61 ...tree:.Borrowed<Tree>,.....sta
10de0 72 74 5f 62 79 74 65 70 6f 73 3a 20 42 79 74 65 50 6f 73 2c 0a 20 20 20 20 6f 6c 64 5f 65 6e 64 rt_bytepos:.BytePos,.....old_end
10e00 5f 62 79 74 65 70 6f 73 3a 20 42 79 74 65 50 6f 73 2c 0a 20 20 20 20 6e 65 77 5f 65 6e 64 5f 62 _bytepos:.BytePos,.....new_end_b
10e20 79 74 65 70 6f 73 3a 20 42 79 74 65 50 6f 73 2c 0a 20 20 20 20 73 74 61 72 74 5f 70 6f 69 6e 74 ytepos:.BytePos,.....start_point
10e40 3a 20 50 6f 69 6e 74 2c 0a 20 20 20 20 6f 6c 64 5f 65 6e 64 5f 70 6f 69 6e 74 3a 20 50 6f 69 6e :.Point,.....old_end_point:.Poin
10e60 74 2c 0a 20 20 20 20 6e 65 77 5f 65 6e 64 5f 70 6f 69 6e 74 3a 20 50 6f 69 6e 74 2c 0a 29 20 2d t,.....new_end_point:.Point,.).-
10e80 3e 20 52 65 73 75 6c 74 3c 28 29 3e 20 7b 0a 20 20 20 20 6c 65 74 20 65 64 69 74 20 3d 20 49 6e >.Result<()>.{.....let.edit.=.In
10ea0 70 75 74 45 64 69 74 20 7b 0a 20 20 20 20 20 20 20 20 73 74 61 72 74 5f 62 79 74 65 3a 20 73 74 putEdit.{.........start_byte:.st
10ec0 61 72 74 5f 62 79 74 65 70 6f 73 2e 69 6e 74 6f 28 29 2c 0a 20 20 20 20 20 20 20 20 6f 6c 64 5f art_bytepos.into(),.........old_
10ee0 65 6e 64 5f 62 79 74 65 3a 20 6f 6c 64 5f 65 6e 64 5f 62 79 74 65 70 6f 73 2e 69 6e 74 6f 28 29 end_byte:.old_end_bytepos.into()
10f00 2c 0a 20 20 20 20 20 20 20 20 6e 65 77 5f 65 6e 64 5f 62 79 74 65 3a 20 6e 65 77 5f 65 6e 64 5f ,.........new_end_byte:.new_end_
10f20 62 79 74 65 70 6f 73 2e 69 6e 74 6f 28 29 2c 0a 20 20 20 20 20 20 20 20 73 74 61 72 74 5f 70 6f bytepos.into(),.........start_po
10f40 73 69 74 69 6f 6e 3a 20 73 74 61 72 74 5f 70 6f 69 6e 74 2e 69 6e 74 6f 28 29 2c 0a 20 20 20 20 sition:.start_point.into(),.....
10f60 20 20 20 20 6f 6c 64 5f 65 6e 64 5f 70 6f 73 69 74 69 6f 6e 3a 20 6f 6c 64 5f 65 6e 64 5f 70 6f ....old_end_position:.old_end_po
10f80 69 6e 74 2e 69 6e 74 6f 28 29 2c 0a 20 20 20 20 20 20 20 20 6e 65 77 5f 65 6e 64 5f 70 6f 73 69 int.into(),.........new_end_posi
10fa0 74 69 6f 6e 3a 20 6e 65 77 5f 65 6e 64 5f 70 6f 69 6e 74 2e 69 6e 74 6f 28 29 2c 0a 20 20 20 20 tion:.new_end_point.into(),.....
10fc0 7d 3b 0a 20 20 20 20 74 72 65 65 2e 62 6f 72 72 6f 77 5f 6d 75 74 28 29 2e 65 64 69 74 28 26 65 };.....tree.borrow_mut().edit(&e
10fe0 64 69 74 29 3b 0a 20 20 20 20 4f 6b 28 28 29 29 0a 7d 0a 0a 2f 2f 2f 20 43 6f 6d 70 61 72 65 20 dit);.....Ok(()).}..///.Compare.
11000 61 6e 20 65 64 69 74 65 64 20 4f 4c 44 2d 54 52 45 45 20 74 6f 20 4e 45 57 2d 54 52 45 45 2c 20 an.edited.OLD-TREE.to.NEW-TREE,.
11020 62 6f 74 68 20 72 65 70 72 65 73 65 6e 74 69 6e 67 20 74 68 65 20 73 61 6d 65 20 64 6f 63 75 6d both.representing.the.same.docum
11040 65 6e 74 2e 0a 2f 2f 2f 0a 2f 2f 2f 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 ent..///.///.This.function.retur
11060 6e 73 20 61 20 73 65 71 75 65 6e 63 65 20 6f 66 20 72 61 6e 67 65 73 20 77 68 6f 73 65 20 73 79 ns.a.sequence.of.ranges.whose.sy
11080 6e 74 61 63 74 69 63 20 73 74 72 75 63 74 75 72 65 20 68 61 73 20 63 68 61 6e 67 65 64 2e 0a 2f ntactic.structure.has.changed../
110a0 2f 2f 0a 2f 2f 2f 20 46 6f 72 20 74 68 69 73 20 74 6f 20 77 6f 72 6b 20 63 6f 72 72 65 63 74 6c //.///.For.this.to.work.correctl
110c0 79 2c 20 4f 4c 44 2d 54 52 45 45 20 6d 75 73 74 20 68 61 76 65 20 62 65 65 6e 20 65 64 69 74 65 y,.OLD-TREE.must.have.been.edite
110e0 64 20 73 75 63 68 20 74 68 61 74 20 69 74 73 20 72 61 6e 67 65 73 0a 2f 2f 2f 20 6d 61 74 63 68 d.such.that.its.ranges.///.match
11100 20 75 70 20 74 6f 20 4e 45 57 2d 54 52 45 45 2e 20 47 65 6e 65 72 61 6c 6c 79 2c 20 79 6f 75 27 .up.to.NEW-TREE..Generally,.you'
11120 6c 6c 20 77 61 6e 74 20 74 6f 20 63 61 6c 6c 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 69 ll.want.to.call.this.function.ri
11140 67 68 74 20 61 66 74 65 72 0a 2f 2f 2f 20 63 61 6c 6c 69 6e 67 20 6f 6e 65 20 6f 66 20 74 68 65 ght.after.///.calling.one.of.the
11160 20 70 61 72 73 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73 2c 20 70 61 73 73 69 6e 67 20 69 6e 20 74 .parsing.functions,.passing.in.t
11180 68 65 20 6f 6c 64 20 74 72 65 65 20 74 68 61 74 20 77 61 73 20 70 61 73 73 65 64 0a 2f 2f 2f 20 he.old.tree.that.was.passed.///.
111a0 61 73 20 61 20 70 61 72 61 6d 65 74 65 72 20 61 6e 64 20 74 68 65 20 6e 65 77 20 74 72 65 65 20 as.a.parameter.and.the.new.tree.
111c0 74 68 61 74 20 77 61 73 20 72 65 74 75 72 6e 65 64 2e 0a 23 5b 64 65 66 75 6e 5d 0a 66 6e 20 63 that.was.returned..#[defun].fn.c
111e0 68 61 6e 67 65 64 5f 72 61 6e 67 65 73 3c 27 65 3e 28 6f 6c 64 5f 74 72 65 65 3a 20 56 61 6c 75 hanged_ranges<'e>(old_tree:.Valu
11200 65 3c 27 65 3e 2c 20 6e 65 77 5f 74 72 65 65 3a 20 42 6f 72 72 6f 77 65 64 3c 27 65 2c 20 54 72 e<'e>,.new_tree:.Borrowed<'e,.Tr
11220 65 65 3e 29 20 2d 3e 20 52 65 73 75 6c 74 3c 56 65 63 74 6f 72 3c 27 65 3e 3e 20 7b 0a 20 20 20 ee>).->.Result<Vector<'e>>.{....
11240 20 6c 65 74 20 65 6e 76 20 3d 20 6f 6c 64 5f 74 72 65 65 2e 65 6e 76 3b 0a 20 20 20 20 6c 65 74 .let.env.=.old_tree.env;.....let
11260 20 6f 6c 64 5f 74 72 65 65 20 3d 20 6f 6c 64 5f 74 72 65 65 2e 69 6e 74 6f 5f 72 75 73 74 3a 3a .old_tree.=.old_tree.into_rust::
11280 3c 42 6f 72 72 6f 77 65 64 3c 54 72 65 65 3e 3e 28 29 3f 2e 62 6f 72 72 6f 77 28 29 3b 0a 20 20 <Borrowed<Tree>>()?.borrow();...
112a0 20 20 6c 65 74 20 6e 65 77 5f 74 72 65 65 20 3d 20 6e 65 77 5f 74 72 65 65 2e 62 6f 72 72 6f 77 ..let.new_tree.=.new_tree.borrow
112c0 28 29 3b 0a 20 20 20 20 2f 2f 20 54 4f 44 4f 3a 20 41 64 64 20 61 20 74 65 73 74 20 74 6f 20 73 ();.....//.TODO:.Add.a.test.to.s
112e0 68 6f 77 20 74 68 61 74 20 6f 72 64 65 72 20 69 73 20 69 6d 70 6f 72 74 61 6e 63 65 2e 0a 20 20 how.that.order.is.importance....
11300 20 20 6c 65 74 20 72 61 6e 67 65 73 20 3d 20 6f 6c 64 5f 74 72 65 65 2e 63 68 61 6e 67 65 64 5f ..let.ranges.=.old_tree.changed_
11320 72 61 6e 67 65 73 28 26 2a 6e 65 77 5f 74 72 65 65 29 3b 0a 20 20 20 20 6c 65 74 20 76 65 63 20 ranges(&*new_tree);.....let.vec.
11340 3d 20 65 6e 76 2e 6d 61 6b 65 5f 76 65 63 74 6f 72 28 72 61 6e 67 65 73 2e 6c 65 6e 28 29 2c 20 =.env.make_vector(ranges.len(),.
11360 28 29 29 3f 3b 0a 20 20 20 20 66 6f 72 20 28 69 2c 20 72 61 6e 67 65 29 20 69 6e 20 72 61 6e 67 ())?;.....for.(i,.range).in.rang
11380 65 73 2e 65 6e 75 6d 65 72 61 74 65 28 29 20 7b 0a 20 20 20 20 20 20 20 20 76 65 63 2e 73 65 74 es.enumerate().{.........vec.set
113a0 28 69 2c 20 52 61 6e 67 65 28 72 61 6e 67 65 29 29 3f 3b 0a 20 20 20 20 7d 0a 20 20 20 20 4f 6b (i,.Range(range))?;.....}.....Ok
113c0 28 76 65 63 29 0a 7d 0a 0a 2f 2f 2f 20 43 72 65 61 74 65 20 61 20 73 68 61 6c 6c 6f 77 20 63 6f (vec).}..///.Create.a.shallow.co
113e0 70 79 20 6f 66 20 74 68 65 20 73 79 6e 74 61 78 20 54 52 45 45 2e 0a 2f 2f 2f 0a 2f 2f 2f 20 54 py.of.the.syntax.TREE..///.///.T
11400 68 69 73 20 69 73 20 6e 6f 74 20 76 65 72 79 20 75 73 65 66 75 6c 20 63 75 72 72 65 6e 74 6c 79 his.is.not.very.useful.currently
11420 2c 20 61 73 20 45 6d 61 63 73 20 4c 69 73 70 20 74 68 72 65 61 64 73 20 61 72 65 20 73 75 62 6a ,.as.Emacs.Lisp.threads.are.subj
11440 65 63 74 65 64 20 74 6f 20 61 20 47 49 4c 2e 0a 23 5b 64 65 66 75 6e 5d 0a 66 6e 20 5f 63 6c 6f ected.to.a.GIL..#[defun].fn._clo
11460 6e 65 5f 74 72 65 65 28 74 72 65 65 3a 20 42 6f 72 72 6f 77 65 64 3c 54 72 65 65 3e 29 20 2d 3e ne_tree(tree:.Borrowed<Tree>).->
11480 20 52 65 73 75 6c 74 3c 53 68 61 72 65 64 3c 54 72 65 65 3e 3e 20 7b 0a 20 20 20 20 4f 6b 28 74 .Result<Shared<Tree>>.{.....Ok(t
114a0 72 65 65 2e 63 6c 6f 6e 65 28 29 29 0a 7d 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ree.clone()).}..................
114c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
114e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
115a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
115c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
115e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11600 74 73 63 2d 32 30 32 32 30 32 31 32 2e 31 36 33 32 2f 73 72 63 2f 74 79 70 65 73 2e 72 73 00 00 tsc-20220212.1632/src/types.rs..
11620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11660 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
11680 30 30 30 37 32 35 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 30 37 35 00 20 30 00 00 00 0007250.00000000000.014075..0...
116a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
116c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
116e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11700 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
11720 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
11740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
117a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
117c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
117e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11800 75 73 65 20 73 74 64 3a 3a 7b 0a 20 20 20 20 6d 65 6d 2c 0a 20 20 20 20 63 65 6c 6c 3a 3a 52 65 use.std::{.....mem,.....cell::Re
11820 66 43 65 6c 6c 2c 0a 20 20 20 20 72 63 3a 3a 52 63 2c 0a 7d 3b 0a 0a 75 73 65 20 65 6d 61 63 73 fCell,.....rc::Rc,.};..use.emacs
11840 3a 3a 7b 64 65 66 75 6e 2c 20 45 6e 76 2c 20 46 72 6f 6d 4c 69 73 70 2c 20 49 6e 74 6f 4c 69 73 ::{defun,.Env,.FromLisp,.IntoLis
11860 70 2c 20 52 65 73 75 6c 74 2c 20 56 61 6c 75 65 2c 20 56 65 63 74 6f 72 7d 3b 0a 0a 70 75 62 20 p,.Result,.Value,.Vector};..pub.
11880 74 79 70 65 20 53 68 61 72 65 64 3c 54 3e 20 3d 20 52 63 3c 52 65 66 43 65 6c 6c 3c 54 3e 3e 3b type.Shared<T>.=.Rc<RefCell<T>>;
118a0 0a 0a 70 75 62 20 75 6e 73 61 66 65 20 66 6e 20 65 72 61 73 65 5f 6c 69 66 65 74 69 6d 65 3c 27 ..pub.unsafe.fn.erase_lifetime<'
118c0 74 2c 20 54 3e 28 78 3a 20 26 27 74 20 54 29 20 2d 3e 20 26 27 73 74 61 74 69 63 20 54 20 7b 0a t,.T>(x:.&'t.T).->.&'static.T.{.
118e0 20 20 20 20 6d 65 6d 3a 3a 74 72 61 6e 73 6d 75 74 65 28 78 29 0a 7d 0a 0a 6d 61 63 72 6f 5f 72 ....mem::transmute(x).}..macro_r
11900 75 6c 65 73 21 20 69 6d 70 6c 5f 70 72 65 64 20 7b 0a 20 20 20 20 28 24 6e 61 6d 65 3a 69 64 65 ules!.impl_pred.{.....($name:ide
11920 6e 74 2c 20 24 74 79 70 65 3a 74 79 29 20 3d 3e 20 7b 0a 20 20 20 20 20 20 20 20 23 5b 64 65 66 nt,.$type:ty).=>.{.........#[def
11940 75 6e 5d 0a 20 20 20 20 20 20 20 20 66 6e 20 24 6e 61 6d 65 28 76 61 6c 75 65 3a 20 56 61 6c 75 un].........fn.$name(value:.Valu
11960 65 29 20 2d 3e 20 52 65 73 75 6c 74 3c 62 6f 6f 6c 3e 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 e).->.Result<bool>.{............
11980 20 4f 6b 28 76 61 6c 75 65 2e 69 6e 74 6f 5f 72 75 73 74 3a 3a 3c 24 74 79 70 65 3e 28 29 2e 69 .Ok(value.into_rust::<$type>().i
119a0 73 5f 6f 6b 28 29 29 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 3b 0a 7d 0a 0a 6d 61 63 72 s_ok()).........}.....};.}..macr
119c0 6f 5f 72 75 6c 65 73 21 20 69 6d 70 6c 5f 6e 65 77 74 79 70 65 5f 74 72 61 69 74 73 20 7b 0a 20 o_rules!.impl_newtype_traits.{..
119e0 20 20 20 28 24 6e 65 77 74 79 70 65 3a 74 79 2c 20 24 69 6e 6e 65 72 3a 74 79 29 20 3d 3e 20 7b ...($newtype:ty,.$inner:ty).=>.{
11a00 0a 20 20 20 20 20 20 20 20 69 6d 70 6c 20 46 72 6f 6d 3c 24 69 6e 6e 65 72 3e 20 66 6f 72 20 24 .........impl.From<$inner>.for.$
11a20 6e 65 77 74 79 70 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 5b 69 6e 6c 69 6e 65 28 61 newtype.{.............#[inline(a
11a40 6c 77 61 79 73 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6e 20 66 72 6f 6d 28 69 6e 6e 65 lways)].............fn.from(inne
11a60 72 3a 20 24 69 6e 6e 65 72 29 20 2d 3e 20 53 65 6c 66 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 r:.$inner).->.Self.{............
11a80 20 20 20 20 20 53 65 6c 66 28 69 6e 6e 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 .....Self(inner).............}..
11aa0 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 6d 70 6c 20 49 6e 74 6f 3c 24 69 6e 6e .......}..........impl.Into<$inn
11ac0 65 72 3e 20 66 6f 72 20 24 6e 65 77 74 79 70 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 er>.for.$newtype.{.............#
11ae0 5b 69 6e 6c 69 6e 65 28 61 6c 77 61 79 73 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6e 20 [inline(always)].............fn.
11b00 69 6e 74 6f 28 73 65 6c 66 29 20 2d 3e 20 24 69 6e 6e 65 72 20 7b 0a 20 20 20 20 20 20 20 20 20 into(self).->.$inner.{..........
11b20 20 20 20 20 20 20 20 73 65 6c 66 2e 30 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 .......self.0.............}.....
11b40 20 20 20 20 7d 0a 20 20 20 20 7d 3b 0a 20 20 20 20 28 24 6e 61 6d 65 3a 69 64 65 6e 74 29 20 3d ....}.....};.....($name:ident).=
11b60 3e 20 7b 0a 20 20 20 20 20 20 20 20 69 6d 70 6c 5f 6e 65 77 74 79 70 65 5f 74 72 61 69 74 73 21 >.{.........impl_newtype_traits!
11b80 28 24 6e 61 6d 65 2c 20 74 72 65 65 5f 73 69 74 74 65 72 3a 3a 24 6e 61 6d 65 29 3b 0a 20 20 20 ($name,.tree_sitter::$name);....
11ba0 20 7d 3b 0a 7d 0a 0a 2f 2f 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .};.}..//.----------------------
11bc0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
11be0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
11c00 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 2f 2f 20 50 6f 69 6e 74 0a 0a 23 5b 64 65 72 69 76 65 28 43 -----------.//.Point..#[derive(C
11c20 6c 6f 6e 65 2c 20 43 6f 70 79 2c 20 44 65 62 75 67 2c 20 50 61 72 74 69 61 6c 45 71 2c 20 45 71 lone,.Copy,.Debug,.PartialEq,.Eq
11c40 2c 20 50 61 72 74 69 61 6c 4f 72 64 2c 20 4f 72 64 29 5d 0a 70 75 62 20 73 74 72 75 63 74 20 50 ,.PartialOrd,.Ord)].pub.struct.P
11c60 6f 69 6e 74 28 74 72 65 65 5f 73 69 74 74 65 72 3a 3a 50 6f 69 6e 74 29 3b 0a 0a 69 6d 70 6c 5f oint(tree_sitter::Point);..impl_
11c80 70 72 65 64 21 28 70 6f 69 6e 74 5f 70 2c 20 50 6f 69 6e 74 29 3b 0a 0a 69 6d 70 6c 5f 6e 65 77 pred!(point_p,.Point);..impl_new
11ca0 74 79 70 65 5f 74 72 61 69 74 73 21 28 50 6f 69 6e 74 29 3b 0a 0a 69 6d 70 6c 20 49 6e 74 6f 4c type_traits!(Point);..impl.IntoL
11cc0 69 73 70 3c 27 5f 3e 20 66 6f 72 20 50 6f 69 6e 74 20 7b 0a 20 20 20 20 66 6e 20 69 6e 74 6f 5f isp<'_>.for.Point.{.....fn.into_
11ce0 6c 69 73 70 28 73 65 6c 66 2c 20 65 6e 76 3a 20 26 45 6e 76 29 20 2d 3e 20 52 65 73 75 6c 74 3c lisp(self,.env:.&Env).->.Result<
11d00 56 61 6c 75 65 3e 20 7b 0a 20 20 20 20 20 20 20 20 65 6e 76 2e 63 6f 6e 73 28 73 65 6c 66 2e 6c Value>.{.........env.cons(self.l
11d20 69 6e 65 5f 6e 75 6d 62 65 72 28 29 2c 20 73 65 6c 66 2e 62 79 74 65 5f 63 6f 6c 75 6d 6e 28 29 ine_number(),.self.byte_column()
11d40 29 0a 20 20 20 20 7d 0a 7d 0a 0a 69 6d 70 6c 20 46 72 6f 6d 4c 69 73 70 3c 27 5f 3e 20 66 6f 72 ).....}.}..impl.FromLisp<'_>.for
11d60 20 50 6f 69 6e 74 20 7b 0a 20 20 20 20 66 6e 20 66 72 6f 6d 5f 6c 69 73 70 28 76 61 6c 75 65 3a .Point.{.....fn.from_lisp(value:
11d80 20 56 61 6c 75 65 29 20 2d 3e 20 52 65 73 75 6c 74 3c 50 6f 69 6e 74 3e 20 7b 0a 20 20 20 20 20 .Value).->.Result<Point>.{......
11da0 20 20 20 6c 65 74 20 72 6f 77 20 3d 20 76 61 6c 75 65 2e 63 61 72 3a 3a 3c 75 73 69 7a 65 3e 28 ...let.row.=.value.car::<usize>(
11dc0 29 3f 20 2d 20 31 3b 0a 20 20 20 20 20 20 20 20 6c 65 74 20 63 6f 6c 75 6d 6e 20 3d 20 76 61 6c )?.-.1;.........let.column.=.val
11de0 75 65 2e 63 64 72 28 29 3f 3b 0a 20 20 20 20 20 20 20 20 4f 6b 28 74 72 65 65 5f 73 69 74 74 65 ue.cdr()?;.........Ok(tree_sitte
11e00 72 3a 3a 50 6f 69 6e 74 20 7b 20 72 6f 77 2c 20 63 6f 6c 75 6d 6e 20 7d 2e 69 6e 74 6f 28 29 29 r::Point.{.row,.column.}.into())
11e20 0a 20 20 20 20 7d 0a 7d 0a 0a 69 6d 70 6c 20 50 6f 69 6e 74 20 7b 0a 20 20 20 20 23 5b 69 6e 6c .....}.}..impl.Point.{.....#[inl
11e40 69 6e 65 28 61 6c 77 61 79 73 29 5d 0a 20 20 20 20 70 75 62 28 63 72 61 74 65 29 20 66 6e 20 6c ine(always)].....pub(crate).fn.l
11e60 69 6e 65 5f 6e 75 6d 62 65 72 28 26 73 65 6c 66 29 20 2d 3e 20 75 73 69 7a 65 20 7b 0a 20 20 20 ine_number(&self).->.usize.{....
11e80 20 20 20 20 20 73 65 6c 66 2e 30 2e 72 6f 77 20 2b 20 31 0a 20 20 20 20 7d 0a 0a 20 20 20 20 23 .....self.0.row.+.1.....}......#
11ea0 5b 69 6e 6c 69 6e 65 28 61 6c 77 61 79 73 29 5d 0a 20 20 20 20 70 75 62 28 63 72 61 74 65 29 20 [inline(always)].....pub(crate).
11ec0 66 6e 20 62 79 74 65 5f 63 6f 6c 75 6d 6e 28 26 73 65 6c 66 29 20 2d 3e 20 75 73 69 7a 65 20 7b fn.byte_column(&self).->.usize.{
11ee0 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 30 2e 63 6f 6c 75 6d 6e 0a 20 20 20 20 7d 0a 7d 0a 0a .........self.0.column.....}.}..
11f00 2f 2f 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d //.-----------------------------
11f20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
11f40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
11f60 2d 2d 2d 2d 0a 2f 2f 20 45 6d 61 63 73 20 42 79 74 65 20 50 6f 73 69 74 69 6f 6e 20 28 31 2d 62 ----.//.Emacs.Byte.Position.(1-b
11f80 61 73 65 64 2c 20 77 68 69 63 68 20 69 73 20 64 69 66 66 65 72 65 6e 74 20 66 72 6f 6d 20 62 79 ased,.which.is.different.from.by
11fa0 74 65 20 6f 66 66 73 65 74 2c 20 77 68 69 63 68 20 69 73 20 30 2d 62 61 73 65 64 29 2e 0a 0a 23 te.offset,.which.is.0-based)...#
11fc0 5b 64 65 72 69 76 65 28 43 6c 6f 6e 65 2c 20 43 6f 70 79 2c 20 44 65 62 75 67 2c 20 50 61 72 74 [derive(Clone,.Copy,.Debug,.Part
11fe0 69 61 6c 45 71 2c 20 45 71 2c 20 50 61 72 74 69 61 6c 4f 72 64 2c 20 4f 72 64 29 5d 0a 70 75 62 ialEq,.Eq,.PartialOrd,.Ord)].pub
12000 20 73 74 72 75 63 74 20 42 79 74 65 50 6f 73 28 75 73 69 7a 65 29 3b 0a 0a 69 6d 70 6c 20 46 72 .struct.BytePos(usize);..impl.Fr
12020 6f 6d 3c 75 73 69 7a 65 3e 20 66 6f 72 20 42 79 74 65 50 6f 73 20 7b 0a 20 20 20 20 23 5b 69 6e om<usize>.for.BytePos.{.....#[in
12040 6c 69 6e 65 28 61 6c 77 61 79 73 29 5d 0a 20 20 20 20 66 6e 20 66 72 6f 6d 28 62 79 74 65 5f 6f line(always)].....fn.from(byte_o
12060 66 66 73 65 74 3a 20 75 73 69 7a 65 29 20 2d 3e 20 53 65 6c 66 20 7b 0a 20 20 20 20 20 20 20 20 ffset:.usize).->.Self.{.........
12080 53 65 6c 66 28 62 79 74 65 5f 6f 66 66 73 65 74 20 2b 20 31 29 0a 20 20 20 20 7d 0a 7d 0a 0a 69 Self(byte_offset.+.1).....}.}..i
120a0 6d 70 6c 20 49 6e 74 6f 3c 75 73 69 7a 65 3e 20 66 6f 72 20 42 79 74 65 50 6f 73 20 7b 0a 20 20 mpl.Into<usize>.for.BytePos.{...
120c0 20 20 23 5b 69 6e 6c 69 6e 65 28 61 6c 77 61 79 73 29 5d 0a 20 20 20 20 66 6e 20 69 6e 74 6f 28 ..#[inline(always)].....fn.into(
120e0 73 65 6c 66 29 20 2d 3e 20 75 73 69 7a 65 20 7b 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 30 20 self).->.usize.{.........self.0.
12100 2d 20 31 0a 20 20 20 20 7d 0a 7d 0a 0a 69 6d 70 6c 20 46 72 6f 6d 4c 69 73 70 3c 27 5f 3e 20 66 -.1.....}.}..impl.FromLisp<'_>.f
12120 6f 72 20 42 79 74 65 50 6f 73 20 7b 0a 20 20 20 20 23 5b 69 6e 6c 69 6e 65 28 61 6c 77 61 79 73 or.BytePos.{.....#[inline(always
12140 29 5d 0a 20 20 20 20 66 6e 20 66 72 6f 6d 5f 6c 69 73 70 28 76 61 6c 75 65 3a 20 56 61 6c 75 65 )].....fn.from_lisp(value:.Value
12160 29 20 2d 3e 20 52 65 73 75 6c 74 3c 42 79 74 65 50 6f 73 3e 20 7b 0a 20 20 20 20 20 20 20 20 76 ).->.Result<BytePos>.{.........v
12180 61 6c 75 65 2e 69 6e 74 6f 5f 72 75 73 74 28 29 2e 6d 61 70 28 53 65 6c 66 29 0a 20 20 20 20 7d alue.into_rust().map(Self).....}
121a0 0a 7d 0a 0a 69 6d 70 6c 20 49 6e 74 6f 4c 69 73 70 3c 27 5f 3e 20 66 6f 72 20 42 79 74 65 50 6f .}..impl.IntoLisp<'_>.for.BytePo
121c0 73 20 7b 0a 20 20 20 20 23 5b 69 6e 6c 69 6e 65 28 61 6c 77 61 79 73 29 5d 0a 20 20 20 20 66 6e s.{.....#[inline(always)].....fn
121e0 20 69 6e 74 6f 5f 6c 69 73 70 28 73 65 6c 66 2c 20 65 6e 76 3a 20 26 45 6e 76 29 20 2d 3e 20 52 .into_lisp(self,.env:.&Env).->.R
12200 65 73 75 6c 74 3c 56 61 6c 75 65 3e 20 7b 0a 20 20 20 20 20 20 20 20 73 65 6c 66 2e 30 2e 69 6e esult<Value>.{.........self.0.in
12220 74 6f 5f 6c 69 73 70 28 65 6e 76 29 0a 20 20 20 20 7d 0a 7d 0a 0a 2f 2f 20 2d 2d 2d 2d 2d 2d 2d to_lisp(env).....}.}..//.-------
12240 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
12260 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
12280 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 2f 2f 20 52 61 --------------------------.//.Ra
122a0 6e 67 65 0a 0a 23 5b 64 65 72 69 76 65 28 43 6c 6f 6e 65 2c 20 43 6f 70 79 2c 20 44 65 62 75 67 nge..#[derive(Clone,.Copy,.Debug
122c0 2c 20 50 61 72 74 69 61 6c 45 71 2c 20 45 71 2c 20 50 61 72 74 69 61 6c 4f 72 64 2c 20 4f 72 64 ,.PartialEq,.Eq,.PartialOrd,.Ord
122e0 29 5d 0a 70 75 62 20 73 74 72 75 63 74 20 52 61 6e 67 65 28 70 75 62 28 63 72 61 74 65 29 20 74 )].pub.struct.Range(pub(crate).t
12300 72 65 65 5f 73 69 74 74 65 72 3a 3a 52 61 6e 67 65 29 3b 0a 0a 69 6d 70 6c 5f 70 72 65 64 21 28 ree_sitter::Range);..impl_pred!(
12320 72 61 6e 67 65 5f 70 2c 20 52 61 6e 67 65 29 3b 0a 0a 69 6d 70 6c 5f 6e 65 77 74 79 70 65 5f 74 range_p,.Range);..impl_newtype_t
12340 72 61 69 74 73 21 28 52 61 6e 67 65 29 3b 0a 0a 69 6d 70 6c 20 49 6e 74 6f 4c 69 73 70 3c 27 5f raits!(Range);..impl.IntoLisp<'_
12360 3e 20 66 6f 72 20 52 61 6e 67 65 20 7b 0a 20 20 20 20 66 6e 20 69 6e 74 6f 5f 6c 69 73 70 28 73 >.for.Range.{.....fn.into_lisp(s
12380 65 6c 66 2c 20 65 6e 76 3a 20 26 45 6e 76 29 20 2d 3e 20 52 65 73 75 6c 74 3c 56 61 6c 75 65 3e elf,.env:.&Env).->.Result<Value>
123a0 20 7b 0a 20 20 20 20 20 20 20 20 6c 65 74 20 69 6e 6e 65 72 20 3d 20 73 65 6c 66 2e 30 3b 0a 20 .{.........let.inner.=.self.0;..
123c0 20 20 20 20 20 20 20 6c 65 74 20 73 74 61 72 74 5f 62 79 74 65 5f 70 6f 73 3a 20 42 79 74 65 50 .......let.start_byte_pos:.ByteP
123e0 6f 73 20 3d 20 69 6e 6e 65 72 2e 73 74 61 72 74 5f 62 79 74 65 2e 69 6e 74 6f 28 29 3b 0a 20 20 os.=.inner.start_byte.into();...
12400 20 20 20 20 20 20 6c 65 74 20 65 6e 64 5f 62 79 74 65 5f 70 6f 73 3a 20 42 79 74 65 50 6f 73 20 ......let.end_byte_pos:.BytePos.
12420 3d 20 69 6e 6e 65 72 2e 65 6e 64 5f 62 79 74 65 2e 69 6e 74 6f 28 29 3b 0a 20 20 20 20 20 20 20 =.inner.end_byte.into();........
12440 20 65 6e 76 2e 76 65 63 74 6f 72 28 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 72 74 5f .env.vector((.............start_
12460 62 79 74 65 5f 70 6f 73 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6e 64 5f 62 79 74 65 5f 70 byte_pos,.............end_byte_p
12480 6f 73 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 50 6f 69 6e 74 28 69 6e 6e 65 72 2e 73 74 61 72 os,.............Point(inner.star
124a0 74 5f 70 6f 69 6e 74 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 50 6f 69 6e 74 28 69 6e 6e 65 t_point),.............Point(inne
124c0 72 2e 65 6e 64 5f 70 6f 69 6e 74 29 2c 0a 20 20 20 20 20 20 20 20 29 29 0a 20 20 20 20 7d 0a 7d r.end_point),.........)).....}.}
124e0 0a 0a 69 6d 70 6c 20 46 72 6f 6d 4c 69 73 70 3c 27 5f 3e 20 66 6f 72 20 52 61 6e 67 65 20 7b 0a ..impl.FromLisp<'_>.for.Range.{.
12500 20 20 20 20 66 6e 20 66 72 6f 6d 5f 6c 69 73 70 28 76 61 6c 75 65 3a 20 56 61 6c 75 65 29 20 2d ....fn.from_lisp(value:.Value).-
12520 3e 20 52 65 73 75 6c 74 3c 52 61 6e 67 65 3e 20 7b 0a 20 20 20 20 20 20 20 20 6c 65 74 20 76 65 >.Result<Range>.{.........let.ve
12540 63 74 6f 72 3a 20 56 65 63 74 6f 72 20 3d 20 76 61 6c 75 65 2e 69 6e 74 6f 5f 72 75 73 74 28 29 ctor:.Vector.=.value.into_rust()
12560 3f 3b 0a 20 20 20 20 20 20 20 20 6c 65 74 20 73 74 61 72 74 5f 62 79 74 65 20 3d 20 76 65 63 74 ?;.........let.start_byte.=.vect
12580 6f 72 2e 67 65 74 3a 3a 3c 42 79 74 65 50 6f 73 3e 28 30 29 3f 2e 69 6e 74 6f 28 29 3b 0a 20 20 or.get::<BytePos>(0)?.into();...
125a0 20 20 20 20 20 20 6c 65 74 20 65 6e 64 5f 62 79 74 65 20 3d 20 76 65 63 74 6f 72 2e 67 65 74 3a ......let.end_byte.=.vector.get:
125c0 3a 3c 42 79 74 65 50 6f 73 3e 28 31 29 3f 2e 69 6e 74 6f 28 29 3b 0a 20 20 20 20 20 20 20 20 6c :<BytePos>(1)?.into();.........l
125e0 65 74 20 73 74 61 72 74 5f 70 6f 69 6e 74 20 3d 20 76 65 63 74 6f 72 2e 67 65 74 3a 3a 3c 50 6f et.start_point.=.vector.get::<Po
12600 69 6e 74 3e 28 32 29 3f 2e 69 6e 74 6f 28 29 3b 0a 20 20 20 20 20 20 20 20 6c 65 74 20 65 6e 64 int>(2)?.into();.........let.end
12620 5f 70 6f 69 6e 74 20 3d 20 76 65 63 74 6f 72 2e 67 65 74 3a 3a 3c 50 6f 69 6e 74 3e 28 33 29 3f _point.=.vector.get::<Point>(3)?
12640 2e 69 6e 74 6f 28 29 3b 0a 20 20 20 20 20 20 20 20 4f 6b 28 74 72 65 65 5f 73 69 74 74 65 72 3a .into();.........Ok(tree_sitter:
12660 3a 52 61 6e 67 65 20 7b 20 73 74 61 72 74 5f 62 79 74 65 2c 20 65 6e 64 5f 62 79 74 65 2c 20 73 :Range.{.start_byte,.end_byte,.s
12680 74 61 72 74 5f 70 6f 69 6e 74 2c 20 65 6e 64 5f 70 6f 69 6e 74 20 7d 2e 69 6e 74 6f 28 29 29 0a tart_point,.end_point.}.into()).
126a0 20 20 20 20 7d 0a 7d 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ....}.}.........................
126c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
126e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
127a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
127c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
127e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12800 74 73 63 2d 32 30 32 32 30 32 31 32 2e 31 36 33 32 2f 74 73 63 2d 64 79 6e 2d 67 65 74 2e 65 6c tsc-20220212.1632/tsc-dyn-get.el
12820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12860 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
12880 30 30 34 31 36 34 34 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 32 36 31 00 20 30 00 00 00 0041644.00000000000.014261..0...
128a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
128c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
128e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12900 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
12920 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
12940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
129a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
129c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
129e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12a00 3b 3b 3b 20 74 73 63 2d 64 79 6e 2d 67 65 74 2e 65 6c 20 2d 2d 2d 20 55 74 69 6c 69 74 69 65 73 ;;;.tsc-dyn-get.el.---.Utilities
12a20 20 74 6f 20 6f 62 74 61 69 6e 20 74 73 63 2d 64 79 6e 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 .to.obtain.tsc-dyn.-*-.lexical-b
12a40 69 6e 64 69 6e 67 3a 20 74 3b 20 63 6f 64 69 6e 67 3a 20 75 74 66 2d 38 20 2d 2a 2d 0a 0a 3b 3b inding:.t;.coding:.utf-8.-*-..;;
12a60 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 32 30 20 20 54 75 e1 ba a5 6e 2d 41 6e 68 20 .Copyright.(C).2020..Tu...n-Anh.
12a80 4e 67 75 79 e1 bb 85 6e 0a 3b 3b 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 54 75 e1 ba a5 6e 2d 41 6e Nguy...n.;;.;;.Author:.Tu...n-An
12aa0 68 20 4e 67 75 79 e1 bb 85 6e 20 3c 75 62 6f 6c 6f 6e 74 6f 6e 40 67 6d 61 69 6c 2e 63 6f 6d 3e h.Nguy...n.<ubolonton@gmail.com>
12ac0 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d 49 64 65 6e 74 69 66 69 65 72 3a 20 4d 49 54 .;;.SPDX-License-Identifier:.MIT
12ae0 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b 20 54 68 69 73 20 66 69 6c 65 20 ..;;;.Commentary:..;;.This.file.
12b00 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 75 74 69 6c 69 74 69 65 73 20 74 6f 20 6f 62 74 61 69 6e contains.the.utilities.to.obtain
12b20 20 74 68 65 20 64 79 6e 61 6d 69 63 20 6d 6f 64 75 6c 65 20 60 74 73 63 2d 64 79 6e 27 2c 20 62 .the.dynamic.module.`tsc-dyn',.b
12b40 79 0a 3b 3b 20 65 69 74 68 65 72 20 64 6f 77 6e 6c 6f 61 64 69 6e 67 20 70 72 65 2d 62 75 69 6c y.;;.either.downloading.pre-buil
12b60 74 20 62 69 6e 61 72 69 65 73 20 6f 72 20 62 75 69 6c 64 69 6e 67 20 66 72 6f 6d 20 73 6f 75 72 t.binaries.or.building.from.sour
12b80 63 65 2e 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 28 72 65 71 75 69 72 65 20 27 73 65 71 29 0a 28 ce...;;;.Code:..(require.'seq).(
12ba0 72 65 71 75 69 72 65 20 27 64 69 72 65 64 2d 61 75 78 29 0a 28 72 65 71 75 69 72 65 20 27 63 6f require.'dired-aux).(require.'co
12bc0 6d 70 69 6c 65 29 0a 0a 28 65 76 61 6c 2d 77 68 65 6e 2d 63 6f 6d 70 69 6c 65 0a 20 20 28 72 65 mpile)..(eval-when-compile...(re
12be0 71 75 69 72 65 20 27 73 75 62 72 2d 78 29 0a 20 20 28 72 65 71 75 69 72 65 20 27 63 6c 2d 6c 69 quire.'subr-x)...(require.'cl-li
12c00 62 29 29 0a 0a 28 65 76 61 6c 2d 77 68 65 6e 2d 63 6f 6d 70 69 6c 65 0a 20 20 3b 3b 20 56 65 72 b))..(eval-when-compile...;;.Ver
12c20 73 69 6f 6e 20 73 74 72 69 6e 67 20 73 65 74 20 62 79 20 60 74 73 63 2d 64 79 6e 27 20 77 68 65 sion.string.set.by.`tsc-dyn'.whe
12c40 6e 20 69 74 27 73 20 6c 6f 61 64 65 64 2e 0a 20 20 28 64 65 66 76 61 72 20 74 73 63 2d 64 79 6e n.it's.loaded....(defvar.tsc-dyn
12c60 2d 2d 76 65 72 73 69 6f 6e 29 29 0a 0a 28 64 65 66 63 6f 6e 73 74 20 74 73 63 2d 64 79 6e 2d 67 --version))..(defconst.tsc-dyn-g
12c80 65 74 2d 2d 76 65 72 73 69 6f 6e 2d 66 69 6c 65 20 22 44 59 4e 2d 56 45 52 53 49 4f 4e 22 0a 20 et--version-file."DYN-VERSION"..
12ca0 20 22 46 69 6c 65 20 74 68 61 74 20 72 65 63 6f 72 64 73 20 74 68 65 20 76 65 72 73 69 6f 6e 20 ."File.that.records.the.version.
12cc0 61 66 74 65 72 20 67 65 74 74 69 6e 67 20 74 68 65 20 62 69 6e 61 72 79 20 66 72 6f 6d 20 61 20 after.getting.the.binary.from.a.
12ce0 73 6f 75 72 63 65 2e 22 29 0a 0a 28 64 65 66 63 6f 6e 73 74 20 74 73 63 2d 2d 64 69 72 20 28 66 source.")..(defconst.tsc--dir.(f
12d00 69 6c 65 2d 6e 61 6d 65 2d 64 69 72 65 63 74 6f 72 79 20 28 6f 72 20 28 6c 6f 63 61 74 65 2d 6c ile-name-directory.(or.(locate-l
12d20 69 62 72 61 72 79 20 22 74 73 63 2e 65 6c 22 29 20 22 22 29 29 0a 20 20 22 54 68 65 20 64 69 72 ibrary."tsc.el").""))..."The.dir
12d40 65 63 74 6f 72 79 20 77 68 65 72 65 20 74 68 65 20 6c 69 62 72 61 72 79 20 60 74 73 63 27 20 69 ectory.where.the.library.`tsc'.i
12d60 73 20 6c 6f 63 61 74 65 64 2e 22 29 0a 0a 28 64 65 66 67 72 6f 75 70 20 74 73 63 20 6e 69 6c 0a s.located.")..(defgroup.tsc.nil.
12d80 20 20 22 43 6f 72 65 20 74 72 65 65 2d 73 69 74 74 65 72 20 41 50 49 73 2e 22 0a 20 20 3a 67 72 .."Core.tree-sitter.APIs."...:gr
12da0 6f 75 70 20 27 6c 61 6e 67 75 61 67 65 73 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 74 73 63 2d oup.'languages)..(defcustom.tsc-
12dc0 64 79 6e 2d 64 69 72 20 74 73 63 2d 2d 64 69 72 0a 20 20 22 54 68 65 20 64 69 72 65 63 74 6f 72 dyn-dir.tsc--dir..."The.director
12de0 79 20 74 68 61 74 20 60 74 73 63 2d 64 79 6e 27 20 6d 6f 64 75 6c 65 20 69 73 20 72 65 73 69 64 y.that.`tsc-dyn'.module.is.resid
12e00 65 64 2e 0a 54 68 69 73 20 73 68 6f 75 6c 64 20 62 65 20 73 65 74 20 62 65 66 6f 72 65 20 60 74 ed..This.should.be.set.before.`t
12e20 73 63 27 20 69 73 20 6c 6f 61 64 65 64 2e 0a 0a 49 6e 20 57 69 6e 64 6f 77 73 20 79 6f 75 20 6d sc'.is.loaded...In.Windows.you.m
12e40 61 79 20 77 61 6e 74 20 74 6f 20 73 65 74 20 74 68 69 73 20 74 6f 20 70 72 65 76 65 6e 74 20 70 ay.want.to.set.this.to.prevent.p
12e60 61 63 6b 61 67 65 20 75 70 67 72 61 64 65 20 66 61 69 6c 75 72 65 20 62 79 20 6c 6f 61 64 65 64 ackage.upgrade.failure.by.loaded
12e80 0a 6d 6f 64 75 6c 65 20 64 65 6c 65 74 69 6f 6e 2e 20 53 65 65 20 75 62 6f 6c 6f 6e 74 6f 6e 2f .module.deletion..See.ubolonton/
12ea0 65 6d 61 63 73 2d 74 72 65 65 2d 73 69 74 74 65 72 23 31 32 32 20 66 6f 72 20 6d 6f 72 65 20 64 emacs-tree-sitter#122.for.more.d
12ec0 65 74 61 69 6c 2e 0a 0a 45 78 61 6d 70 6c 65 20 73 65 74 74 69 6e 67 3a 0a 5c 28 73 65 74 71 20 etail...Example.setting:.\(setq.
12ee0 74 73 63 2d 64 79 6e 2d 64 69 72 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 5c 22 tsc-dyn-dir.(expand-file-name.\"
12f00 74 72 65 65 2d 73 69 74 74 65 72 2f 5c 22 20 75 73 65 72 2d 65 6d 61 63 73 2d 64 69 72 65 63 74 tree-sitter/\".user-emacs-direct
12f20 6f 72 79 29 29 22 0a 20 20 3a 67 72 6f 75 70 20 27 74 73 63 0a 20 20 3a 74 79 70 65 20 27 64 69 ory))"...:group.'tsc...:type.'di
12f40 72 65 63 74 6f 72 79 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 74 73 63 2d 64 79 6e 2d 67 65 74 rectory)..(defcustom.tsc-dyn-get
12f60 2d 66 72 6f 6d 20 27 28 3a 67 69 74 68 75 62 20 3a 63 6f 6d 70 69 6c 61 74 69 6f 6e 29 0a 20 20 -from.'(:github.:compilation)...
12f80 22 57 68 65 72 65 20 74 68 65 20 64 79 6e 61 6d 69 63 20 6d 6f 64 75 6c 65 20 62 69 6e 61 72 79 "Where.the.dynamic.module.binary
12fa0 20 73 68 6f 75 6c 64 20 63 6f 6d 65 20 66 72 6f 6d 2c 20 69 6e 20 6f 72 64 65 72 20 6f 66 20 70 .should.come.from,.in.order.of.p
12fc0 72 69 6f 72 69 74 79 2e 0a 0a 46 6f 72 20 70 72 65 2d 62 75 69 6c 74 20 62 69 6e 61 72 69 65 73 riority...For.pre-built.binaries
12fe0 2c 20 69 74 20 61 74 74 65 6d 70 74 73 20 74 6f 20 64 6f 77 6e 6c 6f 61 64 20 74 68 65 20 72 65 ,.it.attempts.to.download.the.re
13000 71 75 65 73 74 65 64 20 76 65 72 73 69 6f 6e 2e 0a 0a 46 6f 72 20 6c 6f 63 61 6c 20 63 6f 6d 70 quested.version...For.local.comp
13020 69 6c 61 74 69 6f 6e 2c 20 74 68 65 20 52 75 73 74 20 74 6f 6f 6c 63 68 61 69 6e 20 69 73 20 72 ilation,.the.Rust.toolchain.is.r
13040 65 71 75 69 72 65 64 2e 0a 0a 49 66 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 6d 61 6e 75 61 6c 6c equired...If.you.want.to.manuall
13060 79 20 67 65 74 20 74 68 65 20 64 79 6e 61 6d 69 63 20 6d 6f 64 75 6c 65 20 74 68 72 6f 75 67 68 y.get.the.dynamic.module.through
13080 20 61 6e 6f 74 68 65 72 20 6d 65 63 68 61 6e 69 73 6d 2c 0a 69 6e 73 74 65 61 64 20 6f 66 20 6c .another.mechanism,.instead.of.l
130a0 65 74 74 69 6e 67 20 60 74 73 63 2d 64 79 6e 2d 67 65 74 27 20 61 75 74 6f 6d 61 74 69 63 61 6c etting.`tsc-dyn-get'.automatical
130c0 6c 79 20 74 72 79 20 74 6f 20 64 6f 77 6e 6c 6f 61 64 2f 62 75 69 6c 64 20 69 74 2c 20 73 65 74 ly.try.to.download/build.it,.set
130e0 0a 74 68 69 73 20 74 6f 20 6e 69 6c 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 74 73 63 0a 20 20 3a .this.to.nil."...:group.'tsc...:
13100 74 79 70 65 20 27 28 73 65 74 20 28 63 6f 6e 73 74 20 3a 74 61 67 20 22 42 69 6e 61 72 79 20 66 type.'(set.(const.:tag."Binary.f
13120 72 6f 6d 20 47 69 74 48 75 62 22 20 3a 67 69 74 68 75 62 29 0a 20 20 20 20 20 20 20 20 20 20 20 rom.GitHub".:github)............
13140 20 20 20 28 63 6f 6e 73 74 20 3a 74 61 67 20 22 4c 6f 63 61 6c 20 43 6f 6d 70 69 6c 61 74 69 6f ...(const.:tag."Local.Compilatio
13160 6e 22 20 3a 63 6f 6d 70 69 6c 61 74 69 6f 6e 29 29 29 0a 0a 28 64 65 66 76 61 72 20 74 73 63 2d n".:compilation)))..(defvar.tsc-
13180 64 79 6e 2d 67 65 74 2d 2d 66 6f 72 63 65 2d 73 79 6e 63 20 6e 69 6c 29 0a 0a 28 64 65 66 75 6e dyn-get--force-sync.nil)..(defun
131a0 20 74 73 63 2d 64 79 6e 2d 67 65 74 2d 2d 64 69 72 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 74 .tsc-dyn-get--dir.()..."Return.t
131c0 68 65 20 64 69 72 65 63 74 6f 72 79 20 74 6f 20 70 75 74 20 60 74 73 63 2d 64 79 6e 27 20 6d 6f he.directory.to.put.`tsc-dyn'.mo
131e0 64 75 6c 65 20 69 6e 2e 22 0a 20 20 28 6f 72 20 74 73 63 2d 64 79 6e 2d 64 69 72 0a 20 20 20 20 dule.in."...(or.tsc-dyn-dir.....
13200 20 20 28 65 72 72 6f 72 20 22 43 6f 75 6c 64 20 6e 6f 74 20 6c 6f 63 61 74 65 20 74 68 65 20 64 ..(error."Could.not.locate.the.d
13220 69 72 65 63 74 6f 72 79 20 66 6f 72 20 60 74 73 63 2d 64 79 6e 27 22 29 29 29 0a 0a 28 64 65 66 irectory.for.`tsc-dyn'")))..(def
13240 75 6e 20 74 73 63 2d 64 79 6e 2d 67 65 74 2d 2d 65 78 74 20 28 29 0a 20 20 22 52 65 74 75 72 6e un.tsc-dyn-get--ext.()..."Return
13260 20 74 68 65 20 64 79 6e 61 6d 69 63 20 6d 6f 64 75 6c 65 20 65 78 74 65 6e 73 69 6f 6e 2c 20 77 .the.dynamic.module.extension,.w
13280 68 69 63 68 20 69 73 20 73 79 73 74 65 6d 2d 64 65 70 65 6e 64 65 6e 74 2e 22 0a 20 20 28 70 63 hich.is.system-dependent."...(pc
132a0 61 73 65 20 73 79 73 74 65 6d 2d 74 79 70 65 0a 20 20 20 20 28 27 77 69 6e 64 6f 77 73 2d 6e 74 ase.system-type.....('windows-nt
132c0 20 22 64 6c 6c 22 29 0a 20 20 20 20 28 27 64 61 72 77 69 6e 20 22 64 79 6c 69 62 22 29 0a 20 20 ."dll").....('darwin."dylib")...
132e0 20 20 28 28 6f 72 20 27 67 6e 75 20 27 67 6e 75 2f 6c 69 6e 75 78 20 27 67 6e 75 2f 6b 66 72 65 ..((or.'gnu.'gnu/linux.'gnu/kfre
13300 65 62 73 64 29 20 22 73 6f 22 29 0a 20 20 20 20 28 28 6f 72 20 27 6d 73 2d 64 6f 73 20 27 63 79 ebsd)."so").....((or.'ms-dos.'cy
13320 67 77 69 6e 29 20 28 65 72 72 6f 72 20 22 55 6e 73 75 70 70 6f 72 74 65 64 20 73 79 73 74 65 6d gwin).(error."Unsupported.system
13340 2d 74 79 70 65 20 25 73 22 20 73 79 73 74 65 6d 2d 74 79 70 65 29 29 0a 20 20 20 20 28 5f 20 22 -type.%s".system-type)).....(_."
13360 73 6f 22 29 29 29 0a 0a 28 64 65 66 75 6e 20 74 73 63 2d 64 79 6e 2d 67 65 74 2d 2d 66 69 6c 65 so")))..(defun.tsc-dyn-get--file
13380 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 64 79 6e 61 6d 69 63 20 6d 6f 64 75 6c 65 .()..."Return.the.dynamic.module
133a0 20 66 69 6c 65 6e 61 6d 65 2c 20 77 68 69 63 68 20 69 73 20 4f 53 2d 64 65 70 65 6e 64 65 6e 74 .filename,.which.is.OS-dependent
133c0 2e 22 0a 20 20 28 66 6f 72 6d 61 74 20 22 74 73 63 2d 64 79 6e 2e 25 73 22 20 28 74 73 63 2d 64 ."...(format."tsc-dyn.%s".(tsc-d
133e0 79 6e 2d 67 65 74 2d 2d 65 78 74 29 29 29 0a 0a 3b 3b 3b 20 54 4f 44 4f 3a 20 4d 61 6b 65 20 74 yn-get--ext)))..;;;.TODO:.Make.t
13400 68 69 73 20 63 6f 72 72 65 63 74 2e 0a 28 64 65 66 75 6e 20 74 73 63 2d 64 79 6e 2d 67 65 74 2d his.correct..(defun.tsc-dyn-get-
13420 2d 73 79 73 74 65 6d 2d 73 70 65 63 69 66 69 63 2d 66 69 6c 65 20 28 29 0a 20 20 22 52 65 74 75 -system-specific-file.()..."Retu
13440 72 6e 20 74 68 65 20 64 79 6e 61 6d 69 63 20 6d 6f 64 75 6c 65 20 66 69 6c 65 6e 61 6d 65 2c 20 rn.the.dynamic.module.filename,.
13460 77 68 69 63 68 20 69 73 20 73 79 73 74 65 6d 2d 64 65 70 65 6e 64 65 6e 74 2e 22 0a 20 20 28 70 which.is.system-dependent."...(p
13480 63 61 73 65 20 73 79 73 74 65 6d 2d 74 79 70 65 0a 20 20 20 20 28 27 77 69 6e 64 6f 77 73 2d 6e case.system-type.....('windows-n
134a0 74 20 22 74 73 63 2d 64 79 6e 2e 78 38 36 5f 36 34 2d 70 63 2d 77 69 6e 64 6f 77 73 2d 6d 73 76 t."tsc-dyn.x86_64-pc-windows-msv
134c0 63 2e 64 6c 6c 22 29 0a 20 20 20 20 28 27 64 61 72 77 69 6e 20 28 69 66 20 28 73 74 72 69 6e 67 c.dll").....('darwin.(if.(string
134e0 2d 70 72 65 66 69 78 2d 70 20 22 78 38 36 5f 36 34 22 20 73 79 73 74 65 6d 2d 63 6f 6e 66 69 67 -prefix-p."x86_64".system-config
13500 75 72 61 74 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 73 63 2d 64 uration).................."tsc-d
13520 79 6e 2e 78 38 36 5f 36 34 2d 61 70 70 6c 65 2d 64 61 72 77 69 6e 2e 64 79 6c 69 62 22 0a 20 20 yn.x86_64-apple-darwin.dylib"...
13540 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 73 63 2d 64 79 6e 2e 61 61 72 63 68 36 34 2d 61 70 ............."tsc-dyn.aarch64-ap
13560 70 6c 65 2d 64 61 72 77 69 6e 2e 64 79 6c 69 62 22 29 29 0a 20 20 20 20 28 28 6f 72 20 27 67 6e ple-darwin.dylib")).....((or.'gn
13580 75 20 27 67 6e 75 2f 6c 69 6e 75 78 20 27 67 6e 75 2f 6b 66 72 65 65 62 73 64 29 0a 20 20 20 20 u.'gnu/linux.'gnu/kfreebsd).....
135a0 20 22 74 73 63 2d 64 79 6e 2e 78 38 36 5f 36 34 2d 75 6e 6b 6e 6f 77 6e 2d 6c 69 6e 75 78 2d 67 ."tsc-dyn.x86_64-unknown-linux-g
135c0 6e 75 2e 73 6f 22 29 29 29 0a 0a 28 64 65 66 75 6e 20 74 73 63 2d 64 79 6e 2d 67 65 74 2d 2d 6c nu.so")))..(defun.tsc-dyn-get--l
135e0 6f 67 20 28 66 6f 72 6d 61 74 2d 73 74 72 69 6e 67 20 26 72 65 73 74 20 61 72 67 73 29 0a 20 20 og.(format-string.&rest.args)...
13600 28 61 70 70 6c 79 20 23 27 6d 65 73 73 61 67 65 20 28 63 6f 6e 63 61 74 20 22 74 73 63 2d 64 79 (apply.#'message.(concat."tsc-dy
13620 6e 2d 67 65 74 3a 20 22 20 66 6f 72 6d 61 74 2d 73 74 72 69 6e 67 29 20 61 72 67 73 29 29 0a 0a n-get:.".format-string).args))..
13640 28 64 65 66 75 6e 20 74 73 63 2d 64 79 6e 2d 67 65 74 2d 2d 77 61 72 6e 20 28 26 72 65 73 74 20 (defun.tsc-dyn-get--warn.(&rest.
13660 61 72 67 73 29 0a 20 20 28 64 69 73 70 6c 61 79 2d 77 61 72 6e 69 6e 67 20 27 74 73 63 2d 64 79 args)...(display-warning.'tsc-dy
13680 6e 2d 67 65 74 20 28 61 70 70 6c 79 20 23 27 66 6f 72 6d 61 74 20 61 72 67 73 29 20 3a 65 6d 65 n-get.(apply.#'format.args).:eme
136a0 72 67 65 6e 63 79 29 29 0a 0a 28 64 65 66 75 6e 20 74 73 63 2d 64 79 6e 2d 67 65 74 2d 2d 72 65 rgency))..(defun.tsc-dyn-get--re
136c0 63 6f 72 64 65 64 2d 76 65 72 73 69 6f 6e 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 corded-version.()..."Return.the.
136e0 60 74 73 63 2d 64 79 6e 27 20 76 65 72 73 69 6f 6e 20 72 65 63 6f 72 64 65 64 20 69 6e 20 74 68 `tsc-dyn'.version.recorded.in.th
13700 65 20 6d 61 6e 69 66 65 73 74 0a 60 74 73 63 2d 64 79 6e 2d 67 65 74 2d 2d 76 65 72 73 69 6f 6e e.manifest.`tsc-dyn-get--version
13720 2d 66 69 6c 65 27 2e 22 0a 20 20 28 6c 65 74 20 28 28 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 -file'."...(let.((default-direct
13740 6f 72 79 20 28 74 73 63 2d 64 79 6e 2d 67 65 74 2d 2d 64 69 72 29 29 29 0a 20 20 20 20 28 77 68 ory.(tsc-dyn-get--dir))).....(wh
13760 65 6e 20 28 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 74 73 63 2d 64 79 6e 2d 67 65 74 2d 2d 76 en.(file-exists-p.tsc-dyn-get--v
13780 65 72 73 69 6f 6e 2d 66 69 6c 65 29 0a 20 20 20 20 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 62 75 ersion-file).......(with-temp-bu
137a0 66 66 65 72 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 63 6f 64 69 6e 67 2d 73 79 73 74 65 ffer.........(let.((coding-syste
137c0 6d 2d 66 6f 72 2d 72 65 61 64 20 27 75 74 66 2d 38 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 m-for-read.'utf-8))...........(i
137e0 6e 73 65 72 74 2d 66 69 6c 65 2d 63 6f 6e 74 65 6e 74 73 20 74 73 63 2d 64 79 6e 2d 67 65 74 2d nsert-file-contents.tsc-dyn-get-
13800 2d 76 65 72 73 69 6f 6e 2d 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 62 75 66 66 65 72 -version-file)...........(buffer
13820 2d 73 74 72 69 6e 67 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 74 73 63 2d 64 79 6e 2d 67 65 -string))))))..(defun.tsc-dyn-ge
13840 74 2d 2d 6c 6f 61 64 65 64 2d 76 65 72 73 69 6f 6e 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 74 t--loaded-version.()..."Return.t
13860 68 65 20 63 75 72 72 65 6e 74 6c 79 20 6c 6f 61 64 65 64 20 76 65 72 73 69 6f 6e 20 6f 66 20 60 he.currently.loaded.version.of.`
13880 74 73 63 2d 64 79 6e 27 2e 22 0a 20 20 28 61 6e 64 20 28 66 65 61 74 75 72 65 70 20 27 74 73 63 tsc-dyn'."...(and.(featurep.'tsc
138a0 2d 64 79 6e 29 20 28 62 6f 75 6e 64 2d 61 6e 64 2d 74 72 75 65 2d 70 20 74 73 63 2d 64 79 6e 2d -dyn).(bound-and-true-p.tsc-dyn-
138c0 2d 76 65 72 73 69 6f 6e 29 29 29 0a 0a 3b 3b 3b 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d -version)))..;;;.---------------
138e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
13900 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 3b 3b -----------------------------.;;
13920 3b 20 50 72 65 2d 62 75 69 6c 74 20 62 69 6e 61 72 69 65 73 20 64 6f 77 6e 6c 6f 61 64 65 64 20 ;.Pre-built.binaries.downloaded.
13940 74 68 72 6f 75 67 68 20 48 54 54 50 2e 0a 0a 28 64 65 66 75 6e 20 74 73 63 2d 64 79 6e 2d 67 65 through.HTTP...(defun.tsc-dyn-ge
13960 74 2d 2d 63 68 65 63 6b 2d 68 74 74 70 20 28 26 72 65 73 74 20 5f 61 72 67 73 29 0a 20 20 28 77 t--check-http.(&rest._args)...(w
13980 68 65 6e 2d 6c 65 74 20 28 28 73 74 61 74 75 73 20 28 62 6f 75 6e 64 2d 61 6e 64 2d 74 72 75 65 hen-let.((status.(bound-and-true
139a0 2d 70 20 75 72 6c 2d 68 74 74 70 2d 72 65 73 70 6f 6e 73 65 2d 73 74 61 74 75 73 29 29 29 0a 20 -p.url-http-response-status)))..
139c0 20 20 20 28 77 68 65 6e 20 28 3e 3d 20 73 74 61 74 75 73 20 34 30 30 29 0a 20 20 20 20 20 20 28 ...(when.(>=.status.400).......(
139e0 65 72 72 6f 72 20 22 47 6f 74 20 48 54 54 50 20 73 74 61 74 75 73 20 63 6f 64 65 20 25 73 22 20 error."Got.HTTP.status.code.%s".
13a00 73 74 61 74 75 73 29 29 29 29 0a 0a 3b 3b 20 54 4f 44 4f 3a 20 46 69 6e 64 20 61 20 62 65 74 74 status))))..;;.TODO:.Find.a.bett
13a20 65 72 20 77 61 79 20 74 6f 20 6d 61 6b 65 20 60 75 72 6c 2d 63 6f 70 79 2d 66 69 6c 65 27 20 68 er.way.to.make.`url-copy-file'.h
13a40 61 6e 64 6c 65 20 62 61 64 20 48 54 54 50 20 73 74 61 74 75 73 20 63 6f 64 65 73 2e 0a 28 64 65 andle.bad.HTTP.status.codes..(de
13a60 66 75 6e 20 74 73 63 2d 64 79 6e 2d 67 65 74 2d 2d 75 72 6c 2d 63 6f 70 79 2d 66 69 6c 65 20 28 fun.tsc-dyn-get--url-copy-file.(
13a80 26 72 65 73 74 20 61 72 67 73 29 0a 20 20 22 41 20 77 72 61 70 70 65 72 20 61 72 6f 75 6e 64 20 &rest.args)..."A.wrapper.around.
13aa0 60 75 72 6c 2d 63 6f 70 79 2d 66 69 6c 65 27 20 74 68 61 74 20 73 69 67 6e 61 6c 73 20 65 72 72 `url-copy-file'.that.signals.err
13ac0 6f 72 73 20 66 6f 72 20 62 61 64 20 48 54 54 50 20 73 74 61 74 75 73 65 73 2e 22 0a 20 20 28 61 ors.for.bad.HTTP.statuses."...(a
13ae0 64 76 69 63 65 2d 61 64 64 20 27 6d 6d 2d 64 69 73 73 65 63 74 2d 62 75 66 66 65 72 20 3a 62 65 dvice-add.'mm-dissect-buffer.:be
13b00 66 6f 72 65 20 23 27 74 73 63 2d 64 79 6e 2d 67 65 74 2d 2d 63 68 65 63 6b 2d 68 74 74 70 29 0a fore.#'tsc-dyn-get--check-http).
13b20 20 20 28 75 6e 77 69 6e 64 2d 70 72 6f 74 65 63 74 0a 20 20 20 20 20 20 28 61 70 70 6c 79 20 23 ..(unwind-protect.......(apply.#
13b40 27 75 72 6c 2d 63 6f 70 79 2d 66 69 6c 65 20 61 72 67 73 29 0a 20 20 20 20 28 61 64 76 69 63 65 'url-copy-file.args).....(advice
13b60 2d 72 65 6d 6f 76 65 20 27 6d 6d 2d 64 69 73 73 65 63 74 2d 62 75 66 66 65 72 20 23 27 74 73 63 -remove.'mm-dissect-buffer.#'tsc
13b80 2d 64 79 6e 2d 67 65 74 2d 2d 63 68 65 63 6b 2d 68 74 74 70 29 29 29 0a 0a 28 64 65 66 75 6e 20 -dyn-get--check-http)))..(defun.
13ba0 74 73 63 2d 64 79 6e 2d 67 65 74 2d 2d 67 69 74 68 75 62 20 28 76 65 72 73 69 6f 6e 29 0a 20 20 tsc-dyn-get--github.(version)...
13bc0 22 44 6f 77 6e 6c 6f 61 64 20 74 68 65 20 70 72 65 2d 63 6f 6d 70 69 6c 65 64 20 56 45 52 53 49 "Download.the.pre-compiled.VERSI
13be0 4f 4e 20 6f 66 20 60 74 73 63 2d 64 79 6e 27 20 66 72 6f 6d 20 47 69 74 48 75 62 2e 0a 54 68 69 ON.of.`tsc-dyn'.from.GitHub..Thi
13c00 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 63 6f 72 64 73 20 74 68 65 20 64 6f 77 6e 6c 6f 61 64 65 s.function.records.the.downloade
13c20 64 20 76 65 72 73 69 6f 6e 20 69 6e 20 74 68 65 20 6d 61 6e 69 66 65 73 74 0a 60 74 73 63 2d 64 d.version.in.the.manifest.`tsc-d
13c40 79 6e 2d 67 65 74 2d 2d 76 65 72 73 69 6f 6e 2d 66 69 6c 65 27 2e 22 0a 20 20 28 6c 65 74 2a 20 yn-get--version-file'."...(let*.
13c60 28 28 62 69 6e 2d 64 69 72 20 28 74 73 63 2d 64 79 6e 2d 67 65 74 2d 2d 64 69 72 29 29 0a 20 20 ((bin-dir.(tsc-dyn-get--dir))...
13c80 20 20 20 20 20 20 20 28 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 20 62 69 6e 2d 64 69 .......(default-directory.bin-di
13ca0 72 29 0a 20 20 20 20 20 20 20 20 20 28 5f 20 28 75 6e 6c 65 73 73 20 28 66 69 6c 65 2d 64 69 72 r)..........(_.(unless.(file-dir
13cc0 65 63 74 6f 72 79 2d 70 20 62 69 6e 2d 64 69 72 29 20 28 6d 61 6b 65 2d 64 69 72 65 63 74 6f 72 ectory-p.bin-dir).(make-director
13ce0 79 20 62 69 6e 2d 64 69 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 75 6e 63 6f 6d 70 72 65 73 y.bin-dir)))..........(uncompres
13d00 73 65 64 3f 20 28 76 65 72 73 69 6f 6e 3c 20 22 30 2e 37 2e 30 22 20 76 65 72 73 69 6f 6e 29 29 sed?.(version<."0.7.0".version))
13d20 0a 20 20 20 20 20 20 20 20 20 28 73 79 73 74 65 6d 2d 73 70 65 63 69 66 69 63 3f 20 28 76 65 72 ..........(system-specific?.(ver
13d40 73 69 6f 6e 3c 3d 20 22 30 2e 31 36 2e 31 22 20 76 65 72 73 69 6f 6e 29 29 0a 20 20 20 20 20 20 sion<=."0.16.1".version)).......
13d60 20 20 20 28 6c 6f 63 61 6c 2d 6e 61 6d 65 20 28 74 73 63 2d 64 79 6e 2d 67 65 74 2d 2d 66 69 6c ...(local-name.(tsc-dyn-get--fil
13d80 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 72 65 6d 6f 74 65 2d 6e 61 6d 65 20 28 66 6f 72 6d 61 e))..........(remote-name.(forma
13da0 74 20 22 25 73 25 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t."%s%s"........................
13dc0 20 20 20 20 20 20 20 28 69 66 20 73 79 73 74 65 6d 2d 73 70 65 63 69 66 69 63 3f 0a 20 20 20 20 .......(if.system-specific?.....
13de0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 ..............................(t
13e00 73 63 2d 64 79 6e 2d 67 65 74 2d 2d 73 79 73 74 65 6d 2d 73 70 65 63 69 66 69 63 2d 66 69 6c 65 sc-dyn-get--system-specific-file
13e20 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 )...............................
13e40 20 20 6c 6f 63 61 6c 2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..local-name)...................
13e60 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 3f 20 22 22 ............(if.uncompressed?.""
13e80 20 22 2e 67 7a 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 75 72 6c 20 28 66 6f 72 6d 61 74 20 .".gz")))..........(url.(format.
13ea0 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 65 6d 61 63 73 2d 74 72 65 65 2d 73 "https://github.com/emacs-tree-s
13ec0 69 74 74 65 72 2f 65 6c 69 73 70 2d 74 72 65 65 2d 73 69 74 74 65 72 2f 72 65 6c 65 61 73 65 73 itter/elisp-tree-sitter/releases
13ee0 2f 64 6f 77 6e 6c 6f 61 64 2f 25 73 2f 25 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 /download/%s/%s"................
13f00 20 20 20 20 20 20 20 76 65 72 73 69 6f 6e 20 72 65 6d 6f 74 65 2d 6e 61 6d 65 29 29 29 0a 20 20 .......version.remote-name)))...
13f20 20 20 28 74 73 63 2d 64 79 6e 2d 67 65 74 2d 2d 6c 6f 67 20 22 44 6f 77 6e 6c 6f 61 64 69 6e 67 ..(tsc-dyn-get--log."Downloading
13f40 20 25 73 22 20 75 72 6c 29 0a 20 20 20 20 28 69 66 20 75 6e 63 6f 6d 70 72 65 73 73 65 64 3f 0a .%s".url).....(if.uncompressed?.
13f60 20 20 20 20 20 20 20 20 28 74 73 63 2d 64 79 6e 2d 67 65 74 2d 2d 75 72 6c 2d 63 6f 70 79 2d 66 ........(tsc-dyn-get--url-copy-f
13f80 69 6c 65 20 75 72 6c 20 6c 6f 63 61 6c 2d 6e 61 6d 65 20 3a 6f 6b 2d 69 66 2d 61 6c 72 65 61 64 ile.url.local-name.:ok-if-alread
13fa0 79 2d 65 78 69 73 74 73 29 0a 20 20 20 20 20 20 28 74 73 63 2d 64 79 6e 2d 67 65 74 2d 2d 75 72 y-exists).......(tsc-dyn-get--ur
13fc0 6c 2d 63 6f 70 79 2d 66 69 6c 65 20 75 72 6c 20 72 65 6d 6f 74 65 2d 6e 61 6d 65 29 0a 20 20 20 l-copy-file.url.remote-name)....
13fe0 20 20 20 28 77 68 65 6e 20 28 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 6c 6f 63 61 6c 2d 6e 61 ...(when.(file-exists-p.local-na
14000 6d 65 29 0a 20 20 20 20 20 20 20 20 28 64 65 6c 65 74 65 2d 66 69 6c 65 20 6c 6f 63 61 6c 2d 6e me).........(delete-file.local-n
14020 61 6d 65 29 29 0a 20 20 20 20 20 20 3b 3b 20 58 58 58 3a 20 55 6e 63 6f 6d 70 72 65 73 73 69 6e ame)).......;;.XXX:.Uncompressin
14040 67 20 77 69 74 68 20 60 64 69 72 65 64 2d 63 6f 6d 70 72 65 73 73 2d 66 69 6c 65 27 20 64 6f 65 g.with.`dired-compress-file'.doe
14060 73 6e 27 74 20 77 6f 72 6b 20 6f 6e 20 57 69 6e 64 6f 77 73 2e 0a 20 20 20 20 20 20 28 64 69 72 sn't.work.on.Windows........(dir
14080 65 64 2d 63 6f 6d 70 72 65 73 73 2d 66 69 6c 65 20 72 65 6d 6f 74 65 2d 6e 61 6d 65 29 29 0a 20 ed-compress-file.remote-name))..
140a0 20 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 66 69 6c 65 20 74 73 63 2d 64 79 6e 2d 67 65 74 2d 2d ...(with-temp-file.tsc-dyn-get--
140c0 76 65 72 73 69 6f 6e 2d 66 69 6c 65 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 63 6f 64 69 6e 67 version-file.......(let.((coding
140e0 2d 73 79 73 74 65 6d 2d 66 6f 72 2d 77 72 69 74 65 20 27 75 74 66 2d 38 29 29 0a 20 20 20 20 20 -system-for-write.'utf-8))......
14100 20 20 20 28 69 6e 73 65 72 74 20 76 65 72 73 69 6f 6e 29 29 29 29 29 0a 0a 3b 3b 3b 20 2d 2d 2d ...(insert.version)))))..;;;.---
14120 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
14140 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
14160 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 3b 3b 3b 20 4c 6f 63 61 6c 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 2e ---------.;;;.Local.compilation.
14180 0a 0a 28 64 65 66 69 6e 65 2d 65 72 72 6f 72 20 27 74 73 63 2d 63 6f 6d 70 69 6c 65 2d 65 72 72 ..(define-error.'tsc-compile-err
141a0 6f 72 20 22 43 6f 75 6c 64 20 6e 6f 74 20 63 6f 6d 70 69 6c 65 20 60 74 73 63 2d 64 79 6e 27 22 or."Could.not.compile.`tsc-dyn'"
141c0 29 0a 0a 28 64 65 66 75 6e 20 74 73 63 2d 64 79 6e 2d 67 65 74 2d 2d 62 75 69 6c 64 2d 6f 75 74 )..(defun.tsc-dyn-get--build-out
141e0 70 75 74 20 28 66 61 63 65 20 26 72 65 73 74 20 61 72 67 73 29 0a 20 20 28 64 65 63 6c 61 72 65 put.(face.&rest.args)...(declare
14200 20 28 69 6e 64 65 6e 74 20 31 29 29 0a 20 20 28 6c 65 74 20 28 28 73 74 72 20 28 70 72 6f 70 65 .(indent.1))...(let.((str.(prope
14220 72 74 69 7a 65 20 28 61 70 70 6c 79 20 23 27 66 6f 72 6d 61 74 20 61 72 67 73 29 20 27 66 61 63 rtize.(apply.#'format.args).'fac
14240 65 20 66 61 63 65 20 27 66 6f 6e 74 2d 6c 6f 63 6b 2d 66 61 63 65 20 66 61 63 65 29 29 0a 20 20 e.face.'font-lock-face.face))...
14260 20 20 20 20 20 20 28 69 6e 68 69 62 69 74 2d 72 65 61 64 2d 6f 6e 6c 79 20 74 29 29 0a 20 20 20 ......(inhibit-read-only.t))....
14280 20 28 69 66 20 6e 6f 6e 69 6e 74 65 72 61 63 74 69 76 65 0a 20 20 20 20 20 20 20 20 28 70 72 6f .(if.noninteractive.........(pro
142a0 67 6e 20 28 70 72 69 6e 63 20 73 74 72 29 20 28 70 72 69 6e 63 20 22 5c 6e 22 29 29 0a 20 20 20 gn.(princ.str).(princ."\n"))....
142c0 20 20 20 28 69 6e 73 65 72 74 20 73 74 72 29 0a 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 5c ...(insert.str).......(insert."\
142e0 6e 22 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 74 73 63 2d 64 79 6e 2d 67 65 74 2d 2d 63 n"))))..(defmacro.tsc-dyn-get--c
14300 6f 6d 70 69 6c 61 74 69 6f 6e 2d 74 6f 2d 73 74 64 6f 75 74 20 28 63 6f 6e 64 69 74 69 6f 6e 20 ompilation-to-stdout.(condition.
14320 26 72 65 73 74 20 62 6f 64 79 29 0a 20 20 22 45 76 61 6c 20 42 4f 44 59 20 66 6f 72 6d 73 20 77 &rest.body)..."Eval.BODY.forms.w
14340 69 74 68 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 75 74 70 75 74 20 63 6f 6e 64 69 74 69 6f 6e ith.compilation.output.condition
14360 61 6c 6c 79 20 72 65 64 69 72 65 63 74 65 64 20 74 6f 20 60 70 72 69 6e 63 27 2e 22 0a 20 20 28 ally.redirected.to.`princ'."...(
14380 64 65 63 6c 61 72 65 20 28 69 6e 64 65 6e 74 20 31 29 29 0a 20 20 28 6c 65 74 20 28 28 70 72 69 declare.(indent.1))...(let.((pri
143a0 6e 74 2d 73 74 64 6f 75 74 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 70 72 69 6e 74 2d 73 74 nt-stdout.(make-symbol."print-st
143c0 64 6f 75 74 22 29 29 29 0a 20 20 20 20 60 28 69 66 20 2c 63 6f 6e 64 69 74 69 6f 6e 0a 20 20 20 dout"))).....`(if.,condition....
143e0 20 20 20 20 20 20 28 6c 65 74 20 28 28 2c 70 72 69 6e 74 2d 73 74 64 6f 75 74 20 28 6c 61 6d 62 ......(let.((,print-stdout.(lamb
14400 64 61 20 28 5f 70 72 6f 63 20 73 74 72 69 6e 67 29 20 28 70 72 69 6e 63 20 73 74 72 69 6e 67 29 da.(_proc.string).(princ.string)
14420 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 61 64 76 69 63 65 2d 61 64 64 20 27 63 6f 6d 70 )))............(advice-add.'comp
14440 69 6c 61 74 69 6f 6e 2d 66 69 6c 74 65 72 20 3a 6f 76 65 72 72 69 64 65 20 2c 70 72 69 6e 74 2d ilation-filter.:override.,print-
14460 73 74 64 6f 75 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 77 69 6e 64 2d 70 72 6f 74 65 stdout)............(unwind-prote
14480 63 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 20 2c 40 62 6f 64 79 29 ct................(progn.,@body)
144a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 64 76 69 63 65 2d 72 65 6d 6f 76 65 20 27 63 6f ..............(advice-remove.'co
144c0 6d 70 69 6c 61 74 69 6f 6e 2d 66 69 6c 74 65 72 20 2c 70 72 69 6e 74 2d 73 74 64 6f 75 74 29 29 mpilation-filter.,print-stdout))
144e0 29 0a 20 20 20 20 20 20 20 2c 40 62 6f 64 79 29 29 29 0a 0a 28 64 65 66 75 6e 20 74 73 63 2d 64 )........,@body)))..(defun.tsc-d
14500 79 6e 2d 67 65 74 2d 2d 62 75 69 6c 64 2d 76 65 72 73 69 6f 6e 20 28 29 0a 20 20 22 52 65 74 75 yn-get--build-version.()..."Retu
14520 72 6e 20 74 68 65 20 64 79 6e 61 6d 69 63 20 6d 6f 64 75 6c 65 27 73 20 76 65 72 73 69 6f 6e 20 rn.the.dynamic.module's.version.
14540 61 66 74 65 72 20 61 73 6b 69 6e 67 20 27 63 61 72 67 6f 27 2e 22 0a 20 20 28 74 68 72 65 61 64 after.asking.'cargo'."...(thread
14560 2d 66 69 72 73 74 20 28 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 74 6f 2d 73 74 72 69 6e 67 20 -first.(shell-command-to-string.
14580 22 63 61 72 67 6f 20 70 6b 67 69 64 22 29 0a 20 20 20 20 73 74 72 69 6e 67 2d 74 72 69 6d 0a 20 "cargo.pkgid").....string-trim..
145a0 20 20 20 28 73 70 6c 69 74 2d 73 74 72 69 6e 67 20 22 5c 5b 23 3a 5c 5d 22 29 0a 20 20 20 20 6c ...(split-string."\[#:\]").....l
145c0 61 73 74 20 63 61 72 29 29 0a 0a 3b 3b 20 54 4f 44 4f 3a 20 52 65 6d 6f 76 65 20 74 68 69 73 20 ast.car))..;;.TODO:.Remove.this.
145e0 77 68 65 6e 20 63 61 72 67 6f 20 61 6c 6c 6f 77 73 20 73 70 65 63 69 66 79 69 6e 67 20 6f 75 74 when.cargo.allows.specifying.out
14600 70 75 74 20 66 69 6c 65 20 6e 61 6d 65 2e 0a 28 64 65 66 75 6e 20 74 73 63 2d 64 79 6e 2d 67 65 put.file.name..(defun.tsc-dyn-ge
14620 74 2d 2d 6f 75 74 2d 66 69 6c 65 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 63 61 72 67 6f 27 73 t--out-file.()..."Return.cargo's
14640 20 6f 75 74 70 75 74 20 66 69 6c 65 6e 61 6d 65 2c 20 77 68 69 63 68 20 69 73 20 73 79 73 74 65 .output.filename,.which.is.syste
14660 6d 2d 64 65 70 65 6e 64 65 6e 74 2e 22 0a 20 20 28 6c 65 74 20 28 28 62 61 73 65 20 28 70 63 61 m-dependent."...(let.((base.(pca
14680 73 65 20 73 79 73 74 65 6d 2d 74 79 70 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 se.system-type.................(
146a0 27 77 69 6e 64 6f 77 73 2d 6e 74 20 22 74 73 63 5f 64 79 6e 22 29 0a 20 20 20 20 20 20 20 20 20 'windows-nt."tsc_dyn")..........
146c0 20 20 20 20 20 20 20 28 5f 20 22 6c 69 62 74 73 63 5f 64 79 6e 22 29 29 29 29 0a 20 20 20 20 28 .......(_."libtsc_dyn")))).....(
146e0 66 6f 72 6d 61 74 20 22 25 73 2e 25 73 22 20 62 61 73 65 20 28 74 73 63 2d 64 79 6e 2d 67 65 74 format."%s.%s".base.(tsc-dyn-get
14700 2d 2d 65 78 74 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 74 73 63 2d 64 79 6e 2d 67 65 74 2d 2d 62 --ext))))..(defun.tsc-dyn-get--b
14720 75 69 6c 64 2d 63 6c 65 61 6e 75 70 20 28 63 6f 6d 70 2d 62 75 66 66 65 72 20 73 74 61 74 75 73 uild-cleanup.(comp-buffer.status
14740 29 0a 20 20 22 43 6c 65 61 6e 20 75 70 20 61 66 74 65 72 20 63 6f 6d 70 69 6c 69 6e 67 20 74 68 )..."Clean.up.after.compiling.th
14760 65 20 64 79 6e 61 6d 69 63 20 6d 6f 64 75 6c 65 20 60 74 73 63 2d 64 79 6e 27 2e 0a 54 68 69 73 e.dynamic.module.`tsc-dyn'..This
14780 20 66 75 6e 63 74 69 6f 6e 20 63 6f 70 69 65 73 20 74 68 65 20 62 75 69 6c 74 20 62 69 6e 61 72 .function.copies.the.built.binar
147a0 79 20 74 6f 20 74 68 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 6c 6f 63 61 74 69 6f 6e 2c 20 64 y.to.the.appropriate.location,.d
147c0 65 6c 65 74 65 20 74 68 65 0a 62 75 69 6c 64 20 64 69 72 65 63 74 6f 72 79 2c 20 61 6e 64 20 72 elete.the.build.directory,.and.r
147e0 65 63 6f 72 64 20 74 68 65 20 62 75 69 6c 74 20 76 65 72 73 69 6f 6e 20 69 6e 20 74 68 65 20 6d ecord.the.built.version.in.the.m
14800 61 6e 69 66 65 73 74 0a 60 74 73 63 2d 64 79 6e 2d 67 65 74 2d 2d 76 65 72 73 69 6f 6e 2d 66 69 anifest.`tsc-dyn-get--version-fi
14820 6c 65 27 2e 22 0a 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 63 6f 6d le'."...(with-current-buffer.com
14840 70 2d 62 75 66 66 65 72 0a 20 20 20 20 28 6c 65 74 2a 20 28 28 66 69 6c 65 20 28 74 73 63 2d 64 p-buffer.....(let*.((file.(tsc-d
14860 79 6e 2d 67 65 74 2d 2d 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6f 75 74 2d 6e yn-get--file))............(out-n
14880 61 6d 65 20 28 74 73 63 2d 64 79 6e 2d 67 65 74 2d 2d 6f 75 74 2d 66 69 6c 65 29 29 0a 20 20 20 ame.(tsc-dyn-get--out-file))....
148a0 20 20 20 20 20 20 20 20 28 6f 75 74 2d 66 69 6c 65 20 28 66 6f 72 6d 61 74 20 22 74 61 72 67 65 ........(out-file.(format."targe
148c0 74 2f 72 65 6c 65 61 73 65 2f 25 73 22 20 6f 75 74 2d 6e 61 6d 65 29 29 29 0a 20 20 20 20 20 20 t/release/%s".out-name))).......
148e0 28 75 6e 6c 65 73 73 20 28 73 74 72 69 6e 67 3d 20 73 74 61 74 75 73 20 22 66 69 6e 69 73 68 65 (unless.(string=.status."finishe
14900 64 5c 6e 22 29 0a 20 20 20 20 20 20 20 20 28 73 69 67 6e 61 6c 20 27 74 73 63 2d 63 6f 6d 70 69 d\n").........(signal.'tsc-compi
14920 6c 65 2d 65 72 72 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 28 le-error.................(list.(
14940 66 6f 72 6d 61 74 20 22 43 6f 6d 70 69 6c 61 74 69 6f 6e 20 66 61 69 6c 65 64 20 77 69 74 68 20 format."Compilation.failed.with.
14960 73 74 61 74 75 73 3a 20 25 73 22 20 73 74 61 74 75 73 29 29 29 29 0a 20 20 20 20 20 20 28 74 73 status:.%s".status)))).......(ts
14980 63 2d 64 79 6e 2d 67 65 74 2d 2d 62 75 69 6c 64 2d 6f 75 74 70 75 74 20 27 63 6f 6d 70 69 6c 61 c-dyn-get--build-output.'compila
149a0 74 69 6f 6e 2d 69 6e 66 6f 0a 20 20 20 20 20 20 20 20 22 4d 6f 76 69 6e 67 20 62 69 6e 61 72 79 tion-info........."Moving.binary
149c0 20 25 73 20 66 72 6f 6d 20 62 75 69 6c 64 20 64 69 72 22 20 6f 75 74 2d 6e 61 6d 65 29 0a 20 20 .%s.from.build.dir".out-name)...
149e0 20 20 20 20 28 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 5f 0a 20 20 20 20 20 20 20 20 20 20 ....(condition-case._...........
14a00 28 72 65 6e 61 6d 65 2d 66 69 6c 65 20 6f 75 74 2d 66 69 6c 65 20 66 69 6c 65 29 0a 20 20 20 20 (rename-file.out-file.file).....
14a20 20 20 20 20 28 66 69 6c 65 2d 61 6c 72 65 61 64 79 2d 65 78 69 73 74 73 0a 20 20 20 20 20 20 20 ....(file-already-exists........
14a40 20 20 28 64 65 6c 65 74 65 2d 66 69 6c 65 20 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 28 72 ..(delete-file.file)..........(r
14a60 65 6e 61 6d 65 2d 66 69 6c 65 20 6f 75 74 2d 66 69 6c 65 20 66 69 6c 65 29 29 29 0a 20 20 20 20 ename-file.out-file.file))).....
14a80 20 20 28 74 73 63 2d 64 79 6e 2d 67 65 74 2d 2d 62 75 69 6c 64 2d 6f 75 74 70 75 74 20 27 63 6f ..(tsc-dyn-get--build-output.'co
14aa0 6d 70 69 6c 61 74 69 6f 6e 2d 69 6e 66 6f 0a 20 20 20 20 20 20 20 20 22 52 65 6d 6f 76 69 6e 67 mpilation-info........."Removing
14ac0 20 62 75 69 6c 64 20 64 69 72 22 29 0a 20 20 20 20 20 20 28 64 65 6c 65 74 65 2d 64 69 72 65 63 .build.dir").......(delete-direc
14ae0 74 6f 72 79 20 22 74 61 72 67 65 74 22 20 3a 72 65 63 75 72 73 69 76 65 29 0a 20 20 20 20 20 20 tory."target".:recursive).......
14b00 28 74 73 63 2d 64 79 6e 2d 67 65 74 2d 2d 62 75 69 6c 64 2d 6f 75 74 70 75 74 20 27 63 6f 6d 70 (tsc-dyn-get--build-output.'comp
14b20 69 6c 61 74 69 6f 6e 2d 69 6e 66 6f 0a 20 20 20 20 20 20 20 20 22 52 65 63 6f 72 64 69 6e 67 20 ilation-info........."Recording.
14b40 62 75 69 6c 74 20 76 65 72 73 69 6f 6e 20 69 6e 20 25 73 22 20 74 73 63 2d 64 79 6e 2d 67 65 74 built.version.in.%s".tsc-dyn-get
14b60 2d 2d 76 65 72 73 69 6f 6e 2d 66 69 6c 65 29 0a 20 20 20 20 20 20 28 77 69 74 68 2d 74 65 6d 70 --version-file).......(with-temp
14b80 2d 66 69 6c 65 20 74 73 63 2d 64 79 6e 2d 67 65 74 2d 2d 76 65 72 73 69 6f 6e 2d 66 69 6c 65 0a -file.tsc-dyn-get--version-file.
14ba0 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 63 6f 64 69 6e 67 2d 73 79 73 74 65 6d 2d 66 6f 72 ........(let.((coding-system-for
14bc0 2d 77 72 69 74 65 20 27 75 74 66 2d 38 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 -write.'utf-8))...........(inser
14be0 74 20 28 74 73 63 2d 64 79 6e 2d 67 65 74 2d 2d 62 75 69 6c 64 2d 76 65 72 73 69 6f 6e 29 29 29 t.(tsc-dyn-get--build-version)))
14c00 29 0a 20 20 20 20 20 20 28 74 73 63 2d 64 79 6e 2d 67 65 74 2d 2d 62 75 69 6c 64 2d 6f 75 74 70 ).......(tsc-dyn-get--build-outp
14c20 75 74 20 27 73 75 63 63 65 73 73 20 22 44 6f 6e 65 22 29 29 29 29 0a 0a 3b 3b 20 58 58 58 3a 20 ut.'success."Done"))))..;;.XXX:.
14c40 57 65 20 64 6f 6e 27 74 20 75 73 65 20 60 63 61 6c 6c 2d 70 72 6f 63 65 73 73 27 20 62 65 63 61 We.don't.use.`call-process'.beca
14c60 75 73 65 20 74 68 65 20 70 72 6f 63 65 73 73 20 69 74 20 63 72 65 61 74 65 73 20 69 73 20 6e 6f use.the.process.it.creates.is.no
14c80 74 20 6b 69 6c 6c 65 64 0a 3b 3b 20 77 68 65 6e 20 45 6d 61 63 73 20 65 78 69 74 73 20 69 6e 20 t.killed.;;.when.Emacs.exits.in.
14ca0 62 61 74 63 68 20 6d 6f 64 65 2e 20 54 68 61 74 27 73 20 70 72 6f 62 61 62 6c 79 20 61 6e 20 45 batch.mode..That's.probably.an.E
14cc0 6d 61 63 73 27 73 20 62 75 67 2e 0a 28 64 65 66 75 6e 20 74 73 63 2d 64 79 6e 2d 67 65 74 2d 2d macs's.bug..(defun.tsc-dyn-get--
14ce0 62 75 69 6c 64 2d 73 79 6e 63 20 28 64 69 72 29 0a 20 20 22 42 75 69 6c 64 20 74 68 65 20 64 79 build-sync.(dir)..."Build.the.dy
14d00 6e 61 6d 69 63 20 6d 6f 64 75 6c 65 20 60 74 73 63 2d 64 79 6e 27 20 61 6e 64 20 70 75 74 20 69 namic.module.`tsc-dyn'.and.put.i
14d20 74 20 69 6e 20 44 49 52 2c 20 62 6c 6f 63 6b 69 6e 67 20 75 6e 74 69 6c 20 64 6f 6e 65 2e 22 0a t.in.DIR,.blocking.until.done.".
14d40 20 20 3b 3b 20 46 49 58 3a 20 46 69 67 75 72 65 20 6f 75 74 20 68 6f 77 20 74 6f 20 70 72 69 6e ..;;.FIX:.Figure.out.how.to.prin
14d60 74 20 74 68 65 20 70 72 6f 67 72 65 73 73 20 62 61 72 20 77 68 65 6e 20 72 75 6e 20 73 79 6e 63 t.the.progress.bar.when.run.sync
14d80 68 72 6f 6e 6f 75 73 6c 79 2e 0a 20 20 28 74 73 63 2d 64 79 6e 2d 67 65 74 2d 2d 63 6f 6d 70 69 hronously....(tsc-dyn-get--compi
14da0 6c 61 74 69 6f 6e 2d 74 6f 2d 73 74 64 6f 75 74 20 6e 6f 6e 69 6e 74 65 72 61 63 74 69 76 65 0a lation-to-stdout.noninteractive.
14dc0 20 20 20 20 28 6c 65 74 20 28 28 70 72 6f 63 20 28 74 73 63 2d 64 79 6e 2d 67 65 74 2d 2d 62 75 ....(let.((proc.(tsc-dyn-get--bu
14de0 69 6c 64 2d 61 73 79 6e 63 20 64 69 72 29 29 29 0a 20 20 20 20 20 20 28 63 6f 6e 64 69 74 69 6f ild-async.dir))).......(conditio
14e00 6e 2d 63 61 73 65 20 73 0a 20 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 61 63 63 65 70 n-case.s...........(while.(accep
14e20 74 2d 70 72 6f 63 65 73 73 2d 6f 75 74 70 75 74 20 70 72 6f 63 29 0a 20 20 20 20 20 20 20 20 20 t-process-output.proc)..........
14e40 20 20 20 28 75 6e 6c 65 73 73 20 6e 6f 6e 69 6e 74 65 72 61 63 74 69 76 65 0a 20 20 20 20 20 20 ...(unless.noninteractive.......
14e60 20 20 20 20 20 20 20 20 28 72 65 64 69 73 70 6c 61 79 29 29 29 0a 20 20 20 20 20 20 20 20 28 71 ........(redisplay))).........(q
14e80 75 69 74 20 28 6c 65 74 20 28 28 62 75 66 20 28 70 72 6f 63 65 73 73 2d 62 75 66 66 65 72 20 70 uit.(let.((buf.(process-buffer.p
14ea0 72 6f 63 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 2d 70 72 6f 63 roc))).................(set-proc
14ec0 65 73 73 2d 71 75 65 72 79 2d 6f 6e 2d 65 78 69 74 2d 66 6c 61 67 20 70 72 6f 63 20 6e 69 6c 29 ess-query-on-exit-flag.proc.nil)
14ee0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 74 65 72 72 75 70 74 2d 70 72 6f 63 .................(interrupt-proc
14f00 65 73 73 20 70 72 6f 63 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d ess.proc).................(with-
14f20 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 62 75 66 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 current-buffer.buf..............
14f40 20 20 20 20 20 28 74 73 63 2d 64 79 6e 2d 67 65 74 2d 2d 62 75 69 6c 64 2d 6f 75 74 70 75 74 20 .....(tsc-dyn-get--build-output.
14f60 27 65 72 72 6f 72 20 22 43 61 6e 63 65 6c 6c 65 64 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 'error."Cancelled").............
14f80 20 20 20 20 20 20 3b 3b 20 54 4f 44 4f 3a 20 44 6f 6e 27 74 20 77 61 69 74 20 66 6f 72 20 61 20 ......;;.TODO:.Don't.wait.for.a.
14fa0 66 69 78 65 64 20 61 6d 6f 75 6e 74 20 6f 66 20 74 69 6d 65 2e 0a 20 20 20 20 20 20 20 20 20 20 fixed.amount.of.time............
14fc0 20 20 20 20 20 20 20 20 28 73 69 74 2d 66 6f 72 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ........(sit-for.1).............
14fe0 20 20 20 20 20 20 28 6b 69 6c 6c 2d 62 75 66 66 65 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 ......(kill-buffer)))...........
15000 20 20 20 20 28 73 69 67 6e 61 6c 20 28 63 61 72 20 73 29 20 28 63 64 72 20 73 29 29 29 29 29 29 ....(signal.(car.s).(cdr.s))))))
15020 29 0a 0a 28 64 65 66 75 6e 20 74 73 63 2d 64 79 6e 2d 67 65 74 2d 2d 62 75 69 6c 64 2d 61 73 79 )..(defun.tsc-dyn-get--build-asy
15040 6e 63 20 28 64 69 72 29 0a 20 20 22 42 75 69 6c 64 20 74 68 65 20 64 79 6e 61 6d 69 63 20 6d 6f nc.(dir)..."Build.the.dynamic.mo
15060 64 75 6c 65 20 60 74 73 63 2d 64 79 6e 27 20 61 6e 64 20 70 75 74 20 69 74 20 69 6e 20 44 49 52 dule.`tsc-dyn'.and.put.it.in.DIR
15080 2c 20 61 73 79 6e 63 68 72 6f 75 6e 6f 75 73 6c 79 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 64 65 ,.asynchrounously."...(let*.((de
150a0 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 20 64 69 72 29 0a 20 20 20 20 20 20 20 20 20 28 63 fault-directory.dir)..........(c
150c0 6f 6d 70 69 6c 61 74 69 6f 6e 2d 61 75 74 6f 2d 6a 75 6d 70 2d 74 6f 2d 66 69 72 73 74 2d 65 72 ompilation-auto-jump-to-first-er
150e0 72 6f 72 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 28 63 6f 6d 70 69 6c 61 74 69 6f 6e 2d 73 ror.nil)..........(compilation-s
15100 63 72 6f 6c 6c 2d 6f 75 74 70 75 74 20 74 29 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 57 65 20 77 croll-output.t)..........;;.We.w
15120 61 6e 74 20 72 65 73 70 6f 6e 73 69 76 65 20 70 72 6f 67 72 65 73 73 20 62 61 72 2e 20 49 74 27 ant.responsive.progress.bar..It'
15140 73 20 6f 6b 20 73 69 6e 63 65 20 74 68 65 20 6f 75 74 70 75 74 20 69 73 20 73 6d 61 6c 6c 2e 0a s.ok.since.the.output.is.small..
15160 20 20 20 20 20 20 20 20 20 28 70 72 6f 63 65 73 73 2d 61 64 61 70 74 69 76 65 2d 72 65 61 64 2d .........(process-adaptive-read-
15180 62 75 66 66 65 72 69 6e 67 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 28 63 6f 6d 70 2d 62 75 buffering.nil)..........(comp-bu
151a0 66 66 65 72 20 28 63 6f 6d 70 69 6c 61 74 69 6f 6e 2d 73 74 61 72 74 0a 20 20 20 20 20 20 20 20 ffer.(compilation-start.........
151c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 63 61 72 67 6f 20 62 75 69 6c 64 20 2d 2d 72 65 ..............."cargo.build.--re
151e0 6c 65 61 73 65 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 69 lease"........................ni
15200 6c 20 28 6c 61 6d 62 64 61 20 28 5f 29 20 22 2a 74 73 63 2d 64 79 6e 20 63 6f 6d 70 69 6c 61 74 l.(lambda.(_)."*tsc-dyn.compilat
15220 69 6f 6e 2a 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 70 72 6f 63 20 28 67 65 74 2d 62 75 66 ion*")))..........(proc.(get-buf
15240 66 65 72 2d 70 72 6f 63 65 73 73 20 63 6f 6d 70 2d 62 75 66 66 65 72 29 29 29 0a 20 20 20 20 28 fer-process.comp-buffer))).....(
15260 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 63 6f 6d 70 2d 62 75 66 66 65 72 0a with-current-buffer.comp-buffer.
15280 20 20 20 20 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 2d 65 72 ......(setq-local.compilation-er
152a0 72 6f 72 2d 72 65 67 65 78 70 2d 61 6c 69 73 74 20 6e 69 6c 29 0a 20 20 20 20 20 20 28 61 64 64 ror-regexp-alist.nil).......(add
152c0 2d 68 6f 6f 6b 20 27 63 6f 6d 70 69 6c 61 74 69 6f 6e 2d 66 69 6e 69 73 68 2d 66 75 6e 63 74 69 -hook.'compilation-finish-functi
152e0 6f 6e 73 20 23 27 74 73 63 2d 64 79 6e 2d 67 65 74 2d 2d 62 75 69 6c 64 2d 63 6c 65 61 6e 75 70 ons.#'tsc-dyn-get--build-cleanup
15300 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 69 6c 20 3a 6c 6f 63 61 6c 29 0a 20 20 20 .................nil.:local)....
15320 20 20 20 28 75 6e 6c 65 73 73 20 6e 6f 6e 69 6e 74 65 72 61 63 74 69 76 65 0a 20 20 20 20 20 20 ...(unless.noninteractive.......
15340 20 20 28 77 68 65 6e 20 28 66 75 6e 63 74 69 6f 6e 70 20 27 61 6e 73 69 2d 63 6f 6c 6f 72 2d 61 ..(when.(functionp.'ansi-color-a
15360 70 70 6c 79 2d 6f 6e 2d 72 65 67 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 28 61 64 64 2d 68 pply-on-region)...........(add-h
15380 6f 6f 6b 20 27 63 6f 6d 70 69 6c 61 74 69 6f 6e 2d 66 69 6c 74 65 72 2d 68 6f 6f 6b 0a 20 20 20 ook.'compilation-filter-hook....
153a0 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 29 20 28 61 6e 73 69 2d 63 6f 6c 6f 72 2d .........(lambda.().(ansi-color-
153c0 61 70 70 6c 79 2d 6f 6e 2d 72 65 67 69 6f 6e 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 apply-on-region.(point-min).(poi
153e0 6e 74 2d 6d 61 78 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 6e 69 6c 20 3a 6c 6f 63 61 6c nt-max))).............nil.:local
15400 29 29 29 29 0a 20 20 20 20 70 72 6f 63 29 29 0a 0a 28 64 65 66 75 6e 20 74 73 63 2d 64 79 6e 2d )))).....proc))..(defun.tsc-dyn-
15420 67 65 74 2d 2d 62 75 69 6c 64 20 28 26 6f 70 74 69 6f 6e 61 6c 20 64 69 72 29 0a 20 20 22 42 75 get--build.(&optional.dir)..."Bu
15440 69 6c 64 20 74 68 65 20 64 79 6e 61 6d 69 63 20 6d 6f 64 75 6c 65 20 60 74 73 63 2d 64 79 6e 27 ild.the.dynamic.module.`tsc-dyn'
15460 20 66 72 6f 6d 20 73 6f 75 72 63 65 2e 0a 0a 57 68 65 6e 20 63 61 6c 6c 65 64 20 64 75 72 69 6e .from.source...When.called.durin
15480 67 20 61 6e 20 61 74 74 65 6d 70 74 20 74 6f 20 6c 6f 61 64 20 60 74 73 63 27 2c 20 6f 72 20 69 g.an.attempt.to.load.`tsc',.or.i
154a0 6e 20 62 61 74 63 68 20 6d 6f 64 65 2c 20 74 68 69 73 20 62 6c 6f 63 6b 73 20 75 6e 74 69 6c 0a n.batch.mode,.this.blocks.until.
154c0 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 66 69 6e 69 73 68 65 73 2e 20 49 6e 20 6f 74 68 65 72 20 73 compilation.finishes..In.other.s
154e0 69 74 75 61 74 69 6f 6e 73 2c 20 69 74 20 72 75 6e 73 20 69 6e 20 74 68 65 20 62 61 63 6b 67 72 ituations,.it.runs.in.the.backgr
15500 6f 75 6e 64 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 63 6f 72 64 73 20 74 68 65 ound...This.function.records.the
15520 20 62 75 69 6c 74 20 76 65 72 73 69 6f 6e 20 69 6e 20 74 68 65 20 6d 61 6e 69 66 65 73 74 0a 60 .built.version.in.the.manifest.`
15540 74 73 63 2d 64 79 6e 2d 67 65 74 2d 2d 76 65 72 73 69 6f 6e 2d 66 69 6c 65 27 2e 0a 0a 4f 6e 20 tsc-dyn-get--version-file'...On.
15560 57 69 6e 64 6f 77 73 2c 20 69 66 20 60 74 73 63 2d 64 79 6e 27 20 68 61 73 20 61 6c 72 65 61 64 Windows,.if.`tsc-dyn'.has.alread
15580 79 20 62 65 65 6e 20 6c 6f 61 64 65 64 2c 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 77 69 6c 6c 20 y.been.loaded,.compilation.will.
155a0 66 61 69 6c 20 62 65 63 61 75 73 65 0a 74 68 65 20 4f 53 20 64 6f 65 73 6e 27 74 20 61 6c 6c 6f fail.because.the.OS.doesn't.allo
155c0 77 20 6f 76 65 72 77 72 69 74 69 6e 67 20 6f 70 65 6e 65 64 20 64 79 6e 61 6d 69 63 61 6c 6c 79 w.overwriting.opened.dynamically
155e0 2d 6c 6f 61 64 65 64 20 6c 69 62 72 61 72 69 65 73 2e 22 0a 20 20 28 75 6e 6c 65 73 73 20 64 69 -loaded.libraries."...(unless.di
15600 72 20 28 73 65 74 71 20 64 69 72 20 74 73 63 2d 2d 64 69 72 29 29 0a 20 20 28 77 68 69 6c 65 20 r.(setq.dir.tsc--dir))...(while.
15620 28 6e 6f 74 20 28 65 78 65 63 75 74 61 62 6c 65 2d 66 69 6e 64 20 22 63 61 72 67 6f 22 29 29 0a (not.(executable-find."cargo")).
15640 20 20 20 20 28 69 66 20 6e 6f 6e 69 6e 74 65 72 61 63 74 69 76 65 0a 20 20 20 20 20 20 20 20 28 ....(if.noninteractive.........(
15660 73 69 67 6e 61 6c 20 27 74 73 63 2d 63 6f 6d 70 69 6c 65 2d 65 72 72 6f 72 20 22 43 6f 75 6c 64 signal.'tsc-compile-error."Could
15680 20 6e 6f 74 20 66 69 6e 64 20 60 63 61 72 67 6f 27 20 65 78 65 63 75 74 61 62 6c 65 22 29 0a 20 .not.find.`cargo'.executable")..
156a0 20 20 20 20 20 3b 3b 20 54 4f 44 4f 3a 20 4d 61 6b 65 20 61 20 62 65 74 74 65 72 20 70 72 6f 6d .....;;.TODO:.Make.a.better.prom
156c0 70 74 2e 0a 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 79 2d 6f 72 2d 6e 2d 70 0a 20 20 20 20 pt........(unless.(y-or-n-p.....
156e0 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 43 6f 75 6c 64 20 6e 6f 74 20 66 69 ...........(format."Could.not.fi
15700 6e 64 20 60 63 61 72 67 6f 27 20 65 78 65 63 75 74 61 62 6c 65 2e 0a 50 6c 65 61 73 65 20 70 72 nd.`cargo'.executable..Please.pr
15720 65 73 73 20 27 25 73 27 20 61 66 74 65 72 20 69 6e 73 74 61 6c 6c 69 6e 67 20 74 68 65 20 52 75 ess.'%s'.after.installing.the.Ru
15740 73 74 20 74 6f 6f 6c 63 68 61 69 6e 20 28 65 2e 67 2e 20 66 72 6f 6d 20 68 74 74 70 73 3a 2f 2f st.toolchain.(e.g..from.https://
15760 72 75 73 74 75 70 2e 72 73 2f 29 2e 0a 50 72 65 73 73 20 27 25 73 27 20 74 6f 20 63 61 6e 63 65 rustup.rs/)..Press.'%s'.to.cance
15780 6c 2e 20 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f l.."........................(pro
157a0 70 65 72 74 69 7a 65 20 22 79 22 20 27 66 61 63 65 20 27 62 6f 6c 64 29 0a 20 20 20 20 20 20 20 pertize."y".'face.'bold)........
157c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 70 65 72 74 69 7a 65 20 22 6e 22 20 ................(propertize."n".
157e0 27 66 61 63 65 20 27 65 72 72 6f 72 29 29 29 0a 20 20 20 20 20 20 20 20 28 73 69 67 6e 61 6c 20 'face.'error))).........(signal.
15800 27 74 73 63 2d 63 6f 6d 70 69 6c 65 2d 65 72 72 6f 72 20 22 43 6f 6d 70 69 6c 61 74 69 6f 6e 20 'tsc-compile-error."Compilation.
15820 77 61 73 20 63 61 6e 63 65 6c 6c 65 64 22 29 29 29 29 0a 20 20 28 69 66 20 28 6f 72 20 6e 6f 6e was.cancelled"))))...(if.(or.non
15840 69 6e 74 65 72 61 63 74 69 76 65 0a 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 66 65 61 74 interactive...........(not.(feat
15860 75 72 65 70 20 27 74 73 63 2d 64 79 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 74 73 63 2d 64 79 urep.'tsc-dyn))...........tsc-dy
15880 6e 2d 67 65 74 2d 2d 66 6f 72 63 65 2d 73 79 6e 63 29 0a 20 20 20 20 20 20 28 74 73 63 2d 64 79 n-get--force-sync).......(tsc-dy
158a0 6e 2d 67 65 74 2d 2d 62 75 69 6c 64 2d 73 79 6e 63 20 64 69 72 29 0a 20 20 20 20 3b 3b 20 54 4f n-get--build-sync.dir).....;;.TO
158c0 44 4f 3a 20 4e 6f 74 69 66 79 20 75 73 65 72 20 66 6f 72 20 66 75 72 74 68 65 72 20 61 63 74 69 DO:.Notify.user.for.further.acti
158e0 6f 6e 73 2e 20 49 66 20 60 74 73 63 27 20 68 61 73 20 6e 6f 74 20 62 65 65 6e 20 6c 6f 61 64 65 ons..If.`tsc'.has.not.been.loade
15900 64 2c 0a 20 20 20 20 3b 3b 20 6f 66 66 65 72 20 74 6f 20 6c 6f 61 64 20 69 74 2e 20 49 66 20 69 d,.....;;.offer.to.load.it..If.i
15920 74 20 68 61 73 20 61 6c 72 65 61 64 79 20 62 65 65 6e 20 6c 6f 61 64 65 64 2c 20 6f 66 66 65 72 t.has.already.been.loaded,.offer
15940 20 74 6f 20 72 65 73 74 61 72 74 20 45 6d 61 63 73 0a 20 20 20 20 3b 3b 20 74 6f 20 62 65 20 61 .to.restart.Emacs.....;;.to.be.a
15960 62 6c 65 20 74 6f 20 6c 6f 61 64 20 74 68 65 20 6e 65 77 6c 79 20 62 75 69 6c 74 20 60 74 73 63 ble.to.load.the.newly.built.`tsc
15980 2d 64 79 6e 27 2e 0a 20 20 20 20 28 74 73 63 2d 64 79 6e 2d 67 65 74 2d 2d 62 75 69 6c 64 2d 61 -dyn'......(tsc-dyn-get--build-a
159a0 73 79 6e 63 20 64 69 72 29 29 29 0a 0a 3b 3b 3b 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d sync.dir)))..;;;.---------------
159c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
159e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 3b 3b -----------------------------.;;
15a00 3b 20 47 65 6e 65 72 69 63 20 6d 65 63 68 61 6e 69 73 6d 2e 0a 0a 28 64 65 66 75 6e 20 74 73 63 ;.Generic.mechanism...(defun.tsc
15a20 2d 2d 6d 6f 64 75 6c 65 2d 6c 6f 61 64 2d 6e 6f 65 72 72 6f 72 20 28 66 69 6c 65 29 0a 20 20 22 --module-load-noerror.(file)..."
15a40 54 72 79 20 6c 6f 61 64 69 6e 67 20 60 74 73 63 2d 64 79 6e 27 20 66 72 6f 6d 20 46 49 4c 45 2e Try.loading.`tsc-dyn'.from.FILE.
15a60 0a 52 65 74 75 72 6e 20 6e 69 6c 20 69 66 20 74 68 65 20 66 69 6c 65 20 64 6f 65 73 20 6e 6f 74 .Return.nil.if.the.file.does.not
15a80 20 65 78 69 73 74 2c 20 6f 72 20 69 73 20 6e 6f 74 20 61 20 6c 6f 61 64 61 62 6c 65 20 73 68 61 .exist,.or.is.not.a.loadable.sha
15aa0 72 65 64 20 6c 69 62 72 61 72 79 2e 22 0a 20 20 28 6f 72 20 28 66 65 61 74 75 72 65 70 20 27 74 red.library."...(or.(featurep.'t
15ac0 73 63 2d 64 79 6e 29 0a 20 20 20 20 20 20 28 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 5f 0a sc-dyn).......(condition-case._.
15ae0 20 20 20 20 20 20 20 20 20 20 28 6d 6f 64 75 6c 65 2d 6c 6f 61 64 20 66 69 6c 65 29 0a 20 20 20 ..........(module-load.file)....
15b00 20 20 20 20 20 28 6d 6f 64 75 6c 65 2d 6f 70 65 6e 2d 66 61 69 6c 65 64 20 6e 69 6c 29 29 29 29 .....(module-open-failed.nil))))
15b20 0a 0a 3b 3b 20 4f 6e 20 6d 61 63 4f 53 2c 20 77 65 20 75 73 65 60 2e 64 79 6c 69 62 27 2c 20 77 ..;;.On.macOS,.we.use`.dylib',.w
15b40 68 69 63 68 20 69 73 20 6d 6f 72 65 20 73 65 6e 73 69 62 6c 65 20 74 68 61 6e 20 60 2e 73 6f 27 hich.is.more.sensible.than.`.so'
15b60 2e 0a 3b 3b 0a 3b 3b 20 58 58 58 3a 20 55 73 69 6e 67 20 60 72 65 71 75 69 72 65 27 20 61 66 74 ..;;.;;.XXX:.Using.`require'.aft
15b80 65 72 20 73 65 74 74 69 6e 67 60 6d 6f 64 75 6c 65 2d 66 69 6c 65 2d 73 75 66 66 69 78 27 20 74 er.setting`module-file-suffix'.t
15ba0 6f 20 60 2e 64 79 6c 69 62 27 20 72 65 73 75 6c 74 73 20 69 6e 0a 3b 3b 20 22 43 61 6e 6e 6f 74 o.`.dylib'.results.in.;;."Cannot
15bc0 20 6f 70 65 6e 20 6c 6f 61 64 20 66 69 6c 65 3a 20 4e 6f 20 73 75 63 68 20 66 69 6c 65 20 6f 72 .open.load.file:.No.such.file.or
15be0 20 64 69 72 65 63 74 6f 72 79 2c 20 74 73 63 2d 64 79 6e 22 2e 0a 3b 3b 0a 3b 3b 20 58 58 58 3a .directory,.tsc-dyn"..;;.;;.XXX:
15c00 20 55 73 69 6e 67 20 60 6c 6f 61 64 27 20 72 65 73 75 6c 74 73 20 69 6e 20 61 6e 20 65 72 72 6f .Using.`load'.results.in.an.erro
15c20 72 20 6d 65 73 73 61 67 65 20 77 69 74 68 20 67 61 72 62 6c 65 64 20 74 65 78 74 3a 20 22 53 79 r.message.with.garbled.text:."Sy
15c40 6d 62 6f 6c e2 80 99 73 0a 3b 3b 20 76 61 6c 75 65 20 61 73 20 76 61 72 69 61 62 6c 65 20 69 73 mbol...s.;;.value.as.variable.is
15c60 20 76 6f 69 64 3a 20 c3 8f c3 ba c3 ad c3 be 22 2e 0a 3b 3b 0a 3b 3b 20 54 68 65 72 65 66 6f 72 .void:........."..;;.;;.Therefor
15c80 65 2c 20 77 65 20 6e 65 65 64 20 74 6f 20 73 65 61 72 63 68 20 66 6f 72 20 74 68 65 20 66 69 6c e,.we.need.to.search.for.the.fil
15ca0 65 20 61 6e 64 20 75 73 65 20 60 6d 6f 64 75 6c 65 2d 6c 6f 61 64 27 20 64 69 72 65 63 74 6c 79 e.and.use.`module-load'.directly
15cc0 2e 0a 28 64 65 66 75 6e 20 74 73 63 2d 64 79 6e 2d 2d 74 72 79 2d 6c 6f 61 64 2d 6d 61 63 20 28 ..(defun.tsc-dyn--try-load-mac.(
15ce0 29 0a 20 20 22 53 65 61 72 63 68 20 61 6e 64 20 6c 6f 61 64 20 74 68 65 20 64 79 6e 61 6d 69 63 )..."Search.and.load.the.dynamic
15d00 20 6d 6f 64 75 6c 65 20 6f 6e 20 6d 61 63 4f 53 2e 22 0a 20 20 28 6c 65 74 20 28 28 66 69 6c 65 .module.on.macOS."...(let.((file
15d20 20 22 74 73 63 2d 64 79 6e 2e 64 79 6c 69 62 22 29 29 0a 20 20 20 20 3b 3b 20 54 72 79 20 64 69 ."tsc-dyn.dylib")).....;;.Try.di
15d40 72 65 63 74 6f 72 79 20 63 6f 6e 74 61 69 6e 69 6e 67 20 60 6c 6f 61 64 2d 66 69 6c 65 2d 6e 61 rectory.containing.`load-file-na
15d60 6d 65 27 2e 20 54 79 70 69 63 61 6c 20 63 61 73 65 2e 20 54 4f 44 4f 3a 20 52 65 6d 6f 76 65 0a me'..Typical.case..TODO:.Remove.
15d80 20 20 20 20 3b 3b 20 74 68 69 73 20 73 70 65 63 69 61 6c 20 63 61 73 65 2e 0a 20 20 20 20 28 77 ....;;.this.special.case......(w
15da0 68 65 6e 20 6c 6f 61 64 2d 66 69 6c 65 2d 6e 61 6d 65 0a 20 20 20 20 20 20 28 74 73 63 2d 2d 6d hen.load-file-name.......(tsc--m
15dc0 6f 64 75 6c 65 2d 6c 6f 61 64 2d 6e 6f 65 72 72 6f 72 20 28 63 6f 6e 63 61 74 20 28 66 69 6c 65 odule-load-noerror.(concat.(file
15de0 2d 6e 61 6d 65 2d 64 69 72 65 63 74 6f 72 79 20 6c 6f 61 64 2d 66 69 6c 65 2d 6e 61 6d 65 29 0a -name-directory.load-file-name).
15e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
15e20 20 20 20 20 20 20 20 20 66 69 6c 65 29 29 29 0a 20 20 20 20 3b 3b 20 54 72 79 20 77 6f 72 6b 69 ........file))).....;;.Try.worki
15e40 6e 67 20 64 69 72 65 63 74 6f 72 79 20 28 65 2e 67 2e 20 77 68 65 6e 20 69 6e 76 6f 6b 65 64 20 ng.directory.(e.g..when.invoked.
15e60 62 79 20 60 63 61 73 6b 27 29 2e 20 54 4f 44 4f 3a 20 4d 6f 64 69 66 79 69 6e 67 20 6c 6f 61 64 by.`cask')..TODO:.Modifying.load
15e80 0a 20 20 20 20 3b 3b 20 70 61 74 68 20 77 68 65 6e 20 75 73 69 6e 67 20 60 63 61 73 6b 27 20 69 .....;;.path.when.using.`cask'.i
15ea0 6e 73 74 65 61 64 2e 0a 20 20 20 20 28 74 73 63 2d 2d 6d 6f 64 75 6c 65 2d 6c 6f 61 64 2d 6e 6f nstead......(tsc--module-load-no
15ec0 65 72 72 6f 72 20 66 69 6c 65 29 0a 20 20 20 20 3b 3b 20 46 61 6c 6c 20 62 61 63 6b 20 74 6f 20 error.file).....;;.Fall.back.to.
15ee0 60 6c 6f 61 64 2d 70 61 74 68 27 2e 0a 20 20 20 20 28 73 65 71 2d 66 69 6e 64 20 28 6c 61 6d 62 `load-path'......(seq-find.(lamb
15f00 64 61 20 28 64 69 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 da.(dir).................(let.((
15f20 66 75 6c 6c 2d 6e 61 6d 65 20 28 63 6f 6e 63 61 74 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 61 73 2d full-name.(concat.(file-name-as-
15f40 64 69 72 65 63 74 6f 72 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 directory.......................
15f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 ....................(expand-file
15f80 2d 6e 61 6d 65 20 64 69 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -name.dir)).....................
15fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 69 6c 65 29 29 29 0a 20 20 20 .....................file)))....
15fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 73 63 2d 2d 6d 6f 64 75 6c 65 2d 6c 6f 61 64 ...............(tsc--module-load
15fe0 2d 6e 6f 65 72 72 6f 72 20 66 75 6c 6c 2d 6e 61 6d 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 -noerror.full-name)))...........
16000 20 20 20 20 6c 6f 61 64 2d 70 61 74 68 29 29 29 0a 0a 28 64 65 66 75 6e 20 74 73 63 2d 64 79 6e ....load-path)))..(defun.tsc-dyn
16020 2d 2d 74 72 79 2d 6c 6f 61 64 20 28 29 0a 20 20 22 54 72 79 20 6c 6f 61 64 69 6e 67 20 60 74 73 --try-load.()..."Try.loading.`ts
16040 63 2d 64 79 6e 27 20 77 69 74 68 6f 75 74 20 73 69 67 6e 61 6c 69 6e 67 20 61 6e 20 65 72 72 6f c-dyn'.without.signaling.an.erro
16060 72 2e 0a 52 65 74 75 72 6e 20 74 20 6f 6e 20 73 75 63 63 65 73 73 2c 20 6e 69 6c 20 6f 74 68 65 r..Return.t.on.success,.nil.othe
16080 72 77 69 73 65 2e 22 0a 20 20 28 69 66 20 28 66 65 61 74 75 72 65 70 20 27 74 73 63 2d 64 79 6e rwise."...(if.(featurep.'tsc-dyn
160a0 29 0a 20 20 20 20 20 20 74 0a 20 20 20 20 28 77 68 65 6e 20 28 65 71 20 73 79 73 74 65 6d 2d 74 ).......t.....(when.(eq.system-t
160c0 79 70 65 20 27 64 61 72 77 69 6e 29 0a 20 20 20 20 20 20 28 74 73 63 2d 64 79 6e 2d 2d 74 72 79 ype.'darwin).......(tsc-dyn--try
160e0 2d 6c 6f 61 64 2d 6d 61 63 29 29 0a 20 20 20 20 28 72 65 71 75 69 72 65 20 27 74 73 63 2d 64 79 -load-mac)).....(require.'tsc-dy
16100 6e 20 6e 69 6c 20 3a 6e 6f 65 72 72 6f 72 29 29 29 0a 0a 3b 3b 20 54 4f 44 4f 3a 20 41 64 64 20 n.nil.:noerror)))..;;.TODO:.Add.
16120 74 65 73 74 73 20 66 6f 72 20 74 68 69 73 2e 0a 28 64 65 66 75 6e 20 74 73 63 2d 64 79 6e 2d 67 tests.for.this..(defun.tsc-dyn-g
16140 65 74 2d 65 6e 73 75 72 65 20 28 72 65 71 75 65 73 74 65 64 29 0a 20 20 22 54 72 79 20 74 6f 20 et-ensure.(requested)..."Try.to.
16160 67 65 74 20 61 6e 64 20 6c 6f 61 64 20 74 68 65 20 52 45 51 55 45 53 54 45 44 20 28 6f 72 20 6c get.and.load.the.REQUESTED.(or.l
16180 61 74 65 72 29 20 76 65 72 73 69 6f 6e 20 6f 66 20 60 74 73 63 2d 64 79 6e 27 2e 0a 0a 49 66 20 ater).version.of.`tsc-dyn'...If.
161a0 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 6e 6f 74 20 66 69 6e 64 20 61 20 73 75 69 74 this.function.cannot.find.a.suit
161c0 61 62 6c 65 20 76 65 72 73 69 6f 6e 20 6f 6e 20 60 6c 6f 61 64 2d 70 61 74 68 27 2c 20 69 74 20 able.version.on.`load-path',.it.
161e0 74 72 69 65 73 20 74 6f 20 67 65 74 0a 74 68 65 20 64 79 6e 61 6d 69 63 20 6d 6f 64 75 6c 65 20 tries.to.get.the.dynamic.module.
16200 66 72 6f 6d 20 73 6f 75 72 63 65 73 20 6c 69 73 74 65 64 20 69 6e 20 60 74 73 63 2d 64 79 6e 2d from.sources.listed.in.`tsc-dyn-
16220 67 65 74 2d 66 72 6f 6d 27 2e 0a 0a 4e 4f 54 45 3a 20 45 6d 61 63 73 20 63 61 6e 6e 6f 74 20 75 get-from'...NOTE:.Emacs.cannot.u
16240 6e 6c 6f 61 64 20 64 79 6e 61 6d 69 63 20 6d 6f 64 75 6c 65 73 2c 20 73 6f 20 69 66 20 60 74 73 nload.dynamic.modules,.so.if.`ts
16260 63 2d 64 79 6e 27 20 77 61 73 20 61 6c 72 65 61 64 79 20 6c 6f 61 64 65 64 2c 0a 79 6f 75 20 77 c-dyn'.was.already.loaded,.you.w
16280 69 6c 6c 20 6e 65 65 64 20 74 6f 20 72 65 73 74 61 72 74 20 45 6d 61 63 73 20 74 6f 20 6c 6f 61 ill.need.to.restart.Emacs.to.loa
162a0 64 20 74 68 65 20 6e 65 77 20 76 65 72 73 69 6f 6e 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 64 65 d.the.new.version."...(let*.((de
162c0 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 20 28 74 73 63 2d 64 79 6e 2d 67 65 74 2d 2d 64 69 fault-directory.(tsc-dyn-get--di
162e0 72 29 29 0a 20 20 20 20 20 20 20 20 20 28 72 65 63 6f 72 64 65 64 20 28 74 73 63 2d 64 79 6e 2d r))..........(recorded.(tsc-dyn-
16300 67 65 74 2d 2d 72 65 63 6f 72 64 65 64 2d 76 65 72 73 69 6f 6e 29 29 0a 20 20 20 20 20 20 20 20 get--recorded-version)).........
16320 20 28 6c 6f 61 64 65 64 20 28 74 73 63 2d 64 79 6e 2d 67 65 74 2d 2d 6c 6f 61 64 65 64 2d 76 65 .(loaded.(tsc-dyn-get--loaded-ve
16340 72 73 69 6f 6e 29 29 0a 20 20 20 20 20 20 20 20 20 28 6c 6f 61 64 2d 70 61 74 68 20 28 63 6f 6e rsion))..........(load-path.(con
16360 73 20 28 74 73 63 2d 64 79 6e 2d 67 65 74 2d 2d 64 69 72 29 20 6c 6f 61 64 2d 70 61 74 68 29 29 s.(tsc-dyn-get--dir).load-path))
16380 0a 20 20 20 20 20 20 20 20 20 28 74 73 63 2d 64 79 6e 2d 67 65 74 2d 2d 66 6f 72 63 65 2d 73 79 ..........(tsc-dyn-get--force-sy
163a0 6e 63 20 74 29 0a 20 20 20 20 20 20 20 20 20 67 65 74 2d 6e 65 77 29 0a 20 20 20 20 28 63 6c 2d nc.t)..........get-new).....(cl-
163c0 62 6c 6f 63 6b 20 6e 69 6c 0a 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 73 6f 75 72 63 65 20 block.nil.......(dolist.(source.
163e0 74 73 63 2d 64 79 6e 2d 67 65 74 2d 66 72 6f 6d 29 0a 20 20 20 20 20 20 20 20 28 74 73 63 2d 64 tsc-dyn-get-from).........(tsc-d
16400 79 6e 2d 67 65 74 2d 2d 6c 6f 67 20 22 55 73 69 6e 67 20 73 6f 75 72 63 65 20 25 73 20 28 3a 6c yn-get--log."Using.source.%s.(:l
16420 6f 61 64 65 64 20 25 73 20 3a 72 65 63 6f 72 64 65 64 20 25 73 20 3a 72 65 71 75 65 73 74 65 64 oaded.%s.:recorded.%s.:requested
16440 20 25 73 29 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .%s)"...........................
16460 73 6f 75 72 63 65 20 6c 6f 61 64 65 64 20 72 65 63 6f 72 64 65 64 20 72 65 71 75 65 73 74 65 64 source.loaded.recorded.requested
16480 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 67 65 74 2d 6e 65 77 20 28 70 63 61 73 65 20 73 ).........(setq.get-new.(pcase.s
164a0 6f 75 72 63 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3a ource.........................(:
164c0 67 69 74 68 75 62 20 28 6c 61 6d 62 64 61 20 28 29 20 28 74 73 63 2d 64 79 6e 2d 67 65 74 2d 2d github.(lambda.().(tsc-dyn-get--
164e0 67 69 74 68 75 62 20 72 65 71 75 65 73 74 65 64 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 github.requested))).............
16500 20 20 20 20 20 20 20 20 20 20 20 20 28 3a 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 28 6c 61 6d 62 64 ............(:compilation.(lambd
16520 61 20 28 29 20 28 74 73 63 2d 64 79 6e 2d 67 65 74 2d 2d 62 75 69 6c 64 29 29 29 0a 20 20 20 20 a.().(tsc-dyn-get--build))).....
16540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 5f 20 28 65 72 72 6f 72 20 22 44 ....................(_.(error."D
16560 6f 6e 27 74 20 6b 6e 6f 77 20 68 6f 77 20 74 6f 20 67 65 74 20 60 74 73 63 2d 64 79 6e 27 20 66 on't.know.how.to.get.`tsc-dyn'.f
16580 72 6f 6d 20 73 6f 75 72 63 65 20 25 73 22 20 73 6f 75 72 63 65 29 29 29 29 0a 20 20 20 20 20 20 rom.source.%s".source)))).......
165a0 20 20 28 77 69 74 68 2d 64 65 6d 6f 74 65 64 2d 65 72 72 6f 72 73 20 22 43 6f 75 6c 64 20 6e 6f ..(with-demoted-errors."Could.no
165c0 74 20 67 65 74 20 60 74 73 63 2d 64 79 6e 27 3a 20 25 73 22 0a 20 20 20 20 20 20 20 20 20 20 28 t.get.`tsc-dyn':.%s"...........(
165e0 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 6f 61 64 65 64 20 28 69 66 20 28 76 65 72 cond............(loaded.(if.(ver
16600 73 69 6f 6e 3c 3d 20 72 65 71 75 65 73 74 65 64 20 6c 6f 61 64 65 64 29 0a 20 20 20 20 20 20 20 sion<=.requested.loaded)........
16620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 73 63 2d 64 79 6e 2d 67 65 74 2d 2d 6c 6f ................(tsc-dyn-get--lo
16640 67 20 22 4c 6f 61 64 65 64 20 76 65 72 73 69 6f 6e 20 61 6c 72 65 61 64 79 20 73 61 74 69 73 66 g."Loaded.version.already.satisf
16660 69 65 73 20 72 65 71 75 65 73 74 65 64 20 2d 3e 20 73 6b 69 70 70 69 6e 67 22 29 0a 20 20 20 20 ies.requested.->.skipping").....
16680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 54 4f 44 4f 3a 20 4f 6e 20 57 69 6e .................;;.TODO:.On.Win
166a0 64 6f 77 73 2c 20 72 65 66 75 73 65 20 74 6f 20 63 6f 6e 74 69 6e 75 65 20 61 6e 64 20 61 73 6b dows,.refuse.to.continue.and.ask
166c0 20 75 73 65 72 20 74 6f 20 73 65 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .user.to.set....................
166e0 20 20 3b 3b 20 74 68 65 20 72 65 71 75 65 73 74 65 64 20 76 65 72 73 69 6f 6e 20 61 6e 64 20 72 ..;;.the.requested.version.and.r
16700 65 73 74 61 72 74 20 69 6e 73 74 65 61 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 estart.instead..................
16720 20 20 20 20 20 28 74 73 63 2d 64 79 6e 2d 67 65 74 2d 2d 6c 6f 67 20 22 4c 6f 61 64 65 64 20 76 .....(tsc-dyn-get--log."Loaded.v
16740 65 72 73 69 6f 6e 20 69 73 20 6f 6c 64 65 72 20 74 68 61 6e 20 72 65 71 75 65 73 74 65 64 20 2d ersion.is.older.than.requested.-
16760 3e 20 67 65 74 74 69 6e 67 20 6e 65 77 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 >.getting.new").................
16780 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 67 65 74 2d 6e 65 77 29 29 29 0a 20 20 20 20 20 20 20 .....(funcall.get-new)))........
167a0 20 20 20 20 28 72 65 63 6f 72 64 65 64 20 28 69 66 20 28 76 65 72 73 69 6f 6e 3c 3d 20 72 65 71 ....(recorded.(if.(version<=.req
167c0 75 65 73 74 65 64 20 72 65 63 6f 72 64 65 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 uested.recorded)................
167e0 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..........(progn................
16800 20 20 20 20 20 20 20 20 20 20 20 20 28 74 73 63 2d 64 79 6e 2d 67 65 74 2d 2d 6c 6f 67 20 22 52 ............(tsc-dyn-get--log."R
16820 65 63 6f 72 64 65 64 20 76 65 72 73 69 6f 6e 20 61 6c 72 65 61 64 79 20 73 61 74 69 66 69 65 73 ecorded.version.already.satifies
16840 20 72 65 71 75 65 73 74 65 64 20 2d 3e 20 6c 6f 61 64 69 6e 67 22 29 0a 20 20 20 20 20 20 20 20 .requested.->.loading").........
16860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 74 73 63 2d ...................(unless.(tsc-
16880 64 79 6e 2d 2d 74 72 79 2d 6c 6f 61 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 dyn--try-load)..................
168a0 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 54 68 65 20 76 65 72 73 69 6f 6e 20 66 69 6c 65 20 ............;;.The.version.file.
168c0 6d 61 79 20 68 61 76 65 20 62 65 65 6e 20 61 63 63 69 64 65 6e 74 61 6c 6c 79 20 64 65 6c 65 74 may.have.been.accidentally.delet
168e0 65 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ed..............................
16900 20 28 74 73 63 2d 64 79 6e 2d 67 65 74 2d 2d 6c 6f 67 20 22 43 6f 75 6c 64 20 6e 6f 74 20 6c 6f .(tsc-dyn-get--log."Could.not.lo
16920 61 64 20 2d 3e 20 67 65 74 74 69 6e 67 20 6e 65 77 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ad.->.getting.new").............
16940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 67 65 74 2d 6e 65 .................(funcall.get-ne
16960 77 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 w)..............................
16980 28 74 73 63 2d 64 79 6e 2d 2d 74 72 79 2d 6c 6f 61 64 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 (tsc-dyn--try-load)))...........
169a0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 73 63 2d 64 79 6e 2d 67 65 74 2d 2d 6c 6f 67 20 22 .............(tsc-dyn-get--log."
169c0 52 65 63 6f 72 64 65 64 20 76 65 72 73 69 6f 6e 20 69 73 20 6f 6c 64 65 72 20 74 68 61 6e 20 72 Recorded.version.is.older.than.r
169e0 65 71 75 65 73 74 65 64 20 2d 3e 20 67 65 74 74 69 6e 67 20 6e 65 77 22 29 0a 20 20 20 20 20 20 equested.->.getting.new").......
16a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 67 65 74 2d 6e 65 .................(funcall.get-ne
16a20 77 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 73 63 2d 64 w)........................(tsc-d
16a40 79 6e 2d 2d 74 72 79 2d 6c 6f 61 64 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 74 20 28 66 yn--try-load)))............(t.(f
16a60 75 6e 63 61 6c 6c 20 67 65 74 2d 6e 65 77 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 uncall.get-new)...............(t
16a80 73 63 2d 64 79 6e 2d 2d 74 72 79 2d 6c 6f 61 64 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 77 sc-dyn--try-load)))...........(w
16aa0 68 65 6e 20 28 66 65 61 74 75 72 65 70 20 27 74 73 63 2d 64 79 6e 29 0a 20 20 20 20 20 20 20 20 hen.(featurep.'tsc-dyn).........
16ac0 20 20 20 20 28 63 6c 2d 72 65 74 75 72 6e 29 29 29 29 29 0a 20 20 20 20 28 69 66 20 28 61 6e 64 ....(cl-return))))).....(if.(and
16ae0 20 6c 6f 61 64 65 64 20 28 76 65 72 73 69 6f 6e 3c 20 6c 6f 61 64 65 64 20 72 65 71 75 65 73 74 .loaded.(version<.loaded.request
16b00 65 64 29 29 0a 20 20 20 20 20 20 20 20 28 74 73 63 2d 64 79 6e 2d 67 65 74 2d 2d 77 61 72 6e 20 ed)).........(tsc-dyn-get--warn.
16b20 22 56 65 72 73 69 6f 6e 20 25 73 20 69 73 20 72 65 71 75 65 73 74 65 64 2c 20 62 75 74 20 25 73 "Version.%s.is.requested,.but.%s
16b40 20 77 61 73 20 61 6c 72 65 61 64 79 20 6c 6f 61 64 65 64 2e 20 50 6c 65 61 73 65 20 74 72 79 20 .was.already.loaded..Please.try.
16b60 72 65 73 74 61 72 74 69 6e 67 20 45 6d 61 63 73 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 restarting.Emacs."..............
16b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 71 75 65 73 74 65 64 20 6c 6f 61 64 65 64 29 0a ..............requested.loaded).
16ba0 20 20 20 20 20 20 3b 3b 20 45 76 65 6e 20 69 66 20 6e 6f 6e 65 20 6f 66 20 74 68 65 20 73 6f 75 ......;;.Even.if.none.of.the.sou
16bc0 72 63 65 73 20 77 6f 72 6b 65 64 2c 20 74 68 65 20 6d 6f 64 75 6c 65 20 6d 61 79 20 73 74 69 6c rces.worked,.the.module.may.stil
16be0 6c 20 62 65 20 74 68 65 72 65 2e 0a 20 20 20 20 20 20 28 74 73 63 2d 64 79 6e 2d 2d 74 72 79 2d l.be.there........(tsc-dyn--try-
16c00 6c 6f 61 64 29 0a 20 20 20 20 20 20 28 69 66 2d 6c 65 74 20 28 28 6c 6f 61 64 65 64 20 28 74 73 load).......(if-let.((loaded.(ts
16c20 63 2d 64 79 6e 2d 67 65 74 2d 2d 6c 6f 61 64 65 64 2d 76 65 72 73 69 6f 6e 29 29 29 0a 20 20 20 c-dyn-get--loaded-version)))....
16c40 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 76 65 72 73 69 6f 6e 3c 20 6c 6f 61 64 65 64 20 72 65 .......(when.(version<.loaded.re
16c60 71 75 65 73 74 65 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 74 73 63 2d 64 79 6e 2d 67 65 quested).............(tsc-dyn-ge
16c80 74 2d 2d 77 61 72 6e 20 22 56 65 72 73 69 6f 6e 20 25 73 20 69 73 20 72 65 71 75 65 73 74 65 64 t--warn."Version.%s.is.requested
16ca0 2c 20 62 75 74 20 61 63 74 75 61 6c 20 76 65 72 73 69 6f 6e 20 61 66 74 65 72 20 6c 6f 61 64 69 ,.but.actual.version.after.loadi
16cc0 6e 67 20 69 73 20 25 73 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ng.is.%s."......................
16ce0 20 20 20 20 20 20 20 20 20 20 72 65 71 75 65 73 74 65 64 20 6c 6f 61 64 65 64 29 29 0a 20 20 20 ..........requested.loaded))....
16d00 20 20 20 20 20 28 74 73 63 2d 64 79 6e 2d 67 65 74 2d 2d 77 61 72 6e 20 22 46 61 69 6c 65 64 20 .....(tsc-dyn-get--warn."Failed.
16d20 74 6f 20 67 65 74 20 72 65 71 75 65 73 74 65 64 20 76 65 72 73 69 6f 6e 20 25 73 2e 22 20 72 65 to.get.requested.version.%s.".re
16d40 71 75 65 73 74 65 64 29 29 29 0a 20 20 20 20 28 74 73 63 2d 64 79 6e 2d 67 65 74 2d 2d 6c 6f 61 quested))).....(tsc-dyn-get--loa
16d60 64 65 64 2d 76 65 72 73 69 6f 6e 29 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 74 73 63 2d 64 79 ded-version)))..(provide.'tsc-dy
16d80 6e 2d 67 65 74 29 0a 3b 3b 3b 20 74 73 63 2d 64 79 6e 2d 67 65 74 2e 65 6c 20 65 6e 64 73 20 68 n-get).;;;.tsc-dyn-get.el.ends.h
16da0 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ere.............................
16dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16e00 74 73 63 2d 32 30 32 32 30 32 31 32 2e 31 36 33 32 2f 74 73 63 2d 6f 62 73 6f 6c 65 74 65 2e 65 tsc-20220212.1632/tsc-obsolete.e
16e20 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 l...............................
16e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16e60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
16e80 30 30 32 35 35 32 31 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 35 32 32 00 20 30 00 00 00 0025521.00000000000.014522..0...
16ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16f00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
16f20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
16f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17000 3b 3b 3b 20 74 73 63 2d 6f 62 73 6f 6c 65 74 65 2e 65 6c 20 2d 2d 2d 20 4f 62 73 6f 6c 65 74 65 ;;;.tsc-obsolete.el.---.Obsolete
17020 20 74 72 65 65 2d 73 69 74 74 65 72 20 41 50 49 73 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 69 .tree-sitter.APIs.-*-.lexical-bi
17040 6e 64 69 6e 67 3a 20 74 3b 20 63 6f 64 69 6e 67 3a 20 75 74 66 2d 38 2d 2a 2d 0a 0a 3b 3b 20 43 nding:.t;.coding:.utf-8-*-..;;.C
17060 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 32 30 20 54 75 e1 ba a5 6e 2d 41 6e 68 20 4e 67 75 opyright.(C).2020.Tu...n-Anh.Ngu
17080 79 e1 bb 85 6e 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d 49 64 65 6e 74 69 66 69 65 72 y...n.;;.SPDX-License-Identifier
170a0 3a 20 4d 49 54 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b 20 54 68 69 73 20 :.MIT..;;;.Commentary:..;;.This.
170c0 66 69 6c 65 20 63 6f 6e 74 61 69 6e 73 20 6f 62 73 6f 6c 65 74 65 20 60 74 73 63 27 20 66 75 6e file.contains.obsolete.`tsc'.fun
170e0 63 74 69 6f 6e 73 2c 20 6b 65 70 74 20 61 72 6f 75 6e 64 20 66 6f 72 20 74 65 6d 70 6f 72 61 72 ctions,.kept.around.for.temporar
17100 79 0a 3b 3b 20 62 61 63 6b 77 61 72 64 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 2e 20 54 68 65 y.;;.backward.compatibility..The
17120 79 20 77 69 6c 6c 20 65 76 65 6e 74 75 61 6c 6c 79 20 62 65 20 72 65 6d 6f 76 65 64 2e 0a 0a 3b y.will.eventually.be.removed...;
17140 3b 3b 20 43 6f 64 65 3a 0a 0a 3b 3b 3b 20 50 75 62 6c 69 63 2e 0a 28 64 65 66 69 6e 65 2d 6f 62 ;;.Code:..;;;.Public..(define-ob
17160 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d 63 68 61 6e 67 65 solete-function-alias.'ts-change
17180 64 2d 72 61 6e 67 65 73 20 27 74 73 63 2d 63 68 61 6e 67 65 64 2d 72 61 6e 67 65 73 20 22 32 30 d-ranges.'tsc-changed-ranges."20
171a0 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 20-10-13").(define-obsolete-func
171c0 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d 63 6f 75 6e 74 2d 63 68 69 6c 64 72 65 6e 20 27 74 tion-alias.'ts-count-children.'t
171e0 73 63 2d 63 6f 75 6e 74 2d 63 68 69 6c 64 72 65 6e 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a sc-count-children."2020-10-13").
17200 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 (define-obsolete-function-alias.
17220 27 74 73 2d 63 6f 75 6e 74 2d 6e 61 6d 65 64 2d 63 68 69 6c 64 72 65 6e 20 27 74 73 63 2d 63 6f 'ts-count-named-children.'tsc-co
17240 75 6e 74 2d 6e 61 6d 65 64 2d 63 68 69 6c 64 72 65 6e 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 unt-named-children."2020-10-13")
17260 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 .(define-obsolete-function-alias
17280 20 27 74 73 2d 63 75 72 72 65 6e 74 2d 66 69 65 6c 64 20 27 74 73 63 2d 63 75 72 72 65 6e 74 2d .'ts-current-field.'tsc-current-
172a0 66 69 65 6c 64 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f field."2020-10-13").(define-obso
172c0 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d 63 75 72 72 65 6e 74 2d lete-function-alias.'ts-current-
172e0 66 69 65 6c 64 2d 69 64 20 27 74 73 63 2d 63 75 72 72 65 6e 74 2d 66 69 65 6c 64 2d 69 64 20 22 field-id.'tsc-current-field-id."
17300 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 2020-10-13").(define-obsolete-fu
17320 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d 63 75 72 72 65 6e 74 2d 6e 6f 64 65 20 27 74 nction-alias.'ts-current-node.'t
17340 73 63 2d 63 75 72 72 65 6e 74 2d 6e 6f 64 65 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 sc-current-node."2020-10-13").(d
17360 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 efine-obsolete-function-alias.'t
17380 73 2d 63 75 72 73 6f 72 2d 70 20 27 74 73 63 2d 63 75 72 73 6f 72 2d 70 20 22 32 30 32 30 2d 31 s-cursor-p.'tsc-cursor-p."2020-1
173a0 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 0-13").(define-obsolete-function
173c0 2d 61 6c 69 61 73 20 27 74 73 2d 64 79 6e 2d 67 65 74 20 27 74 73 63 2d 64 79 6e 2d 67 65 74 20 -alias.'ts-dyn-get.'tsc-dyn-get.
173e0 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 "2020-10-13").(define-obsolete-f
17400 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d 64 79 6e 2d 67 65 74 2d 65 6e 73 75 72 65 unction-alias.'ts-dyn-get-ensure
17420 20 27 74 73 63 2d 64 79 6e 2d 67 65 74 2d 65 6e 73 75 72 65 20 22 32 30 32 30 2d 31 30 2d 31 33 .'tsc-dyn-get-ensure."2020-10-13
17440 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 ").(define-obsolete-function-ali
17460 61 73 20 27 74 73 2d 65 64 69 74 2d 6e 6f 64 65 20 27 74 73 63 2d 65 64 69 74 2d 6e 6f 64 65 20 as.'ts-edit-node.'tsc-edit-node.
17480 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 "2020-10-13").(define-obsolete-f
174a0 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d 65 64 69 74 2d 74 72 65 65 20 27 74 73 63 unction-alias.'ts-edit-tree.'tsc
174c0 2d 65 64 69 74 2d 74 72 65 65 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 -edit-tree."2020-10-13").(define
174e0 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d 67 65 74 -obsolete-function-alias.'ts-get
17500 2d 63 68 69 6c 64 2d 62 79 2d 66 69 65 6c 64 20 27 74 73 63 2d 67 65 74 2d 63 68 69 6c 64 2d 62 -child-by-field.'tsc-get-child-b
17520 79 2d 66 69 65 6c 64 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 y-field."2020-10-13").(define-ob
17540 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d 67 65 74 2d 63 68 solete-function-alias.'ts-get-ch
17560 69 6c 64 2d 62 79 2d 66 69 65 6c 64 2d 69 64 20 27 74 73 63 2d 67 65 74 2d 63 68 69 6c 64 2d 62 ild-by-field-id.'tsc-get-child-b
17580 79 2d 66 69 65 6c 64 2d 69 64 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 y-field-id."2020-10-13").(define
175a0 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d 67 65 74 -obsolete-function-alias.'ts-get
175c0 2d 64 65 73 63 65 6e 64 61 6e 74 2d 66 6f 72 2d 62 79 74 65 2d 72 61 6e 67 65 20 27 74 73 63 2d -descendant-for-byte-range.'tsc-
175e0 67 65 74 2d 64 65 73 63 65 6e 64 61 6e 74 2d 66 6f 72 2d 62 79 74 65 2d 72 61 6e 67 65 20 22 32 get-descendant-for-byte-range."2
17600 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 020-10-13").(define-obsolete-fun
17620 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d 67 65 74 2d 64 65 73 63 65 6e 64 61 6e 74 2d 66 ction-alias.'ts-get-descendant-f
17640 6f 72 2d 70 6f 69 6e 74 2d 72 61 6e 67 65 20 27 74 73 63 2d 67 65 74 2d 64 65 73 63 65 6e 64 61 or-point-range.'tsc-get-descenda
17660 6e 74 2d 66 6f 72 2d 70 6f 69 6e 74 2d 72 61 6e 67 65 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 nt-for-point-range."2020-10-13")
17680 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 .(define-obsolete-function-alias
176a0 20 27 74 73 2d 67 65 74 2d 64 65 73 63 65 6e 64 61 6e 74 2d 66 6f 72 2d 70 6f 73 69 74 69 6f 6e .'ts-get-descendant-for-position
176c0 2d 72 61 6e 67 65 20 27 74 73 63 2d 67 65 74 2d 64 65 73 63 65 6e 64 61 6e 74 2d 66 6f 72 2d 70 -range.'tsc-get-descendant-for-p
176e0 6f 73 69 74 69 6f 6e 2d 72 61 6e 67 65 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 osition-range."2020-10-13").(def
17700 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d ine-obsolete-function-alias.'ts-
17720 67 65 74 2d 6e 61 6d 65 64 2d 64 65 73 63 65 6e 64 61 6e 74 2d 66 6f 72 2d 62 79 74 65 2d 72 61 get-named-descendant-for-byte-ra
17740 6e 67 65 20 27 74 73 63 2d 67 65 74 2d 6e 61 6d 65 64 2d 64 65 73 63 65 6e 64 61 6e 74 2d 66 6f nge.'tsc-get-named-descendant-fo
17760 72 2d 62 79 74 65 2d 72 61 6e 67 65 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 69 r-byte-range."2020-10-13").(defi
17780 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d 67 ne-obsolete-function-alias.'ts-g
177a0 65 74 2d 6e 61 6d 65 64 2d 64 65 73 63 65 6e 64 61 6e 74 2d 66 6f 72 2d 70 6f 69 6e 74 2d 72 61 et-named-descendant-for-point-ra
177c0 6e 67 65 20 27 74 73 63 2d 67 65 74 2d 6e 61 6d 65 64 2d 64 65 73 63 65 6e 64 61 6e 74 2d 66 6f nge.'tsc-get-named-descendant-fo
177e0 72 2d 70 6f 69 6e 74 2d 72 61 6e 67 65 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 r-point-range."2020-10-13").(def
17800 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d ine-obsolete-function-alias.'ts-
17820 67 65 74 2d 6e 61 6d 65 64 2d 64 65 73 63 65 6e 64 61 6e 74 2d 66 6f 72 2d 70 6f 73 69 74 69 6f get-named-descendant-for-positio
17840 6e 2d 72 61 6e 67 65 20 27 74 73 63 2d 67 65 74 2d 6e 61 6d 65 64 2d 64 65 73 63 65 6e 64 61 6e n-range.'tsc-get-named-descendan
17860 74 2d 66 6f 72 2d 70 6f 73 69 74 69 6f 6e 2d 72 61 6e 67 65 20 22 32 30 32 30 2d 31 30 2d 31 33 t-for-position-range."2020-10-13
17880 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 ").(define-obsolete-function-ali
178a0 61 73 20 27 74 73 2d 67 65 74 2d 6e 65 78 74 2d 6e 61 6d 65 64 2d 73 69 62 6c 69 6e 67 20 27 74 as.'ts-get-next-named-sibling.'t
178c0 73 63 2d 67 65 74 2d 6e 65 78 74 2d 6e 61 6d 65 64 2d 73 69 62 6c 69 6e 67 20 22 32 30 32 30 2d sc-get-next-named-sibling."2020-
178e0 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 10-13").(define-obsolete-functio
17900 6e 2d 61 6c 69 61 73 20 27 74 73 2d 67 65 74 2d 6e 65 78 74 2d 73 69 62 6c 69 6e 67 20 27 74 73 n-alias.'ts-get-next-sibling.'ts
17920 63 2d 67 65 74 2d 6e 65 78 74 2d 73 69 62 6c 69 6e 67 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 c-get-next-sibling."2020-10-13")
17940 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 .(define-obsolete-function-alias
17960 20 27 74 73 2d 67 65 74 2d 6e 74 68 2d 63 68 69 6c 64 20 27 74 73 63 2d 67 65 74 2d 6e 74 68 2d .'ts-get-nth-child.'tsc-get-nth-
17980 63 68 69 6c 64 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f child."2020-10-13").(define-obso
179a0 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d 67 65 74 2d 6e 74 68 2d lete-function-alias.'ts-get-nth-
179c0 6e 61 6d 65 64 2d 63 68 69 6c 64 20 27 74 73 63 2d 67 65 74 2d 6e 74 68 2d 6e 61 6d 65 64 2d 63 named-child.'tsc-get-nth-named-c
179e0 68 69 6c 64 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c hild."2020-10-13").(define-obsol
17a00 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d 67 65 74 2d 70 61 72 65 6e ete-function-alias.'ts-get-paren
17a20 74 20 27 74 73 63 2d 67 65 74 2d 70 61 72 65 6e 74 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a t.'tsc-get-parent."2020-10-13").
17a40 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 (define-obsolete-function-alias.
17a60 27 74 73 2d 67 65 74 2d 70 72 65 76 2d 6e 61 6d 65 64 2d 73 69 62 6c 69 6e 67 20 27 74 73 63 2d 'ts-get-prev-named-sibling.'tsc-
17a80 67 65 74 2d 70 72 65 76 2d 6e 61 6d 65 64 2d 73 69 62 6c 69 6e 67 20 22 32 30 32 30 2d 31 30 2d get-prev-named-sibling."2020-10-
17aa0 31 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 13").(define-obsolete-function-a
17ac0 6c 69 61 73 20 27 74 73 2d 67 65 74 2d 70 72 65 76 2d 73 69 62 6c 69 6e 67 20 27 74 73 63 2d 67 lias.'ts-get-prev-sibling.'tsc-g
17ae0 65 74 2d 70 72 65 76 2d 73 69 62 6c 69 6e 67 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 et-prev-sibling."2020-10-13").(d
17b00 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 efine-obsolete-function-alias.'t
17b20 73 2d 67 6f 74 6f 2d 66 69 72 73 74 2d 63 68 69 6c 64 20 27 74 73 63 2d 67 6f 74 6f 2d 66 69 72 s-goto-first-child.'tsc-goto-fir
17b40 73 74 2d 63 68 69 6c 64 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f st-child."2020-10-13").(define-o
17b60 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d 67 6f 74 6f 2d bsolete-function-alias.'ts-goto-
17b80 66 69 72 73 74 2d 63 68 69 6c 64 2d 66 6f 72 2d 62 79 74 65 20 27 74 73 63 2d 67 6f 74 6f 2d 66 first-child-for-byte.'tsc-goto-f
17ba0 69 72 73 74 2d 63 68 69 6c 64 2d 66 6f 72 2d 62 79 74 65 20 22 32 30 32 30 2d 31 30 2d 31 33 22 irst-child-for-byte."2020-10-13"
17bc0 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 ).(define-obsolete-function-alia
17be0 73 20 27 74 73 2d 67 6f 74 6f 2d 66 69 72 73 74 2d 63 68 69 6c 64 2d 66 6f 72 2d 70 6f 73 69 74 s.'ts-goto-first-child-for-posit
17c00 69 6f 6e 20 27 74 73 63 2d 67 6f 74 6f 2d 66 69 72 73 74 2d 63 68 69 6c 64 2d 66 6f 72 2d 70 6f ion.'tsc-goto-first-child-for-po
17c20 73 69 74 69 6f 6e 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 sition."2020-10-13").(define-obs
17c40 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d 67 6f 74 6f 2d 6e 65 olete-function-alias.'ts-goto-ne
17c60 78 74 2d 73 69 62 6c 69 6e 67 20 27 74 73 63 2d 67 6f 74 6f 2d 6e 65 78 74 2d 73 69 62 6c 69 6e xt-sibling.'tsc-goto-next-siblin
17c80 67 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 g."2020-10-13").(define-obsolete
17ca0 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d 67 6f 74 6f 2d 70 61 72 65 6e 74 20 -function-alias.'ts-goto-parent.
17cc0 27 74 73 63 2d 67 6f 74 6f 2d 70 61 72 65 6e 74 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 'tsc-goto-parent."2020-10-13").(
17ce0 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 define-obsolete-function-alias.'
17d00 74 73 2d 6c 61 6e 67 2d 63 6f 75 6e 74 2d 66 69 65 6c 64 73 20 27 74 73 63 2d 6c 61 6e 67 2d 63 ts-lang-count-fields.'tsc-lang-c
17d20 6f 75 6e 74 2d 66 69 65 6c 64 73 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e ount-fields."2020-10-13").(defin
17d40 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d 6c 61 e-obsolete-function-alias.'ts-la
17d60 6e 67 2d 63 6f 75 6e 74 2d 74 79 70 65 73 20 27 74 73 63 2d 6c 61 6e 67 2d 63 6f 75 6e 74 2d 74 ng-count-types.'tsc-lang-count-t
17d80 79 70 65 73 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c ypes."2020-10-13").(define-obsol
17da0 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d 6c 61 6e 67 2d 66 69 65 6c ete-function-alias.'ts-lang-fiel
17dc0 64 20 27 74 73 63 2d 6c 61 6e 67 2d 66 69 65 6c 64 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a d.'tsc-lang-field."2020-10-13").
17de0 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 (define-obsolete-function-alias.
17e00 27 74 73 2d 6c 61 6e 67 2d 66 69 65 6c 64 2d 69 64 20 27 74 73 63 2d 6c 61 6e 67 2d 66 69 65 6c 'ts-lang-field-id.'tsc-lang-fiel
17e20 64 2d 69 64 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c d-id."2020-10-13").(define-obsol
17e40 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d 6c 61 6e 67 2d 6e 6f 64 65 ete-function-alias.'ts-lang-node
17e60 2d 74 79 70 65 20 27 74 73 63 2d 6c 61 6e 67 2d 6e 6f 64 65 2d 74 79 70 65 20 22 32 30 32 30 2d -type.'tsc-lang-node-type."2020-
17e80 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 10-13").(define-obsolete-functio
17ea0 6e 2d 61 6c 69 61 73 20 27 74 73 2d 6c 61 6e 67 2d 6e 6f 64 65 2d 74 79 70 65 2d 69 64 20 27 74 n-alias.'ts-lang-node-type-id.'t
17ec0 73 63 2d 6c 61 6e 67 2d 6e 6f 64 65 2d 74 79 70 65 2d 69 64 20 22 32 30 32 30 2d 31 30 2d 31 33 sc-lang-node-type-id."2020-10-13
17ee0 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 ").(define-obsolete-function-ali
17f00 61 73 20 27 74 73 2d 6c 61 6e 67 2d 6e 6f 64 65 2d 74 79 70 65 2d 6e 61 6d 65 64 2d 70 20 27 74 as.'ts-lang-node-type-named-p.'t
17f20 73 63 2d 6c 61 6e 67 2d 6e 6f 64 65 2d 74 79 70 65 2d 6e 61 6d 65 64 2d 70 20 22 32 30 32 30 2d sc-lang-node-type-named-p."2020-
17f40 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 10-13").(define-obsolete-functio
17f60 6e 2d 61 6c 69 61 73 20 27 74 73 2d 6c 61 6e 67 2d 76 65 72 73 69 6f 6e 20 27 74 73 63 2d 6c 61 n-alias.'ts-lang-version.'tsc-la
17f80 6e 67 2d 76 65 72 73 69 6f 6e 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 ng-version."2020-10-13").(define
17fa0 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d 6c 61 6e -obsolete-function-alias.'ts-lan
17fc0 67 75 61 67 65 2d 70 20 27 74 73 63 2d 6c 61 6e 67 75 61 67 65 2d 70 20 22 32 30 32 30 2d 31 30 guage-p.'tsc-language-p."2020-10
17fe0 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d -13").(define-obsolete-function-
18000 61 6c 69 61 73 20 27 74 73 2d 6d 61 6b 65 2d 63 75 72 73 6f 72 20 27 74 73 63 2d 6d 61 6b 65 2d alias.'ts-make-cursor.'tsc-make-
18020 63 75 72 73 6f 72 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 cursor."2020-10-13").(define-obs
18040 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d 6d 61 6b 65 2d 70 61 olete-function-alias.'ts-make-pa
18060 72 73 65 72 20 27 74 73 63 2d 6d 61 6b 65 2d 70 61 72 73 65 72 20 22 32 30 32 30 2d 31 30 2d 31 rser.'tsc-make-parser."2020-10-1
18080 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 3").(define-obsolete-function-al
180a0 69 61 73 20 27 74 73 2d 6d 61 6b 65 2d 71 75 65 72 79 20 27 74 73 63 2d 6d 61 6b 65 2d 71 75 65 ias.'ts-make-query.'tsc-make-que
180c0 72 79 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 ry."2020-10-13").(define-obsolet
180e0 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d 6d 61 6b 65 2d 71 75 65 72 79 2d e-function-alias.'ts-make-query-
18100 63 75 72 73 6f 72 20 27 74 73 63 2d 6d 61 6b 65 2d 71 75 65 72 79 2d 63 75 72 73 6f 72 20 22 32 cursor.'tsc-make-query-cursor."2
18120 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 020-10-13").(define-obsolete-fun
18140 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d 6d 61 70 63 2d 63 68 69 6c 64 72 65 6e 20 27 74 ction-alias.'ts-mapc-children.'t
18160 73 63 2d 6d 61 70 63 2d 63 68 69 6c 64 72 65 6e 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 sc-mapc-children."2020-10-13").(
18180 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 define-obsolete-function-alias.'
181a0 74 73 2d 6e 6f 64 65 2d 62 79 74 65 2d 72 61 6e 67 65 20 27 74 73 63 2d 6e 6f 64 65 2d 62 79 74 ts-node-byte-range.'tsc-node-byt
181c0 65 2d 72 61 6e 67 65 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 e-range."2020-10-13").(define-ob
181e0 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d 6e 6f 64 65 2d 65 solete-function-alias.'ts-node-e
18200 6e 64 2d 62 79 74 65 20 27 74 73 63 2d 6e 6f 64 65 2d 65 6e 64 2d 62 79 74 65 20 22 32 30 32 30 nd-byte.'tsc-node-end-byte."2020
18220 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 -10-13").(define-obsolete-functi
18240 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d 6e 6f 64 65 2d 65 6e 64 2d 70 6f 69 6e 74 20 27 74 73 63 on-alias.'ts-node-end-point.'tsc
18260 2d 6e 6f 64 65 2d 65 6e 64 2d 70 6f 69 6e 74 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 -node-end-point."2020-10-13").(d
18280 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 efine-obsolete-function-alias.'t
182a0 73 2d 6e 6f 64 65 2d 65 6e 64 2d 70 6f 73 69 74 69 6f 6e 20 27 74 73 63 2d 6e 6f 64 65 2d 65 6e s-node-end-position.'tsc-node-en
182c0 64 2d 70 6f 73 69 74 69 6f 6e 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 d-position."2020-10-13").(define
182e0 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d 6e 6f 64 -obsolete-function-alias.'ts-nod
18300 65 2d 65 71 20 27 74 73 63 2d 6e 6f 64 65 2d 65 71 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a e-eq.'tsc-node-eq."2020-10-13").
18320 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 (define-obsolete-function-alias.
18340 27 74 73 2d 6e 6f 64 65 2d 65 72 72 6f 72 2d 70 20 27 74 73 63 2d 6e 6f 64 65 2d 65 72 72 6f 72 'ts-node-error-p.'tsc-node-error
18360 2d 70 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 -p."2020-10-13").(define-obsolet
18380 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d 6e 6f 64 65 2d 65 78 74 72 61 2d e-function-alias.'ts-node-extra-
183a0 70 20 27 74 73 63 2d 6e 6f 64 65 2d 65 78 74 72 61 2d 70 20 22 32 30 32 30 2d 31 30 2d 31 33 22 p.'tsc-node-extra-p."2020-10-13"
183c0 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 ).(define-obsolete-function-alia
183e0 73 20 27 74 73 2d 6e 6f 64 65 2d 68 61 73 2d 63 68 61 6e 67 65 73 2d 70 20 27 74 73 63 2d 6e 6f s.'ts-node-has-changes-p.'tsc-no
18400 64 65 2d 68 61 73 2d 63 68 61 6e 67 65 73 2d 70 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 de-has-changes-p."2020-10-13").(
18420 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 define-obsolete-function-alias.'
18440 74 73 2d 6e 6f 64 65 2d 68 61 73 2d 65 72 72 6f 72 2d 70 20 27 74 73 63 2d 6e 6f 64 65 2d 68 61 ts-node-has-error-p.'tsc-node-ha
18460 73 2d 65 72 72 6f 72 2d 70 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 2d s-error-p."2020-10-13").(define-
18480 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d 6e 6f 64 65 obsolete-function-alias.'ts-node
184a0 2d 6d 69 73 73 69 6e 67 2d 70 20 27 74 73 63 2d 6e 6f 64 65 2d 6d 69 73 73 69 6e 67 2d 70 20 22 -missing-p.'tsc-node-missing-p."
184c0 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 2020-10-13").(define-obsolete-fu
184e0 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d 6e 6f 64 65 2d 6e 61 6d 65 64 2d 70 20 27 74 nction-alias.'ts-node-named-p.'t
18500 73 63 2d 6e 6f 64 65 2d 6e 61 6d 65 64 2d 70 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 sc-node-named-p."2020-10-13").(d
18520 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 efine-obsolete-function-alias.'t
18540 73 2d 6e 6f 64 65 2d 70 20 27 74 73 63 2d 6e 6f 64 65 2d 70 20 22 32 30 32 30 2d 31 30 2d 31 33 s-node-p.'tsc-node-p."2020-10-13
18560 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 ").(define-obsolete-function-ali
18580 61 73 20 27 74 73 2d 6e 6f 64 65 2d 70 6f 73 69 74 69 6f 6e 2d 72 61 6e 67 65 20 27 74 73 63 2d as.'ts-node-position-range.'tsc-
185a0 6e 6f 64 65 2d 70 6f 73 69 74 69 6f 6e 2d 72 61 6e 67 65 20 22 32 30 32 30 2d 31 30 2d 31 33 22 node-position-range."2020-10-13"
185c0 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 ).(define-obsolete-function-alia
185e0 73 20 27 74 73 2d 6e 6f 64 65 2d 72 61 6e 67 65 20 27 74 73 63 2d 6e 6f 64 65 2d 72 61 6e 67 65 s.'ts-node-range.'tsc-node-range
18600 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d ."2020-10-13").(define-obsolete-
18620 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d 6e 6f 64 65 2d 73 74 61 72 74 2d 62 79 function-alias.'ts-node-start-by
18640 74 65 20 27 74 73 63 2d 6e 6f 64 65 2d 73 74 61 72 74 2d 62 79 74 65 20 22 32 30 32 30 2d 31 30 te.'tsc-node-start-byte."2020-10
18660 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d -13").(define-obsolete-function-
18680 61 6c 69 61 73 20 27 74 73 2d 6e 6f 64 65 2d 73 74 61 72 74 2d 70 6f 69 6e 74 20 27 74 73 63 2d alias.'ts-node-start-point.'tsc-
186a0 6e 6f 64 65 2d 73 74 61 72 74 2d 70 6f 69 6e 74 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 node-start-point."2020-10-13").(
186c0 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 define-obsolete-function-alias.'
186e0 74 73 2d 6e 6f 64 65 2d 73 74 61 72 74 2d 70 6f 73 69 74 69 6f 6e 20 27 74 73 63 2d 6e 6f 64 65 ts-node-start-position.'tsc-node
18700 2d 73 74 61 72 74 2d 70 6f 73 69 74 69 6f 6e 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 -start-position."2020-10-13").(d
18720 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 efine-obsolete-function-alias.'t
18740 73 2d 6e 6f 64 65 2d 74 65 78 74 20 27 74 73 63 2d 6e 6f 64 65 2d 74 65 78 74 20 22 32 30 32 30 s-node-text.'tsc-node-text."2020
18760 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 -10-13").(define-obsolete-functi
18780 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d 6e 6f 64 65 2d 74 6f 2d 73 65 78 70 20 27 74 73 63 2d 6e on-alias.'ts-node-to-sexp.'tsc-n
187a0 6f 64 65 2d 74 6f 2d 73 65 78 70 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e ode-to-sexp."2020-10-13").(defin
187c0 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d 6e 6f e-obsolete-function-alias.'ts-no
187e0 64 65 2d 74 79 70 65 20 27 74 73 63 2d 6e 6f 64 65 2d 74 79 70 65 20 22 32 30 32 30 2d 31 30 2d de-type.'tsc-node-type."2020-10-
18800 31 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 13").(define-obsolete-function-a
18820 6c 69 61 73 20 27 74 73 2d 6e 6f 64 65 2d 74 79 70 65 2d 69 64 20 27 74 73 63 2d 6e 6f 64 65 2d lias.'ts-node-type-id.'tsc-node-
18840 74 79 70 65 2d 69 64 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 type-id."2020-10-13").(define-ob
18860 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d 70 61 72 73 65 2d solete-function-alias.'ts-parse-
18880 63 68 75 6e 6b 73 20 27 74 73 63 2d 70 61 72 73 65 2d 63 68 75 6e 6b 73 20 22 32 30 32 30 2d 31 chunks.'tsc-parse-chunks."2020-1
188a0 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 0-13").(define-obsolete-function
188c0 2d 61 6c 69 61 73 20 27 74 73 2d 70 61 72 73 65 2d 73 74 72 69 6e 67 20 27 74 73 63 2d 70 61 72 -alias.'ts-parse-string.'tsc-par
188e0 73 65 2d 73 74 72 69 6e 67 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 2d se-string."2020-10-13").(define-
18900 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d 70 61 72 73 obsolete-function-alias.'ts-pars
18920 65 72 2d 6c 61 6e 67 75 61 67 65 20 27 74 73 63 2d 70 61 72 73 65 72 2d 6c 61 6e 67 75 61 67 65 er-language.'tsc-parser-language
18940 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d ."2020-10-13").(define-obsolete-
18960 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d 70 61 72 73 65 72 2d 70 20 27 74 73 63 function-alias.'ts-parser-p.'tsc
18980 2d 70 61 72 73 65 72 2d 70 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 2d -parser-p."2020-10-13").(define-
189a0 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d 70 6f 69 6e obsolete-function-alias.'ts-poin
189c0 74 2d 66 72 6f 6d 2d 70 6f 73 69 74 69 6f 6e 20 27 74 73 63 2d 70 6f 69 6e 74 2d 66 72 6f 6d 2d t-from-position.'tsc-point-from-
189e0 70 6f 73 69 74 69 6f 6e 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f position."2020-10-13").(define-o
18a00 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d 70 6f 69 6e 74 bsolete-function-alias.'ts-point
18a20 2d 70 20 27 74 73 63 2d 70 6f 69 6e 74 2d 70 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 -p.'tsc-point-p."2020-10-13").(d
18a40 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 efine-obsolete-function-alias.'t
18a60 73 2d 70 6f 69 6e 74 2d 74 6f 2d 70 6f 73 69 74 69 6f 6e 20 27 74 73 63 2d 70 6f 69 6e 74 2d 74 s-point-to-position.'tsc-point-t
18a80 6f 2d 70 6f 73 69 74 69 6f 6e 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 o-position."2020-10-13").(define
18aa0 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d 70 70 2d -obsolete-function-alias.'ts-pp-
18ac0 74 6f 2d 73 74 72 69 6e 67 20 27 74 73 63 2d 70 70 2d 74 6f 2d 73 74 72 69 6e 67 20 22 32 30 32 to-string.'tsc-pp-to-string."202
18ae0 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 0-10-13").(define-obsolete-funct
18b00 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d 71 75 65 72 79 2d 63 61 70 74 75 72 65 2d 74 61 67 73 ion-alias.'ts-query-capture-tags
18b20 20 27 74 73 63 2d 71 75 65 72 79 2d 63 61 70 74 75 72 65 2d 74 61 67 73 20 22 32 30 32 30 2d 31 .'tsc-query-capture-tags."2020-1
18b40 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 0-13").(define-obsolete-function
18b60 2d 61 6c 69 61 73 20 27 74 73 2d 71 75 65 72 79 2d 63 61 70 74 75 72 65 73 20 27 74 73 63 2d 71 -alias.'ts-query-captures.'tsc-q
18b80 75 65 72 79 2d 63 61 70 74 75 72 65 73 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 uery-captures."2020-10-13").(def
18ba0 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d ine-obsolete-function-alias.'ts-
18bc0 71 75 65 72 79 2d 63 6f 75 6e 74 2d 70 61 74 74 65 72 6e 73 20 27 74 73 63 2d 71 75 65 72 79 2d query-count-patterns.'tsc-query-
18be0 63 6f 75 6e 74 2d 70 61 74 74 65 72 6e 73 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 count-patterns."2020-10-13").(de
18c00 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 fine-obsolete-function-alias.'ts
18c20 2d 71 75 65 72 79 2d 63 75 72 73 6f 72 2d 70 20 27 74 73 63 2d 71 75 65 72 79 2d 63 75 72 73 6f -query-cursor-p.'tsc-query-curso
18c40 72 2d 70 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 r-p."2020-10-13").(define-obsole
18c60 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d 71 75 65 72 79 2d 6d 61 74 63 te-function-alias.'ts-query-matc
18c80 68 65 73 20 27 74 73 63 2d 71 75 65 72 79 2d 6d 61 74 63 68 65 73 20 22 32 30 32 30 2d 31 30 2d hes.'tsc-query-matches."2020-10-
18ca0 31 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 13").(define-obsolete-function-a
18cc0 6c 69 61 73 20 27 74 73 2d 71 75 65 72 79 2d 70 20 27 74 73 63 2d 71 75 65 72 79 2d 70 20 22 32 lias.'ts-query-p.'tsc-query-p."2
18ce0 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 020-10-13").(define-obsolete-fun
18d00 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d 72 61 6e 67 65 2d 70 20 27 74 73 63 2d 72 61 6e ction-alias.'ts-range-p.'tsc-ran
18d20 67 65 2d 70 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c ge-p."2020-10-13").(define-obsol
18d40 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d 72 65 73 65 74 2d 63 75 72 ete-function-alias.'ts-reset-cur
18d60 73 6f 72 20 27 74 73 63 2d 72 65 73 65 74 2d 63 75 72 73 6f 72 20 22 32 30 32 30 2d 31 30 2d 31 sor.'tsc-reset-cursor."2020-10-1
18d80 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 3").(define-obsolete-function-al
18da0 69 61 73 20 27 74 73 2d 72 6f 6f 74 2d 6e 6f 64 65 20 27 74 73 63 2d 72 6f 6f 74 2d 6e 6f 64 65 ias.'ts-root-node.'tsc-root-node
18dc0 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d ."2020-10-13").(define-obsolete-
18de0 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d 73 65 74 2d 69 6e 63 6c 75 64 65 64 2d function-alias.'ts-set-included-
18e00 72 61 6e 67 65 73 20 27 74 73 63 2d 73 65 74 2d 69 6e 63 6c 75 64 65 64 2d 72 61 6e 67 65 73 20 ranges.'tsc-set-included-ranges.
18e20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 "2020-10-13").(define-obsolete-f
18e40 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d 73 65 74 2d 6c 61 6e 67 75 61 67 65 20 27 unction-alias.'ts-set-language.'
18e60 74 73 63 2d 73 65 74 2d 6c 61 6e 67 75 61 67 65 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 tsc-set-language."2020-10-13").(
18e80 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 define-obsolete-function-alias.'
18ea0 74 73 2d 74 72 65 65 2d 6c 61 6e 67 75 61 67 65 20 27 74 73 63 2d 74 72 65 65 2d 6c 61 6e 67 75 ts-tree-language.'tsc-tree-langu
18ec0 61 67 65 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 age."2020-10-13").(define-obsole
18ee0 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d 74 72 65 65 2d 70 20 27 74 73 te-function-alias.'ts-tree-p.'ts
18f00 63 2d 74 72 65 65 2d 70 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f c-tree-p."2020-10-13").(define-o
18f20 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d 74 72 65 65 2d bsolete-function-alias.'ts-tree-
18f40 74 6f 2d 73 65 78 70 20 27 74 73 63 2d 74 72 65 65 2d 74 6f 2d 73 65 78 70 20 22 32 30 32 30 2d to-sexp.'tsc-tree-to-sexp."2020-
18f60 31 30 2d 31 33 22 29 0a 0a 3b 3b 3b 20 53 65 6d 69 2d 70 75 62 6c 69 63 2e 0a 28 64 65 66 69 6e 10-13")..;;;.Semi-public..(defin
18f80 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d 2d 6c e-obsolete-function-alias.'ts--l
18fa0 61 6e 67 2d 73 79 6d 62 6f 6c 20 27 74 73 63 2d 2d 6c 61 6e 67 2d 73 79 6d 62 6f 6c 20 22 32 30 ang-symbol.'tsc--lang-symbol."20
18fc0 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 20-10-13").(define-obsolete-func
18fe0 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d 2d 62 75 66 66 65 72 2d 69 6e 70 75 74 20 27 74 73 tion-alias.'ts--buffer-input.'ts
19000 63 2d 2d 62 75 66 66 65 72 2d 69 6e 70 75 74 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 c--buffer-input."2020-10-13").(d
19020 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 efine-obsolete-function-alias.'t
19040 73 2d 2d 62 75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 2d 6e 6f 2d 70 72 6f 70 65 72 74 69 65 s--buffer-substring-no-propertie
19060 73 20 27 74 73 63 2d 2d 62 75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 2d 6e 6f 2d 70 72 6f 70 s.'tsc--buffer-substring-no-prop
19080 65 72 74 69 65 73 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 erties."2020-10-13").(define-obs
190a0 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d 2d 63 6c 6f 6e 65 2d olete-function-alias.'ts--clone-
190c0 74 72 65 65 20 27 74 73 63 2d 2d 63 6c 6f 6e 65 2d 74 72 65 65 20 22 32 30 32 30 2d 31 30 2d 31 tree.'tsc--clone-tree."2020-10-1
190e0 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 3").(define-obsolete-function-al
19100 69 61 73 20 27 74 73 2d 2d 64 69 73 61 62 6c 65 2d 63 61 70 74 75 72 65 20 27 74 73 63 2d 2d 64 ias.'ts--disable-capture.'tsc--d
19120 69 73 61 62 6c 65 2d 63 61 70 74 75 72 65 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 isable-capture."2020-10-13").(de
19140 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 fine-obsolete-function-alias.'ts
19160 2d 2d 64 79 6e 2d 76 65 72 73 69 6f 6e 20 27 74 73 63 2d 2d 64 79 6e 2d 76 65 72 73 69 6f 6e 20 --dyn-version.'tsc--dyn-version.
19180 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 "2020-10-13").(define-obsolete-f
191a0 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d 2d 67 65 74 2d 63 68 69 6c 64 2d 62 79 2d unction-alias.'ts--get-child-by-
191c0 66 69 65 6c 64 2d 6e 61 6d 65 20 27 74 73 63 2d 2d 67 65 74 2d 63 68 69 6c 64 2d 62 79 2d 66 69 field-name.'tsc--get-child-by-fi
191e0 65 6c 64 2d 6e 61 6d 65 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f eld-name."2020-10-13").(define-o
19200 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d 2d 69 6e 76 61 bsolete-function-alias.'ts--inva
19220 6c 69 64 2d 6e 6f 64 65 2d 73 74 65 70 20 27 74 73 63 2d 2d 69 6e 76 61 6c 69 64 2d 6e 6f 64 65 lid-node-step.'tsc--invalid-node
19240 2d 73 74 65 70 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f -step."2020-10-13").(define-obso
19260 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d 2d 6c 61 6e 67 2d 66 69 lete-function-alias.'ts--lang-fi
19280 65 6c 64 2d 69 64 2d 66 6f 72 2d 6e 61 6d 65 20 27 74 73 63 2d 2d 6c 61 6e 67 2d 66 69 65 6c 64 eld-id-for-name.'tsc--lang-field
192a0 2d 69 64 2d 66 6f 72 2d 6e 61 6d 65 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 69 -id-for-name."2020-10-13").(defi
192c0 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d 2d ne-obsolete-function-alias.'ts--
192e0 6c 61 6e 67 2d 6c 6f 61 64 2d 66 69 6c 65 20 27 74 73 63 2d 2d 6c 61 6e 67 2d 6c 6f 61 64 2d 66 lang-load-file.'tsc--lang-load-f
19300 69 6c 65 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 ile."2020-10-13").(define-obsole
19320 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d 2d 6c 61 6e 67 2d 73 79 6d 62 te-function-alias.'ts--lang-symb
19340 6f 6c 20 27 74 73 63 2d 2d 6c 61 6e 67 2d 73 79 6d 62 6f 6c 20 22 32 30 32 30 2d 31 30 2d 31 33 ol.'tsc--lang-symbol."2020-10-13
19360 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 ").(define-obsolete-function-ali
19380 61 73 20 27 74 73 2d 2d 6c 61 6e 67 2d 74 79 70 65 2d 69 64 2d 66 6f 72 2d 6e 61 6d 65 20 27 74 as.'ts--lang-type-id-for-name.'t
193a0 73 63 2d 2d 6c 61 6e 67 2d 74 79 70 65 2d 69 64 2d 66 6f 72 2d 6e 61 6d 65 20 22 32 30 32 30 2d sc--lang-type-id-for-name."2020-
193c0 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 10-13").(define-obsolete-functio
193e0 6e 2d 61 6c 69 61 73 20 27 74 73 2d 2d 6c 6f 61 64 2d 6c 61 6e 67 75 61 67 65 20 27 74 73 63 2d n-alias.'ts--load-language.'tsc-
19400 2d 6c 6f 61 64 2d 6c 61 6e 67 75 61 67 65 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 -load-language."2020-10-13").(de
19420 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 fine-obsolete-function-alias.'ts
19440 2d 2d 6d 61 6b 65 2d 71 75 65 72 79 20 27 74 73 63 2d 2d 6d 61 6b 65 2d 71 75 65 72 79 20 22 32 --make-query.'tsc--make-query."2
19460 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 020-10-13").(define-obsolete-fun
19480 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d 2d 6e 6f 64 65 2d 66 72 6f 6d 2d 73 74 65 70 73 ction-alias.'ts--node-from-steps
194a0 20 27 74 73 63 2d 2d 6e 6f 64 65 2d 66 72 6f 6d 2d 73 74 65 70 73 20 22 32 30 32 30 2d 31 30 2d .'tsc--node-from-steps."2020-10-
194c0 31 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 13").(define-obsolete-function-a
194e0 6c 69 61 73 20 27 74 73 2d 2d 6e 6f 64 65 2d 73 74 65 70 73 20 27 74 73 63 2d 2d 6e 6f 64 65 2d lias.'ts--node-steps.'tsc--node-
19500 73 74 65 70 73 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f steps."2020-10-13").(define-obso
19520 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d 2d 6e 6f 64 65 2d 74 65 lete-function-alias.'ts--node-te
19540 78 74 20 27 74 73 63 2d 2d 6e 6f 64 65 2d 74 65 78 74 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 xt.'tsc--node-text."2020-10-13")
19560 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 .(define-obsolete-function-alias
19580 20 27 74 73 2d 2d 70 6f 69 6e 74 2d 66 72 6f 6d 2d 70 6f 73 69 74 69 6f 6e 20 27 74 73 63 2d 2d .'ts--point-from-position.'tsc--
195a0 70 6f 69 6e 74 2d 66 72 6f 6d 2d 70 6f 73 69 74 69 6f 6e 20 22 32 30 32 30 2d 31 30 2d 31 33 22 point-from-position."2020-10-13"
195c0 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 ).(define-obsolete-function-alia
195e0 73 20 27 74 73 2d 2d 71 75 65 72 79 2d 63 61 70 74 75 72 65 2d 6e 61 6d 65 73 20 27 74 73 63 2d s.'ts--query-capture-names.'tsc-
19600 2d 71 75 65 72 79 2d 63 61 70 74 75 72 65 2d 6e 61 6d 65 73 20 22 32 30 32 30 2d 31 30 2d 31 33 -query-capture-names."2020-10-13
19620 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 ").(define-obsolete-function-ali
19640 61 73 20 27 74 73 2d 2d 71 75 65 72 79 2d 63 75 72 73 6f 72 2d 63 61 70 74 75 72 65 73 20 27 74 as.'ts--query-cursor-captures.'t
19660 73 63 2d 2d 71 75 65 72 79 2d 63 75 72 73 6f 72 2d 63 61 70 74 75 72 65 73 20 22 32 30 32 30 2d sc--query-cursor-captures."2020-
19680 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 10-13").(define-obsolete-functio
196a0 6e 2d 61 6c 69 61 73 20 27 74 73 2d 2d 71 75 65 72 79 2d 63 75 72 73 6f 72 2d 63 61 70 74 75 72 n-alias.'ts--query-cursor-captur
196c0 65 73 2d 31 20 27 74 73 63 2d 2d 71 75 65 72 79 2d 63 75 72 73 6f 72 2d 63 61 70 74 75 72 65 73 es-1.'tsc--query-cursor-captures
196e0 2d 31 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 -1."2020-10-13").(define-obsolet
19700 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d 2d 71 75 65 72 79 2d 63 75 72 73 e-function-alias.'ts--query-curs
19720 6f 72 2d 6d 61 74 63 68 65 73 20 27 74 73 63 2d 2d 71 75 65 72 79 2d 63 75 72 73 6f 72 2d 6d 61 or-matches.'tsc--query-cursor-ma
19740 74 63 68 65 73 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f tches."2020-10-13").(define-obso
19760 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d 2d 71 75 65 72 79 2d 63 lete-function-alias.'ts--query-c
19780 75 72 73 6f 72 2d 73 65 74 2d 62 79 74 65 2d 72 61 6e 67 65 20 27 74 73 63 2d 2d 71 75 65 72 79 ursor-set-byte-range.'tsc--query
197a0 2d 63 75 72 73 6f 72 2d 73 65 74 2d 62 79 74 65 2d 72 61 6e 67 65 20 22 32 30 32 30 2d 31 30 2d -cursor-set-byte-range."2020-10-
197c0 31 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 13").(define-obsolete-function-a
197e0 6c 69 61 73 20 27 74 73 2d 2d 71 75 65 72 79 2d 63 75 72 73 6f 72 2d 73 65 74 2d 70 6f 69 6e 74 lias.'ts--query-cursor-set-point
19800 2d 72 61 6e 67 65 20 27 74 73 63 2d 2d 71 75 65 72 79 2d 63 75 72 73 6f 72 2d 73 65 74 2d 70 6f -range.'tsc--query-cursor-set-po
19820 69 6e 74 2d 72 61 6e 67 65 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 2d int-range."2020-10-13").(define-
19840 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d 2d 71 75 65 obsolete-function-alias.'ts--que
19860 72 79 2d 73 74 61 72 74 2d 62 79 74 65 2d 66 6f 72 2d 70 61 74 74 65 72 6e 20 27 74 73 63 2d 2d ry-start-byte-for-pattern.'tsc--
19880 71 75 65 72 79 2d 73 74 61 72 74 2d 62 79 74 65 2d 66 6f 72 2d 70 61 74 74 65 72 6e 20 22 32 30 query-start-byte-for-pattern."20
198a0 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 20-10-13").(define-obsolete-func
198c0 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d 2d 72 65 73 65 74 2d 70 61 72 73 65 72 20 27 74 73 tion-alias.'ts--reset-parser.'ts
198e0 63 2d 2d 72 65 73 65 74 2d 70 61 72 73 65 72 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 c--reset-parser."2020-10-13").(d
19900 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 efine-obsolete-function-alias.'t
19920 73 2d 2d 73 61 76 65 2d 63 6f 6e 74 65 78 74 20 27 74 73 63 2d 2d 73 61 76 65 2d 63 6f 6e 74 65 s--save-context.'tsc--save-conte
19940 78 74 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 xt."2020-10-13").(define-obsolet
19960 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d 2d 73 65 74 2d 74 69 6d 65 6f 75 e-function-alias.'ts--set-timeou
19980 74 2d 6d 69 63 72 6f 73 20 27 74 73 63 2d 2d 73 65 74 2d 74 69 6d 65 6f 75 74 2d 6d 69 63 72 6f t-micros.'tsc--set-timeout-micro
199a0 73 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 s."2020-10-13").(define-obsolete
199c0 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d 2d 73 74 72 69 6e 67 69 66 79 2d 70 -function-alias.'ts--stringify-p
199e0 61 74 74 65 72 6e 73 20 27 74 73 63 2d 2d 73 74 72 69 6e 67 69 66 79 2d 70 61 74 74 65 72 6e 73 atterns.'tsc--stringify-patterns
19a00 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d ."2020-10-13").(define-obsolete-
19a20 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d 2d 74 69 6d 65 6f 75 74 2d 6d 69 63 72 function-alias.'ts--timeout-micr
19a40 6f 73 20 27 74 73 63 2d 2d 74 69 6d 65 6f 75 74 2d 6d 69 63 72 6f 73 20 22 32 30 32 30 2d 31 30 os.'tsc--timeout-micros."2020-10
19a60 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d -13").(define-obsolete-function-
19a80 61 6c 69 61 73 20 27 74 73 2d 2d 74 72 79 2d 6c 6f 61 64 2d 64 79 6e 20 27 74 73 63 2d 2d 74 72 alias.'ts--try-load-dyn.'tsc--tr
19aa0 79 2d 6c 6f 61 64 2d 64 79 6e 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 28 64 65 66 69 6e 65 y-load-dyn."2020-10-13").(define
19ac0 2d 6f 62 73 6f 6c 65 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 74 73 2d 2d 77 69 -obsolete-function-alias.'ts--wi
19ae0 74 68 6f 75 74 2d 72 65 73 74 72 69 63 74 69 6f 6e 20 27 74 73 63 2d 2d 77 69 74 68 6f 75 74 2d thout-restriction.'tsc--without-
19b00 72 65 73 74 72 69 63 74 69 6f 6e 20 22 32 30 32 30 2d 31 30 2d 31 33 22 29 0a 0a 28 70 72 6f 76 restriction."2020-10-13")..(prov
19b20 69 64 65 20 27 74 73 63 2d 6f 62 73 6f 6c 65 74 65 29 0a 3b 3b 3b 20 74 73 63 2d 6f 62 73 6f 6c ide.'tsc-obsolete).;;;.tsc-obsol
19b40 65 74 65 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ete.el.ends.here................
19b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19c00 74 73 63 2d 32 30 32 32 30 32 31 32 2e 31 36 33 32 2f 74 73 63 2d 70 6b 67 2e 65 6c 00 00 00 00 tsc-20220212.1632/tsc-pkg.el....
19c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19c60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
19c80 30 30 30 31 31 31 36 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 34 36 31 00 20 30 00 00 00 0001116.00000000000.013461..0...
19ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19d00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
19d20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
19d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19e00 28 64 65 66 69 6e 65 2d 70 61 63 6b 61 67 65 20 22 74 73 63 22 20 22 32 30 32 32 30 32 31 32 2e (define-package."tsc"."20220212.
19e20 31 36 33 32 22 20 22 43 6f 72 65 20 54 72 65 65 2d 73 69 74 74 65 72 20 41 50 49 73 22 0a 20 20 1632"."Core.Tree-sitter.APIs"...
19e40 27 28 28 65 6d 61 63 73 20 22 32 35 2e 31 22 29 29 0a 20 20 3a 63 6f 6d 6d 69 74 20 22 39 30 39 '((emacs."25.1"))...:commit."909
19e60 37 31 37 63 36 38 35 66 66 35 61 32 33 32 37 66 61 32 63 61 38 66 62 38 61 32 35 32 31 36 31 32 717c685ff5a2327fa2ca8fb8a2521612
19e80 39 33 36 31 63 22 20 3a 61 75 74 68 6f 72 73 0a 20 20 27 28 28 22 54 75 e1 ba a5 6e 2d 41 6e 68 9361c".:authors...'(("Tu...n-Anh
19ea0 20 4e 67 75 79 e1 bb 85 6e 22 20 2e 20 22 75 62 6f 6c 6f 6e 74 6f 6e 40 67 6d 61 69 6c 2e 63 6f .Nguy...n"..."ubolonton@gmail.co
19ec0 6d 22 29 0a 20 20 20 20 28 22 4a 6f 72 67 65 20 4a 61 76 69 65 72 20 41 72 61 79 61 20 4e 61 76 m").....("Jorge.Javier.Araya.Nav
19ee0 61 72 72 6f 22 20 2e 20 22 6a 6f 72 67 65 6a 61 76 69 65 72 61 6e 40 79 61 68 6f 6f 2e 63 6f 6d arro"..."jorgejavieran@yahoo.com
19f00 2e 6d 78 22 29 29 0a 20 20 3a 6d 61 69 6e 74 61 69 6e 65 72 73 0a 20 20 27 28 28 22 54 75 e1 ba .mx"))...:maintainers...'(("Tu..
19f20 a5 6e 2d 41 6e 68 20 4e 67 75 79 e1 bb 85 6e 22 20 2e 20 22 75 62 6f 6c 6f 6e 74 6f 6e 40 67 6d .n-Anh.Nguy...n"..."ubolonton@gm
19f40 61 69 6c 2e 63 6f 6d 22 29 29 0a 20 20 3a 6d 61 69 6e 74 61 69 6e 65 72 0a 20 20 27 28 22 54 75 ail.com"))...:maintainer...'("Tu
19f60 e1 ba a5 6e 2d 41 6e 68 20 4e 67 75 79 e1 bb 85 6e 22 20 2e 20 22 75 62 6f 6c 6f 6e 74 6f 6e 40 ...n-Anh.Nguy...n"..."ubolonton@
19f80 67 6d 61 69 6c 2e 63 6f 6d 22 29 0a 20 20 3a 6b 65 79 77 6f 72 64 73 0a 20 20 27 28 22 6c 61 6e gmail.com")...:keywords...'("lan
19fa0 67 75 61 67 65 73 22 20 22 74 6f 6f 6c 73 22 20 22 70 61 72 73 65 72 73 22 20 22 64 79 6e 61 6d guages"."tools"."parsers"."dynam
19fc0 69 63 2d 6d 6f 64 75 6c 65 73 22 20 22 74 72 65 65 2d 73 69 74 74 65 72 22 29 0a 20 20 3a 75 72 ic-modules"."tree-sitter")...:ur
19fe0 6c 20 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 65 6d 61 63 73 2d 74 72 65 65 l."https://github.com/emacs-tree
1a000 2d 73 69 74 74 65 72 2f 65 6c 69 73 70 2d 74 72 65 65 2d 73 69 74 74 65 72 22 29 0a 3b 3b 20 4c -sitter/elisp-tree-sitter").;;.L
1a020 6f 63 61 6c 20 56 61 72 69 61 62 6c 65 73 3a 0a 3b 3b 20 6e 6f 2d 62 79 74 65 2d 63 6f 6d 70 69 ocal.Variables:.;;.no-byte-compi
1a040 6c 65 3a 20 74 0a 3b 3b 20 45 6e 64 3a 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 le:.t.;;.End:...................
1a060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a200 74 73 63 2d 32 30 32 32 30 32 31 32 2e 31 36 33 32 2f 74 73 63 2e 65 6c 00 00 00 00 00 00 00 00 tsc-20220212.1632/tsc.el........
1a220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a260 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
1a280 30 30 34 32 37 31 35 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 32 37 31 34 00 20 30 00 00 00 0042715.00000000000.012714..0...
1a2a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a2c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a300 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
1a320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
1a340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a400 3b 3b 3b 20 74 73 63 2e 65 6c 20 2d 2d 2d 20 43 6f 72 65 20 54 72 65 65 2d 73 69 74 74 65 72 20 ;;;.tsc.el.---.Core.Tree-sitter.
1a420 41 50 49 73 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 69 6e 64 69 6e 67 3a 20 74 3b 20 63 6f 64 APIs.-*-.lexical-binding:.t;.cod
1a440 69 6e 67 3a 20 75 74 66 2d 38 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 ing:.utf-8.-*-..;;.Copyright.(C)
1a460 20 32 30 32 31 20 20 54 75 e1 ba a5 6e 2d 41 6e 68 20 4e 67 75 79 e1 bb 85 6e 0a 3b 3b 0a 3b 3b .2021..Tu...n-Anh.Nguy...n.;;.;;
1a480 20 41 75 74 68 6f 72 3a 20 54 75 e1 ba a5 6e 2d 41 6e 68 20 4e 67 75 79 e1 bb 85 6e 20 3c 75 62 .Author:.Tu...n-Anh.Nguy...n.<ub
1a4a0 6f 6c 6f 6e 74 6f 6e 40 67 6d 61 69 6c 2e 63 6f 6d 3e 0a 3b 3b 20 20 20 20 20 20 20 20 20 4a 6f olonton@gmail.com>.;;.........Jo
1a4c0 72 67 65 20 4a 61 76 69 65 72 20 41 72 61 79 61 20 4e 61 76 61 72 72 6f 20 3c 6a 6f 72 67 65 6a rge.Javier.Araya.Navarro.<jorgej
1a4e0 61 76 69 65 72 61 6e 40 79 61 68 6f 6f 2e 63 6f 6d 2e 6d 78 3e 0a 3b 3b 20 4b 65 79 77 6f 72 64 avieran@yahoo.com.mx>.;;.Keyword
1a500 73 3a 20 6c 61 6e 67 75 61 67 65 73 20 74 6f 6f 6c 73 20 70 61 72 73 65 72 73 20 64 79 6e 61 6d s:.languages.tools.parsers.dynam
1a520 69 63 2d 6d 6f 64 75 6c 65 73 20 74 72 65 65 2d 73 69 74 74 65 72 0a 3b 3b 20 48 6f 6d 65 70 61 ic-modules.tree-sitter.;;.Homepa
1a540 67 65 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 65 6d 61 63 73 2d 74 72 65 ge:.https://github.com/emacs-tre
1a560 65 2d 73 69 74 74 65 72 2f 65 6c 69 73 70 2d 74 72 65 65 2d 73 69 74 74 65 72 0a 3b 3b 20 56 65 e-sitter/elisp-tree-sitter.;;.Ve
1a580 72 73 69 6f 6e 3a 20 30 2e 31 38 2e 30 0a 3b 3b 20 50 61 63 6b 61 67 65 2d 52 65 71 75 69 72 65 rsion:.0.18.0.;;.Package-Require
1a5a0 73 3a 20 28 28 65 6d 61 63 73 20 22 32 35 2e 31 22 29 29 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 s:.((emacs."25.1")).;;.SPDX-Lice
1a5c0 6e 73 65 2d 49 64 65 6e 74 69 66 69 65 72 3a 20 4d 49 54 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 nse-Identifier:.MIT..;;;.Comment
1a5e0 61 72 79 3a 0a 0a 3b 3b 20 54 68 69 73 20 69 73 20 74 68 65 20 63 6f 72 65 20 41 50 49 73 20 6f ary:..;;.This.is.the.core.APIs.o
1a600 66 20 74 68 65 20 45 6d 61 63 73 20 62 69 6e 64 69 6e 67 20 66 6f 72 20 54 72 65 65 2d 73 69 74 f.the.Emacs.binding.for.Tree-sit
1a620 74 65 72 2c 20 61 6e 20 69 6e 63 72 65 6d 65 6e 74 61 6c 0a 3b 3b 20 70 61 72 73 69 6e 67 20 73 ter,.an.incremental.;;.parsing.s
1a640 79 73 74 65 6d 2e 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 28 72 65 71 75 69 72 65 20 27 74 73 63 ystem...;;;.Code:..(require.'tsc
1a660 2d 6f 62 73 6f 6c 65 74 65 29 0a 0a 28 75 6e 6c 65 73 73 20 28 66 75 6e 63 74 69 6f 6e 70 20 27 -obsolete)..(unless.(functionp.'
1a680 6d 6f 64 75 6c 65 2d 6c 6f 61 64 29 0a 20 20 28 65 72 72 6f 72 20 22 44 79 6e 61 6d 69 63 20 6d module-load)...(error."Dynamic.m
1a6a0 6f 64 75 6c 65 20 66 65 61 74 75 72 65 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 2c 20 70 6c 65 odule.feature.not.available,.ple
1a6c0 61 73 65 20 63 6f 6d 70 69 6c 65 20 45 6d 61 63 73 20 2d 2d 77 69 74 68 2d 6d 6f 64 75 6c 65 73 ase.compile.Emacs.--with-modules
1a6e0 20 6f 70 74 69 6f 6e 20 74 75 72 6e 65 64 20 6f 6e 22 29 29 0a 0a 3b 3b 20 4c 6f 61 64 20 74 68 .option.turned.on"))..;;.Load.th
1a700 65 20 64 79 6e 61 6d 69 63 20 6d 6f 64 75 6c 65 20 61 74 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 e.dynamic.module.at.compile.time
1a720 20 61 73 20 77 65 6c 6c 2c 20 74 6f 20 73 61 74 69 73 66 79 20 74 68 65 20 62 79 74 65 20 63 6f .as.well,.to.satisfy.the.byte.co
1a740 6d 70 69 6c 65 72 2e 0a 28 65 76 61 6c 2d 61 6e 64 2d 63 6f 6d 70 69 6c 65 0a 20 20 28 64 65 66 mpiler..(eval-and-compile...(def
1a760 63 6f 6e 73 74 20 74 73 63 2d 2d 64 79 6e 2d 76 65 72 73 69 6f 6e 20 22 30 2e 31 38 2e 30 22 0a const.tsc--dyn-version."0.18.0".
1a780 20 20 20 20 22 52 65 71 75 69 72 65 64 20 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 65 20 64 79 6e ...."Required.version.of.the.dyn
1a7a0 61 6d 69 63 20 6d 6f 64 75 6c 65 20 60 74 73 63 2d 64 79 6e 27 2e 22 29 0a 20 20 28 72 65 71 75 amic.module.`tsc-dyn'.")...(requ
1a7c0 69 72 65 20 27 74 73 63 2d 64 79 6e 2d 67 65 74 29 0a 20 20 28 74 73 63 2d 64 79 6e 2d 67 65 74 ire.'tsc-dyn-get)...(tsc-dyn-get
1a7e0 2d 65 6e 73 75 72 65 20 74 73 63 2d 2d 64 79 6e 2d 76 65 72 73 69 6f 6e 29 29 0a 0a 28 72 65 71 -ensure.tsc--dyn-version))..(req
1a800 75 69 72 65 20 27 74 73 63 2d 64 79 6e 29 0a 0a 28 72 65 71 75 69 72 65 20 27 73 65 71 29 0a 0a uire.'tsc-dyn)..(require.'seq)..
1a820 28 65 76 61 6c 2d 77 68 65 6e 2d 63 6f 6d 70 69 6c 65 0a 20 20 28 72 65 71 75 69 72 65 20 27 70 (eval-when-compile...(require.'p
1a840 63 61 73 65 29 0a 20 20 28 72 65 71 75 69 72 65 20 27 73 75 62 72 2d 78 29 0a 20 20 28 72 65 71 case)...(require.'subr-x)...(req
1a860 75 69 72 65 20 27 63 6c 2d 6c 69 62 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 74 73 63 2d 2d 77 uire.'cl-lib))..(defmacro.tsc--w
1a880 69 74 68 6f 75 74 2d 72 65 73 74 72 69 63 74 69 6f 6e 20 28 26 72 65 73 74 20 62 6f 64 79 29 0a ithout-restriction.(&rest.body).
1a8a0 20 20 22 45 78 65 63 75 74 65 20 42 4f 44 59 20 77 69 74 68 20 6e 61 72 72 6f 77 69 6e 67 20 64 .."Execute.BODY.with.narrowing.d
1a8c0 69 73 61 62 6c 65 64 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6e 64 65 6e 74 20 30 29 29 isabled."...(declare.(indent.0))
1a8e0 0a 20 20 60 28 73 61 76 65 2d 72 65 73 74 72 69 63 74 69 6f 6e 0a 20 20 20 20 20 28 77 69 64 65 ...`(save-restriction......(wide
1a900 6e 29 0a 20 20 20 20 20 2c 40 62 6f 64 79 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 74 73 63 2d n)......,@body))..(defmacro.tsc-
1a920 2d 73 61 76 65 2d 63 6f 6e 74 65 78 74 20 28 26 72 65 73 74 20 62 6f 64 79 29 0a 20 20 22 45 78 -save-context.(&rest.body)..."Ex
1a940 65 63 75 74 65 20 42 4f 44 59 20 77 72 61 70 70 65 64 20 69 6e 20 61 20 60 73 61 76 65 2d 65 78 ecute.BODY.wrapped.in.a.`save-ex
1a960 63 75 72 73 69 6f 6e 27 2c 20 77 69 74 68 20 6e 61 72 72 6f 77 69 6e 67 20 64 69 73 61 62 6c 65 cursion',.with.narrowing.disable
1a980 64 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6e 64 65 6e 74 20 30 29 29 0a 20 20 60 28 73 d."...(declare.(indent.0))...`(s
1a9a0 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 20 28 74 73 63 2d 2d 77 69 74 68 6f 75 74 ave-excursion......(tsc--without
1a9c0 2d 72 65 73 74 72 69 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 2c 40 62 6f 64 79 29 29 29 0a 0a 0c -restriction........,@body)))...
1a9e0 0a 3b 3b 3b 20 54 79 70 65 20 63 6f 6e 76 65 72 73 69 6f 6e 2e 0a 0a 28 64 65 66 75 6e 20 74 73 .;;;.Type.conversion...(defun.ts
1aa00 63 2d 70 6f 69 6e 74 2d 66 72 6f 6d 2d 70 6f 73 69 74 69 6f 6e 20 28 70 6f 73 69 74 69 6f 6e 29 c-point-from-position.(position)
1aa20 0a 20 20 22 43 6f 6e 76 65 72 74 20 50 4f 53 49 54 49 4f 4e 20 74 6f 20 61 20 76 61 6c 69 64 20 ..."Convert.POSITION.to.a.valid.
1aa40 74 72 65 65 2d 73 69 74 74 65 72 20 70 6f 69 6e 74 2e 0a 0a 41 20 5c 22 70 6f 69 6e 74 5c 22 20 tree-sitter.point...A.\"point\".
1aa60 69 6e 20 74 68 69 73 20 63 6f 6e 74 65 78 74 20 69 73 20 61 20 28 4c 49 4e 45 2d 4e 55 4d 42 45 in.this.context.is.a.(LINE-NUMBE
1aa80 52 20 2e 20 42 59 54 45 2d 43 4f 4c 55 4d 4e 29 20 70 61 69 72 2e 20 53 65 65 0a 60 74 73 63 2d R...BYTE-COLUMN).pair..See.`tsc-
1aaa0 70 61 72 73 65 2d 63 68 75 6e 6b 73 27 20 66 6f 72 20 61 20 6d 6f 72 65 20 64 65 74 61 69 6c 65 parse-chunks'.for.a.more.detaile
1aac0 64 20 65 78 70 6c 61 6e 61 74 69 6f 6e 2e 22 0a 20 20 28 74 73 63 2d 2d 73 61 76 65 2d 63 6f 6e d.explanation."...(tsc--save-con
1aae0 74 65 78 74 0a 20 20 20 20 28 74 73 63 2d 2d 70 6f 69 6e 74 2d 66 72 6f 6d 2d 70 6f 73 69 74 69 text.....(tsc--point-from-positi
1ab00 6f 6e 20 70 6f 73 69 74 69 6f 6e 29 29 29 0a 0a 28 64 65 66 75 6e 20 74 73 63 2d 2d 70 6f 69 6e on.position)))..(defun.tsc--poin
1ab20 74 2d 66 72 6f 6d 2d 70 6f 73 69 74 69 6f 6e 20 28 70 6f 73 69 74 69 6f 6e 29 0a 20 20 22 43 6f t-from-position.(position)..."Co
1ab40 6e 76 65 72 74 20 50 4f 53 49 54 49 4f 4e 20 74 6f 20 61 20 76 61 6c 69 64 20 74 72 65 65 2d 73 nvert.POSITION.to.a.valid.tree-s
1ab60 69 74 74 65 72 20 70 6f 69 6e 74 2e 0a 50 72 65 66 65 72 20 60 74 73 63 2d 70 6f 69 6e 74 2d 66 itter.point..Prefer.`tsc-point-f
1ab80 72 6f 6d 2d 70 6f 73 69 74 69 6f 6e 27 2c 20 75 6e 6c 65 73 73 20 74 68 65 72 65 27 73 20 61 20 rom-position',.unless.there's.a.
1aba0 72 65 61 6c 20 70 65 72 66 6f 72 6d 61 6e 63 65 20 62 6f 74 74 6c 65 6e 65 63 6b 2e 0a 0a 54 68 real.performance.bottleneck...Th
1abc0 69 73 20 66 75 6e 63 74 69 6f 6e 20 6d 75 73 74 20 62 65 20 63 61 6c 6c 65 64 20 77 69 74 68 69 is.function.must.be.called.withi
1abe0 6e 20 61 20 60 74 73 63 2d 2d 73 61 76 65 2d 63 6f 6e 74 65 78 74 27 20 62 6c 6f 63 6b 2e 22 0a n.a.`tsc--save-context'.block.".
1ac00 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 70 6f 73 69 74 69 6f 6e 29 0a 20 20 28 6c 65 74 20 28 28 ..(goto-char.position)...(let.((
1ac20 6c 69 6e 65 2d 6e 75 6d 62 65 72 20 28 6c 69 6e 65 2d 6e 75 6d 62 65 72 2d 61 74 2d 70 6f 73 20 line-number.(line-number-at-pos.
1ac40 70 6f 73 69 74 69 6f 6e 29 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 54 4f 44 4f 3a 20 41 64 64 20 position)).........;;.TODO:.Add.
1ac60 74 65 73 74 73 20 74 68 61 74 20 66 61 69 6c 20 69 66 20 60 63 75 72 72 65 6e 74 2d 63 6f 6c 75 tests.that.fail.if.`current-colu
1ac80 6d 6e 27 20 69 73 20 75 73 65 64 20 69 6e 73 74 65 61 64 2e 0a 20 20 20 20 20 20 20 20 28 62 79 mn'.is.used.instead..........(by
1aca0 74 65 2d 63 6f 6c 75 6d 6e 20 28 2d 20 28 70 6f 73 69 74 69 6f 6e 2d 62 79 74 65 73 20 70 6f 73 te-column.(-.(position-bytes.pos
1acc0 69 74 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ition).........................(
1ace0 70 6f 73 69 74 69 6f 6e 2d 62 79 74 65 73 20 28 6c 69 6e 65 2d 62 65 67 69 6e 6e 69 6e 67 2d 70 position-bytes.(line-beginning-p
1ad00 6f 73 69 74 69 6f 6e 29 29 29 29 29 0a 20 20 20 20 28 63 6f 6e 73 20 6c 69 6e 65 2d 6e 75 6d 62 osition))))).....(cons.line-numb
1ad20 65 72 20 62 79 74 65 2d 63 6f 6c 75 6d 6e 29 29 29 0a 0a 28 64 65 66 75 6e 20 74 73 63 2d 70 6f er.byte-column)))..(defun.tsc-po
1ad40 69 6e 74 2d 74 6f 2d 70 6f 73 69 74 69 6f 6e 20 28 70 6f 69 6e 74 29 0a 20 20 22 43 6f 6e 76 65 int-to-position.(point)..."Conve
1ad60 72 74 20 74 72 65 65 2d 73 69 74 74 65 72 20 50 4f 49 4e 54 20 74 6f 20 62 75 66 66 65 72 20 70 rt.tree-sitter.POINT.to.buffer.p
1ad80 6f 73 69 74 69 6f 6e 2e 0a 0a 41 20 5c 22 70 6f 69 6e 74 5c 22 20 69 6e 20 74 68 69 73 20 63 6f osition...A.\"point\".in.this.co
1ada0 6e 74 65 78 74 20 69 73 20 61 20 28 4c 49 4e 45 2d 4e 55 4d 42 45 52 20 2e 20 42 59 54 45 2d 43 ntext.is.a.(LINE-NUMBER...BYTE-C
1adc0 4f 4c 55 4d 4e 29 20 70 61 69 72 2e 20 53 65 65 0a 60 74 73 63 2d 70 61 72 73 65 2d 63 68 75 6e OLUMN).pair..See.`tsc-parse-chun
1ade0 6b 73 27 20 66 6f 72 20 61 20 6d 6f 72 65 20 64 65 74 61 69 6c 65 64 20 65 78 70 6c 61 6e 61 74 ks'.for.a.more.detailed.explanat
1ae00 69 6f 6e 2e 22 0a 20 20 28 74 73 63 2d 2d 73 61 76 65 2d 63 6f 6e 74 65 78 74 0a 20 20 20 20 28 ion."...(tsc--save-context.....(
1ae20 6c 65 74 20 28 28 6c 69 6e 65 2d 6e 75 6d 62 65 72 20 28 63 61 72 20 70 6f 69 6e 74 29 29 0a 20 let.((line-number.(car.point))..
1ae40 20 20 20 20 20 20 20 20 20 28 62 79 74 65 2d 63 6f 6c 75 6d 6e 20 28 63 64 72 20 70 6f 69 6e 74 .........(byte-column.(cdr.point
1ae60 29 29 29 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 31 29 0a 20 20 20 20 20 20 28 66 ))).......(goto-char.1).......(f
1ae80 6f 72 77 61 72 64 2d 6c 69 6e 65 20 28 2d 20 6c 69 6e 65 2d 6e 75 6d 62 65 72 20 31 29 29 0a 20 orward-line.(-.line-number.1))..
1aea0 20 20 20 20 20 28 62 79 74 65 2d 74 6f 2d 70 6f 73 69 74 69 6f 6e 20 28 2b 20 62 79 74 65 2d 63 .....(byte-to-position.(+.byte-c
1aec0 6f 6c 75 6d 6e 20 28 70 6f 73 69 74 69 6f 6e 2d 62 79 74 65 73 20 28 6c 69 6e 65 2d 62 65 67 69 olumn.(position-bytes.(line-begi
1aee0 6e 6e 69 6e 67 2d 70 6f 73 69 74 69 6f 6e 29 29 29 29 29 29 29 0a 0a 0c 0a 3b 3b 3b 20 45 78 74 nning-position)))))))....;;;.Ext
1af00 72 61 63 74 69 6e 67 20 62 75 66 66 65 72 27 73 20 74 65 78 74 2e 0a 0a 28 64 65 66 76 61 72 20 racting.buffer's.text...(defvar.
1af20 74 73 63 2d 2d 62 75 66 66 65 72 2d 69 6e 70 75 74 2d 63 68 75 6e 6b 2d 73 69 7a 65 20 34 30 39 tsc--buffer-input-chunk-size.409
1af40 36 29 0a 0a 28 64 65 66 75 6e 20 74 73 63 2d 2d 62 75 66 66 65 72 2d 69 6e 70 75 74 20 28 62 79 6)..(defun.tsc--buffer-input.(by
1af60 74 65 70 6f 73 20 5f 6c 69 6e 65 2d 6e 75 6d 62 65 72 20 5f 62 79 74 65 2d 63 6f 6c 75 6d 6e 29 tepos._line-number._byte-column)
1af80 0a 20 20 22 52 65 74 75 72 6e 20 61 20 70 6f 72 74 69 6f 6e 20 6f 66 20 74 68 65 20 63 75 72 72 ..."Return.a.portion.of.the.curr
1afa0 65 6e 74 20 62 75 66 66 65 72 27 73 20 74 65 78 74 2c 20 73 74 61 72 74 69 6e 67 20 66 72 6f 6d ent.buffer's.text,.starting.from
1afc0 20 42 59 54 45 50 4f 53 2e 0a 42 59 54 45 50 4f 53 20 69 73 20 61 75 74 6f 6d 61 74 69 63 61 6c .BYTEPOS..BYTEPOS.is.automatical
1afe0 6c 79 20 63 6c 61 6d 70 65 64 20 74 6f 20 74 68 65 20 72 61 6e 67 65 20 76 61 6c 69 64 20 66 6f ly.clamped.to.the.range.valid.fo
1b000 72 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 2e 0a 0a 54 68 69 73 20 66 75 6e 63 r.the.current.buffer...This.func
1b020 74 69 6f 6e 20 6d 75 73 74 20 62 65 20 63 61 6c 6c 65 64 20 77 69 74 68 20 6e 61 72 72 6f 77 69 tion.must.be.called.with.narrowi
1b040 6e 67 20 64 69 73 61 62 6c 65 64 2c 20 65 2e 67 2e 20 77 69 74 68 69 6e 20 61 0a 60 74 73 63 2d ng.disabled,.e.g..within.a.`tsc-
1b060 2d 77 69 74 68 6f 75 74 2d 72 65 73 74 72 69 63 74 69 6f 6e 27 20 62 6c 6f 63 6b 2e 22 0a 20 20 -without-restriction'.block."...
1b080 28 6c 65 74 2a 20 28 28 6d 61 78 2d 70 6f 73 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 (let*.((max-pos.(point-max))....
1b0a0 20 20 20 20 20 20 28 62 65 67 2d 62 79 74 65 20 28 6d 61 78 20 31 20 62 79 74 65 70 6f 73 29 29 ......(beg-byte.(max.1.bytepos))
1b0c0 0a 20 20 20 20 20 20 20 20 20 28 65 6e 64 2d 62 79 74 65 20 28 2b 20 74 73 63 2d 2d 62 75 66 66 ..........(end-byte.(+.tsc--buff
1b0e0 65 72 2d 69 6e 70 75 74 2d 63 68 75 6e 6b 2d 73 69 7a 65 20 62 65 67 2d 62 79 74 65 29 29 0a 20 er-input-chunk-size.beg-byte))..
1b100 20 20 20 20 20 20 20 20 3b 3b 20 6e 69 6c 20 6d 65 61 6e 73 20 3e 20 6d 61 78 2d 70 6f 73 2c 20 ........;;.nil.means.>.max-pos,.
1b120 73 69 6e 63 65 20 77 65 20 61 6c 72 65 61 64 79 20 6d 61 64 65 20 73 75 72 65 20 74 68 65 79 20 since.we.already.made.sure.they.
1b140 61 72 65 20 6e 6f 6e 2d 6e 65 67 61 74 69 76 65 2e 0a 20 20 20 20 20 20 20 20 20 28 62 65 67 2d are.non-negative...........(beg-
1b160 70 6f 73 20 28 6f 72 20 28 62 79 74 65 2d 74 6f 2d 70 6f 73 69 74 69 6f 6e 20 62 65 67 2d 62 79 pos.(or.(byte-to-position.beg-by
1b180 74 65 29 20 6d 61 78 2d 70 6f 73 29 29 0a 20 20 20 20 20 20 20 20 20 28 65 6e 64 2d 70 6f 73 20 te).max-pos))..........(end-pos.
1b1a0 28 6f 72 20 28 62 79 74 65 2d 74 6f 2d 70 6f 73 69 74 69 6f 6e 20 65 6e 64 2d 62 79 74 65 29 20 (or.(byte-to-position.end-byte).
1b1c0 6d 61 78 2d 70 6f 73 29 29 29 0a 20 20 20 20 28 62 75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 max-pos))).....(buffer-substring
1b1e0 2d 6e 6f 2d 70 72 6f 70 65 72 74 69 65 73 20 62 65 67 2d 70 6f 73 20 65 6e 64 2d 70 6f 73 29 29 -no-properties.beg-pos.end-pos))
1b200 29 0a 0a 28 64 65 66 75 6e 20 74 73 63 2d 2d 62 75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 2d )..(defun.tsc--buffer-substring-
1b220 6e 6f 2d 70 72 6f 70 65 72 74 69 65 73 20 28 62 65 67 2d 62 79 74 65 20 65 6e 64 2d 62 79 74 65 no-properties.(beg-byte.end-byte
1b240 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 27 73 )..."Return.the.current.buffer's
1b260 20 74 65 78 74 20 66 72 6f 6d 20 42 45 47 2d 42 59 54 45 20 74 6f 20 45 4e 44 2d 42 59 54 45 2e .text.from.BEG-BYTE.to.END-BYTE.
1b280 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 6d 75 73 74 20 62 65 20 63 61 6c 6c 65 64 20 77 69 .This.function.must.be.called.wi
1b2a0 74 68 20 6e 61 72 72 6f 77 69 6e 67 20 64 69 73 61 62 6c 65 64 2c 20 65 2e 67 2e 20 77 69 74 68 th.narrowing.disabled,.e.g..with
1b2c0 69 6e 20 61 0a 60 74 73 63 2d 2d 77 69 74 68 6f 75 74 2d 72 65 73 74 72 69 63 74 69 6f 6e 27 20 in.a.`tsc--without-restriction'.
1b2e0 62 6c 6f 63 6b 2e 22 0a 20 20 28 62 75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 2d 6e 6f 2d 70 block."...(buffer-substring-no-p
1b300 72 6f 70 65 72 74 69 65 73 0a 20 20 20 28 62 79 74 65 2d 74 6f 2d 70 6f 73 69 74 69 6f 6e 20 62 roperties....(byte-to-position.b
1b320 65 67 2d 62 79 74 65 29 0a 20 20 20 28 62 79 74 65 2d 74 6f 2d 70 6f 73 69 74 69 6f 6e 20 65 6e eg-byte)....(byte-to-position.en
1b340 64 2d 62 79 74 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 74 73 63 2d 2d 6e 6f 64 65 2d 74 65 78 74 d-byte)))..(defun.tsc--node-text
1b360 20 28 6e 6f 64 65 29 0a 20 20 22 52 65 74 75 72 6e 20 4e 4f 44 45 27 73 20 74 65 78 74 2c 20 61 .(node)..."Return.NODE's.text,.a
1b380 73 73 75 6d 69 6e 67 20 69 74 27 73 20 66 72 6f 6d 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 75 ssuming.it's.from.the.current.bu
1b3a0 66 66 65 72 27 73 20 73 79 6e 74 61 78 20 74 72 65 65 2e 0a 50 72 65 66 65 72 20 60 74 73 63 2d ffer's.syntax.tree..Prefer.`tsc-
1b3c0 6e 6f 64 65 2d 74 65 78 74 27 2c 20 75 6e 6c 65 73 73 20 74 68 65 72 65 27 73 20 61 20 72 65 61 node-text',.unless.there's.a.rea
1b3e0 6c 20 62 6f 74 74 6c 65 6e 65 63 6b 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 6d 75 73 l.bottleneck...This.function.mus
1b400 74 20 62 65 20 63 61 6c 6c 65 64 20 77 69 74 68 20 6e 61 72 72 6f 77 69 6e 67 20 64 69 73 61 62 t.be.called.with.narrowing.disab
1b420 6c 65 64 2c 20 65 2e 67 2e 20 77 69 74 68 69 6e 20 61 0a 60 74 73 63 2d 2d 77 69 74 68 6f 75 74 led,.e.g..within.a.`tsc--without
1b440 2d 72 65 73 74 72 69 63 74 69 6f 6e 27 20 62 6c 6f 63 6b 2e 22 0a 20 20 28 70 63 61 73 65 2d 6c -restriction'.block."...(pcase-l
1b460 65 74 20 28 28 60 28 2c 62 65 67 20 2e 20 2c 65 6e 64 29 20 28 74 73 63 2d 6e 6f 64 65 2d 70 6f et.((`(,beg...,end).(tsc-node-po
1b480 73 69 74 69 6f 6e 2d 72 61 6e 67 65 20 6e 6f 64 65 29 29 29 0a 20 20 20 20 28 62 75 66 66 65 72 sition-range.node))).....(buffer
1b4a0 2d 73 75 62 73 74 72 69 6e 67 2d 6e 6f 2d 70 72 6f 70 65 72 74 69 65 73 20 62 65 67 20 65 6e 64 -substring-no-properties.beg.end
1b4c0 29 29 29 0a 0a 28 64 65 66 75 6e 20 74 73 63 2d 6e 6f 64 65 2d 74 65 78 74 20 28 6e 6f 64 65 29 )))..(defun.tsc-node-text.(node)
1b4e0 0a 20 20 22 52 65 74 75 72 6e 20 4e 4f 44 45 27 73 20 74 65 78 74 2c 20 61 73 73 75 6d 69 6e 67 ..."Return.NODE's.text,.assuming
1b500 20 69 74 27 73 20 66 72 6f 6d 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 27 73 20 .it's.from.the.current.buffer's.
1b520 73 79 6e 74 61 78 20 74 72 65 65 2e 22 0a 20 20 28 74 73 63 2d 2d 77 69 74 68 6f 75 74 2d 72 65 syntax.tree."...(tsc--without-re
1b540 73 74 72 69 63 74 69 6f 6e 0a 20 20 20 20 28 74 73 63 2d 2d 6e 6f 64 65 2d 74 65 78 74 20 6e 6f striction.....(tsc--node-text.no
1b560 64 65 29 29 29 0a 0a 0c 0a 3b 3b 3b 20 43 6f 6e 76 65 6e 69 65 6e 74 20 76 65 72 73 69 6f 6e 73 de)))....;;;.Convenient.versions
1b580 20 6f 66 20 73 6f 6d 65 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 0a 28 64 65 66 75 6e 20 74 73 63 2d .of.some.functions...(defun.tsc-
1b5a0 67 65 74 2d 64 65 73 63 65 6e 64 61 6e 74 2d 66 6f 72 2d 70 6f 73 69 74 69 6f 6e 2d 72 61 6e 67 get-descendant-for-position-rang
1b5c0 65 20 28 6e 6f 64 65 20 62 65 67 20 65 6e 64 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 73 e.(node.beg.end)..."Return.the.s
1b5e0 6d 61 6c 6c 65 73 74 20 6e 6f 64 65 20 77 69 74 68 69 6e 20 4e 4f 44 45 20 74 68 61 74 20 73 70 mallest.node.within.NODE.that.sp
1b600 61 6e 73 20 74 68 65 20 72 61 6e 67 65 20 28 42 45 47 20 2e 20 45 4e 44 29 2e 0a 54 68 69 73 20 ans.the.range.(BEG...END)..This.
1b620 66 75 6e 63 74 69 6f 6e 20 6d 75 73 74 20 62 65 20 63 61 6c 6c 65 64 20 69 6e 20 4e 4f 44 45 27 function.must.be.called.in.NODE'
1b640 73 20 73 6f 75 72 63 65 20 62 75 66 66 65 72 2e 22 0a 20 20 28 74 73 63 2d 67 65 74 2d 64 65 73 s.source.buffer."...(tsc-get-des
1b660 63 65 6e 64 61 6e 74 2d 66 6f 72 2d 62 79 74 65 2d 72 61 6e 67 65 0a 20 20 20 6e 6f 64 65 0a 20 cendant-for-byte-range....node..
1b680 20 20 28 70 6f 73 69 74 69 6f 6e 2d 62 79 74 65 73 20 62 65 67 29 0a 20 20 20 28 70 6f 73 69 74 ..(position-bytes.beg)....(posit
1b6a0 69 6f 6e 2d 62 79 74 65 73 20 65 6e 64 29 29 29 0a 0a 28 64 65 66 75 6e 20 74 73 63 2d 67 65 74 ion-bytes.end)))..(defun.tsc-get
1b6c0 2d 6e 61 6d 65 64 2d 64 65 73 63 65 6e 64 61 6e 74 2d 66 6f 72 2d 70 6f 73 69 74 69 6f 6e 2d 72 -named-descendant-for-position-r
1b6e0 61 6e 67 65 20 28 6e 6f 64 65 20 62 65 67 20 65 6e 64 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 ange.(node.beg.end)..."Return.th
1b700 65 20 73 6d 61 6c 6c 65 73 74 20 6e 61 6d 65 64 20 6e 6f 64 65 20 77 69 74 68 69 6e 20 4e 4f 44 e.smallest.named.node.within.NOD
1b720 45 20 74 68 61 74 20 73 70 61 6e 73 20 74 68 65 20 72 61 6e 67 65 20 28 42 45 47 20 2e 20 45 4e E.that.spans.the.range.(BEG...EN
1b740 44 29 2e 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 6d 75 73 74 20 62 65 20 63 61 6c 6c 65 64 D)..This.function.must.be.called
1b760 20 69 6e 20 4e 4f 44 45 27 73 20 73 6f 75 72 63 65 20 62 75 66 66 65 72 2e 22 0a 20 20 28 74 73 .in.NODE's.source.buffer."...(ts
1b780 63 2d 67 65 74 2d 6e 61 6d 65 64 2d 64 65 73 63 65 6e 64 61 6e 74 2d 66 6f 72 2d 62 79 74 65 2d c-get-named-descendant-for-byte-
1b7a0 72 61 6e 67 65 0a 20 20 20 6e 6f 64 65 0a 20 20 20 28 70 6f 73 69 74 69 6f 6e 2d 62 79 74 65 73 range....node....(position-bytes
1b7c0 20 62 65 67 29 0a 20 20 20 28 70 6f 73 69 74 69 6f 6e 2d 62 79 74 65 73 20 65 6e 64 29 29 29 0a .beg)....(position-bytes.end))).
1b7e0 0a 28 64 65 66 75 6e 20 74 73 63 2d 67 65 74 2d 63 68 69 6c 64 2d 62 79 2d 66 69 65 6c 64 20 28 .(defun.tsc-get-child-by-field.(
1b800 6e 6f 64 65 20 66 69 65 6c 64 29 0a 20 20 22 52 65 74 75 72 6e 20 4e 4f 44 45 27 73 20 63 68 69 node.field)..."Return.NODE's.chi
1b820 6c 64 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 46 49 45 4c 44 2c 20 77 68 69 63 68 20 ld.associated.with.FIELD,.which.
1b840 73 68 6f 75 6c 64 20 62 65 20 61 20 6b 65 79 77 6f 72 64 2e 22 0a 20 20 28 75 6e 6c 65 73 73 20 should.be.a.keyword."...(unless.
1b860 28 6b 65 79 77 6f 72 64 70 20 66 69 65 6c 64 29 0a 20 20 20 20 28 73 69 67 6e 61 6c 20 27 77 72 (keywordp.field).....(signal.'wr
1b880 6f 6e 67 2d 74 79 70 65 2d 61 72 67 75 6d 65 6e 74 20 28 6c 69 73 74 20 27 6b 65 79 77 6f 72 64 ong-type-argument.(list.'keyword
1b8a0 70 20 66 69 65 6c 64 29 29 29 0a 20 20 28 74 73 63 2d 2d 67 65 74 2d 63 68 69 6c 64 2d 62 79 2d p.field)))...(tsc--get-child-by-
1b8c0 66 69 65 6c 64 2d 6e 61 6d 65 20 6e 6f 64 65 20 28 73 75 62 73 74 72 69 6e 67 20 28 73 79 6d 62 field-name.node.(substring.(symb
1b8e0 6f 6c 2d 6e 61 6d 65 20 66 69 65 6c 64 29 20 31 29 29 29 0a 0a 28 64 65 66 75 6e 20 74 73 63 2d ol-name.field).1)))..(defun.tsc-
1b900 6e 6f 64 65 2d 73 74 61 72 74 2d 70 6f 73 69 74 69 6f 6e 20 28 6e 6f 64 65 29 0a 20 20 22 52 65 node-start-position.(node)..."Re
1b920 74 75 72 6e 20 4e 4f 44 45 27 73 20 73 74 61 72 74 20 70 6f 73 69 74 69 6f 6e 2e 0a 54 68 69 73 turn.NODE's.start.position..This
1b940 20 66 75 6e 63 74 69 6f 6e 20 6d 75 73 74 20 62 65 20 63 61 6c 6c 65 64 20 69 6e 20 4e 4f 44 45 .function.must.be.called.in.NODE
1b960 27 73 20 73 6f 75 72 63 65 20 62 75 66 66 65 72 2e 22 0a 20 20 28 62 79 74 65 2d 74 6f 2d 70 6f 's.source.buffer."...(byte-to-po
1b980 73 69 74 69 6f 6e 20 28 74 73 63 2d 6e 6f 64 65 2d 73 74 61 72 74 2d 62 79 74 65 20 6e 6f 64 65 sition.(tsc-node-start-byte.node
1b9a0 29 29 29 0a 0a 28 64 65 66 75 6e 20 74 73 63 2d 6e 6f 64 65 2d 65 6e 64 2d 70 6f 73 69 74 69 6f )))..(defun.tsc-node-end-positio
1b9c0 6e 20 28 6e 6f 64 65 29 0a 20 20 22 52 65 74 75 72 6e 20 4e 4f 44 45 27 73 20 65 6e 64 20 70 6f n.(node)..."Return.NODE's.end.po
1b9e0 73 69 74 69 6f 6e 2e 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 6d 75 73 74 20 62 65 20 63 61 sition..This.function.must.be.ca
1ba00 6c 6c 65 64 20 69 6e 20 4e 4f 44 45 27 73 20 73 6f 75 72 63 65 20 62 75 66 66 65 72 2e 22 0a 20 lled.in.NODE's.source.buffer."..
1ba20 20 28 62 79 74 65 2d 74 6f 2d 70 6f 73 69 74 69 6f 6e 20 28 74 73 63 2d 6e 6f 64 65 2d 65 6e 64 .(byte-to-position.(tsc-node-end
1ba40 2d 62 79 74 65 20 6e 6f 64 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 74 73 63 2d 6e 6f 64 65 2d 70 -byte.node)))..(defun.tsc-node-p
1ba60 6f 73 69 74 69 6f 6e 2d 72 61 6e 67 65 20 28 6e 6f 64 65 29 0a 20 20 22 52 65 74 75 72 6e 20 4e osition-range.(node)..."Return.N
1ba80 4f 44 45 27 73 20 28 53 54 41 52 54 2d 50 4f 53 49 54 49 4f 4e 20 2e 20 45 4e 44 2d 50 4f 53 49 ODE's.(START-POSITION...END-POSI
1baa0 54 49 4f 4e 29 2e 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 6d 75 73 74 20 62 65 20 63 61 6c TION)..This.function.must.be.cal
1bac0 6c 65 64 20 69 6e 20 4e 4f 44 45 27 73 20 73 6f 75 72 63 65 20 62 75 66 66 65 72 2e 22 0a 20 20 led.in.NODE's.source.buffer."...
1bae0 28 6c 65 74 20 28 28 72 61 6e 67 65 20 28 74 73 63 2d 6e 6f 64 65 2d 62 79 74 65 2d 72 61 6e 67 (let.((range.(tsc-node-byte-rang
1bb00 65 20 6e 6f 64 65 29 29 29 0a 20 20 20 20 28 63 6c 2d 63 61 6c 6c 66 20 62 79 74 65 2d 74 6f 2d e.node))).....(cl-callf.byte-to-
1bb20 70 6f 73 69 74 69 6f 6e 20 28 63 61 72 20 72 61 6e 67 65 29 29 0a 20 20 20 20 28 63 6c 2d 63 61 position.(car.range)).....(cl-ca
1bb40 6c 6c 66 20 62 79 74 65 2d 74 6f 2d 70 6f 73 69 74 69 6f 6e 20 28 63 64 72 20 72 61 6e 67 65 29 llf.byte-to-position.(cdr.range)
1bb60 29 0a 20 20 20 20 72 61 6e 67 65 29 29 0a 0a 28 64 65 66 75 6e 20 74 73 63 2d 67 6f 74 6f 2d 66 ).....range))..(defun.tsc-goto-f
1bb80 69 72 73 74 2d 63 68 69 6c 64 2d 66 6f 72 2d 70 6f 73 69 74 69 6f 6e 20 28 63 75 72 73 6f 72 20 irst-child-for-position.(cursor.
1bba0 70 6f 73 69 74 69 6f 6e 29 0a 20 20 22 4d 6f 76 65 20 43 55 52 53 4f 52 20 74 6f 20 74 68 65 20 position)..."Move.CURSOR.to.the.
1bbc0 66 69 72 73 74 20 63 68 69 6c 64 20 74 68 61 74 20 65 78 74 65 6e 64 73 20 62 65 79 6f 6e 64 20 first.child.that.extends.beyond.
1bbe0 74 68 65 20 67 69 76 65 6e 20 50 4f 53 49 54 49 4f 4e 2e 0a 52 65 74 75 72 6e 20 74 68 65 20 69 the.given.POSITION..Return.the.i
1bc00 6e 64 65 78 20 6f 66 20 74 68 65 20 63 68 69 6c 64 20 6e 6f 64 65 20 69 66 20 6f 6e 65 20 77 61 ndex.of.the.child.node.if.one.wa
1bc20 73 20 66 6f 75 6e 64 2c 20 6e 69 6c 20 6f 74 68 65 72 77 69 73 65 2e 22 0a 20 20 28 74 73 63 2d s.found,.nil.otherwise."...(tsc-
1bc40 67 6f 74 6f 2d 66 69 72 73 74 2d 63 68 69 6c 64 2d 66 6f 72 2d 62 79 74 65 20 63 75 72 73 6f 72 goto-first-child-for-byte.cursor
1bc60 20 28 70 6f 73 69 74 69 6f 6e 2d 62 79 74 65 73 20 70 6f 73 69 74 69 6f 6e 29 29 29 0a 0a 28 64 .(position-bytes.position)))..(d
1bc80 65 66 75 6e 20 74 73 63 2d 63 75 72 72 65 6e 74 2d 6e 6f 64 65 20 28 63 75 72 73 6f 72 20 26 6f efun.tsc-current-node.(cursor.&o
1bca0 70 74 69 6f 6e 61 6c 20 70 72 6f 70 73 20 6f 75 74 70 75 74 29 0a 20 20 22 52 65 74 75 72 6e 20 ptional.props.output)..."Return.
1bcc0 43 55 52 53 4f 52 27 73 20 63 75 72 72 65 6e 74 20 6e 6f 64 65 2e 0a 0a 49 66 20 74 68 65 20 6f CURSOR's.current.node...If.the.o
1bce0 70 74 69 6f 6e 61 6c 20 61 72 67 20 50 52 4f 50 53 20 69 73 20 61 20 76 65 63 74 6f 72 20 6f 66 ptional.arg.PROPS.is.a.vector.of
1bd00 20 70 72 6f 70 65 72 74 79 20 6e 61 6d 65 73 2c 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 .property.names,.this.function.r
1bd20 65 74 75 72 6e 73 20 61 0a 76 65 63 74 6f 72 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 6e eturns.a.vector.containing.the.n
1bd40 6f 64 65 27 73 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 70 72 6f 70 65 72 74 69 65 73 2e 20 ode's.corresponding.properties..
1bd60 49 66 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 20 61 72 67 0a 4f 55 54 50 55 54 20 69 73 20 61 6c If.the.optional.arg.OUTPUT.is.al
1bd80 73 6f 20 6e 6f 6e 2d 6e 69 6c 2c 20 69 74 20 6d 75 73 74 20 62 65 20 61 20 76 65 63 74 6f 72 20 so.non-nil,.it.must.be.a.vector.
1bda0 6f 66 20 74 68 65 20 73 61 6d 65 20 6c 65 6e 67 74 68 2c 20 77 68 65 72 65 20 74 68 65 0a 70 72 of.the.same.length,.where.the.pr
1bdc0 6f 70 65 72 74 69 65 73 20 77 69 6c 6c 20 62 65 20 77 72 69 74 74 65 6e 20 69 6e 74 6f 2e 0a 0a operties.will.be.written.into...
1bde0 50 52 4f 50 53 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 61 20 73 69 6e 67 6c 65 20 70 72 6f 70 65 PROPS.can.also.be.a.single.prope
1be00 72 74 79 20 6e 61 6d 65 2c 20 69 6e 20 77 68 69 63 68 20 63 61 73 65 20 74 68 69 73 20 66 75 6e rty.name,.in.which.case.this.fun
1be20 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 0a 6f 6e 6c 79 20 74 68 61 74 20 70 72 6f 70 65 72 74 79 ction.returns.only.that.property
1be40 2c 20 61 6e 64 20 4f 55 54 50 55 54 20 69 73 20 69 67 6e 6f 72 65 64 2e 0a 0a 53 65 65 20 60 74 ,.and.OUTPUT.is.ignored...See.`t
1be60 73 63 2d 76 61 6c 69 64 2d 6e 6f 64 65 2d 70 72 6f 70 73 27 20 66 6f 72 20 74 68 65 20 6c 69 73 sc-valid-node-props'.for.the.lis
1be80 74 20 6f 66 20 61 76 61 69 6c 61 62 6c 65 20 70 72 6f 70 65 72 74 69 65 73 2e 22 0a 20 20 28 74 t.of.available.properties."...(t
1bea0 73 63 2d 2d 63 68 65 63 6b 2d 6e 6f 64 65 2d 70 72 6f 70 73 20 70 72 6f 70 73 29 0a 20 20 3b 3b sc--check-node-props.props)...;;
1bec0 20 54 4f 44 4f 3a 20 46 69 78 20 74 68 69 73 2e 0a 20 20 28 77 68 65 6e 20 28 6f 72 20 28 65 71 .TODO:.Fix.this....(when.(or.(eq
1bee0 20 70 72 6f 70 73 20 3a 64 65 70 74 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 .props.:depth).............(and.
1bf00 28 73 65 71 70 20 70 72 6f 70 73 29 20 28 63 6c 2d 66 69 6e 64 20 3a 64 65 70 74 68 20 70 72 6f (seqp.props).(cl-find.:depth.pro
1bf20 70 73 29 29 29 0a 20 20 20 20 28 65 72 72 6f 72 20 22 43 75 72 73 6f 72 20 64 6f 65 73 6e 27 74 ps))).....(error."Cursor.doesn't
1bf40 20 63 75 72 72 65 6e 74 6c 79 20 73 75 70 70 6f 72 74 20 3a 64 65 70 74 68 20 70 72 6f 70 65 72 .currently.support.:depth.proper
1bf60 74 79 22 29 29 0a 20 20 28 74 73 63 2d 2d 63 75 72 72 65 6e 74 2d 6e 6f 64 65 20 63 75 72 73 6f ty"))...(tsc--current-node.curso
1bf80 72 20 70 72 6f 70 73 20 6f 75 74 70 75 74 29 29 0a 0a 28 64 65 66 75 6e 20 74 73 63 2d 6c 61 6e r.props.output))..(defun.tsc-lan
1bfa0 67 2d 66 69 65 6c 64 2d 69 64 20 28 6c 61 6e 67 75 61 67 65 20 66 69 65 6c 64 29 0a 20 20 22 52 g-field-id.(language.field)..."R
1bfc0 65 74 75 72 6e 20 74 68 65 20 6e 75 6d 65 72 69 63 20 69 64 20 6f 66 20 46 49 45 4c 44 20 69 6e eturn.the.numeric.id.of.FIELD.in
1bfe0 20 4c 41 4e 47 55 41 47 45 2e 20 46 49 45 4c 44 20 73 68 6f 75 6c 64 20 62 65 20 61 20 6b 65 79 .LANGUAGE..FIELD.should.be.a.key
1c000 77 6f 72 64 2e 22 0a 20 20 28 75 6e 6c 65 73 73 20 28 6b 65 79 77 6f 72 64 70 20 66 69 65 6c 64 word."...(unless.(keywordp.field
1c020 29 0a 20 20 20 20 28 73 69 67 6e 61 6c 20 27 77 72 6f 6e 67 2d 74 79 70 65 2d 61 72 67 75 6d 65 ).....(signal.'wrong-type-argume
1c040 6e 74 20 28 6c 69 73 74 20 27 6b 65 79 77 6f 72 64 70 20 66 69 65 6c 64 29 29 29 0a 20 20 28 74 nt.(list.'keywordp.field)))...(t
1c060 73 63 2d 2d 6c 61 6e 67 2d 66 69 65 6c 64 2d 69 64 2d 66 6f 72 2d 6e 61 6d 65 20 6c 61 6e 67 75 sc--lang-field-id-for-name.langu
1c080 61 67 65 20 28 73 75 62 73 74 72 69 6e 67 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 66 69 65 6c age.(substring.(symbol-name.fiel
1c0a0 64 29 20 31 29 29 29 0a 0a 28 64 65 66 75 6e 20 74 73 63 2d 6c 61 6e 67 2d 6e 6f 64 65 2d 74 79 d).1)))..(defun.tsc-lang-node-ty
1c0c0 70 65 2d 69 64 20 28 6c 61 6e 67 75 61 67 65 20 6e 6f 64 65 2d 74 79 70 65 29 0a 20 20 22 52 65 pe-id.(language.node-type)..."Re
1c0e0 74 75 72 6e 20 74 68 65 20 6e 75 6d 65 72 69 63 20 69 64 20 6f 66 20 4e 4f 44 45 2d 54 59 50 45 turn.the.numeric.id.of.NODE-TYPE
1c100 20 69 6e 20 4c 41 4e 47 55 41 47 45 2e 0a 4e 4f 44 45 2d 54 59 50 45 20 73 68 6f 75 6c 64 20 62 .in.LANGUAGE..NODE-TYPE.should.b
1c120 65 20 61 20 73 79 6d 62 6f 6c 20 28 6e 61 6d 65 64 20 6e 6f 64 65 73 29 20 6f 72 20 61 20 73 74 e.a.symbol.(named.nodes).or.a.st
1c140 72 69 6e 67 20 28 61 6e 6f 6e 79 6d 6f 75 73 20 6e 6f 64 65 73 29 2e 22 0a 20 20 28 63 6f 6e 64 ring.(anonymous.nodes)."...(cond
1c160 0a 20 20 20 28 28 73 79 6d 62 6f 6c 70 20 6e 6f 64 65 2d 74 79 70 65 29 0a 20 20 20 20 28 74 73 ....((symbolp.node-type).....(ts
1c180 63 2d 2d 6c 61 6e 67 2d 74 79 70 65 2d 69 64 2d 66 6f 72 2d 6e 61 6d 65 20 6c 61 6e 67 75 61 67 c--lang-type-id-for-name.languag
1c1a0 65 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 6e 6f 64 65 2d 74 79 70 65 29 20 3a 6e 61 6d 65 64 e.(symbol-name.node-type).:named
1c1c0 29 29 0a 20 20 20 28 74 0a 20 20 20 20 28 74 73 63 2d 2d 6c 61 6e 67 2d 74 79 70 65 2d 69 64 2d ))....(t.....(tsc--lang-type-id-
1c1e0 66 6f 72 2d 6e 61 6d 65 20 6c 61 6e 67 75 61 67 65 20 6e 6f 64 65 2d 74 79 70 65 20 6e 69 6c 29 for-name.language.node-type.nil)
1c200 29 29 29 0a 0a 0c 0a 3b 3b 3b 20 51 75 65 72 79 69 6e 67 2e 0a 0a 28 64 65 66 75 6e 20 74 73 63 )))....;;;.Querying...(defun.tsc
1c220 2d 2d 73 74 72 69 6e 67 69 66 79 2d 70 61 74 74 65 72 6e 73 20 28 70 61 74 74 65 72 6e 73 29 0a --stringify-patterns.(patterns).
1c240 20 20 22 43 6f 6e 76 65 72 74 20 50 41 54 54 45 52 4e 53 20 69 6e 74 6f 20 61 20 71 75 65 72 79 .."Convert.PATTERNS.into.a.query
1c260 20 73 74 72 69 6e 67 20 74 68 61 74 20 63 61 6e 20 62 65 20 70 61 73 73 65 64 20 74 6f 20 60 74 .string.that.can.be.passed.to.`t
1c280 73 63 2d 2d 6d 61 6b 65 2d 71 75 65 72 79 27 2e 22 0a 20 20 28 63 6f 6e 64 0a 20 20 20 28 28 73 sc--make-query'."...(cond....((s
1c2a0 74 72 69 6e 67 70 20 70 61 74 74 65 72 6e 73 29 20 70 61 74 74 65 72 6e 73 29 0a 20 20 20 28 28 tringp.patterns).patterns)....((
1c2c0 73 65 71 75 65 6e 63 65 70 20 70 61 74 74 65 72 6e 73 29 0a 20 20 20 20 3b 3b 20 58 58 58 3a 20 sequencep.patterns).....;;.XXX:.
1c2e0 54 68 69 73 20 69 73 20 68 61 63 6b 79 2e 0a 20 20 20 20 28 74 68 72 65 61 64 2d 6c 61 73 74 20 This.is.hacky......(thread-last.
1c300 28 6d 61 70 63 6f 6e 63 61 74 20 28 6c 61 6d 62 64 61 20 28 70 29 20 28 66 6f 72 6d 61 74 20 22 (mapconcat.(lambda.(p).(format."
1c320 25 53 22 20 70 29 29 20 70 61 74 74 65 72 6e 73 20 22 5c 6e 22 29 0a 20 20 20 20 20 20 28 72 65 %S".p)).patterns."\n").......(re
1c340 70 6c 61 63 65 2d 72 65 67 65 78 70 2d 69 6e 2d 73 74 72 69 6e 67 20 28 72 65 67 65 78 70 2d 71 place-regexp-in-string.(regexp-q
1c360 75 6f 74 65 20 22 5c 5c 3f 22 29 20 22 3f 22 29 0a 20 20 20 20 20 20 28 72 65 70 6c 61 63 65 2d uote."\\?")."?").......(replace-
1c380 72 65 67 65 78 70 2d 69 6e 2d 73 74 72 69 6e 67 20 28 72 65 67 65 78 70 2d 71 75 6f 74 65 20 22 regexp-in-string.(regexp-quote."
1c3a0 5c 5c 2e 22 29 20 22 2e 22 29 29 29 0a 20 20 20 28 74 20 28 65 72 72 6f 72 20 22 49 6e 76 61 6c \\.").".")))....(t.(error."Inval
1c3c0 69 64 20 70 61 74 74 65 72 6e 73 22 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 74 73 63 2d 6d 61 6b id.patterns"))))..(defun.tsc-mak
1c3e0 65 2d 71 75 65 72 79 20 28 6c 61 6e 67 75 61 67 65 20 70 61 74 74 65 72 6e 73 20 26 6f 70 74 69 e-query.(language.patterns.&opti
1c400 6f 6e 61 6c 20 74 61 67 2d 61 73 73 69 67 6e 65 72 29 0a 20 20 22 43 72 65 61 74 65 20 61 20 6e onal.tag-assigner)..."Create.a.n
1c420 65 77 20 71 75 65 72 79 20 66 6f 72 20 4c 41 4e 47 55 41 47 45 20 66 72 6f 6d 20 61 20 73 65 71 ew.query.for.LANGUAGE.from.a.seq
1c440 75 65 6e 63 65 20 6f 66 20 53 2d 65 78 70 72 65 73 73 69 6f 6e 20 50 41 54 54 45 52 4e 53 2e 0a uence.of.S-expression.PATTERNS..
1c460 54 68 65 20 71 75 65 72 79 20 69 73 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 4c 41 4e The.query.is.associated.with.LAN
1c480 47 55 41 47 45 2c 20 61 6e 64 20 63 61 6e 20 6f 6e 6c 79 20 62 65 20 72 75 6e 20 6f 6e 20 73 79 GUAGE,.and.can.only.be.run.on.sy
1c4a0 6e 74 61 78 20 6e 6f 64 65 73 0a 70 61 72 73 65 64 20 77 69 74 68 20 4c 41 4e 47 55 41 47 45 2e ntax.nodes.parsed.with.LANGUAGE.
1c4c0 0a 0a 57 68 65 6e 20 74 68 65 20 71 75 65 72 79 20 69 73 20 65 78 65 63 75 74 65 64 2c 20 65 61 ..When.the.query.is.executed,.ea
1c4e0 63 68 20 63 61 70 74 75 72 65 64 20 6e 6f 64 65 20 69 73 20 74 61 67 67 65 64 20 77 69 74 68 20 ch.captured.node.is.tagged.with.
1c500 61 20 73 79 6d 62 6f 6c 2c 20 77 68 6f 73 65 0a 6e 61 6d 65 20 69 73 20 74 68 65 20 63 6f 72 72 a.symbol,.whose.name.is.the.corr
1c520 65 73 70 6f 6e 64 69 6e 67 20 63 61 70 74 75 72 65 20 6e 61 6d 65 20 64 65 66 69 6e 65 64 20 69 esponding.capture.name.defined.i
1c540 6e 20 50 41 54 54 45 52 4e 53 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 6e 6f 64 65 73 0a 74 n.PATTERNS..For.example,.nodes.t
1c560 68 61 74 20 61 72 65 20 63 61 70 74 75 72 65 64 20 61 73 20 5c 22 40 66 75 6e 63 74 69 6f 6e 2e hat.are.captured.as.\"@function.
1c580 62 75 69 6c 74 69 6e 5c 22 20 77 69 6c 6c 20 62 65 20 74 61 67 67 65 64 20 77 69 74 68 20 74 68 builtin\".will.be.tagged.with.th
1c5a0 65 20 73 79 6d 62 6f 6c 0a 60 66 75 6e 63 74 69 6f 6e 2e 62 75 69 6c 74 69 6e 27 2e 20 54 68 69 e.symbol.`function.builtin'..Thi
1c5c0 73 20 62 65 68 61 76 69 6f 72 20 63 61 6e 20 62 65 20 63 75 73 74 6f 6d 69 7a 65 64 20 62 79 20 s.behavior.can.be.customized.by.
1c5e0 74 68 65 20 6f 70 74 69 6f 6e 61 6c 20 66 75 6e 63 74 69 6f 6e 0a 54 41 47 2d 41 53 53 49 47 4e the.optional.function.TAG-ASSIGN
1c600 45 52 2c 20 77 68 69 63 68 20 73 68 6f 75 6c 64 20 72 65 74 75 72 6e 20 61 20 74 61 67 20 76 61 ER,.which.should.return.a.tag.va
1c620 6c 75 65 20 77 68 65 6e 20 67 69 76 65 6e 20 61 20 63 61 70 74 75 72 65 20 6e 61 6d 65 20 28 77 lue.when.given.a.capture.name.(w
1c640 69 74 68 6f 75 74 0a 74 68 65 20 70 72 65 66 69 78 20 5c 22 40 5c 22 29 2e 20 49 66 20 69 74 20 ithout.the.prefix.\"@\")..If.it.
1c660 72 65 74 75 72 6e 73 20 6e 69 6c 2c 20 74 68 65 20 61 73 73 6f 63 69 61 74 65 64 20 63 61 70 74 returns.nil,.the.associated.capt
1c680 75 72 65 20 6e 61 6d 65 20 69 73 20 64 69 73 61 62 6c 65 64 2e 0a 0a 53 65 65 20 61 6c 73 6f 3a ure.name.is.disabled...See.also:
1c6a0 20 60 74 73 63 2d 71 75 65 72 79 2d 63 61 70 74 75 72 65 73 27 20 61 6e 64 20 60 74 73 63 2d 71 .`tsc-query-captures'.and.`tsc-q
1c6c0 75 65 72 79 2d 6d 61 74 63 68 65 73 27 2e 22 0a 20 20 28 74 73 63 2d 2d 6d 61 6b 65 2d 71 75 65 uery-matches'."...(tsc--make-que
1c6e0 72 79 20 6c 61 6e 67 75 61 67 65 20 28 74 73 63 2d 2d 73 74 72 69 6e 67 69 66 79 2d 70 61 74 74 ry.language.(tsc--stringify-patt
1c700 65 72 6e 73 20 70 61 74 74 65 72 6e 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 erns.patterns)..................
1c720 20 20 28 6f 72 20 74 61 67 2d 61 73 73 69 67 6e 65 72 20 23 27 69 6e 74 65 72 6e 29 29 29 0a 0a ..(or.tag-assigner.#'intern)))..
1c740 28 64 65 66 75 6e 20 74 73 63 2d 71 75 65 72 79 2d 6d 61 74 63 68 65 73 20 28 71 75 65 72 79 20 (defun.tsc-query-matches.(query.
1c760 6e 6f 64 65 20 74 65 78 74 2d 66 75 6e 63 74 69 6f 6e 20 26 6f 70 74 69 6f 6e 61 6c 20 63 75 72 node.text-function.&optional.cur
1c780 73 6f 72 29 0a 20 20 22 45 78 65 63 75 74 65 20 51 55 45 52 59 20 6f 6e 20 4e 4f 44 45 20 61 6e sor)..."Execute.QUERY.on.NODE.an
1c7a0 64 20 72 65 74 75 72 6e 20 61 20 73 65 71 75 65 6e 63 65 20 6f 66 20 6d 61 74 63 68 65 73 2e 0a d.return.a.sequence.of.matches..
1c7c0 4d 61 74 63 68 65 73 20 61 72 65 20 73 6f 72 74 65 64 20 69 6e 20 74 68 65 20 6f 72 64 65 72 20 Matches.are.sorted.in.the.order.
1c7e0 74 68 65 79 20 77 65 72 65 20 66 6f 75 6e 64 2e 0a 0a 45 61 63 68 20 6d 61 74 63 68 20 68 61 73 they.were.found...Each.match.has
1c800 20 74 68 65 20 66 6f 72 6d 20 28 50 41 54 54 45 52 4e 2d 49 4e 44 45 58 20 2e 20 4d 41 54 43 48 .the.form.(PATTERN-INDEX...MATCH
1c820 2d 43 41 50 54 55 52 45 53 29 2c 20 77 68 65 72 65 20 50 41 54 54 45 52 4e 2d 49 4e 44 45 58 20 -CAPTURES),.where.PATTERN-INDEX.
1c840 69 73 0a 74 68 65 20 30 2d 62 61 73 65 64 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 74 68 65 20 6d is.the.0-based.position.of.the.m
1c860 61 74 63 68 65 64 20 70 61 74 74 65 72 6e 20 77 69 74 68 69 6e 20 51 55 45 52 59 2c 20 61 6e 64 atched.pattern.within.QUERY,.and
1c880 20 4d 41 54 43 48 2d 43 41 50 54 55 52 45 53 20 69 73 0a 61 20 73 65 71 75 65 6e 63 65 20 6f 66 .MATCH-CAPTURES.is.a.sequence.of
1c8a0 20 63 61 70 74 75 72 65 73 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 74 68 65 20 6d 61 .captures.associated.with.the.ma
1c8c0 74 63 68 2c 20 73 69 6d 69 6c 61 72 20 74 6f 20 74 68 61 74 20 72 65 74 75 72 6e 65 64 20 62 79 tch,.similar.to.that.returned.by
1c8e0 0a 60 74 73 63 2d 71 75 65 72 79 2d 63 61 70 74 75 72 65 73 27 2e 0a 0a 54 45 58 54 2d 46 55 4e .`tsc-query-captures'...TEXT-FUN
1c900 43 54 49 4f 4e 20 69 73 20 63 61 6c 6c 65 64 20 74 6f 20 67 65 74 20 6e 6f 64 65 73 27 20 74 65 CTION.is.called.to.get.nodes'.te
1c920 78 74 73 20 28 66 6f 72 20 74 65 78 74 2d 62 61 73 65 64 20 70 72 65 64 69 63 61 74 65 73 29 2e xts.(for.text-based.predicates).
1c940 20 49 74 0a 73 68 6f 75 6c 64 20 74 61 6b 65 20 32 20 70 61 72 61 6d 65 74 65 72 73 3a 20 28 42 .It.should.take.2.parameters:.(B
1c960 45 47 2d 42 59 54 45 20 45 4e 44 2d 42 59 54 45 29 2c 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68 EG-BYTE.END-BYTE),.and.return.th
1c980 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 0a 63 68 75 6e 6b 20 6f 66 20 74 65 78 74 20 69 6e e.corresponding.chunk.of.text.in
1c9a0 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 0a 0a 49 66 20 74 68 65 20 6f 70 74 69 6f 6e .the.source.code...If.the.option
1c9c0 61 6c 20 61 72 67 20 43 55 52 53 4f 52 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 69 74 20 69 73 20 al.arg.CURSOR.is.non-nil,.it.is.
1c9e0 75 73 65 64 20 61 73 20 74 68 65 20 71 75 65 72 79 2d 63 75 72 73 6f 72 20 74 6f 20 65 78 65 63 used.as.the.query-cursor.to.exec
1ca00 75 74 65 0a 51 55 45 52 59 2e 20 4f 74 68 65 72 77 69 73 65 2c 20 61 20 6e 65 77 6c 79 20 63 72 ute.QUERY..Otherwise,.a.newly.cr
1ca20 65 61 74 65 64 20 71 75 65 72 79 2d 63 75 72 73 6f 72 20 69 73 20 75 73 65 64 2e 22 0a 20 20 28 eated.query-cursor.is.used."...(
1ca40 74 73 63 2d 2d 71 75 65 72 79 2d 63 75 72 73 6f 72 2d 6d 61 74 63 68 65 73 0a 20 20 20 28 6f 72 tsc--query-cursor-matches....(or
1ca60 20 63 75 72 73 6f 72 20 28 74 73 63 2d 6d 61 6b 65 2d 71 75 65 72 79 2d 63 75 72 73 6f 72 29 29 .cursor.(tsc-make-query-cursor))
1ca80 20 71 75 65 72 79 20 6e 6f 64 65 20 74 65 78 74 2d 66 75 6e 63 74 69 6f 6e 29 29 0a 0a 28 64 65 .query.node.text-function))..(de
1caa0 66 75 6e 20 74 73 63 2d 71 75 65 72 79 2d 63 61 70 74 75 72 65 73 20 28 71 75 65 72 79 20 6e 6f fun.tsc-query-captures.(query.no
1cac0 64 65 20 74 65 78 74 2d 66 75 6e 63 74 69 6f 6e 20 26 6f 70 74 69 6f 6e 61 6c 20 63 75 72 73 6f de.text-function.&optional.curso
1cae0 72 29 0a 20 20 22 45 78 65 63 75 74 65 20 51 55 45 52 59 20 6f 6e 20 4e 4f 44 45 20 61 6e 64 20 r)..."Execute.QUERY.on.NODE.and.
1cb00 72 65 74 75 72 6e 20 61 20 73 65 71 75 65 6e 63 65 20 6f 66 20 63 61 70 74 75 72 65 73 2e 0a 43 return.a.sequence.of.captures..C
1cb20 61 70 74 75 72 65 73 20 61 72 65 20 73 6f 72 74 65 64 20 69 6e 20 74 68 65 20 6f 72 64 65 72 20 aptures.are.sorted.in.the.order.
1cb40 74 68 65 79 20 61 70 70 65 61 72 2e 0a 0a 45 61 63 68 20 63 61 70 74 75 72 65 20 68 61 73 20 74 they.appear...Each.capture.has.t
1cb60 68 65 20 66 6f 72 6d 20 28 43 41 50 54 55 52 45 2d 54 41 47 20 2e 20 43 41 50 54 55 52 45 44 2d he.form.(CAPTURE-TAG...CAPTURED-
1cb80 4e 4f 44 45 29 2c 20 77 68 65 72 65 20 43 41 50 54 55 52 45 2d 54 41 47 20 69 73 20 61 0a 73 79 NODE),.where.CAPTURE-TAG.is.a.sy
1cba0 6d 62 6f 6c 2c 20 77 68 6f 73 65 20 6e 61 6d 65 20 69 73 20 74 68 65 20 63 6f 72 72 65 73 70 6f mbol,.whose.name.is.the.correspo
1cbc0 6e 64 69 6e 67 20 63 61 70 74 75 72 65 20 6e 61 6d 65 20 64 65 66 69 6e 65 64 20 69 6e 20 51 55 nding.capture.name.defined.in.QU
1cbe0 45 52 59 20 28 77 69 74 68 6f 75 74 0a 74 68 65 20 70 72 65 66 69 78 20 5c 22 40 5c 22 29 2e 20 ERY.(without.the.prefix.\"@\")..
1cc00 49 66 20 51 55 45 52 59 20 77 61 73 20 63 72 65 61 74 65 64 20 77 69 74 68 20 61 20 63 75 73 74 If.QUERY.was.created.with.a.cust
1cc20 6f 6d 20 74 61 67 20 61 73 73 69 67 6e 65 72 2c 20 43 41 50 54 55 52 45 2d 54 41 47 0a 69 73 20 om.tag.assigner,.CAPTURE-TAG.is.
1cc40 74 68 65 20 76 61 6c 75 65 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 61 74 20 66 75 6e 63 74 the.value.returned.by.that.funct
1cc60 69 6f 6e 20 69 6e 73 74 65 61 64 2e 20 53 65 65 20 61 6c 73 6f 3a 20 60 74 73 63 2d 6d 61 6b 65 ion.instead..See.also:.`tsc-make
1cc80 2d 71 75 65 72 79 27 2e 0a 0a 54 45 58 54 2d 46 55 4e 43 54 49 4f 4e 20 69 73 20 63 61 6c 6c 65 -query'...TEXT-FUNCTION.is.calle
1cca0 64 20 74 6f 20 67 65 74 20 6e 6f 64 65 73 27 20 74 65 78 74 73 20 28 66 6f 72 20 74 65 78 74 2d d.to.get.nodes'.texts.(for.text-
1ccc0 62 61 73 65 64 20 70 72 65 64 69 63 61 74 65 73 29 2e 20 49 74 0a 73 68 6f 75 6c 64 20 74 61 6b based.predicates)..It.should.tak
1cce0 65 20 32 20 70 61 72 61 6d 65 74 65 72 73 3a 20 28 42 45 47 2d 42 59 54 45 20 45 4e 44 2d 42 59 e.2.parameters:.(BEG-BYTE.END-BY
1cd00 54 45 29 2c 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e TE),.and.return.the.correspondin
1cd20 67 0a 63 68 75 6e 6b 20 6f 66 20 74 65 78 74 20 69 6e 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f g.chunk.of.text.in.the.source.co
1cd40 64 65 2e 0a 0a 49 66 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 20 61 72 67 20 43 55 52 53 4f 52 20 de...If.the.optional.arg.CURSOR.
1cd60 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 69 74 20 69 73 20 75 73 65 64 20 61 73 20 74 68 65 20 71 75 is.non-nil,.it.is.used.as.the.qu
1cd80 65 72 79 2d 63 75 72 73 6f 72 20 74 6f 20 65 78 65 63 75 74 65 0a 51 55 45 52 59 2e 20 4f 74 68 ery-cursor.to.execute.QUERY..Oth
1cda0 65 72 77 69 73 65 2c 20 61 20 6e 65 77 6c 79 20 63 72 65 61 74 65 64 20 71 75 65 72 79 2d 63 75 erwise,.a.newly.created.query-cu
1cdc0 72 73 6f 72 20 69 73 20 75 73 65 64 2e 22 0a 20 20 28 74 73 63 2d 2d 71 75 65 72 79 2d 63 75 72 rsor.is.used."...(tsc--query-cur
1cde0 73 6f 72 2d 63 61 70 74 75 72 65 73 0a 20 20 20 28 6f 72 20 63 75 72 73 6f 72 20 28 74 73 63 2d sor-captures....(or.cursor.(tsc-
1ce00 6d 61 6b 65 2d 71 75 65 72 79 2d 63 75 72 73 6f 72 29 29 20 71 75 65 72 79 20 6e 6f 64 65 20 74 make-query-cursor)).query.node.t
1ce20 65 78 74 2d 66 75 6e 63 74 69 6f 6e 29 29 0a 0a 0c 0a 3b 3b 3b 20 54 72 61 76 65 72 73 61 6c 2e ext-function))....;;;.Traversal.
1ce40 0a 0a 28 64 65 66 63 6f 6e 73 74 20 74 73 63 2d 76 61 6c 69 64 2d 6e 6f 64 65 2d 70 72 6f 70 73 ..(defconst.tsc-valid-node-props
1ce60 0a 20 20 27 28 3a 74 79 70 65 0a 20 20 20 20 3a 66 69 65 6c 64 20 3b 6e 6f 64 65 27 73 20 66 69 ...'(:type.....:field.;node's.fi
1ce80 65 6c 64 20 6e 61 6d 65 20 77 69 74 68 69 6e 20 74 68 65 20 70 61 72 65 6e 74 20 6e 6f 64 65 0a eld.name.within.the.parent.node.
1cea0 20 20 20 20 3a 64 65 70 74 68 20 3b 6e 6f 64 65 27 73 20 64 65 70 74 68 2c 20 72 65 6c 61 74 69 ....:depth.;node's.depth,.relati
1cec0 76 65 20 74 6f 20 74 68 65 20 69 74 65 72 61 74 6f 72 27 73 20 73 74 61 72 74 0a 20 20 20 20 3a ve.to.the.iterator's.start.....:
1cee0 6e 61 6d 65 64 2d 70 20 3a 65 78 74 72 61 2d 70 20 3a 65 72 72 6f 72 2d 70 20 3a 6d 69 73 73 69 named-p.:extra-p.:error-p.:missi
1cf00 6e 67 2d 70 20 3a 68 61 73 2d 65 72 72 6f 72 2d 70 0a 20 20 20 20 3a 73 74 61 72 74 2d 62 79 74 ng-p.:has-error-p.....:start-byt
1cf20 65 20 3a 65 6e 64 2d 62 79 74 65 0a 20 20 20 20 3a 73 74 61 72 74 2d 70 6f 69 6e 74 20 3a 65 6e e.:end-byte.....:start-point.:en
1cf40 64 2d 70 6f 69 6e 74 0a 20 20 20 20 3a 72 61 6e 67 65 20 3a 62 79 74 65 2d 72 61 6e 67 65 29 0a d-point.....:range.:byte-range).
1cf60 20 20 22 4e 6f 64 65 20 70 72 6f 70 65 72 74 69 65 73 20 74 68 61 74 20 74 68 65 20 74 72 61 76 .."Node.properties.that.the.trav
1cf80 65 72 73 61 6c 20 66 75 6e 63 74 69 6f 6e 73 20 63 61 6e 20 72 65 74 75 72 6e 2e 0a 0a 57 68 65 ersal.functions.can.return...Whe
1cfa0 6e 20 64 65 61 6c 69 6e 67 20 77 69 74 68 20 61 20 6c 61 72 67 65 20 6e 75 6d 62 65 72 20 6f 66 n.dealing.with.a.large.number.of
1cfc0 20 6e 6f 64 65 73 2c 20 77 6f 72 6b 69 6e 67 20 77 69 74 68 20 6e 6f 64 65 20 6f 62 6a 65 63 74 .nodes,.working.with.node.object
1cfe0 73 20 63 72 65 61 74 65 73 20 61 0a 68 75 67 65 20 70 72 65 73 73 75 72 65 20 6f 6e 20 74 68 65 s.creates.a.huge.pressure.on.the
1d000 20 67 61 72 62 61 67 65 20 63 6f 6c 6c 65 63 74 6f 72 2e 20 54 6f 20 69 6e 63 72 65 61 73 65 20 .garbage.collector..To.increase.
1d020 70 65 72 66 6f 72 6d 61 6e 63 65 2c 20 69 74 27 73 20 62 65 74 74 65 72 20 74 6f 0a 69 6e 73 74 performance,.it's.better.to.inst
1d040 65 61 64 20 65 78 74 72 61 63 74 20 61 6e 64 20 77 6f 72 6b 20 77 69 74 68 20 69 6e 64 69 76 69 ead.extract.and.work.with.indivi
1d060 64 75 61 6c 20 6e 6f 64 65 20 70 72 6f 70 65 72 74 69 65 73 2e 20 53 65 76 65 72 61 6c 20 66 75 dual.node.properties..Several.fu
1d080 6e 63 74 69 6f 6e 73 20 63 61 6e 0a 6f 70 74 69 6f 6e 61 6c 6c 79 20 74 61 6b 65 20 61 20 76 65 nctions.can.optionally.take.a.ve
1d0a0 63 74 6f 72 20 6f 66 20 70 72 6f 70 65 72 74 79 20 6e 61 6d 65 73 2c 20 61 6e 64 20 72 65 74 75 ctor.of.property.names,.and.retu
1d0c0 72 6e 20 61 20 76 65 63 74 6f 72 20 6f 66 20 70 72 6f 70 65 72 74 79 0a 76 61 6c 75 65 73 2e 0a rn.a.vector.of.property.values..
1d0e0 0a 54 68 69 73 20 77 6f 75 6c 64 6e 27 74 20 62 65 20 6e 65 63 65 73 73 61 72 79 20 69 66 20 74 .This.wouldn't.be.necessary.if.t
1d100 68 65 20 72 75 6e 74 69 6d 65 20 73 75 70 70 6f 72 74 65 64 20 73 74 61 63 6b 2d 61 6c 6c 6f 63 he.runtime.supported.stack-alloc
1d120 61 74 65 64 20 6f 62 6a 65 63 74 73 2e 0a 65 2e 67 2e 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 ated.objects..e.g..automatically
1d140 20 74 68 72 6f 75 67 68 20 65 73 63 61 70 65 20 61 6e 61 6c 79 73 69 73 2e 20 48 6f 77 20 61 62 .through.escape.analysis..How.ab
1d160 6f 75 74 20 70 6f 72 74 69 6e 67 20 45 4c 69 73 70 20 74 6f 20 47 72 61 61 6c 56 4d 3f 22 29 0a out.porting.ELisp.to.GraalVM?").
1d180 0a 28 64 65 66 75 6e 20 74 73 63 2d 2d 63 68 65 63 6b 2d 6e 6f 64 65 2d 70 72 6f 70 73 20 28 70 .(defun.tsc--check-node-props.(p
1d1a0 72 6f 70 73 29 0a 20 20 22 56 61 6c 69 64 61 74 65 20 74 68 61 74 20 50 52 4f 50 53 20 61 72 65 rops)..."Validate.that.PROPS.are
1d1c0 20 76 61 6c 69 64 20 6e 6f 64 65 20 70 72 6f 70 65 72 74 69 65 73 2e 22 0a 20 20 28 63 6f 6e 64 .valid.node.properties."...(cond
1d1e0 0a 20 20 20 28 28 6b 65 79 77 6f 72 64 70 20 70 72 6f 70 73 29 0a 20 20 20 20 28 75 6e 6c 65 73 ....((keywordp.props).....(unles
1d200 73 20 28 6d 65 6d 71 20 70 72 6f 70 73 20 74 73 63 2d 76 61 6c 69 64 2d 6e 6f 64 65 2d 70 72 6f s.(memq.props.tsc-valid-node-pro
1d220 70 73 29 0a 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 49 6e 76 61 6c 69 64 20 6e 6f 64 65 20 70 ps).......(error."Invalid.node.p
1d240 72 6f 70 65 72 74 79 20 25 73 22 20 70 72 6f 70 73 29 29 29 0a 20 20 20 28 28 76 65 63 74 6f 72 roperty.%s".props)))....((vector
1d260 70 20 70 72 6f 70 73 29 0a 20 20 20 20 28 77 68 65 6e 2d 6c 65 74 20 28 28 69 6e 76 61 6c 69 64 p.props).....(when-let.((invalid
1d280 2d 70 72 6f 70 73 20 28 73 65 71 2d 66 69 6c 74 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 -props.(seq-filter..............
1d2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 6b 77 29 0a 20 ..................(lambda.(kw)..
1d2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1d2e0 28 6e 6f 74 20 28 6d 65 6d 71 20 6b 77 20 74 73 63 2d 76 61 6c 69 64 2d 6e 6f 64 65 2d 70 72 6f (not.(memq.kw.tsc-valid-node-pro
1d300 70 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ps)))...........................
1d320 20 20 20 20 20 70 72 6f 70 73 29 29 29 0a 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 49 6e 76 61 .....props))).......(error."Inva
1d340 6c 69 64 20 6e 6f 64 65 20 70 72 6f 70 65 72 74 69 65 73 20 25 73 22 20 69 6e 76 61 6c 69 64 2d lid.node.properties.%s".invalid-
1d360 70 72 6f 70 73 29 29 29 0a 20 20 20 28 28 6e 75 6c 6c 20 70 72 6f 70 73 29 20 6e 69 6c 29 0a 20 props)))....((null.props).nil)..
1d380 20 20 28 74 20 28 65 72 72 6f 72 20 22 45 78 70 65 63 74 65 64 20 76 65 63 74 6f 72 73 2c 20 6b ..(t.(error."Expected.vectors,.k
1d3a0 65 79 77 6f 72 64 2c 20 6f 72 20 6e 69 6c 20 25 73 22 20 70 72 6f 70 73 29 29 29 29 0a 0a 28 64 eyword,.or.nil.%s".props))))..(d
1d3c0 65 66 75 6e 20 74 73 63 2d 74 72 61 76 65 72 73 65 2d 6d 61 70 63 20 28 66 75 6e 63 20 74 72 65 efun.tsc-traverse-mapc.(func.tre
1d3e0 65 2d 6f 72 2d 6e 6f 64 65 20 26 6f 70 74 69 6f 6e 61 6c 20 70 72 6f 70 73 29 0a 20 20 22 43 61 e-or-node.&optional.props)..."Ca
1d400 6c 6c 20 46 55 4e 43 20 66 6f 72 20 65 61 63 68 20 6e 6f 64 65 20 6f 66 20 54 52 45 45 2d 4f 52 ll.FUNC.for.each.node.of.TREE-OR
1d420 2d 4e 4f 44 45 2e 0a 54 68 65 20 74 72 61 76 65 72 73 61 6c 20 69 73 20 64 65 70 74 68 2d 66 69 -NODE..The.traversal.is.depth-fi
1d440 72 73 74 20 70 72 65 2d 6f 72 64 65 72 2e 0a 0a 49 66 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 20 rst.pre-order...If.the.optional.
1d460 61 72 67 20 50 52 4f 50 53 20 69 73 20 61 20 76 65 63 74 6f 72 20 6f 66 20 70 72 6f 70 65 72 74 arg.PROPS.is.a.vector.of.propert
1d480 79 20 6e 61 6d 65 73 2c 20 46 55 4e 43 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 61 0a 76 y.names,.FUNC.is.called.with.a.v
1d4a0 65 63 74 6f 72 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 6e 6f 64 65 27 73 20 63 6f 72 72 ector.containing.the.node's.corr
1d4c0 65 73 70 6f 6e 64 69 6e 67 20 70 72 6f 70 65 72 74 69 65 73 2c 20 69 6e 73 74 65 61 64 20 6f 66 esponding.properties,.instead.of
1d4e0 20 74 68 65 20 6e 6f 64 65 0a 69 74 73 65 6c 66 2e 20 46 6f 72 20 65 66 66 69 63 69 65 6e 63 79 .the.node.itself..For.efficiency
1d500 2c 20 74 68 69 73 20 76 65 63 74 6f 72 20 69 73 20 72 65 75 73 65 64 20 61 63 72 6f 73 73 20 69 ,.this.vector.is.reused.across.i
1d520 6e 76 6f 63 61 74 69 6f 6e 73 20 6f 66 20 46 55 4e 43 2e 20 2a 44 4f 0a 4e 4f 54 20 4b 45 45 50 nvocations.of.FUNC..*DO.NOT.KEEP
1d540 2a 20 61 20 72 65 66 65 72 65 6e 63 65 20 74 6f 20 69 74 2e 20 49 74 27 73 20 72 65 63 6f 6d 6d *.a.reference.to.it..It's.recomm
1d560 65 6e 64 65 64 20 74 6f 20 75 73 65 20 60 70 63 61 73 65 2d 6c 65 74 27 20 74 6f 20 65 78 74 72 ended.to.use.`pcase-let'.to.extr
1d580 61 63 74 20 74 68 65 0a 70 72 6f 70 65 72 74 69 65 73 2e 20 53 65 65 20 60 74 73 63 2d 76 61 6c act.the.properties..See.`tsc-val
1d5a0 69 64 2d 6e 6f 64 65 2d 70 72 6f 70 73 27 20 66 6f 72 20 74 68 65 20 6c 69 73 74 20 6f 66 20 61 id-node-props'.for.the.list.of.a
1d5c0 76 61 69 6c 61 62 6c 65 20 70 72 6f 70 65 72 74 69 65 73 2e 0a 0a 50 52 4f 50 53 20 63 61 6e 20 vailable.properties...PROPS.can.
1d5e0 61 6c 73 6f 20 62 65 20 61 20 73 69 6e 67 6c 65 20 70 72 6f 70 65 72 74 79 20 6e 61 6d 65 2c 20 also.be.a.single.property.name,.
1d600 69 6e 20 77 68 69 63 68 20 63 61 73 65 20 46 55 4e 43 20 72 65 63 65 69 76 65 73 20 6f 6e 6c 79 in.which.case.FUNC.receives.only
1d620 20 74 68 61 74 0a 70 72 6f 70 65 72 74 79 20 65 61 63 68 20 69 6e 76 6f 63 61 74 69 6f 6e 2e 0a .that.property.each.invocation..
1d640 0a 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 6f 20 63 72 75 64 65 6c 79 20 72 65 6e 64 65 72 20 .For.example,.to.crudely.render.
1d660 61 20 73 79 6e 74 61 78 20 74 72 65 65 3a 0a 0a 20 20 20 20 28 74 73 63 2d 74 72 61 76 65 72 73 a.syntax.tree:......(tsc-travers
1d680 65 2d 6d 61 70 63 0a 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 70 72 6f 70 73 29 0a 20 20 20 20 e-mapc......(lambda.(props).....
1d6a0 20 20 20 28 70 63 61 73 65 2d 6c 65 74 20 28 28 60 5b 2c 74 79 70 65 20 2c 64 65 70 74 68 20 2c ...(pcase-let.((`[,type.,depth.,
1d6c0 6e 61 6d 65 64 2d 70 5d 20 70 72 6f 70 73 29 29 0a 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 named-p].props))..........(when.
1d6e0 6e 61 6d 65 64 2d 70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 41 53 54 named-p.....................;AST
1d700 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 6d 61 6b 65 2d 73 74 72 69 6e 67 ............(insert.(make-string
1d720 20 64 65 70 74 68 20 5c 5c 3f 20 29 20 3b 69 6e 64 65 6e 74 61 74 69 6f 6e 0a 20 20 20 20 20 20 .depth.\\?.).;indentation.......
1d740 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 5c 22 25 53 5c 22 20 74 79 70 65 .............(format.\"%S\".type
1d760 29 20 5c 22 5c 5c 6e 5c 22 29 29 29 29 0a 20 20 20 20 20 74 72 65 65 0a 20 20 20 20 20 5b 3a 74 ).\"\\n\"))))......tree......[:t
1d780 79 70 65 20 3a 64 65 70 74 68 20 3a 6e 61 6d 65 64 2d 70 5d 29 0a 22 0a 20 20 28 74 73 63 2d 2d ype.:depth.:named-p])."...(tsc--
1d7a0 63 68 65 63 6b 2d 6e 6f 64 65 2d 70 72 6f 70 73 20 70 72 6f 70 73 29 0a 20 20 28 74 73 63 2d 2d check-node-props.props)...(tsc--
1d7c0 74 72 61 76 65 72 73 65 2d 6d 61 70 63 20 66 75 6e 63 20 74 72 65 65 2d 6f 72 2d 6e 6f 64 65 20 traverse-mapc.func.tree-or-node.
1d7e0 70 72 6f 70 73 29 29 0a 0a 28 64 65 66 75 6e 20 74 73 63 2d 74 72 61 76 65 72 73 65 2d 69 74 65 props))..(defun.tsc-traverse-ite
1d800 72 20 28 74 72 65 65 2d 6f 72 2d 6e 6f 64 65 20 26 6f 70 74 69 6f 6e 61 6c 20 70 72 6f 70 73 29 r.(tree-or-node.&optional.props)
1d820 0a 20 20 22 52 65 74 75 72 6e 20 61 6e 20 69 74 65 72 61 74 6f 72 20 74 68 61 74 20 74 72 61 76 ..."Return.an.iterator.that.trav
1d840 65 72 73 65 20 54 52 45 45 2d 4f 52 2d 4e 4f 44 45 2e 0a 54 68 65 20 74 72 61 76 65 72 73 61 6c erse.TREE-OR-NODE..The.traversal
1d860 20 69 73 20 64 65 70 74 68 2d 66 69 72 73 74 20 70 72 65 2d 6f 72 64 65 72 2e 0a 0a 49 66 20 74 .is.depth-first.pre-order...If.t
1d880 68 65 20 6f 70 74 69 6f 6e 61 6c 20 61 72 67 20 50 52 4f 50 53 20 69 73 20 61 20 76 65 63 74 6f he.optional.arg.PROPS.is.a.vecto
1d8a0 72 20 6f 66 20 70 72 6f 70 65 72 74 79 20 6e 61 6d 65 73 2c 20 74 68 65 20 69 74 65 72 61 74 6f r.of.property.names,.the.iterato
1d8c0 72 20 79 69 65 6c 64 73 20 61 0a 76 65 63 74 6f 72 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 r.yields.a.vector.containing.the
1d8e0 20 6e 6f 64 65 27 73 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 70 72 6f 70 65 72 74 69 65 73 .node's.corresponding.properties
1d900 2c 20 69 6e 73 74 65 61 64 20 6f 66 20 74 68 65 20 6e 6f 64 65 0a 69 74 73 65 6c 66 2e 20 46 6f ,.instead.of.the.node.itself..Fo
1d920 72 20 65 66 66 69 63 69 65 6e 63 79 2c 20 74 68 69 73 20 76 65 63 74 6f 72 20 69 73 20 72 65 75 r.efficiency,.this.vector.is.reu
1d940 73 65 64 20 61 63 72 6f 73 73 20 69 74 65 72 61 74 69 6f 6e 73 2e 20 2a 44 4f 20 4e 4f 54 20 4b sed.across.iterations..*DO.NOT.K
1d960 45 45 50 2a 20 61 0a 72 65 66 65 72 65 6e 63 65 20 74 6f 20 69 74 2e 20 49 74 27 73 20 72 65 63 EEP*.a.reference.to.it..It's.rec
1d980 6f 6d 6d 65 6e 64 65 64 20 74 6f 20 75 73 65 20 60 70 63 61 73 65 2d 6c 65 74 27 20 74 6f 20 65 ommended.to.use.`pcase-let'.to.e
1d9a0 78 74 72 61 63 74 20 74 68 65 20 70 72 6f 70 65 72 74 69 65 73 2e 0a 53 65 65 20 60 74 73 63 2d xtract.the.properties..See.`tsc-
1d9c0 76 61 6c 69 64 2d 6e 6f 64 65 2d 70 72 6f 70 73 27 20 66 6f 72 20 74 68 65 20 6c 69 73 74 20 6f valid-node-props'.for.the.list.o
1d9e0 66 20 61 76 61 69 6c 61 62 6c 65 20 70 72 6f 70 65 72 74 69 65 73 2e 0a 0a 50 52 4f 50 53 20 63 f.available.properties...PROPS.c
1da00 61 6e 20 61 6c 73 6f 20 62 65 20 61 20 73 69 6e 67 6c 65 20 70 72 6f 70 65 72 74 79 20 6e 61 6d an.also.be.a.single.property.nam
1da20 65 2c 20 69 6e 20 77 68 69 63 68 20 63 61 73 65 20 74 68 65 20 69 74 65 72 61 74 6f 72 20 79 69 e,.in.which.case.the.iterator.yi
1da40 65 6c 64 73 20 6f 6e 6c 79 0a 74 68 61 74 20 70 72 6f 70 65 72 74 79 20 65 61 63 68 20 69 74 65 elds.only.that.property.each.ite
1da60 72 61 74 69 6f 6e 2e 0a 0a 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 6f 20 63 72 75 64 65 6c 79 ration...For.example,.to.crudely
1da80 20 72 65 6e 64 65 72 20 61 20 73 79 6e 74 61 78 20 74 72 65 65 3a 0a 0a 20 20 20 20 28 69 74 65 .render.a.syntax.tree:......(ite
1daa0 72 2d 64 6f 20 28 70 72 6f 70 73 20 28 74 73 63 2d 74 72 61 76 65 72 73 65 2d 69 74 65 72 0a 20 r-do.(props.(tsc-traverse-iter..
1dac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 72 65 65 20 5b 3a 74 79 70 65 20 ....................tree.[:type.
1dae0 3a 64 65 70 74 68 20 3a 6e 61 6d 65 64 2d 70 5d 29 29 0a 20 20 20 20 20 20 28 70 63 61 73 65 2d :depth.:named-p])).......(pcase-
1db00 6c 65 74 20 28 28 60 5b 2c 74 79 70 65 20 2c 64 65 70 74 68 20 2c 6e 61 6d 65 64 2d 70 5d 20 70 let.((`[,type.,depth.,named-p].p
1db20 72 6f 70 73 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 6e 61 6d 65 64 2d 70 20 20 20 20 rops)).........(when.named-p....
1db40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 41 53 54 0a 20 20 20 20 20 20 20 20 ...................;AST.........
1db60 20 20 28 69 6e 73 65 72 74 20 28 6d 61 6b 65 2d 73 74 72 69 6e 67 20 64 65 70 74 68 20 5c 5c 3f ..(insert.(make-string.depth.\\?
1db80 20 29 20 20 20 3b 69 6e 64 65 6e 74 61 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .)...;indentation...............
1dba0 20 20 20 20 28 66 6f 72 6d 61 74 20 5c 22 25 53 5c 22 20 74 79 70 65 29 20 5c 22 5c 5c 6e 5c 22 ....(format.\"%S\".type).\"\\n\"
1dbc0 29 29 29 29 0a 22 0a 20 20 28 74 73 63 2d 2d 63 68 65 63 6b 2d 6e 6f 64 65 2d 70 72 6f 70 73 20 ))))."...(tsc--check-node-props.
1dbe0 70 72 6f 70 73 29 0a 20 20 28 6c 65 74 20 28 28 69 74 65 72 20 28 74 73 63 2d 2d 69 74 65 72 20 props)...(let.((iter.(tsc--iter.
1dc00 74 72 65 65 2d 6f 72 2d 6e 6f 64 65 29 29 0a 20 20 20 20 20 20 20 20 28 6f 75 74 70 75 74 20 28 tree-or-node)).........(output.(
1dc20 77 68 65 6e 20 28 76 65 63 74 6f 72 70 20 70 72 6f 70 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 when.(vectorp.props)............
1dc40 20 20 20 20 20 20 20 28 6d 61 6b 65 2d 76 65 63 74 6f 72 20 28 6c 65 6e 67 74 68 20 70 72 6f 70 .......(make-vector.(length.prop
1dc60 73 29 20 6e 69 6c 29 29 29 29 0a 20 20 20 20 28 6c 61 6d 62 64 61 20 28 63 6f 6e 74 72 6f 6c 20 s).nil)))).....(lambda.(control.
1dc80 5f 79 69 65 6c 64 2d 72 65 73 75 6c 74 29 0a 20 20 20 20 20 20 28 70 63 61 73 65 20 63 6f 6e 74 _yield-result).......(pcase.cont
1dca0 72 6f 6c 0a 20 20 20 20 20 20 20 20 28 3a 6e 65 78 74 20 28 6f 72 20 28 74 73 63 2d 2d 69 74 65 rol.........(:next.(or.(tsc--ite
1dcc0 72 2d 6e 65 78 74 2d 6e 6f 64 65 20 69 74 65 72 20 70 72 6f 70 73 20 6f 75 74 70 75 74 29 0a 20 r-next-node.iter.props.output)..
1dce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 69 67 6e 61 6c 20 27 69 74 65 72 2d ..................(signal.'iter-
1dd00 65 6e 64 2d 6f 66 2d 73 65 71 75 65 6e 63 65 20 6e 69 6c 29 29 29 0a 20 20 20 20 20 20 20 20 28 end-of-sequence.nil))).........(
1dd20 3a 63 6c 6f 73 65 20 28 73 65 74 71 20 69 74 65 72 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 :close.(setq.iter.nil)).........
1dd40 28 5f 20 28 65 72 72 6f 72 20 22 3f 3f 3f 22 29 29 29 29 29 29 0a 0a 28 63 6c 2d 64 65 66 6d 61 (_.(error."???"))))))..(cl-defma
1dd60 63 72 6f 20 74 73 63 2d 74 72 61 76 65 72 73 65 2d 64 6f 20 28 28 76 61 72 73 20 74 72 65 65 2d cro.tsc-traverse-do.((vars.tree-
1dd80 6f 72 2d 6e 6f 64 65 29 20 26 72 65 73 74 20 62 6f 64 79 29 0a 20 20 22 45 76 61 6c 75 61 74 65 or-node).&rest.body)..."Evaluate
1dda0 20 42 4f 44 59 20 77 69 74 68 20 56 41 52 53 20 62 6f 75 6e 64 20 74 6f 20 70 72 6f 70 65 72 74 .BODY.with.VARS.bound.to.propert
1ddc0 69 65 73 20 6f 66 20 65 61 63 68 20 6e 6f 64 65 20 69 6e 20 54 52 45 45 2d 4f 52 2d 4e 4f 44 45 ies.of.each.node.in.TREE-OR-NODE
1dde0 2e 0a 54 68 65 20 74 72 61 76 65 72 73 61 6c 20 69 73 20 64 65 70 74 68 2d 66 69 72 73 74 20 70 ..The.traversal.is.depth-first.p
1de00 72 65 2d 6f 72 64 65 72 2e 0a 0a 56 41 52 53 20 6d 75 73 74 20 62 65 20 61 20 76 65 63 74 6f 72 re-order...VARS.must.be.a.vector
1de20 20 6f 66 20 73 79 6d 62 6f 6c 73 2e 20 53 65 65 20 60 74 73 63 2d 76 61 6c 69 64 2d 6e 6f 64 65 .of.symbols..See.`tsc-valid-node
1de40 2d 70 72 6f 70 73 27 20 66 6f 72 20 74 68 65 20 6c 69 73 74 20 6f 66 0a 61 76 61 69 6c 61 62 6c -props'.for.the.list.of.availabl
1de60 65 20 70 72 6f 70 65 72 74 69 65 73 2e 20 28 49 6e 20 56 41 52 53 2c 20 74 68 65 79 20 6d 75 73 e.properties..(In.VARS,.they.mus
1de80 74 20 62 65 20 73 79 6d 62 6f 6c 73 2c 20 6e 6f 74 20 6b 65 79 77 6f 72 64 73 2e 29 0a 0a 46 6f t.be.symbols,.not.keywords.)..Fo
1dea0 72 20 65 78 61 6d 70 6c 65 2c 20 74 6f 20 63 72 75 64 65 6c 79 20 72 65 6e 64 65 72 20 61 20 73 r.example,.to.crudely.render.a.s
1dec0 79 6e 74 61 78 20 74 72 65 65 3a 0a 0a 20 20 20 20 28 74 73 63 2d 74 72 61 76 65 72 73 65 2d 64 yntax.tree:......(tsc-traverse-d
1dee0 6f 20 28 5b 74 79 70 65 20 64 65 70 74 68 20 6e 61 6d 65 64 2d 70 5d 20 74 72 65 65 29 0a 20 20 o.([type.depth.named-p].tree)...
1df00 20 20 20 20 28 77 68 65 6e 20 6e 61 6d 65 64 2d 70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....(when.named-p...............
1df20 20 20 20 20 20 20 3b 41 53 54 0a 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 6d 61 6b 65 ......;AST.........(insert.(make
1df40 2d 73 74 72 69 6e 67 20 64 65 70 74 68 20 5c 5c 3f 20 29 20 3b 69 64 65 6e 74 61 74 69 6f 6e 0a -string.depth.\\?.).;identation.
1df60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 5c 22 25 53 5c 22 20 74 ................(format.\"%S\".t
1df80 79 70 65 29 20 5c 22 5c 5c 6e 5c 22 29 29 29 0a 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6e ype).\"\\n\")))."...(declare.(in
1dfa0 64 65 6e 74 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 64 65 62 75 67 20 28 28 76 65 63 74 dent.1)............(debug.((vect
1dfc0 6f 72 70 20 66 6f 72 6d 29 20 62 6f 64 79 29 29 29 0a 20 20 28 75 6e 6c 65 73 73 20 28 76 65 63 orp.form).body)))...(unless.(vec
1dfe0 74 6f 72 70 20 76 61 72 73 29 0a 20 20 20 20 28 65 72 72 6f 72 20 22 56 61 72 20 62 69 6e 64 69 torp.vars).....(error."Var.bindi
1e000 6e 67 73 20 6d 75 73 74 20 62 65 20 61 20 76 65 63 74 6f 72 22 29 29 0a 20 20 28 6c 65 74 20 28 ngs.must.be.a.vector"))...(let.(
1e020 28 70 72 6f 70 73 20 28 63 6c 2d 6d 61 70 20 27 76 65 63 74 6f 72 0a 20 20 20 20 20 20 20 20 20 (props.(cl-map.'vector..........
1e040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 73 79 6d 62 6f 6c 29 0a 20 ..............(lambda.(symbol)..
1e060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 74 65 72 6e 20 ........................(intern.
1e080 28 66 6f 72 6d 61 74 20 22 3a 25 73 22 20 73 79 6d 62 6f 6c 29 29 29 0a 20 20 20 20 20 20 20 20 (format.":%s".symbol))).........
1e0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 73 29 29 0a 20 20 20 20 20 20 20 20 28 69 ...............vars)).........(i
1e0c0 74 65 72 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 69 74 65 72 22 29 29 0a 20 20 20 20 20 20 ter.(make-symbol."iter")).......
1e0e0 20 20 28 6f 75 74 70 75 74 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 6f 75 74 70 75 74 22 29 ..(output.(make-symbol."output")
1e100 29 29 0a 20 20 20 20 28 74 73 63 2d 2d 63 68 65 63 6b 2d 6e 6f 64 65 2d 70 72 6f 70 73 20 70 72 )).....(tsc--check-node-props.pr
1e120 6f 70 73 29 0a 20 20 20 20 60 28 6c 65 74 20 28 28 2c 69 74 65 72 20 28 74 73 63 2d 2d 69 74 65 ops).....`(let.((,iter.(tsc--ite
1e140 72 20 2c 74 72 65 65 2d 6f 72 2d 6e 6f 64 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 2c 6f r.,tree-or-node))............(,o
1e160 75 74 70 75 74 20 2c 28 6d 61 6b 65 2d 76 65 63 74 6f 72 20 28 6c 65 6e 67 74 68 20 70 72 6f 70 utput.,(make-vector.(length.prop
1e180 73 29 20 6e 69 6c 29 29 29 0a 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 74 73 63 2d 2d 69 74 s).nil)))........(while.(tsc--it
1e1a0 65 72 2d 6e 65 78 74 2d 6e 6f 64 65 20 2c 69 74 65 72 20 2c 70 72 6f 70 73 20 2c 6f 75 74 70 75 er-next-node.,iter.,props.,outpu
1e1c0 74 29 0a 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 2c 40 28 63 6c 2d 6c 6f 6f 70 20 66 6f t)..........(let*.(,@(cl-loop.fo
1e1e0 72 20 69 20 62 65 6c 6f 77 20 28 6c 65 6e 67 74 68 20 76 61 72 73 29 0a 20 20 20 20 20 20 20 20 r.i.below.(length.vars).........
1e200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6c 65 63 74 20 60 28 2c 28 61 ...................collect.`(,(a
1e220 72 65 66 20 76 61 72 73 20 69 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ref.vars.i).....................
1e240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 65 66 20 2c 6f 75 74 70 75 74 20 2c .................(aref.,output.,
1e260 69 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 2c 40 62 6f 64 79 29 29 29 29 29 0a 0a 0c 0a i))))............,@body)))))....
1e280 3b 3b 3b 20 55 74 69 6c 69 74 69 65 73 2e 0a 0a 28 64 65 66 75 6e 20 74 73 63 2d 70 70 2d 74 6f ;;;.Utilities...(defun.tsc-pp-to
1e2a0 2d 73 74 72 69 6e 67 20 28 74 72 65 65 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 70 72 65 -string.(tree)..."Return.the.pre
1e2c0 74 74 79 2d 70 72 69 6e 74 65 64 20 73 74 72 69 6e 67 20 6f 66 20 54 52 45 45 27 73 20 73 65 78 tty-printed.string.of.TREE's.sex
1e2e0 70 2e 22 0a 20 20 28 70 70 2d 74 6f 2d 73 74 72 69 6e 67 20 28 72 65 61 64 20 28 74 73 63 2d 74 p."...(pp-to-string.(read.(tsc-t
1e300 72 65 65 2d 74 6f 2d 73 65 78 70 20 74 72 65 65 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 74 73 63 ree-to-sexp.tree))))..(defun.tsc
1e320 2d 2d 6e 6f 64 65 2d 73 74 65 70 73 20 28 6e 6f 64 65 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 --node-steps.(node)..."Return.th
1e340 65 20 73 65 71 75 65 6e 63 65 20 6f 66 20 73 74 65 70 73 20 66 72 6f 6d 20 74 68 65 20 72 6f 6f e.sequence.of.steps.from.the.roo
1e360 74 20 6e 6f 64 65 20 74 6f 20 4e 4f 44 45 2e 0a 0a 45 61 63 68 20 73 74 65 70 20 68 61 73 20 74 t.node.to.NODE...Each.step.has.t
1e380 68 65 20 66 6f 72 6d 20 28 43 48 49 4c 44 2d 4e 4f 44 45 20 2e 20 4e 54 48 29 2c 20 77 68 65 72 he.form.(CHILD-NODE...NTH),.wher
1e3a0 65 20 43 48 49 4c 44 2d 4e 4f 44 45 20 69 73 20 74 68 65 20 6e 6f 64 65 20 74 6f 0a 64 65 73 63 e.CHILD-NODE.is.the.node.to.desc
1e3c0 65 6e 64 20 69 6e 74 6f 2c 20 61 6e 64 20 4e 54 48 20 69 73 20 69 74 73 20 30 2d 62 61 73 65 64 end.into,.and.NTH.is.its.0-based
1e3e0 20 6f 72 64 69 6e 61 6c 20 70 6f 73 69 74 69 6f 6e 20 77 69 74 68 69 6e 20 74 68 65 20 70 61 72 .ordinal.position.within.the.par
1e400 65 6e 74 20 6e 6f 64 65 2e 0a 0a 49 66 20 4e 4f 44 45 20 69 73 20 74 68 65 20 72 6f 6f 74 20 6e ent.node...If.NODE.is.the.root.n
1e420 6f 64 65 2c 20 74 68 65 20 73 65 71 75 65 6e 63 65 20 69 73 20 65 6d 70 74 79 2e 22 0a 20 20 28 ode,.the.sequence.is.empty."...(
1e440 6c 65 74 20 28 28 73 74 65 70 73 29 0a 20 20 20 20 20 20 20 20 28 70 61 72 65 6e 74 29 0a 20 20 let.((steps).........(parent)...
1e460 20 20 20 20 20 20 28 74 68 69 73 20 6e 6f 64 65 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 73 ......(this.node)).....(while.(s
1e480 65 74 71 20 70 61 72 65 6e 74 20 28 74 73 63 2d 67 65 74 2d 70 61 72 65 6e 74 20 74 68 69 73 29 etq.parent.(tsc-get-parent.this)
1e4a0 29 0a 20 20 20 20 20 20 28 70 75 73 68 20 28 63 61 74 63 68 20 3a 74 73 63 2d 73 74 65 70 0a 20 ).......(push.(catch.:tsc-step..
1e4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 69 20 30 29 29 0a 20 20 20 20 20 20 .............(let.((i.0)).......
1e4e0 20 20 20 20 20 20 20 20 20 20 28 74 73 63 2d 6d 61 70 63 2d 63 68 69 6c 64 72 65 6e 20 28 6c 61 ..........(tsc-mapc-children.(la
1e500 6d 62 64 61 20 28 63 68 69 6c 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 mbda.(child)....................
1e520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 74 73 63 2d 6e 6f 64 65 2d ..................(if.(tsc-node-
1e540 65 71 20 63 68 69 6c 64 20 74 68 69 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 eq.child.this)..................
1e560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 68 72 6f 77 20 3a ........................(throw.:
1e580 74 73 63 2d 73 74 65 70 20 28 63 6f 6e 73 20 74 68 69 73 20 69 29 29 0a 20 20 20 20 20 20 20 20 tsc-step.(cons.this.i)).........
1e5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ...............................(
1e5c0 73 65 74 71 20 69 20 28 31 2b 20 69 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 setq.i.(1+.i))))................
1e5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 72 65 6e 74 29 29 0a 20 20 20 ....................parent))....
1e600 20 20 20 20 20 20 20 20 20 20 20 28 74 68 72 6f 77 20 3a 74 73 63 2d 69 73 2d 6e 6f 74 2d 70 61 ...........(throw.:tsc-is-not-pa
1e620 72 65 6e 74 73 2d 63 68 69 6c 64 20 28 63 6f 6e 73 20 74 68 69 73 20 70 61 72 65 6e 74 29 29 29 rents-child.(cons.this.parent)))
1e640 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 74 65 70 73 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 .............steps).......(setq.
1e660 74 68 69 73 20 70 61 72 65 6e 74 29 29 0a 20 20 20 20 73 74 65 70 73 29 29 0a 0a 28 64 65 66 69 this.parent)).....steps))..(defi
1e680 6e 65 2d 65 72 72 6f 72 20 27 74 73 63 2d 2d 69 6e 76 61 6c 69 64 2d 6e 6f 64 65 2d 73 74 65 70 ne-error.'tsc--invalid-node-step
1e6a0 20 22 43 61 6e 6e 6f 74 20 66 6f 6c 6c 6f 77 20 6e 6f 64 65 20 73 74 65 70 22 29 0a 0a 28 64 65 ."Cannot.follow.node.step")..(de
1e6c0 66 75 6e 20 74 73 63 2d 2d 6e 6f 64 65 2d 66 72 6f 6d 2d 73 74 65 70 73 20 28 74 72 65 65 20 73 fun.tsc--node-from-steps.(tree.s
1e6e0 74 65 70 73 29 0a 20 20 22 46 6f 6c 6c 6f 77 20 53 54 45 50 53 20 66 72 6f 6d 20 54 52 45 45 27 teps)..."Follow.STEPS.from.TREE'
1e700 73 20 72 6f 6f 74 20 6e 6f 64 65 3b 20 72 65 74 75 72 6e 20 74 68 65 20 66 69 6e 61 6c 20 6e 6f s.root.node;.return.the.final.no
1e720 64 65 2e 0a 53 54 45 50 53 20 73 68 6f 75 6c 64 20 62 65 20 61 20 73 65 71 75 65 6e 63 65 20 6f de..STEPS.should.be.a.sequence.o
1e740 66 20 73 74 65 70 73 2c 20 61 73 20 64 65 73 63 72 69 62 65 64 20 62 79 20 60 74 73 63 2d 2d 6e f.steps,.as.described.by.`tsc--n
1e760 6f 64 65 2d 73 74 65 70 73 27 2e 0a 0a 49 66 20 61 20 73 74 65 70 20 63 61 6e 6e 6f 74 20 62 65 ode-steps'...If.a.step.cannot.be
1e780 20 66 6f 6c 6c 6f 77 65 64 2c 20 73 69 67 6e 61 6c 20 61 20 60 74 73 63 2d 2d 69 6e 76 61 6c 69 .followed,.signal.a.`tsc--invali
1e7a0 64 2d 6e 6f 64 65 2d 73 74 65 70 27 20 65 72 72 6f 72 2e 22 0a 20 20 28 6c 65 74 20 28 28 74 68 d-node-step'.error."...(let.((th
1e7c0 69 73 20 28 74 73 63 2d 72 6f 6f 74 2d 6e 6f 64 65 20 74 72 65 65 29 29 29 0a 20 20 20 20 28 70 is.(tsc-root-node.tree))).....(p
1e7e0 63 61 73 65 2d 64 6f 6c 69 73 74 20 28 60 28 2c 6f 6c 64 2d 6e 6f 64 65 20 2e 20 2c 69 29 20 73 case-dolist.(`(,old-node...,i).s
1e800 74 65 70 73 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 6e 65 77 2d 6e 6f 64 65 20 28 74 73 63 teps).......(let.((new-node.(tsc
1e820 2d 67 65 74 2d 6e 74 68 2d 63 68 69 6c 64 20 74 68 69 73 20 69 29 29 29 0a 20 20 20 20 20 20 20 -get-nth-child.this.i)))........
1e840 20 28 75 6e 6c 65 73 73 20 6e 65 77 2d 6e 6f 64 65 0a 20 20 20 20 20 20 20 20 20 20 28 73 69 67 .(unless.new-node...........(sig
1e860 6e 61 6c 20 27 74 73 63 2d 2d 69 6e 76 61 6c 69 64 2d 6e 6f 64 65 2d 73 74 65 70 20 28 6c 69 73 nal.'tsc--invalid-node-step.(lis
1e880 74 20 74 68 69 73 20 6f 6c 64 2d 6e 6f 64 65 20 69 20 6e 65 77 2d 6e 6f 64 65 29 29 29 0a 20 20 t.this.old-node.i.new-node)))...
1e8a0 20 20 20 20 20 20 28 6c 65 74 20 28 28 6e 65 77 2d 74 79 70 65 20 28 74 73 63 2d 6e 6f 64 65 2d ......(let.((new-type.(tsc-node-
1e8c0 74 79 70 65 20 6e 65 77 2d 6e 6f 64 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f type.new-node))...............(o
1e8e0 6c 64 2d 74 79 70 65 20 28 74 73 63 2d 6e 6f 64 65 2d 74 79 70 65 20 6f 6c 64 2d 6e 6f 64 65 29 ld-type.(tsc-node-type.old-node)
1e900 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 75 61 6c 20 6f 6c 64 2d ))...........(unless.(equal.old-
1e920 74 79 70 65 20 6e 65 77 2d 74 79 70 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 69 67 6e type.new-type).............(sign
1e940 61 6c 20 27 74 73 63 2d 2d 69 6e 76 61 6c 69 64 2d 6e 6f 64 65 2d 73 74 65 70 20 28 6c 69 73 74 al.'tsc--invalid-node-step.(list
1e960 20 74 68 69 73 20 6f 6c 64 2d 6e 6f 64 65 20 69 20 6e 65 77 2d 6e 6f 64 65 29 29 29 29 0a 20 20 .this.old-node.i.new-node))))...
1e980 20 20 20 20 20 20 28 73 65 74 71 20 74 68 69 73 20 6e 65 77 2d 6e 6f 64 65 29 29 29 0a 20 20 20 ......(setq.this.new-node)))....
1e9a0 20 74 68 69 73 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 74 73 63 29 0a 3b 3b 3b 20 74 73 63 2e .this))..(provide.'tsc).;;;.tsc.
1e9c0 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 el.ends.here....................
1e9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ea00 74 73 63 2d 32 30 32 32 30 32 31 32 2e 31 36 33 32 2f 44 59 4e 2d 56 45 52 53 49 4f 4e 00 00 00 tsc-20220212.1632/DYN-VERSION...
1ea20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ea40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ea60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
1ea80 30 30 30 30 30 30 36 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 32 36 34 00 20 30 00 00 00 0000006.00000000000.013264..0...
1eaa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1eac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1eae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1eb00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
1eb20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
1eb40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1eb60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1eb80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1eba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ebc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ebe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ec00 30 2e 31 38 2e 30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0.18.0..........................
1ec20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ec40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ec60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ec80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1eca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ecc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ece0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ed00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ed20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ed40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ed60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ed80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1eda0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1edc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ede0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ee00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ee20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ee40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ee60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ee80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1eea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1eec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1eee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ef00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ef20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ef40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ef60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ef80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1efa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1efc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1efe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f2a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f2c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f6a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f6c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f8a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f8c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fa00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fa20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fa40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fa60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fa80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1faa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fb00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fb20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fb40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fb60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fb80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fbc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fbe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fc00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fc20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fc40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fc60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fc80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fcc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fd00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fd20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fd40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fd60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fd80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fda0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fdc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fde0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fe00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fe20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fe40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fe60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fe80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ff00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ff20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ff40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ff60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ff80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ffa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ffc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ffe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
200a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
200c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
200e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
201a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
201c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
201e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
202a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
202c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
202e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
203a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
203c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
203e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
204a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
204c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
204e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
205a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
205c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
205e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
206a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
206c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
206e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
207a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
207c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
207e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................