summaryrefslogtreecommitdiff
path: root/localrepo/tsc-20220212.1632.tar
blob: 245f1da9141349a71eb6acfe18706463127e72fe (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 73 72 63 2f 00 00 00 00 00 00 00 00 00 00 tsc-20220212.1632/src/..........
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 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
0280 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...
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 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.
0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0460 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
0480 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...
04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0500 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...................
0520 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...................
0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0600 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}
0620 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
0640 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
0660 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};..
0680 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
06a0 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
06c0 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
06e0 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>.{...
0700 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
0720 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
0740 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..
0760 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
0780 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
07a0 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
07c0 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
07e0 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.
0800 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:
0820 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
0840 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
0860 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]
0880 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
08a0 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:.&
08c0 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.
08e0 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
0900 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
0920 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
0940 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_
0960 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
0980 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
09a0 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(
09c0 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:
09e0 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
0a00 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
0a20 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
0a40 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
0a60 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:.
0a80 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
0aa0 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
0ac0 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.
0ae0 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
0b00 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
0b20 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.
0b40 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
0b60 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
0b80 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
0ba0 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
0bc0 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.
0be0 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.
0c00 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
0c20 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
0c40 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
0c60 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
0c80 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..///.
0ca0 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
0cc0 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
0ce0 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
0d00 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
0d20 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
0d40 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
0d60 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
0d80 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
0da0 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
0dc0 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.//
0de0 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
0e00 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
0e20 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
0e40 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
0e60 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
0e80 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
0ea0 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(
0ec0 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
0ee0 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
0f00 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
0f20 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.
0f40 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
0f60 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()?),........._.=
0f80 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.
0fa0 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
0fc0 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),........._.=>.
0fe0 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
1000 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
1020 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
1040 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
1060 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
1080 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.
10a0 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
10c0 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
10e0 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
1100 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
1120 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|
1140 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
1160 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();........
1180 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()
11a0 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
11c0 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
11e0 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()))..............
1200 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()).....
1220 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|.{...
1240 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
1260 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
1280 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 ().............}).....};.....//.
12a0 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)
12c0 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
12e0 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();...
1300 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
1320 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)),.........
1340 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),.....}.}..///.
1360 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
1380 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]
13a0 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
13c0 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
13e0 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
1400 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()
1420 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
1440 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.
1460 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..///.//
1480 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
14a0 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
14c0 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
14e0 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
1500 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
1520 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
1540 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
1560 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
1580 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:.
15a0 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
15c0 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
15e0 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.
1600 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
1620 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
1640 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
1660 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
1680 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
16a0 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
16c0 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
16e0 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
1700 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
1720 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
1740 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
1760 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
1780 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.
17a0 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
17c0 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
17e0 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
1800 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
1820 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
1840 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
1860 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
1880 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
18a0 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
18c0 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
18e0 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
1900 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.
1920 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
1940 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
1960 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,
1980 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..///.
19a0 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
19c0 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
19e0 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:
1a00 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).->
1a20 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
1a40 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
1a60 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
1a80 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
1aa0 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)?;.....
1ac0 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());
1ae0 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
1b00 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|.
1b20 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
1b40 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,.(
1b60 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,.)).....}).}............
1b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c00 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..
1c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c60 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
1c80 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...
1ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d00 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...................
1d20 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...................
1d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e00 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};.
1e20 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,.
1e40 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
1e60 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
1e80 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
1ea0 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::{..
1ec0 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},.....
1ee0 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
1f00 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.
1f20 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
1f40 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>).->
1f60 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
1f80 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()
1fa0 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
1fc0 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().{.........
1fe0 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(
2000 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).}..//.------------------
2020 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
2040 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
2060 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
2080 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
20a0 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).
20c0 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>,.}.
20e0 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
2100 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
2120 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
2140 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..///./
2160 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.
2180 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
21a0 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
21c0 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.
21e0 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
2200 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./
2220 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
2240 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
2260 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
2280 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.
22a0 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
22c0 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
22e0 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
2300 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
2320 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
2340 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>.{...
2360 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
2380 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
23a0 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
23c0 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.{.........
23e0 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
2400 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,..
2420 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
2440 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_
2460 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
2480 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
24a0 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
24c0 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
24e0 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,........
2500 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.=
2520 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
2540 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
2560 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_
2580 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
25a0 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
25c0 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,.........};
25e0 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.=
2600 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.
2620 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
2640 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
2660 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:.
2680 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
26a0 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
26c0 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
26e0 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.
2700 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
2720 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.
2740 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
2760 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
2780 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
27a0 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
27c0 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,.)
27e0 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
2800 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
2820 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
2840 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
2860 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
2880 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
28a0 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.{.....($(
28c0 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
28e0 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.$(.(.$(.
2900 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.),*.).)?
2920 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)?.
2940 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 )*).=>.{.........$(.............
2960 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))?].
2980 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])*........
29a0 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,.$(.
29c0 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
29e0 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
2a00 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.
2a20 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())?)...........
2a40 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
2a60 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
2a80 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
2aa0 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.
2ac0 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
2ae0 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
2b00 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.....
2b20 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
2b40 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
2b60 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
2b80 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
2ba0 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
2bc0 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:
2be0 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>.{.....
2c00 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
2c20 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>()?;
2c40 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
2c60 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
2c80 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(),.())?;....
2ca0 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
2cc0 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,.
2ce0 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).}..///
2d00 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
2d20 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
2d40 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
2d60 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
2d80 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>(
2da0 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).->.
2dc0 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
2de0 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
2e00 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.(
2e20 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
2e40 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
2e60 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)?;.....}....
2e80 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
2ea0 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
2ec0 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
2ee0 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
2f00 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
2f20 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
2f40 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
2f60 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
2f80 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
2fa0 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.
2fc0 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((
2fe0 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 )).}..//.-----------------------
3000 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
3020 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
3040 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_
3060 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
3080 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.
30a0 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
30c0 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
30e0 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
3100 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
3120 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
3140 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>.{....
3160 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
3180 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
31a0 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
31c0 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.
31e0 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
3200 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
3220 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
3240 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();.
3260 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
3280 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
32a0 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|
32c0 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(
32e0 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_
3300 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
3320 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()).....}.
3340 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
3360 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
3380 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
33a0 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:.
33c0 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
33e0 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;..
3400 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
3420 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
3440 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
3460 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
3480 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),..
34a0 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![];.
34c0 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;
34e0 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.{.........
3500 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
3520 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
3540 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);.........}.......
3560 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
3580 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(),.())?;........
35a0 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(
35c0 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.
35e0 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
3600 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.=.
3620 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
3640 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],
3660 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..
3680 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
36a0 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)?;.........}
36c0 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
36e0 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)?;.....
3700 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);.....}.....
3720 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
3740 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.
3760 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,
3780 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
37a0 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_
37c0 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
37e0 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
3800 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:.
3820 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
3840 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_
3860 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
3880 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;..
38a0 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
38c0 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
38e0 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
3900 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_
3920 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),
3940 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![]
3960 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
3980 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
39a0 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(
39c0 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
39e0 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
3a00 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.
3a20 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];........
3a40 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(........
3a60 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
3a80 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
3aa0 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)?,.........)?
3ac0 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
3ae0 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
3b00 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
3b20 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
3b40 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
3b60 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(),.(
3b80 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.
3ba0 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().{.......
3bc0 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
3be0 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_
3c00 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:
3c20 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
3c40 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
3c60 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
3c80 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
3ca0 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
3cc0 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.=
3ce0 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
3d00 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
3d20 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
3d40 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(),
3d60 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
3d80 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
3da0 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
3dc0 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
3de0 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.{.......
3e00 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
3e20 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
3e40 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);.........}.....
3e60 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
3e80 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
3ea0 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);........
3ec0 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(........
3ee0 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
3f00 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
3f20 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
3f40 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..
3f60 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(
3f80 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).
3fa0 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().{
3fc0 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)?;.....
3fe0 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
4000 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
4020 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
4040 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
4060 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
4080 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
40a0 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
40c0 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
40e0 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
4100 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.
4120 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
4140 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
4160 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
4180 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
41a0 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
41c0 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
41e0 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
4200 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
4220 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
4240 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
4260 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(()).}.............
4280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4400 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..
4420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4460 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
4480 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...
44a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4500 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...................
4520 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...................
4540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
45e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4600 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_
4620 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"..
4640 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
4660 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).....
4680 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
46a0 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).
46c0 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
46e0 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
4700 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)..
4720 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
4740 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
4760 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)...
4780 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
47a0 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)......
47c0 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
47e0 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
4800 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".
4820 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
4840 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
4860 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
4880 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
48a0 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
48c0 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)..
48e0 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
4900 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.
4920 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
4940 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
4960 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
4980 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
49a0 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
49c0 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
49e0 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).}.........
4a00 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...
4a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a60 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
4a80 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...
4aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b00 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...................
4b20 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...................
4b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4c00 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::
4c20 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
4c40 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
4c60 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
4c80 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
4ca0 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
4cc0 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::
4ce0 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:
4d00 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
4d20 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(
4d40 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
4d60 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
4d80 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.
4da0 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.{.....
4dc0 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).->
4de0 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
4e00 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
4e20 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
4e40 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
4e60 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
4e80 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:
4ea0 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.....
4ec0 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(
4ee0 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).}.
4f00 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
4f20 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
4f40 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>.{..
4f60 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
4f80 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)
4fa0 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>.=>.
4fc0 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
4fe0 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()?;..............
5000 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
5020 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
5040 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
5060 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).}
5080 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 ).............}............._.=>
50a0 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
50c0 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
50e0 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
5100 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);..
5120 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)
5140 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
5160 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
5180 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).}.....}.
51a0 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
51c0 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
51e0 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_
5200 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.
5220 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
5240 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()).
5260 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.{
5280 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).}).
52a0 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
52c0 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
52e0 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".
5300 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
5320 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).{}..//.--------------------
5340 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
5360 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
5380 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
53a0 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,.....
53c0 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
53e0 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
5400 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<
5420 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.{..
5440 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
5460 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
5480 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
54a0 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).....}.
54c0 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
54e0 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
5500 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
5520 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.......
5540 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
5560 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)....
5580 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
55a0 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
55c0 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
55e0 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
5600 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
5620 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
5640 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/
5660 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
5680 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
56a0 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::
56c0 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.
56e0 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
5700 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../
5720 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
5740 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
5760 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
5780 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:.
57a0 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>.{....
57c0 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;.....
57e0 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(
5800 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
5820 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
5840 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
5860 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().->._>.=......
5880 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.
58a0 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
58c0 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)?;.....
58e0 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
5900 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(
5920 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.
5940 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_
5960 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.{...
5980 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
59a0 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,.(..........
59c0 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(
59e0 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.........));.....}...
5a00 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.
5a20 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
5a40 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,.(......
5a60 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
5a80 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.........));.....
5aa0 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
5ac0 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
5ae0 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.=.
5b00 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
5b20 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
5b40 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.!
5b60 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
5b80 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
5ba0 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
5bc0 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.
5be0 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
5c00 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).{......
5c20 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
5c40 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.
5c60 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.{....
5c80 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)
5ca0 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
5cc0 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").........};.......
5ce0 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().....})
5d00 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.
5d20 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
5d40 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
5d60 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
5d80 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
5da0 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
5dc0 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)
5de0 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
5e00 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").............
5e20 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
5e40 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.
5e60 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
5e80 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
5ea0 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")..
5ec0 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
5ee0 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:.
5f00 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
5f20 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(),...
5f40 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,............
5f60 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
5f80 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
5fa0 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
5fc0 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
5fe0 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
6000 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>.{.....
6020 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)
6040 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
6060 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
6080 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
60a0 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
60c0 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.
60e0 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.
6100 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
6120 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../
6140 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
6160 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:.
6180 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
61a0 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
61c0 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
61e0 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
6200 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
6220 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
6240 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
6260 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
6280 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
62a0 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(
62c0 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
62e0 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
6300 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
6320 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
6340 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).->
6360 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
6380 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
63a0 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
63c0 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.
63e0 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
6400 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,
6420 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
6440 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
6460 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
6480 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())).}../
64a0 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.
64c0 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.
64e0 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
6500 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>.{..
6520 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
6540 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).}
6560 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
6580 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])*.$($
65a0 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
65c0 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:
65e0 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.)*).=>.
6600 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
6620 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))?]........
6640 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
6660 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,.$(.$(
6680 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
66a0 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(
66c0 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
66e0 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 .),*.)?.)).............}........
6700 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
6720 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
6740 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......///.
6760 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
6780 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
67a0 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
67c0 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
67e0 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
6800 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
6820 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
6840 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
6860 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
6880 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......///.
68a0 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
68c0 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....
68e0 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
6900 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
6920 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
6940 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
6960 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.
6980 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
69a0 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
69c0 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......
69e0 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
6a00 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).->.
6a20 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
6a40 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...
6a60 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.
6a80 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
6aa0 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>.}..........
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 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 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...
6c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c60 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
6c80 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...
6ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d00 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...................
6d20 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...................
6d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6e00 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
6e20 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::{
6e40 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:
6e60 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,.
6e80 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
6ea0 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
6ec0 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
6ee0 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},....
6f00 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,.};..//.--------
6f20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
6f40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
6f60 2d 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
6f80 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
6fa0 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
6fc0 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
6fe0 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.
7000 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
7020 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>,....
7040 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
7060 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>);..
7080 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>.{....
70a0 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<
70c0 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
70e0 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
7100 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
7120 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
7140 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.{....
7160 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
7180 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
71a0 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
71c0 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>,.}..
71e0 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
7200 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<'
7220 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(
7240 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.{.......
7260 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
7280 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>.{
72a0 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(
72c0 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.
72e0 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.....}.}
7300 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.{....
7320 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
7340 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
7360 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<'
7380 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(
73a0 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
73c0 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
73e0 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
7400 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
7420 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
7440 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.{.....
7460 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::
7480 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()).
74a0 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.{.
74c0 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)).};.....
74e0 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.}.....}..
7500 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).->.
7520 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
7540 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<'
7560 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<
7580 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.{.....
75a0 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(),
75c0 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)).....}......
75e0 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
7600 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.
7620 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();......
7640 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;......
7660 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.}...
7680 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
76a0 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
76c0 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.
76e0 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
7700 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
7720 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.}.....}.}.
7740 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 .//.----------------------------
7760 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
7780 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
77a0 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.
77c0 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_
77e0 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.{.....($
7800 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:
7820 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
7840 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)?.)*).=>.{.
7860 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$(
7880 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))?]..........
78a0 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.$
78c0 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
78e0 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
7900 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())?).....
7920 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 ........}.........)*.....};.}../
7940 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
7960 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_
7980 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
79a0 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.$
79c0 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.
79e0 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.),*.)
7a00 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 .)?)*).=>.{.........$(..........
7a20 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))
7a40 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])*.....
7a60 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,.$
7a80 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.),*.)?.).->.
7aa0 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>>.{.........
7ac0 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(.
7ae0 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())?.),*.)?
7b00 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|.{................
7b20 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)........
7b40 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 .........})).............}......
7b60 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
7b80 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
7ba0 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
7bc0 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)..///
7be0 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
7c00 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:
7c20 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
7c40 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
7c60 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",
7c80 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
7ca0 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.
7cc0 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(
7ce0 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
7d00 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(
7d20 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;...
7d40 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,.
7d60 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
7d80 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
7da0 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
7dc0 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
7de0 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;..
7e00 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
7e20 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).-
7e40 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
7e60 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].....
7e80 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.
7ea0 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
7ec0 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
7ee0 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().
7f00 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
7f20 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(
7f40 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
7f60 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
7f80 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
7fa0 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>(
7fc0 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
7fe0 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
8000 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();
8020 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
8040 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.
8060 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
8080 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
80a0 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
80c0 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
80e0 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)
8100 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
8120 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
8140 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)
8160 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
8180 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
81a0 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
81c0 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
81e0 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
8200 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).-
8220 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
8240 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!.
8260 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.
8280 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
82a0 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
82c0 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 .-------------------------------
82e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
8300 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
8320 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'......//
8340 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
8360 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.
8380 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
83a0 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
83c0 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
83e0 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
8400 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
8420 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
8440 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
8460 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
8480 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
84a0 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
84c0 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
84e0 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
8500 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
8520 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.
8540 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......"
8560 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
8580 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.'
85a0 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.
85c0 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
85e0 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
8600 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......
8620 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.-
8640 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
8660 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-
8680 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
86a0 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
86c0 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
86e0 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
8700 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
8720 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.--------------
8740 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
8760 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
8780 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
87a0 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
87c0 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
87e0 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
8800 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
8820 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
8840 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
8860 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.
8880 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
88a0 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
88c0 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'
88e0 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
8900 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
8920 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.->
8940 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
8960 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
8980 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
89a0 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.->.
89c0 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
89e0 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.-----------------------
8a00 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
8a20 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
8a40 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.....
8a60 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
8a80 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
8aa0 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......"
8ac0 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
8ae0 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
8b00 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
8b20 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
8b40 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
8b60 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
8b80 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
8ba0 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
8bc0 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
8be0 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).
8c00 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.=
8c20 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
8c40 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
8c60 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
8c80 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
8ca0 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
8cc0 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();.....//
8ce0 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
8d00 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
8d20 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)
8d40 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(
8d60 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
8d80 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(()).}
8da0 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
8dc0 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
8de0 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
8e00 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
8e20 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
8e40 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.-----
8e60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
8e80 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
8ea0 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
8ec0 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
8ee0 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".
8f00 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
8f20 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
8f40 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
8f60 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
8f80 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
8fa0 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
8fc0 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
8fe0 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_
9000 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
9020 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
9040 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-
9060 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
9080 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.--
90a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
90c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
90e0 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
9100 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
9120 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.
9140 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.
9160 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".
9180 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.
91a0 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......"
91c0 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_
91e0 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
9200 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.....
9220 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
9240 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
9260 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.-----------------------------
9280 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
92a0 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
92c0 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
92e0 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
9300 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
9320 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
9340 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
9360 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
9380 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.
93a0 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.
93c0 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
93e0 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
9400 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
9420 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)....../
9440 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
9460 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
9480 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
94a0 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
94c0 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
94e0 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
9500 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)......//
9520 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
9540 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
9560 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
9580 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
95a0 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
95c0 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
95e0 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!.{.....///
9600 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.
9620 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-
9640 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.}.
9660 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
9680 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
96a0 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
96c0 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
96e0 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.///.
9700 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
9720 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
9740 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
9760 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
9780 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
97a0 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
97c0 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
97e0 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
9800 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
9820 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
9840 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
9860 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
9880 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
98a0 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
98c0 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
98e0 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.
9900 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
9920 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
9940 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
9960 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
9980 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
99a0 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_
99c0 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
99e0 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
9a00 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,.).
9a20 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
9a40 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
9a60 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
9a80 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(
9aa0 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
9ac0 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
9ae0 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(),....
9b00 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
9b20 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
9b40 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(),....
9b60 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(&
9b80 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(()).}.............
9ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9c00 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.
9c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9c60 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
9c80 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...
9ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9d00 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...................
9d20 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...................
9d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9e00 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
9e20 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
9e40 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,
9e60 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,.
9e80 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
9ea0 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,
9ec0 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:
9ee0 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
9f00 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
9f20 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
9f40 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...
9f60 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.....
9f80 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.....=
9fa0 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.....=>
9fc0 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.....=>.
9fe0 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...=>."
a000 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.=>.
a020 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..
a040 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
a060 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
a080 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
a0a0 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.
a0c0 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
a0e0 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.
a100 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....
a120 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".}..//.-----------
a140 2d 2d 2d 2d 2d 2d 2d 2d 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 0a 0a 2f 2f 2f 20 57 72 61 70 ----------------------..///.Wrap
a1a0 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
a1c0 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
a1e0 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
a200 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
a220 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.
a240 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>
a260 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>
a280 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
a2a0 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
a2c0 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
a2e0 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>,.....
a300 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
a320 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<
a340 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
a360 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
a380 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.{...
a3a0 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
a3c0 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>.{....
a3e0 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<
a400 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
a420 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
a440 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>.{.....
a460 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>;...
a480 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)
a4a0 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
a4c0 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
a4e0 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>.{...
a500 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
a520 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.{..
a540 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
a560 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:
a580 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<
a5a0 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).-
a5c0 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
a5e0 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
a600 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
a620 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
a640 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
a660 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
a680 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>.{.....
a6a0 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().....}.....
a6c0 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
a6e0 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
a700 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();...
a720 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;.
a740 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
a760 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].....
a780 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
a7a0 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.{.......
a7c0 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
a7e0 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:.
a800 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.........
a820 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.
a840 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
a860 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.{.
a880 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
a8a0 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
a8c0 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
a8e0 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
a900 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
a920 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>).->.
a940 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
a960 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().{...
a980 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
a9a0 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
a9c0 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().{
a9e0 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
aa00 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
aa20 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
aa40 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)).....
aa60 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>.{..
aa80 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.{..
aaa0 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.{............
aac0 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
aae0 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
ab00 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
ab20 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.
ab40 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();................
ab60 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(),
ab80 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())......
aba0 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 .......}.........}.....}.}..//.-
abc0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
abe0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
ac00 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
ac20 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
ac40 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..
ac60 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
ac80 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
aca0 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
acc0 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
ace0 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
ad00 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.
ad20 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
ad40 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
ad60 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
ad80 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_
ada0 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
adc0 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
ade0 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()).
ae00 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
ae20 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.
ae40 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.
ae60 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
ae80 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).->.
aea0 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
aec0 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()).}..///.
aee0 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
af00 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
af20 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
af40 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.
af60 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
af80 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
afa0 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>>.{....
afc0 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();..
afe0 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
b000 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
b020 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
b040 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)
b060 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_
b080 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])*
b0a0 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
b0c0 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
b0e0 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.),*.).)?
b100 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)*).=>.{.........$(.
b120 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])*........
b140 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
b160 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
b180 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
b1a0 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>.{
b1c0 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
b1e0 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.$(.$
b200 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())?.),*.)?.)).............}
b220 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
b240 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.
b260 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
b280 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
b2a0 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
b2c0 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
b2e0 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
b300 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
b320 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
b340 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
b360 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
b380 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.->.
b3a0 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
b3c0 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
b3e0 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
b400 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
b420 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.
b440 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....../
b460 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
b480 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.
b4a0 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
b4c0 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
b4e0 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
b500 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
b520 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:.
b540 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>.}..///
b560 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
b580 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.
b5a0 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
b5c0 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<()>.{
b5e0 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
b600 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())).}..//.-------
b620 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
b640 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
b660 2d 2d 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
b680 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,....
b6a0 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
b6c0 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
b6e0 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
b700 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
b720 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:
b740 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
b760 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.{.
b780 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
b7a0 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
b7c0 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
b7e0 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.}.....}......#
b800 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
b820 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)>.{.........
b840 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
b860 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
b880 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)).....}.
b8a0 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).{......
b8c0 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
b8e0 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
b900 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
b920 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).->
b940 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
b960 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
b980 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
b9a0 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.
b9c0 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().............}............
b9e0 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
ba00 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
ba20 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().{.....................
ba40 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;................
ba60 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()................
ba80 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
baa0 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;...............
bac0 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()...............
bae0 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
bb00 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
bb20 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
bb40 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
bb60 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;...............
bb80 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()...............
bba0 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
bbc0 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().{............
bbe0 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;.......
bc00 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().......
bc20 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.{..............
bc40 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;.......
bc60 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().......
bc80 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 ..........}.............}.......
bca0 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,.........}...
bcc0 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
bce0 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
bd00 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
bd20 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.
bd40 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).
bd60 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>.{.
bd80 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
bda0 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
bdc0 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.
bde0 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
be00 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,
be20 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..
be40 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:
be60 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
be80 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
bea0 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
bec0 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
bee0 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).
bf00 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.
bf20 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
bf40 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>.{...
bf60 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
bf80 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
bfa0 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>.{
bfc0 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<'
bfe0 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
c000 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
c020 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
c040 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
c060 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.
c080 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.
c0a0 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
c0c0 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
c0e0 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.
c100 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
c120 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
c140 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
c160 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
c180 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.
c1a0 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
c1c0 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
c1e0 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
c200 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
c220 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.
c240 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
c260 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..///./
c280 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
c2a0 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
c2c0 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
c2e0 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
c300 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
c320 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
c340 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:.
c360 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>>.
c380 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
c3a0 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
c3c0 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
c3e0 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))
c400 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
c420 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).........}.......
c440 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.
c460 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
c480 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
c4a0 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
c4c0 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.{.................
c4e0 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.{..
c500 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)
c520 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(
c540 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
c560 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)).{......
c580 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
c5a0 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)?;..........
c5c0 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 ...............}................
c5e0 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.{.
c600 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!().....
c620 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 ............}.............}.....
c640 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).........}....
c660 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
c680 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
c6a0 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..///./
c6c0 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
c6e0 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
c700 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
c720 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
c740 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
c760 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
c780 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:
c7a0 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
c7c0 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(
c7e0 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
c800 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
c820 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.{..
c840 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<
c860 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,
c880 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
c8a0 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
c8c0 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
c8e0 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
c900 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
c920 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).=>.{.....................$
c940 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)).......
c960 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 ..........};.............}......
c980 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
c9a0 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
c9c0 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
c9e0 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
ca00 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).{.........
ca20 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).....}.
ca40 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).{......
ca60 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
ca80 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_
caa0 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
cac0 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
cae0 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_
cb00 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)...
cb20 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).{.....
cb40 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
cb60 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).{
cb80 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
cba0 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
cbc0 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
cbe0 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!(_
cc00 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
cc20 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
cc40 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).{.........
cc60 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).
cc80 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).
cca0 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(
ccc0 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
cce0 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
cd00 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)...
cd20 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).{.......
cd40 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
cd60 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:.
cd80 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.........
cda0 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).....}.}..///.
cdc0 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'
cde0 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
ce00 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
ce20 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
ce40 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
ce60 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
ce80 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.
cea0 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
cec0 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
cee0 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.
cf00 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
cf20 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.
cf40 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..///
cf60 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'.
cf80 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
cfa0 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<
cfc0 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
cfe0 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>
d000 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>
d020 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
d040 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
d060 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
d080 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
d0a0 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)
d0c0 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
d0e0 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)).=>
d100 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
d120 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.
d140 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(),.
d160 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
d180 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,.............};....
d1a0 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.
d1c0 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().{.......
d1e0 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
d200 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)?)?;.............
d220 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
d240 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
d260 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
d280 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),.....}.}..
d2a0 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
d2c0 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
d2e0 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
d300 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.
d320 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
d340 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
d360 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:
d380 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
d3a0 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
d3c0 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_
d3e0 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
d400 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;....
d420 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
d440 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
d460 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.{....
d480 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
d4a0 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
d4c0 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
d4e0 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,
d500 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
d520 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
d540 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)).{........
d560 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(
d580 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).................}............
d5a0 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
d5c0 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
d5e0 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)).=>.{.....
d600 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;.........}.
d620 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
d640 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
d660 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
d680 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
d6a0 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
d6c0 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(
d6e0 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
d700 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
d720 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.{.
d740 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
d760 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,.
d780 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
d7a0 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.{.......
d7c0 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
d7e0 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
d800 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)?;........
d820 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 .........}.............}........
d840 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.........};..........
d860 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
d880 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.{.......
d8a0 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
d8c0 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])?;.........}..........//.//
d8e0 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
d900 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.
d920 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)
d940 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........./
d960 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
d980 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......
d9a0 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
d9c0 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
d9e0 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........
da00 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
da20 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))?;.}.........
da40 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(
da60 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))?;..........//./
da80 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,.
daa0 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.......
dac0 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
dae0 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
db00 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
db20 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();.....}.....
db40 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.{.
db60 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
db80 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(),.
dba0 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)?;.....//....
dbc0 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))?;...
dbe0 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(()).}.............
dc00 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..
dc20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
dc40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
dc60 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
dc80 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...
dca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
dcc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
dce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
dd00 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...................
dd20 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...................
dd40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
dd60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 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
de20 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
de40 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
de60 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.
de80 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>>;
dea0 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<'
dec0 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.{.
dee0 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
df00 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
df20 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
df40 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
df60 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>.{............
df80 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
dfa0 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
dfc0 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.{..
dfe0 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).=>.{
e000 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.$
e020 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
e040 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
e060 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.{............
e080 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).............}..
e0a0 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
e0c0 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.{.............#
e0e0 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.
e100 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.{..........
e120 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.............}.....
e140 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).=
e160 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!
e180 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);....
e1a0 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 .};.}..//.----------------------
e1c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
e1e0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
e200 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
e220 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
e240 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
e260 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_
e280 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
e2a0 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
e2c0 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_
e2e0 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<
e300 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
e320 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()
e340 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
e360 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:
e380 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>.{......
e3a0 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>(
e3c0 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
e3e0 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
e400 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())
e420 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
e440 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
e460 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.{....
e480 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.....}......#
e4a0 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).
e4c0 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.{
e4e0 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.....}.}..
e500 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 //.-----------------------------
e520 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
e540 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
e560 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
e580 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
e5a0 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)...#
e5c0 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
e5e0 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
e600 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
e620 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
e640 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
e660 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.{.........
e680 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
e6a0 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.{...
e6c0 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(
e6e0 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.
e700 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
e720 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
e740 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
e760 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
e780 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).....}
e7a0 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
e7c0 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
e7e0 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
e800 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
e820 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).....}.}..//.-------
e840 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
e860 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
e880 2d 2d 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
e8a0 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
e8c0 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
e8e0 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
e900 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!(
e920 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
e940 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<'_
e960 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
e980 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>
e9a0 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;..
e9c0 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
e9e0 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();...
ea00 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.
ea20 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();........
ea40 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_
ea60 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
ea80 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
eaa0 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
eac0 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),.........)).....}.}
eae0 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.{.
eb00 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).-
eb20 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
eb40 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()
eb60 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
eb80 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();...
eba0 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:
ebc0 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
ebe0 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
ec00 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
ec20 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)?
ec40 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:
ec60 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
ec80 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()).
eca0 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 ....}.}.........................
ecc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ece0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ed00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ed20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ed40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ed60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ed80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eda0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
edc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ede0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ee00 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....
ee20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ee40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ee60 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
ee80 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...
eea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ef00 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...................
ef20 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...................
ef40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ef60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ef80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
efa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
efc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
efe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f000 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
f020 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
f040 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
f060 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;.
f080 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
f0a0 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
f0c0 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
f0e0 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:
f100 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
f120 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-
f140 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_
f160 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(()).}..
f180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f200 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...
f220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f260 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
f280 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...
f2a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f2c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f300 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...................
f320 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...................
f340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f400 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
f420 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
f440 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::{...
f460 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
f480 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,...
f4a0 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
f4c0 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.
f4e0 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
f500 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(
f520 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
f540 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
f560 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>;..
f580 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>
f5a0 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
f5c0 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
f5e0 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)]
f600 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
f620 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(
f640 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())
f660 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
f680 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.
f6a0 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
f6c0 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
f6e0 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
f700 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
f720 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
f740 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
f760 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>
f780 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
f7a0 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
f7c0 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
f7e0 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
f800 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
f820 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
f840 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
f860 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
f880 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
f8a0 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.
f8c0 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-
f8e0 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.///
f900 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
f920 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.`
f940 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
f960 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
f980 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.
f9a0 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(..
f9c0 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
f9e0 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
fa00 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
fa20 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
fa40 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
fa60 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,.).-
fa80 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
faa0 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
fac0 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_
fae0 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()
fb00 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_
fb20 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
fb40 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(),.....
fb60 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
fb80 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
fba0 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(),.....
fbc0 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
fbe0 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.
fc00 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,.
fc20 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
fc40 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
fc60 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
fc80 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../
fca0 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
fcc0 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
fce0 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
fd00 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'
fd20 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
fd40 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
fd60 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
fd80 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.///.
fda0 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.
fdc0 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
fde0 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
fe00 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
fe20 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>>.{....
fe40 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
fe60 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::
fe80 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();...
fea0 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
fec0 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
fee0 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....
ff00 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_
ff20 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.
ff40 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(),.
ff60 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
ff80 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
ffa0 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
ffc0 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
ffe0 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
10000 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
10020 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
10040 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
10060 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>).->
10080 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
100a0 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()).}..................
100c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
100e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
101a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
101c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
101e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10200 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...
10220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10260 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
10280 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...
102a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
102c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
102e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10300 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...................
10320 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...................
10340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
103a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
103c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
103e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10400 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..........................
10420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 43 61 72 67 6f 2e 6c 6f 63 6b 00 00 00 00 tsc-20220212.1632/Cargo.lock....
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 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...
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 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
10820 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
10840 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
10860 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-
10880 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
108a0 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
108c0 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
108e0 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
10900 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
10920 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
10940 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
10960 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
10980 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/
109a0 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
109c0 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
109e0 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
10a00 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
10a20 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
10a40 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-
10a60 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.=
10a80 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
10aa0 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
10ac0 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"
10ae0 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
10b00 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
10b20 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.=."
10b40 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
10b60 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
10b80 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
10ba0 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
10bc0 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/
10be0 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
10c00 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
10c20 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
10c40 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"
10c60 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
10c80 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
10ca0 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-
10cc0 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.=
10ce0 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
10d00 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
10d20 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
10d40 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
10d60 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
10d80 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
10da0 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/
10dc0 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
10de0 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
10e00 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
10e20 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_
10e40 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",
10e60 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
10e80 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
10ea0 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+
10ec0 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
10ee0 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
10f00 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
10f20 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
10f40 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",.."
10f60 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
10f80 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"
10fa0 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
10fc0 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
10fe0 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
11000 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
11020 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.=.[
11040 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
11060 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
11080 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
110a0 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
110c0 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
110e0 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
11100 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
11120 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
11140 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
11160 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
11180 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
111a0 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.=
111c0 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.=."
111e0 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
11200 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",.
11220 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
11240 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.=."
11260 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
11280 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
112a0 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
112c0 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
112e0 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
11300 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.
11320 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
11340 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
11360 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
11380 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
113a0 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
113c0 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.
113e0 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://
11400 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
11420 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
11440 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
11460 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]]
11480 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.=."
114a0 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:
114c0 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
114e0 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
11500 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
11520 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
11540 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",.]..
11560 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
11580 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
115a0 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
115c0 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
115e0 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
11600 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"..[[
11620 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
11640 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
11660 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
11680 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
116a0 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
116c0 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"..[
116e0 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".
11700 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
11720 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
11740 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.=."
11760 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
11780 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
117a0 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
117c0 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"
117e0 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
11800 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
11820 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.=.
11840 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
11860 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
11880 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
118a0 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
118c0 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
118e0 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
11900 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.=.
11920 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
11940 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
11960 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
11980 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",
119a0 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
119c0 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.
119e0 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
11a00 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
11a20 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
11a40 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
11a60 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
11a80 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
11aa0 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.
11ac0 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
11ae0 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
11b00 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
11b20 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.=.[.."
11b40 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.=."
11b60 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
11b80 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/
11ba0 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
11bc0 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
11be0 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
11c00 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
11c20 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.
11c40 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
11c60 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
11c80 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
11ca0 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
11cc0 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
11ce0 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]].
11d00 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
11d20 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
11d40 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
11d60 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
11d80 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
11da0 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
11dc0 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
11de0 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.
11e00 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
11e20 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
11e40 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
11e60 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.=.[.."
11e80 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
11ea0 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
11ec0 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
11ee0 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
11f00 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
11f20 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
11f40 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
11f60 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
11f80 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
11fa0 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.=
11fc0 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
11fe0 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
12000 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
12020 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
12040 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
12060 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
12080 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.
120a0 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.
120c0 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.
120e0 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
12100 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
12120 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"
12140 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
12160 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
12180 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.
121a0 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
121c0 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
121e0 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
12200 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
12220 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
12240 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.=.
12260 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
12280 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
122a0 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
122c0 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
122e0 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-
12300 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
12320 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
12340 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
12360 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
12380 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
123a0 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
123c0 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
123e0 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
12400 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.=."
12420 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
12440 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
12460 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/
12480 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
124a0 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
124c0 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"..
124e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
125a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
125c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
125e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12600 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....
12620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12660 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
12680 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...
126a0 00 00 00 00 00 00 00 00 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 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...................
12720 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...................
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 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.
12820 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"...
12840 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
12860 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
12880 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
128a0 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
128c0 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
128e0 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
12900 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..
12920 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
12940 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
12960 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@
12980 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
129a0 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
129c0 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
129e0 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
12a00 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
12a20 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
12a40 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:...................
12a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12c00 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
12c20 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...............................
12c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12c60 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
12c80 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...
12ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12d00 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...................
12d20 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...................
12d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12e00 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
12e20 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
12e40 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
12e60 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
12e80 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
12ea0 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.
12ec0 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
12ee0 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
12f00 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
12f20 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...;
12f40 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
12f60 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
12f80 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
12fa0 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
12fc0 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
12fe0 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").
13000 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.
13020 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
13040 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")
13060 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
13080 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-
130a0 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
130c0 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-
130e0 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."
13100 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
13120 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
13140 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
13160 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
13180 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
131a0 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
131c0 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.
131e0 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
13200 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
13220 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
13240 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
13260 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.
13280 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
132a0 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
132c0 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
132e0 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
13300 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
13320 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
13340 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
13360 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
13380 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
133a0 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
133c0 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-
133e0 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
13400 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
13420 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
13440 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
13460 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")
13480 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
134a0 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
134c0 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
134e0 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
13500 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-
13520 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
13540 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
13560 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
13580 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
135a0 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
135c0 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
135e0 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
13600 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-
13620 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
13640 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
13660 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
13680 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
136a0 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
136c0 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-
136e0 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
13700 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
13720 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")
13740 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
13760 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-
13780 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
137a0 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-
137c0 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
137e0 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
13800 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
13820 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").
13840 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.
13860 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-
13880 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-
138a0 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
138c0 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
138e0 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
13900 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
13920 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
13940 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
13960 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-
13980 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
139a0 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"
139c0 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
139e0 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
13a00 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
13a20 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
13a40 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
13a60 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
13a80 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
13aa0 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.
13ac0 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").(
13ae0 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.'
13b00 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
13b20 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
13b40 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
13b60 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
13b80 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
13ba0 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
13bc0 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").
13be0 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.
13c00 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
13c20 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
13c40 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
13c60 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-
13c80 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
13ca0 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
13cc0 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
13ce0 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
13d00 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
13d20 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-
13d40 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
13d60 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
13d80 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
13da0 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
13dc0 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
13de0 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-
13e00 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-
13e20 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
13e40 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
13e60 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
13e80 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
13ea0 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
13ec0 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
13ee0 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-
13f00 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
13f20 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
13f40 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
13f60 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").(
13f80 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.'
13fa0 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
13fc0 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
13fe0 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
14000 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
14020 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
14040 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
14060 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
14080 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
140a0 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
140c0 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
140e0 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
14100 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").
14120 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.
14140 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
14160 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
14180 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-
141a0 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"
141c0 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
141e0 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
14200 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").(
14220 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.'
14240 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
14260 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-
14280 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
142a0 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."
142c0 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
142e0 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
14300 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
14320 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
14340 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
14360 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
14380 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-
143a0 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"
143c0 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
143e0 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
14400 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-
14420 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
14440 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
14460 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-
14480 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-
144a0 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").(
144c0 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.'
144e0 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
14500 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
14520 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
14540 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
14560 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
14580 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
145a0 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
145c0 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
145e0 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-
14600 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
14620 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-
14640 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
14660 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-
14680 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
146a0 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
146c0 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
146e0 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-
14700 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
14720 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
14740 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-
14760 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
14780 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-
147a0 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
147c0 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-
147e0 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
14800 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
14820 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
14840 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
14860 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
14880 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
148a0 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-
148c0 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
148e0 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
14900 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
14920 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
14940 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
14960 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
14980 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
149a0 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-
149c0 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-
149e0 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
14a00 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
14a20 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
14a40 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
14a60 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
14a80 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-
14aa0 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
14ac0 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
14ae0 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
14b00 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
14b20 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
14b40 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
14b60 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
14b80 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
14ba0 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
14bc0 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-
14be0 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-
14c00 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.
14c20 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
14c40 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.'
14c60 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").(
14c80 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.'
14ca0 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
14cc0 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
14ce0 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
14d00 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
14d20 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-
14d40 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-
14d60 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
14d80 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
14da0 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
14dc0 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
14de0 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
14e00 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
14e20 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
14e40 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
14e60 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
14e80 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
14ea0 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-
14ec0 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
14ee0 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
14f00 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
14f20 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
14f40 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
14f60 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.
14f80 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
14fa0 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-
14fc0 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
14fe0 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
15000 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
15020 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
15040 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
15060 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
15080 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
150a0 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
150c0 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--
150e0 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
15100 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
15120 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
15140 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
15160 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
15180 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
151a0 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-
151c0 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
151e0 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-
15200 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
15220 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
15240 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
15260 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
15280 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
152a0 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-
152c0 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
152e0 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-
15300 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
15320 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
15340 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")
15360 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
15380 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--
153a0 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"
153c0 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
153e0 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-
15400 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
15420 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
15440 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
15460 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-
15480 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
154a0 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
154c0 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
154e0 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
15500 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
15520 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
15540 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
15560 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
15580 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
155a0 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-
155c0 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
155e0 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
15600 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
15620 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-
15640 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
15660 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--
15680 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
156a0 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
156c0 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
156e0 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
15700 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
15720 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
15740 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
15760 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
15780 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
157a0 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
157c0 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
157e0 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
15800 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-
15820 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
15840 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
15860 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-
15880 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
158a0 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
158c0 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
158e0 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-
15900 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
15920 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
15940 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................
15960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
159a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
159c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
159e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15a00 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
15a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15a60 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
15a80 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...
15aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15b00 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...................
15b20 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...................
15b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15c00 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
15c20 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
15c40 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.-*-..;;
15c60 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.
15c80 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
15ca0 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>
15cc0 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
15ce0 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.
15d00 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
15d20 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
15d40 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
15d60 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
15d80 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).(
15da0 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
15dc0 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
15de0 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
15e00 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
15e20 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
15e40 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
15e60 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
15e80 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"..
15ea0 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.
15ec0 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.
15ee0 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
15f00 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
15f20 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
15f40 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
15f60 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.
15f80 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
15fa0 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-
15fc0 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
15fe0 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
16000 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
16020 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
16040 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
16060 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
16080 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/
160a0 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
160c0 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.
160e0 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.\"
16100 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
16120 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
16140 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
16160 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)...
16180 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
161a0 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
161c0 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
161e0 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
16200 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
16220 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
16240 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
16260 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
16280 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
162a0 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
162c0 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
162e0 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...:
16300 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
16320 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)............
16340 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
16360 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-
16380 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
163a0 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
163c0 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
163e0 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.....
16400 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
16420 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
16440 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
16460 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
16480 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
164a0 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
164c0 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")...
164e0 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
16500 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
16520 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
16540 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)).....(_."
16560 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
16580 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
165a0 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
165c0 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
165e0 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
16600 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-
16620 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
16640 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,.
16660 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
16680 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
166a0 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
166c0 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
166e0 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
16700 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
16720 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"...
16740 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
16760 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
16780 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).....
167a0 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
167c0 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
167e0 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)...
16800 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
16820 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))..
16840 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.
16860 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
16880 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
168a0 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
168c0 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.
168e0 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
16900 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
16920 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
16940 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
16960 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
16980 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
169a0 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
169c0 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
169e0 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-
16a00 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
16a20 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
16a40 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
16a60 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.`
16a80 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
16aa0 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-
16ac0 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)))..;;;.---------------
16ae0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
16b00 2d 2d 2d 2d 2d 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 -----------------------------.;;
16b20 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.
16b40 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
16b60 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
16b80 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
16ba0 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)))..
16bc0 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).......(
16be0 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".
16c00 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
16c20 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
16c40 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
16c60 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.(
16c80 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.
16ca0 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
16cc0 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
16ce0 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
16d00 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).
16d20 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.#
16d40 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
16d60 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
16d80 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.
16da0 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)...
16dc0 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
16de0 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
16e00 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
16e20 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
16e40 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*.
16e60 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))...
16e80 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
16ea0 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
16ec0 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
16ee0 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
16f00 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))
16f20 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
16f40 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)).......
16f60 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
16f80 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
16fa0 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"........................
16fc0 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?.....
16fe0 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
17000 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
17020 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 )...............................
17040 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)...................
17060 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?.""
17080 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.
170a0 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
170c0 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
170e0 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"................
17100 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)))...
17120 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
17140 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?.
17160 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
17180 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
171a0 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
171c0 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)....
171e0 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
17200 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
17220 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
17240 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
17260 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
17280 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))..
172a0 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--
172c0 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
172e0 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))......
17300 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)))))..;;;.---
17320 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
17340 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
17360 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.
17380 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
173a0 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'"
173c0 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
173e0 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
17400 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
17420 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
17440 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))...
17460 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))....
17480 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
174a0 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"))....
174c0 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."\
174e0 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
17500 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.
17520 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
17540 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
17560 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'."...(
17580 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
175a0 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
175c0 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....
175e0 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
17600 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)
17620 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
17640 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-
17660 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
17680 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)
176a0 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
176c0 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))
176e0 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
17700 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
17720 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.
17740 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
17760 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.
17780 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..
177a0 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
177c0 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.
177e0 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
17800 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
17820 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
17840 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
17860 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
17880 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.................(
178a0 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")..........
178c0 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")))).....(
178e0 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
17900 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
17920 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
17940 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
17960 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
17980 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
179a0 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
179c0 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
179e0 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
17a00 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
17a20 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
17a40 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
17a60 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
17a80 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))....
17aa0 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
17ac0 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))).......
17ae0 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
17b00 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
17b20 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.(
17b40 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.
17b60 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
17b80 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
17ba0 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
17bc0 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)...
17be0 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._...........
17c00 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).....
17c20 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........
17c40 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
17c60 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))).....
17c80 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
17ca0 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
17cc0 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
17ce0 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).......
17d00 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
17d20 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.
17d40 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
17d60 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
17d80 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.
17da0 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
17dc0 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
17de0 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)))
17e00 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
17e20 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:.
17e40 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
17e60 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
17e80 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.
17ea0 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
17ec0 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--
17ee0 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
17f00 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
17f20 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.".
17f40 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
17f60 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
17f80 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
17fa0 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.
17fc0 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
17fe0 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
18000 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
18020 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)..........
18040 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.......
18060 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
18080 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
180a0 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
180c0 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)
180e0 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
18100 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-
18120 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..............
18140 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.
18160 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").............
18180 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.
181a0 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............
181c0 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).............
181e0 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)))...........
18200 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))))))
18220 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
18240 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
18260 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
18280 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
182a0 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
182c0 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
182e0 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
18300 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
18320 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'
18340 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..
18360 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-
18380 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
183a0 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.........
183c0 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
183e0 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
18400 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
18420 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
18440 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))).....(
18460 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.
18480 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
184a0 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
184c0 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
184e0 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
18500 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)....
18520 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.......
18540 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
18560 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
18580 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....
185a0 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-
185c0 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
185e0 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
18600 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-
18620 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
18640 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'
18660 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
18680 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
186a0 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.
186c0 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
186e0 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
18700 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
18720 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.`
18740 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.
18760 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
18780 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.
187a0 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
187c0 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
187e0 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
18800 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.
18820 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")).
18840 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.........(
18860 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
18880 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")..
188a0 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
188c0 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.....
188e0 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
18900 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
18920 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
18940 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://
18960 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
18980 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
189a0 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)........
189c0 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".
189e0 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.
18a00 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.
18a20 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
18a40 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
18a60 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
18a80 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
18aa0 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
18ac0 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
18ae0 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
18b00 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
18b20 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
18b40 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
18b60 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
18b80 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
18ba0 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)))..;;;.---------------
18bc0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
18be0 2d 2d 2d 2d 2d 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 -----------------------------.;;
18c00 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
18c20 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)..."
18c40 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.
18c60 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
18c80 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
18ca0 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
18cc0 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._.
18ce0 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)....
18d00 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))))
18d20 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
18d40 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'
18d60 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
18d80 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
18da0 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
18dc0 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
18de0 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:
18e00 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
18e20 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
18e40 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
18e60 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
18e80 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
18ea0 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
18ec0 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.(
18ee0 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
18f00 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
18f20 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
18f40 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
18f60 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.
18f80 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
18fa0 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
18fc0 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
18fe0 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).
19000 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 ................................
19020 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
19040 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.
19060 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
19080 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
190a0 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
190c0 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.
190e0 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
19100 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.((
19120 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-
19140 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.......................
19160 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
19180 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)).....................
191a0 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)))....
191c0 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
191e0 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)))...........
19200 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
19220 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
19240 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
19260 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
19280 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
192a0 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
192c0 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
192e0 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
19300 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.
19320 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
19340 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.
19360 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
19380 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.
193a0 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
193c0 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.
193e0 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.
19400 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-
19420 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
19440 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
19460 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
19480 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
194a0 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
194c0 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
194e0 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-
19500 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)).........
19520 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
19540 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
19560 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))
19580 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
195a0 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-
195c0 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.
195e0 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
19600 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
19620 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
19640 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)"...........................
19660 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
19680 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
196a0 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.........................(:
196c0 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--
196e0 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))).............
19700 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
19720 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))).....
19740 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
19760 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
19780 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)))).......
197a0 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
197c0 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"...........(
197e0 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
19800 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)........
19820 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
19840 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
19860 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").....
19880 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
198a0 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
198c0 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....................
198e0 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
19900 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..................
19920 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
19940 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.-
19960 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").................
19980 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)))........
199a0 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
199c0 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)................
199e0 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................
19a00 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
19a20 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
19a40 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").........
19a60 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-
19a80 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)..................
19aa0 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.
19ac0 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
19ae0 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..............................
19b00 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
19b20 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").............
19b40 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
19b60 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)..............................
19b80 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)))...........
19ba0 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."
19bc0 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
19be0 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").......
19c00 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
19c20 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
19c40 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
19c60 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
19c80 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
19ca0 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).........
19cc0 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
19ce0 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
19d00 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.
19d20 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
19d40 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.
19d60 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."..............
19d80 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).
19da0 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
19dc0 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
19de0 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-
19e00 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
19e20 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)))....
19e40 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
19e60 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
19e80 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
19ea0 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
19ec0 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."......................
19ee0 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))....
19f00 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.
19f20 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
19f40 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
19f60 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
19f80 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
19fa0 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.............................
19fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a000 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....
1a020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a060 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
1a080 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...
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 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...................
1a120 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...................
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 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
1a220 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.
1a240 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
1a260 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"
1a280 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.=."
1a2a0 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
1a2c0 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
1a2e0 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.=
1a300 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".
1a320 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
1a340 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
1a360 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
1a380 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
1a3a0 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://
1a3c0 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
1a3e0 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
1a400 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"..............................
1a420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a600 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........
1a620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a660 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
1a680 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...
1a6a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a6c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a700 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...................
1a720 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...................
1a740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a800 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.
1a820 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
1a840 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)
1a860 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.;;.;;
1a880 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
1a8a0 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
1a8c0 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
1a8e0 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
1a900 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
1a920 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
1a940 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
1a960 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
1a980 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
1a9a0 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
1a9c0 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
1a9e0 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
1aa00 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
1aa20 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
1aa40 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
1aa60 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.'
1aa80 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
1aaa0 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
1aac0 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
1aae0 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
1ab00 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
1ab20 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
1ab40 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
1ab60 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".
1ab80 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
1aba0 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
1abc0 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
1abe0 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
1ac00 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)..
1ac20 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
1ac40 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
1ac60 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
1ac80 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).
1aca0 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
1acc0 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))
1ace0 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
1ad00 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-
1ad20 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
1ad40 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
1ad60 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
1ad80 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
1ada0 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
1adc0 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)))...
1ade0 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
1ae00 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)
1ae20 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.
1ae40 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\".
1ae60 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
1ae80 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-
1aea0 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
1aec0 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
1aee0 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
1af00 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
1af20 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
1af40 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
1af60 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
1af80 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.
1afa0 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
1afc0 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
1afe0 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.".
1b000 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.((
1b020 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.
1b040 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.
1b060 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
1b080 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
1b0a0 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
1b0c0 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).........................(
1b0e0 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
1b100 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
1b120 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
1b140 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
1b160 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
1b180 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
1b1a0 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
1b1c0 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
1b1e0 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
1b200 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.....(
1b220 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))..
1b240 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
1b260 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
1b280 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))..
1b2a0 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
1b2c0 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
1b2e0 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
1b300 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.
1b320 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
1b340 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
1b360 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)
1b380 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
1b3a0 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
1b3c0 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
1b3e0 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
1b400 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
1b420 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
1b440 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-
1b460 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."...
1b480 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))....
1b4a0 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))
1b4c0 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
1b4e0 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))..
1b500 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,.
1b520 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.
1b540 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-
1b560 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
1b580 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.
1b5a0 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).
1b5c0 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
1b5e0 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))
1b600 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-
1b620 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
1b640 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
1b660 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.
1b680 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
1b6a0 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
1b6c0 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'.
1b6e0 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
1b700 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
1b720 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
1b740 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
1b760 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
1b780 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
1b7a0 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-
1b7c0 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
1b7e0 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
1b800 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
1b820 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
1b840 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
1b860 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
1b880 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
1b8a0 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
1b8c0 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)
1b8e0 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
1b900 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.
1b920 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
1b940 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
1b960 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
1b980 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-
1b9a0 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
1b9c0 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
1b9e0 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
1ba00 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.
1ba20 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'
1ba40 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
1ba60 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..
1ba80 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
1baa0 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
1bac0 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
1bae0 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
1bb00 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
1bb20 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
1bb40 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
1bb60 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
1bb80 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-
1bba0 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
1bbc0 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))).
1bbe0 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.(
1bc00 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
1bc20 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.
1bc40 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.
1bc60 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
1bc80 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
1bca0 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-
1bcc0 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
1bce0 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-
1bd00 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
1bd20 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
1bd40 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
1bd60 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
1bd80 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
1bda0 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
1bdc0 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
1bde0 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
1be00 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."..
1be20 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
1be40 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
1be60 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
1be80 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
1bea0 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
1bec0 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."...
1bee0 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
1bf00 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-
1bf20 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
1bf40 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)
1bf60 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
1bf80 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.
1bfa0 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.
1bfc0 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.
1bfe0 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
1c000 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
1c020 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-
1c040 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
1c060 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
1c080 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
1c0a0 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.
1c0c0 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
1c0e0 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
1c100 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
1c120 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
1c140 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..
1c160 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
1c180 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.
1c1a0 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
1c1c0 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...
1c1e0 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
1c200 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
1c220 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
1c240 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
1c260 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
1c280 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
1c2a0 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)...;;
1c2c0 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
1c2e0 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.
1c300 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
1c320 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
1c340 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
1c360 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
1c380 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
1c3a0 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
1c3c0 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
1c3e0 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
1c400 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
1c420 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
1c440 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
1c460 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
1c480 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
1c4a0 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
1c4c0 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
1c4e0 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
1c500 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
1c520 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
1c540 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
1c560 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
1c580 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
1c5a0 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
1c5c0 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-
1c5e0 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)
1c600 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
1c620 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).
1c640 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
1c660 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
1c680 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
1c6a0 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)....((
1c6c0 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:.
1c6e0 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.
1c700 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."
1c720 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
1c740 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
1c760 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-
1c780 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."
1c7a0 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
1c7c0 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
1c7e0 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
1c800 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
1c820 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
1c840 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..
1c860 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
1c880 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
1c8a0 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.
1c8c0 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
1c8e0 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.
1c900 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
1c920 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
1c940 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
1c960 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.
1c980 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
1c9a0 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
1c9c0 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.
1c9e0 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
1ca00 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
1ca20 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
1ca40 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.
1ca60 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
1ca80 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:
1caa0 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
1cac0 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
1cae0 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
1cb00 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)..................
1cb20 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)))..
1cb40 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.
1cb60 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
1cb80 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
1cba0 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..
1cbc0 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.
1cbe0 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
1cc00 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
1cc20 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.
1cc40 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
1cc60 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
1cc80 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
1cca0 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
1ccc0 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
1cce0 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
1cd00 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
1cd20 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).
1cd40 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
1cd60 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
1cd80 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
1cda0 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
1cdc0 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.
1cde0 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
1ce00 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
1ce20 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."...(
1ce40 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
1ce60 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))
1ce80 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
1cea0 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
1cec0 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
1cee0 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.
1cf00 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
1cf20 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.
1cf40 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
1cf60 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-
1cf80 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
1cfa0 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
1cfc0 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
1cfe0 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.\"@\")..
1d000 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
1d020 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.
1d040 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
1d060 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
1d080 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
1d0a0 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-
1d0c0 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
1d0e0 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
1d100 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
1d120 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
1d140 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.
1d160 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
1d180 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
1d1a0 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
1d1c0 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
1d1e0 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-
1d200 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
1d220 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.
1d240 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
1d260 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
1d280 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.
1d2a0 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
1d2c0 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.....:
1d2e0 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
1d300 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
1d320 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
1d340 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).
1d360 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
1d380 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
1d3a0 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
1d3c0 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
1d3e0 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
1d400 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.
1d420 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
1d440 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
1d460 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
1d480 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
1d4a0 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
1d4c0 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..
1d4e0 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
1d500 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
1d520 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
1d540 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
1d560 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?").
1d580 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
1d5a0 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
1d5c0 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
1d5e0 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
1d600 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
1d620 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
1d640 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
1d660 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
1d680 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..............
1d6a0 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)..
1d6c0 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 ................................
1d6e0 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
1d700 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)))...........................
1d720 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
1d740 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-
1d760 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)..
1d780 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
1d7a0 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
1d7c0 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
1d7e0 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
1d800 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
1d820 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
1d840 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.
1d860 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
1d880 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
1d8a0 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
1d8c0 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
1d8e0 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
1d900 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
1d920 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
1d940 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
1d960 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
1d980 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
1d9a0 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
1d9c0 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.
1d9e0 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,.
1da00 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
1da20 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..
1da40 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.
1da60 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
1da80 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).....
1daa0 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.,
1dac0 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.
1dae0 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
1db00 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
1db20 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.......
1db40 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
1db60 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
1db80 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--
1dba0 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--
1dbc0 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.
1dbe0 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
1dc00 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)
1dc20 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
1dc40 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
1dc60 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
1dc80 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
1dca0 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
1dcc0 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
1dce0 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
1dd00 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
1dd20 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
1dd40 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
1dd60 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
1dd80 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
1dda0 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-
1ddc0 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
1dde0 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
1de00 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
1de20 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
1de40 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
1de60 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
1de80 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
1dea0 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..
1dec0 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.
1dee0 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-
1df00 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
1df20 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....
1df40 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.........
1df60 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.\\?
1df80 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...............
1dfa0 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\"
1dfc0 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.
1dfe0 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.
1e000 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.(
1e020 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)............
1e040 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
1e060 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.
1e080 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
1e0a0 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
1e0c0 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)..
1e0e0 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-
1e100 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))).........(
1e120 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)).........
1e140 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
1e160 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-
1e180 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
1e1a0 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
1e1c0 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
1e1e0 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
1e200 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
1e220 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
1e240 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
1e260 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
1e280 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
1e2a0 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
1e2c0 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
1e2e0 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)...
1e300 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...............
1e320 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
1e340 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.
1e360 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
1e380 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
1e3a0 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
1e3c0 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
1e3e0 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
1e400 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.(
1e420 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..........
1e440 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)..
1e460 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.
1e480 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))).........
1e4a0 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
1e4c0 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")).......
1e4e0 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")
1e500 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
1e520 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
1e540 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
1e560 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
1e580 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
1e5a0 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
1e5c0 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
1e5e0 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).........
1e600 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
1e620 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).....................
1e640 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.,
1e660 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)))))....
1e680 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
1e6a0 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
1e6c0 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
1e6e0 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
1e700 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
1e720 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
1e740 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
1e760 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
1e780 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
1e7a0 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
1e7c0 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
1e7e0 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
1e800 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
1e820 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."...(
1e840 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)...
1e860 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
1e880 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)
1e8a0 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..
1e8c0 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)).......
1e8e0 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
1e900 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)....................
1e920 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-
1e940 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)..................
1e960 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.:
1e980 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)).........
1e9a0 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 ...............................(
1e9c0 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))))................
1e9e0 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))....
1ea00 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
1ea20 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)))
1ea40 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.
1ea60 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
1ea80 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
1eaa0 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
1eac0 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
1eae0 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'
1eb00 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
1eb20 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
1eb40 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
1eb60 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
1eb80 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
1eba0 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
1ebc0 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
1ebe0 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
1ec00 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
1ec20 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)))........
1ec40 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
1ec60 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
1ec80 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)))...
1eca0 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-
1ecc0 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
1ece0 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)
1ed00 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-
1ed20 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
1ed40 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
1ed60 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))))...
1ed80 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)))....
1eda0 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.
1edc0 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....................
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 ................................