| ofs | hex dump | ascii | 
|---|
| 0000 |  74 72 65 65 2d 73 69 74 74 65 72 2d 32 30 32 32    30 32 31 32 2e 31 36 33 32 2f 00 00 00 00 00 00  | tree-sitter-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 33 32 34 36 00 20 35 00 00 00  | 0000000.00000000000.013246..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 72 65 65 2d 73 69 74 74 65 72 2d 32 30 32 32    30 32 31 32 2e 31 36 33 32 2f 74 72 65 65 2d 73  | tree-sitter-20220212.1632/tree-s | 
| 0220 |  69 74 74 65 72 2e 65 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  | itter.el........................ | 
| 0240 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 0260 |  00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30    30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30  | ....0000644.0000000.0000000.0000 | 
| 0280 |  30 30 33 31 36 36 34 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 36 30 35 31 00 20 30 00 00 00  | 0031664.00000000000.016051..0... | 
| 02a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 02c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 02e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 0300 |  00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | .ustar...root................... | 
| 0320 |  00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | .........root................... | 
| 0340 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 0360 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 0380 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 03a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 03c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 03e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 0400 |  3b 3b 3b 20 74 72 65 65 2d 73 69 74 74 65 72 2e    65 6c 20 2d 2d 2d 20 49 6e 63 72 65 6d 65 6e 74  | ;;;.tree-sitter.el.---.Increment | 
| 0420 |  61 6c 20 70 61 72 73 69 6e 67 20 73 79 73 74 65    6d 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 69  | al.parsing.system.-*-.lexical-bi | 
| 0440 |  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 20  | nding:.t;.coding:.utf-8.-*-..;;. | 
| 0460 |  43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30    32 31 20 20 54 75 e1 ba a5 6e 2d 41 6e 68 20 4e  | Copyright.(C).2021..Tu...n-Anh.N | 
| 0480 |  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 68  | guy...n.;;.;;.Author:.Tu...n-Anh | 
| 04a0 |  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 0a  | .Nguy...n.<ubolonton@gmail.com>. | 
| 04c0 |  3b 3b 20 4b 65 79 77 6f 72 64 73 3a 20 6c 61 6e    67 75 61 67 65 73 20 74 6f 6f 6c 73 20 70 61 72  | ;;.Keywords:.languages.tools.par | 
| 04e0 |  73 65 72 73 20 74 72 65 65 2d 73 69 74 74 65 72    0a 3b 3b 20 48 6f 6d 65 70 61 67 65 3a 20 68 74  | sers.tree-sitter.;;.Homepage:.ht | 
| 0500 |  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 69 74 74  | tps://github.com/emacs-tree-sitt | 
| 0520 |  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 72 73 69 6f 6e 3a  | er/elisp-tree-sitter.;;.Version: | 
| 0540 |  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 73 3a 20 28 28 65  | .0.18.0.;;.Package-Requires:.((e | 
| 0560 |  6d 61 63 73 20 22 32 35 2e 31 22 29 20 28 74 73    63 20 22 30 2e 31 38 2e 30 22 29 29 0a 3b 3b 20  | macs."25.1").(tsc."0.18.0")).;;. | 
| 0580 |  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 0a 0a 3b 3b  | SPDX-License-Identifier:.MIT..;; | 
| 05a0 |  3b 20 43 6f 6d 6d 65 6e 74 61 72 79 3a 0a 0a 3b    3b 20 54 68 69 73 20 69 73 20 74 68 65 20 62 61  | ;.Commentary:..;;.This.is.the.ba | 
| 05c0 |  73 65 20 66 72 61 6d 65 77 6f 72 6b 20 6f 66 20    74 68 65 20 45 6d 61 63 73 20 62 69 6e 64 69 6e  | se.framework.of.the.Emacs.bindin | 
| 05e0 |  67 20 66 6f 72 20 54 72 65 65 2d 73 69 74 74 65    72 2c 20 61 6e 0a 3b 3b 20 69 6e 63 72 65 6d 65  | g.for.Tree-sitter,.an.;;.increme | 
| 0600 |  6e 74 61 6c 20 70 61 72 73 69 6e 67 20 73 79 73    74 65 6d 2e 20 49 74 20 69 6e 63 6c 75 64 65 73  | ntal.parsing.system..It.includes | 
| 0620 |  20 61 20 6d 69 6e 6f 72 20 6d 6f 64 65 20 74 68    61 74 20 70 72 6f 76 69 64 65 73 20 61 0a 3b 3b  | .a.minor.mode.that.provides.a.;; | 
| 0640 |  20 62 75 66 66 65 72 2d 6c 6f 63 61 6c 20 73 79    6e 74 61 78 20 74 72 65 65 20 74 68 61 74 20 69  | .buffer-local.syntax.tree.that.i | 
| 0660 |  73 20 75 70 64 61 74 65 64 20 6f 6e 20 65 76 65    72 79 20 74 65 78 74 20 63 68 61 6e 67 65 2e 20  | s.updated.on.every.text.change.. | 
| 0680 |  54 68 69 73 20 6d 69 6e 6f 72 0a 3b 3b 20 6d 6f    64 65 20 69 73 20 74 68 65 20 62 61 73 65 20 66  | This.minor.;;.mode.is.the.base.f | 
| 06a0 |  6f 72 20 6f 74 68 65 72 20 6c 69 62 72 61 72 69    65 73 20 74 6f 20 62 75 69 6c 64 20 6f 6e 2e 20  | or.other.libraries.to.build.on.. | 
| 06c0 |  41 6e 20 65 78 61 6d 70 6c 65 20 69 73 20 74 68    65 20 69 6e 63 6c 75 64 65 64 0a 3b 3b 20 63 6f  | An.example.is.the.included.;;.co | 
| 06e0 |  64 65 2d 68 69 67 68 6c 69 67 68 74 69 6e 67 20    6d 69 6e 6f 72 20 6d 6f 64 65 2e 0a 0a 3b 3b 3b  | de-highlighting.minor.mode...;;; | 
| 0700 |  20 43 6f 64 65 3a 0a 0a 28 72 65 71 75 69 72 65    20 27 74 73 63 29 0a 28 72 65 71 75 69 72 65 20  | .Code:..(require.'tsc).(require. | 
| 0720 |  27 74 72 65 65 2d 73 69 74 74 65 72 2d 6c 6f 61    64 29 0a 0a 28 64 65 66 67 72 6f 75 70 20 74 72  | 'tree-sitter-load)..(defgroup.tr | 
| 0740 |  65 65 2d 73 69 74 74 65 72 20 6e 69 6c 0a 20 20    22 49 6e 63 72 65 6d 65 6e 74 61 6c 20 70 61 72  | ee-sitter.nil..."Incremental.par | 
| 0760 |  73 69 6e 67 20 73 79 73 74 65 6d 2e 22 0a 20 20    3a 67 72 6f 75 70 20 27 6c 61 6e 67 75 61 67 65  | sing.system."...:group.'language | 
| 0780 |  73 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 74    72 65 65 2d 73 69 74 74 65 72 2d 61 66 74 65 72  | s)..(defcustom.tree-sitter-after | 
| 07a0 |  2d 63 68 61 6e 67 65 2d 66 75 6e 63 74 69 6f 6e    73 20 6e 69 6c 0a 20 20 22 46 75 6e 63 74 69 6f  | -change-functions.nil..."Functio | 
| 07c0 |  6e 73 20 74 6f 20 63 61 6c 6c 20 65 61 63 68 20    74 69 6d 65 20 60 74 72 65 65 2d 73 69 74 74 65  | ns.to.call.each.time.`tree-sitte | 
| 07e0 |  72 2d 74 72 65 65 27 20 69 73 20 75 70 64 61 74    65 64 2e 0a 45 61 63 68 20 66 75 6e 63 74 69 6f  | r-tree'.is.updated..Each.functio | 
| 0800 |  6e 20 77 69 6c 6c 20 62 65 20 63 61 6c 6c 65 64    20 77 69 74 68 20 61 20 73 69 6e 67 6c 65 20 61  | n.will.be.called.with.a.single.a | 
| 0820 |  72 67 75 6d 65 6e 74 3a 20 74 68 65 20 4f 4c 44    2d 54 52 45 45 2e 20 54 68 69 73 20 61 72 67 75  | rgument:.the.OLD-TREE..This.argu | 
| 0840 |  6d 65 6e 74 0a 77 69 6c 6c 20 62 65 20 6e 69 6c    20 77 68 65 6e 20 74 68 65 20 62 75 66 66 65 72  | ment.will.be.nil.when.the.buffer | 
| 0860 |  20 69 73 20 70 61 72 73 65 64 20 66 6f 72 20 74    68 65 20 66 69 72 73 74 20 74 69 6d 65 2e 0a 0a  | .is.parsed.for.the.first.time... | 
| 0880 |  46 6f 72 20 69 6e 69 74 69 61 6c 69 7a 61 74 69    6f 6e 20 6c 6f 67 69 63 20 74 68 61 74 20 73 68  | For.initialization.logic.that.sh | 
| 08a0 |  6f 75 6c 64 20 62 65 20 72 75 6e 20 6f 6e 6c 79    20 6f 6e 63 65 2c 20 75 73 65 0a 60 74 72 65 65  | ould.be.run.only.once,.use.`tree | 
| 08c0 |  2d 73 69 74 74 65 72 2d 61 66 74 65 72 2d 66 69    72 73 74 2d 70 61 72 73 65 2d 68 6f 6f 6b 27 20  | -sitter-after-first-parse-hook'. | 
| 08e0 |  69 6e 73 74 65 61 64 2e 22 0a 20 20 3a 74 79 70    65 20 27 68 6f 6f 6b 0a 20 20 3a 67 72 6f 75 70  | instead."...:type.'hook...:group | 
| 0900 |  20 27 74 72 65 65 2d 73 69 74 74 65 72 29 0a 0a    28 64 65 66 63 75 73 74 6f 6d 20 74 72 65 65 2d  | .'tree-sitter)..(defcustom.tree- | 
| 0920 |  73 69 74 74 65 72 2d 61 66 74 65 72 2d 66 69 72    73 74 2d 70 61 72 73 65 2d 68 6f 6f 6b 20 6e 69  | sitter-after-first-parse-hook.ni | 
| 0940 |  6c 0a 20 20 22 46 75 6e 63 74 69 6f 6e 73 20 74    6f 20 63 61 6c 6c 20 61 66 74 65 72 20 74 68 65  | l..."Functions.to.call.after.the | 
| 0960 |  20 62 75 66 66 65 72 20 69 73 20 70 61 72 73 65    64 20 66 6f 72 20 74 68 65 20 66 69 72 73 74 20  | .buffer.is.parsed.for.the.first. | 
| 0980 |  74 69 6d 65 2e 0a 54 68 69 73 20 68 6f 6f 6b 20    73 68 6f 75 6c 64 20 62 65 20 75 73 65 64 20 66  | time..This.hook.should.be.used.f | 
| 09a0 |  6f 72 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f    6e 20 6c 6f 67 69 63 20 74 68 61 74 20 72 65 71  | or.initialization.logic.that.req | 
| 09c0 |  75 69 72 65 73 20 69 6e 73 70 65 63 74 69 6e 67    20 74 68 65 0a 73 79 6e 74 61 78 20 74 72 65 65  | uires.inspecting.the.syntax.tree | 
| 09e0 |  2e 20 49 74 20 69 73 20 72 75 6e 20 61 66 74 65    72 20 60 74 72 65 65 2d 73 69 74 74 65 72 2d 6d  | ..It.is.run.after.`tree-sitter-m | 
| 0a00 |  6f 64 65 2d 68 6f 6f 6b 27 2e 22 0a 20 20 3a 74    79 70 65 20 27 68 6f 6f 6b 0a 20 20 3a 67 72 6f  | ode-hook'."...:type.'hook...:gro | 
| 0a20 |  75 70 20 27 74 72 65 65 2d 73 69 74 74 65 72 29    0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 74 72 65  | up.'tree-sitter)..(defcustom.tre | 
| 0a40 |  65 2d 73 69 74 74 65 72 2d 61 66 74 65 72 2d 6f    6e 2d 68 6f 6f 6b 20 6e 69 6c 0a 20 20 22 46 75  | e-sitter-after-on-hook.nil..."Fu | 
| 0a60 |  6e 63 74 69 6f 6e 73 20 74 6f 20 63 61 6c 6c 20    61 66 74 65 72 20 65 6e 61 62 6c 69 6e 67 20 60  | nctions.to.call.after.enabling.` | 
| 0a80 |  74 72 65 65 2d 73 69 74 74 65 72 2d 6d 6f 64 65    27 2e 0a 55 73 65 20 74 68 69 73 20 74 6f 20 65  | tree-sitter-mode'..Use.this.to.e | 
| 0aa0 |  6e 61 62 6c 65 20 6f 74 68 65 72 20 6d 69 6e 6f    72 20 6d 6f 64 65 73 20 74 68 61 74 20 64 65 70  | nable.other.minor.modes.that.dep | 
| 0ac0 |  65 6e 64 73 20 6f 6e 20 74 68 65 20 73 79 6e 74    61 78 20 74 72 65 65 2e 22 0a 20 20 3a 74 79 70  | ends.on.the.syntax.tree."...:typ | 
| 0ae0 |  65 20 27 68 6f 6f 6b 0a 20 20 3a 67 72 6f 75 70    20 27 74 72 65 65 2d 73 69 74 74 65 72 29 0a 0a  | e.'hook...:group.'tree-sitter).. | 
| 0b00 |  28 64 65 66 63 75 73 74 6f 6d 20 74 72 65 65 2d    73 69 74 74 65 72 2d 6d 61 6a 6f 72 2d 6d 6f 64  | (defcustom.tree-sitter-major-mod | 
| 0b20 |  65 2d 6c 61 6e 67 75 61 67 65 2d 61 6c 69 73 74    20 6e 69 6c 0a 20 20 22 41 6c 69 73 74 20 74 68  | e-language-alist.nil..."Alist.th | 
| 0b40 |  61 74 20 6d 61 70 73 20 6d 61 6a 6f 72 20 6d 6f    64 65 73 20 74 6f 20 74 72 65 65 2d 73 69 74 74  | at.maps.major.modes.to.tree-sitt | 
| 0b60 |  65 72 20 6c 61 6e 67 75 61 67 65 20 6e 61 6d 65    73 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 74 72  | er.language.names."...:group.'tr | 
| 0b80 |  65 65 2d 73 69 74 74 65 72 0a 20 20 3a 74 79 70    65 20 27 28 61 6c 69 73 74 20 3a 6b 65 79 2d 74  | ee-sitter...:type.'(alist.:key-t | 
| 0ba0 |  79 70 65 20 73 79 6d 62 6f 6c 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 3a 76 61 6c 75  | ype.symbol.................:valu | 
| 0bc0 |  65 2d 74 79 70 65 20 73 79 6d 62 6f 6c 29 29 0a    0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 74  | e-type.symbol))..(defvar-local.t | 
| 0be0 |  72 65 65 2d 73 69 74 74 65 72 2d 74 72 65 65 20    6e 69 6c 0a 20 20 22 54 72 65 65 2d 73 69 74 74  | ree-sitter-tree.nil..."Tree-sitt | 
| 0c00 |  65 72 20 73 79 6e 74 61 78 20 74 72 65 65 2e 22    29 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c  | er.syntax.tree.")..(defvar-local | 
| 0c20 |  20 74 72 65 65 2d 73 69 74 74 65 72 2d 70 61 72    73 65 72 20 6e 69 6c 0a 20 20 22 54 72 65 65 2d  | .tree-sitter-parser.nil..."Tree- | 
| 0c40 |  73 69 74 74 65 72 20 70 61 72 73 65 72 2e 22 29    0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20  | sitter.parser.")..(defvar-local. | 
| 0c60 |  74 72 65 65 2d 73 69 74 74 65 72 2d 6c 61 6e 67    75 61 67 65 20 6e 69 6c 0a 20 20 22 54 72 65 65  | tree-sitter-language.nil..."Tree | 
| 0c80 |  2d 73 69 74 74 65 72 20 6c 61 6e 67 75 61 67 65    2e 22 29 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63  | -sitter.language.")..(defvar-loc | 
| 0ca0 |  61 6c 20 74 72 65 65 2d 73 69 74 74 65 72 2d 2d    74 65 78 74 2d 62 65 66 6f 72 65 2d 63 68 61 6e  | al.tree-sitter--text-before-chan | 
| 0cc0 |  67 65 20 6e 69 6c 29 0a 0a 28 64 65 66 76 61 72    2d 6c 6f 63 61 6c 20 74 72 65 65 2d 73 69 74 74  | ge.nil)..(defvar-local.tree-sitt | 
| 0ce0 |  65 72 2d 2d 62 65 67 2d 62 65 66 6f 72 65 2d 63    68 61 6e 67 65 20 6e 69 6c 29 0a 0a 28 64 65 66  | er--beg-before-change.nil)..(def | 
| 0d00 |  75 6e 20 74 72 65 65 2d 73 69 74 74 65 72 2d 2d    62 65 66 6f 72 65 2d 63 68 61 6e 67 65 20 28 62  | un.tree-sitter--before-change.(b | 
| 0d20 |  65 67 20 6f 6c 64 2d 65 6e 64 29 0a 20 20 22 55    70 64 61 74 65 20 72 65 6c 65 76 61 6e 74 20 65  | eg.old-end)..."Update.relevant.e | 
| 0d40 |  64 69 74 69 6e 67 20 73 74 61 74 65 73 2e 20 49    6e 73 74 61 6c 6c 65 64 20 6f 6e 20 60 62 65 66  | diting.states..Installed.on.`bef | 
| 0d60 |  6f 72 65 2d 63 68 61 6e 67 65 2d 66 75 6e 63 74    69 6f 6e 73 27 2e 0a 42 45 47 20 61 6e 64 20 4f  | ore-change-functions'..BEG.and.O | 
| 0d80 |  4c 44 2d 45 4e 44 20 61 72 65 20 74 68 65 20 62    65 67 69 6e 20 61 6e 64 20 65 6e 64 20 70 6f 73  | LD-END.are.the.begin.and.end.pos | 
| 0da0 |  69 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 74 65    78 74 20 74 6f 20 62 65 20 63 68 61 6e 67 65 64  | itions.of.the.text.to.be.changed | 
| 0dc0 |  2e 22 0a 20 20 28 73 65 74 71 20 74 72 65 65 2d    73 69 74 74 65 72 2d 2d 62 65 67 2d 62 65 66 6f  | ."...(setq.tree-sitter--beg-befo | 
| 0de0 |  72 65 2d 63 68 61 6e 67 65 20 62 65 67 29 0a 20    20 28 74 73 63 2d 2d 77 69 74 68 6f 75 74 2d 72  | re-change.beg)...(tsc--without-r | 
| 0e00 |  65 73 74 72 69 63 74 69 6f 6e 0a 20 20 20 20 3b    3b 20 54 4f 44 4f 3a 20 46 61 6c 6c 62 61 63 6b  | estriction.....;;.TODO:.Fallback | 
| 0e20 |  20 74 6f 20 61 20 66 75 6c 6c 20 70 61 72 73 65    20 69 66 20 74 68 69 73 20 72 65 67 69 6f 6e 20  | .to.a.full.parse.if.this.region. | 
| 0e40 |  69 73 20 74 6f 6f 20 62 69 67 2e 0a 20 20 20 20    28 73 65 74 71 20 74 72 65 65 2d 73 69 74 74 65  | is.too.big......(setq.tree-sitte | 
| 0e60 |  72 2d 2d 74 65 78 74 2d 62 65 66 6f 72 65 2d 63    68 61 6e 67 65 0a 20 20 20 20 20 20 20 20 20 20  | r--text-before-change........... | 
| 0e80 |  28 77 68 65 6e 20 28 3e 20 6f 6c 64 2d 65 6e 64    20 62 65 67 29 0a 20 20 20 20 20 20 20 20 20 20  | (when.(>.old-end.beg)........... | 
| 0ea0 |  20 20 28 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  | ..(buffer-substring-no-propertie | 
| 0ec0 |  73 20 62 65 67 20 6f 6c 64 2d 65 6e 64 29 29 29    29 29 0a 0a 3b 3b 3b 20 54 4f 44 4f 3a 20 48 6f  | s.beg.old-end)))))..;;;.TODO:.Ho | 
| 0ee0 |  77 20 64 6f 20 77 65 20 62 61 74 63 68 20 2a 61    66 74 65 72 2a 20 68 6f 6f 6b 73 20 74 6f 20 72  | w.do.we.batch.*after*.hooks.to.r | 
| 0f00 |  65 2d 70 61 72 73 65 20 6f 6e 6c 79 20 6f 6e 63    65 3f 20 4d 61 79 62 65 20 75 73 69 6e 67 0a 3b  | e-parse.only.once?.Maybe.using.; | 
| 0f20 |  3b 3b 20 60 72 75 6e 2d 77 69 74 68 2d 69 64 6c    65 2d 74 69 6d 65 72 27 20 77 69 74 68 20 30 2d  | ;;.`run-with-idle-timer'.with.0- | 
| 0f40 |  73 65 63 6f 6e 64 20 74 69 6d 65 6f 75 74 3f 0a    3b 3b 3b 0a 3b 3b 3b 20 58 58 58 3a 20 46 69 67  | second.timeout?.;;;.;;;.XXX:.Fig | 
| 0f60 |  75 72 65 20 6f 75 74 20 68 6f 77 20 74 6f 20 64    65 74 65 63 74 20 77 68 65 74 68 65 72 20 69 74  | ure.out.how.to.detect.whether.it | 
| 0f80 |  20 77 61 73 20 61 20 74 65 78 74 2d 70 72 6f 70    65 72 74 79 2d 6f 6e 6c 79 20 63 68 61 6e 67 65  | .was.a.text-property-only.change | 
| 0fa0 |  2e 0a 3b 3b 3b 20 54 68 65 72 65 27 73 20 6e 6f    20 70 6f 69 6e 74 20 69 6e 20 72 65 70 61 72 73  | ..;;;.There's.no.point.in.repars | 
| 0fc0 |  69 6e 67 20 69 6e 20 74 68 65 73 65 20 73 69 74    75 61 74 69 6f 6e 73 2e 0a 28 64 65 66 75 6e 20  | ing.in.these.situations..(defun. | 
| 0fe0 |  74 72 65 65 2d 73 69 74 74 65 72 2d 2d 61 66 74    65 72 2d 63 68 61 6e 67 65 20 28 62 65 67 20 6e  | tree-sitter--after-change.(beg.n | 
| 1000 |  65 77 2d 65 6e 64 20 6f 6c 64 2d 6c 65 6e 29 0a    20 20 22 55 70 64 61 74 65 20 72 65 6c 65 76 61  | ew-end.old-len)..."Update.releva | 
| 1020 |  6e 74 20 65 64 69 74 69 6e 67 20 73 74 61 74 65    73 20 61 6e 64 20 72 65 70 61 72 73 65 20 74 68  | nt.editing.states.and.reparse.th | 
| 1040 |  65 20 62 75 66 66 65 72 20 28 69 6e 63 72 65 6d    65 6e 74 61 6c 6c 79 29 2e 0a 49 6e 73 74 61 6c  | e.buffer.(incrementally)..Instal | 
| 1060 |  6c 65 64 20 6f 6e 20 60 61 66 74 65 72 2d 63 68    61 6e 67 65 2d 66 75 6e 63 74 69 6f 6e 73 27 2e  | led.on.`after-change-functions'. | 
| 1080 |  0a 0a 42 45 47 20 69 73 20 74 68 65 20 62 65 67    69 6e 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 74  | ..BEG.is.the.begin.position.of.t | 
| 10a0 |  68 65 20 63 68 61 6e 67 65 2e 0a 4e 45 57 2d 45    4e 44 20 69 73 20 74 68 65 20 65 6e 64 20 70 6f  | he.change..NEW-END.is.the.end.po | 
| 10c0 |  73 69 74 69 6f 6e 20 6f 66 20 74 68 65 20 63 68    61 6e 67 65 64 20 74 65 78 74 2e 0a 4f 4c 44 2d  | sition.of.the.changed.text..OLD- | 
| 10e0 |  4c 45 4e 20 69 73 20 74 68 65 20 63 68 61 72 20    6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 6f 6c  | LEN.is.the.char.length.of.the.ol | 
| 1100 |  64 20 74 65 78 74 2e 22 0a 20 20 28 77 68 65 6e    20 74 72 65 65 2d 73 69 74 74 65 72 2d 74 72 65  | d.text."...(when.tree-sitter-tre | 
| 1120 |  65 0a 20 20 20 20 28 6c 65 74 20 28 28 62 65 67    3a 62 79 74 65 20 28 70 6f 73 69 74 69 6f 6e 2d  | e.....(let.((beg:byte.(position- | 
| 1140 |  62 79 74 65 73 20 62 65 67 29 29 0a 20 20 20 20    20 20 20 20 20 20 28 6e 65 77 2d 65 6e 64 3a 62  | bytes.beg))...........(new-end:b | 
| 1160 |  79 74 65 20 28 70 6f 73 69 74 69 6f 6e 2d 62 79    74 65 73 20 6e 65 77 2d 65 6e 64 29 29 0a 20 20  | yte.(position-bytes.new-end))... | 
| 1180 |  20 20 20 20 20 20 20 20 6f 6c 64 2d 65 6e 64 3a    62 79 74 65 0a 20 20 20 20 20 20 20 20 20 20 62  | ........old-end:byte...........b | 
| 11a0 |  65 67 3a 70 6f 69 6e 74 20 6f 6c 64 2d 65 6e 64    3a 70 6f 69 6e 74 20 6e 65 77 2d 65 6e 64 3a 70  | eg:point.old-end:point.new-end:p | 
| 11c0 |  6f 69 6e 74 29 0a 20 20 20 20 20 20 28 74 73 63    2d 2d 73 61 76 65 2d 63 6f 6e 74 65 78 74 0a 20  | oint).......(tsc--save-context.. | 
| 11e0 |  20 20 20 20 20 20 20 28 73 65 74 71 20 62 65 67    3a 70 6f 69 6e 74 20 28 74 73 63 2d 2d 70 6f 69  | .......(setq.beg:point.(tsc--poi | 
| 1200 |  6e 74 2d 66 72 6f 6d 2d 70 6f 73 69 74 69 6f 6e    20 62 65 67 29 0a 20 20 20 20 20 20 20 20 20 20  | nt-from-position.beg)........... | 
| 1220 |  20 20 20 20 6e 65 77 2d 65 6e 64 3a 70 6f 69 6e    74 20 28 74 73 63 2d 2d 70 6f 69 6e 74 2d 66 72  | ....new-end:point.(tsc--point-fr | 
| 1240 |  6f 6d 2d 70 6f 73 69 74 69 6f 6e 20 6e 65 77 2d    65 6e 64 29 29 29 0a 20 20 20 20 20 20 3b 3b 20  | om-position.new-end))).......;;. | 
| 1260 |  43 6f 6d 70 75 74 65 20 74 68 65 20 6f 6c 64 20    74 65 78 74 27 73 20 65 6e 64 20 62 79 74 65 20  | Compute.the.old.text's.end.byte. | 
| 1280 |  70 6f 73 69 74 69 6f 6e 2c 20 6c 69 6e 65 20 6e    75 6d 62 65 72 2c 20 62 79 74 65 20 63 6f 6c 75  | position,.line.number,.byte.colu | 
| 12a0 |  6d 6e 2e 0a 20 20 20 20 20 20 3b 3b 0a 20 20 20    20 20 20 3b 3b 20 54 72 65 65 2d 73 69 74 74 65  | mn........;;.......;;.Tree-sitte | 
| 12c0 |  72 20 77 6f 72 6b 73 20 77 69 74 68 20 62 79 74    65 20 70 6f 73 69 74 69 6f 6e 73 2c 20 6c 69 6e  | r.works.with.byte.positions,.lin | 
| 12e0 |  65 20 6e 75 6d 62 65 72 73 2c 20 62 79 74 65 20    63 6f 6c 75 6d 6e 73 2e 0a 20 20 20 20 20 20 3b  | e.numbers,.byte.columns........; | 
| 1300 |  3b 20 45 6d 61 63 73 20 70 72 69 6d 61 72 69 6c    79 20 77 6f 72 6b 73 20 77 69 74 68 20 63 68 61  | ;.Emacs.primarily.works.with.cha | 
| 1320 |  72 61 63 74 65 72 20 70 6f 73 69 74 69 6f 6e 73    2e 20 43 6f 6e 76 65 72 74 69 6e 67 20 74 68 65  | racter.positions..Converting.the | 
| 1340 |  20 6c 61 74 74 65 72 0a 20 20 20 20 20 20 3b 3b    20 74 6f 20 74 68 65 20 66 6f 72 6d 65 72 2c 20  | .latter.......;;.to.the.former,. | 
| 1360 |  66 6f 72 20 74 68 65 20 65 6e 64 20 6f 66 20 74    68 65 20 6f 6c 64 20 74 65 78 74 2c 20 72 65 71  | for.the.end.of.the.old.text,.req | 
| 1380 |  75 69 72 65 73 20 6c 6f 6f 6b 69 6e 67 20 61 74    20 74 68 65 0a 20 20 20 20 20 20 3b 3b 20 61 63  | uires.looking.at.the.......;;.ac | 
| 13a0 |  74 75 61 6c 20 6f 6c 64 20 74 65 78 74 27 73 20    63 6f 6e 74 65 6e 74 2e 20 54 72 65 65 2d 73 69  | tual.old.text's.content..Tree-si | 
| 13c0 |  74 74 65 72 20 69 74 73 65 6c 66 20 63 61 6e 6e    6f 74 20 64 6f 20 74 68 61 74 2c 20 62 65 63 61  | tter.itself.cannot.do.that,.beca | 
| 13e0 |  75 73 65 0a 20 20 20 20 20 20 3b 3b 20 69 74 20    69 73 20 64 65 73 69 67 6e 65 64 20 74 6f 20 6b  | use.......;;.it.is.designed.to.k | 
| 1400 |  65 65 70 20 74 72 61 63 6b 20 6f 66 20 6f 6e 6c    79 20 74 68 65 20 6e 75 6d 62 65 72 73 2c 20 6e  | eep.track.of.only.the.numbers,.n | 
| 1420 |  6f 74 20 61 20 6d 69 72 72 6f 72 20 6f 66 20 74    68 65 0a 20 20 20 20 20 20 3b 3b 20 62 75 66 66  | ot.a.mirror.of.the.......;;.buff | 
| 1440 |  65 72 27 73 20 74 65 78 74 2e 20 57 69 74 68 6f    75 74 20 72 65 2d 64 65 73 69 67 6e 69 6e 67 20  | er's.text..Without.re-designing. | 
| 1460 |  45 6d 61 63 73 27 73 20 63 68 61 6e 67 65 20 74    72 61 63 6b 69 6e 67 20 6d 65 63 68 61 6e 69 73  | Emacs's.change.tracking.mechanis | 
| 1480 |  6d 2c 0a 20 20 20 20 20 20 3b 3b 20 77 65 20 73    74 6f 72 65 20 74 68 65 20 6f 6c 64 20 74 65 78  | m,.......;;.we.store.the.old.tex | 
| 14a0 |  74 20 74 68 72 6f 75 67 68 20 60 74 72 65 65 2d    73 69 74 74 65 72 2d 2d 62 65 66 6f 72 65 2d 63  | t.through.`tree-sitter--before-c | 
| 14c0 |  68 61 6e 67 65 27 2c 20 61 6e 64 20 69 6e 73 70    65 63 74 0a 20 20 20 20 20 20 3b 3b 20 69 74 20  | hange',.and.inspect.......;;.it. | 
| 14e0 |  68 65 72 65 2e 20 54 4f 44 4f 20 58 58 58 20 46    49 58 3a 20 49 6d 70 72 6f 76 65 20 63 68 61 6e  | here..TODO.XXX.FIX:.Improve.chan | 
| 1500 |  67 65 20 74 72 61 63 6b 69 6e 67 20 69 6e 20 45    6d 61 63 73 2e 0a 20 20 20 20 20 20 28 69 66 20  | ge.tracking.in.Emacs........(if. | 
| 1520 |  28 3d 20 6f 6c 64 2d 6c 65 6e 20 30 29 0a 20 20    20 20 20 20 20 20 20 20 28 73 65 74 71 20 6f 6c  | (=.old-len.0)...........(setq.ol | 
| 1540 |  64 2d 65 6e 64 3a 62 79 74 65 20 62 65 67 3a 62    79 74 65 0a 20 20 20 20 20 20 20 20 20 20 20 20  | d-end:byte.beg:byte............. | 
| 1560 |  20 20 20 20 6f 6c 64 2d 65 6e 64 3a 70 6f 69 6e    74 20 62 65 67 3a 70 6f 69 6e 74 29 0a 20 20 20  | ....old-end:point.beg:point).... | 
| 1580 |  20 20 20 20 20 28 6c 65 74 20 28 28 6f 6c 64 2d    74 65 78 74 20 74 72 65 65 2d 73 69 74 74 65 72  | .....(let.((old-text.tree-sitter | 
| 15a0 |  2d 2d 74 65 78 74 2d 62 65 66 6f 72 65 2d 63 68    61 6e 67 65 29 0a 20 20 20 20 20 20 20 20 20 20  | --text-before-change)........... | 
| 15c0 |  20 20 20 20 28 72 65 6c 2d 62 65 67 20 28 31 2b    20 28 2d 20 62 65 67 20 74 72 65 65 2d 73 69 74  | ....(rel-beg.(1+.(-.beg.tree-sit | 
| 15e0 |  74 65 72 2d 2d 62 65 67 2d 62 65 66 6f 72 65 2d    63 68 61 6e 67 65 29 29 29 29 0a 20 20 20 20 20  | ter--beg-before-change))))...... | 
| 1600 |  20 20 20 20 20 3b 3b 20 46 49 58 3a 20 44 6f 6e    27 74 20 61 73 73 75 6d 65 20 62 65 66 6f 72 65  | .....;;.FIX:.Don't.assume.before | 
| 1620 |  2d 63 68 61 6e 67 65 27 73 20 62 65 67 20 61 6e    64 20 61 66 74 65 72 2d 63 68 61 6e 67 65 27 73  | -change's.beg.and.after-change's | 
| 1640 |  20 62 65 67 20 61 72 65 0a 20 20 20 20 20 20 20    20 20 20 3b 3b 20 74 68 65 20 73 61 6d 65 2e 0a  | .beg.are...........;;.the.same.. | 
| 1660 |  20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d    74 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 20  | ..........(with-temp-buffer..... | 
| 1680 |  20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20    6f 6c 64 2d 74 65 78 74 29 0a 20 20 20 20 20 20  | ........(insert.old-text)....... | 
| 16a0 |  20 20 20 20 20 20 28 70 63 61 73 65 2d 6c 65 74    2a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ......(pcase-let*............... | 
| 16c0 |  20 20 28 28 72 65 6c 2d 6f 6c 64 2d 65 6e 64 20    28 2b 20 72 65 6c 2d 62 65 67 20 6f 6c 64 2d 6c  | ..((rel-old-end.(+.rel-beg.old-l | 
| 16e0 |  65 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 6f 6c 64 2d 6c 65 6e 3a 62  | en))..................(old-len:b | 
| 1700 |  79 74 65 20 28 2d 20 28 70 6f 73 69 74 69 6f 6e    2d 62 79 74 65 73 20 72 65 6c 2d 6f 6c 64 2d 65  | yte.(-.(position-bytes.rel-old-e | 
| 1720 |  6e 64 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  | nd)............................. | 
| 1740 |  20 20 20 20 20 20 28 70 6f 73 69 74 69 6f 6e 2d    62 79 74 65 73 20 72 65 6c 2d 62 65 67 29 29 29  | ......(position-bytes.rel-beg))) | 
| 1760 |  0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 60 28 2c 62 65 67 3a 6c 69 6e 75 6d 20  | ..................(`(,beg:linum. | 
| 1780 |  2e 20 2c 62 65 67 3a 62 79 74 65 63 6f 6c 29 20    62 65 67 3a 70 6f 69 6e 74 29 0a 20 20 20 20 20  | ..,beg:bytecol).beg:point)...... | 
| 17a0 |  20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 6c    2d 62 65 67 3a 6c 69 6e 75 6d 20 28 6c 69 6e 65  | ............(rel-beg:linum.(line | 
| 17c0 |  2d 6e 75 6d 62 65 72 2d 61 74 2d 70 6f 73 20 72    65 6c 2d 62 65 67 29 29 0a 20 20 20 20 20 20 20  | -number-at-pos.rel-beg))........ | 
| 17e0 |  20 20 20 20 20 20 20 20 20 20 28 60 28 2c 72 65    6c 2d 6f 6c 64 2d 65 6e 64 3a 6c 69 6e 75 6d 20  | ..........(`(,rel-old-end:linum. | 
| 1800 |  2e 20 2c 72 65 6c 2d 6f 6c 64 2d 65 6e 64 3a 62    79 74 65 63 6f 6c 29 0a 20 20 20 20 20 20 20 20  | ..,rel-old-end:bytecol)......... | 
| 1820 |  20 20 20 20 20 20 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  | ..........(tsc--point-from-posit | 
| 1840 |  69 6f 6e 20 72 65 6c 2d 6f 6c 64 2d 65 6e 64 29    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ion.rel-old-end))............... | 
| 1860 |  20 20 20 28 6f 6c 64 2d 64 69 66 66 3a 6c 69 6e    75 6d 20 28 2d 20 72 65 6c 2d 6f 6c 64 2d 65 6e  | ...(old-diff:linum.(-.rel-old-en | 
| 1880 |  64 3a 6c 69 6e 75 6d 20 72 65 6c 2d 62 65 67 3a    6c 69 6e 75 6d 29 29 0a 20 20 20 20 20 20 20 20  | d:linum.rel-beg:linum))......... | 
| 18a0 |  20 20 20 20 20 20 20 20 20 28 6f 6c 64 2d 65 6e    64 3a 6c 69 6e 75 6d 20 28 2b 20 62 65 67 3a 6c  | .........(old-end:linum.(+.beg:l | 
| 18c0 |  69 6e 75 6d 20 6f 6c 64 2d 64 69 66 66 3a 6c 69    6e 75 6d 29 29 0a 20 20 20 20 20 20 20 20 20 20  | inum.old-diff:linum))........... | 
| 18e0 |  20 20 20 20 20 20 20 28 6f 6c 64 2d 65 6e 64 3a    62 79 74 65 63 6f 6c 20 28 69 66 20 28 3e 20 6f  | .......(old-end:bytecol.(if.(>.o | 
| 1900 |  6c 64 2d 64 69 66 66 3a 6c 69 6e 75 6d 20 30 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ld-diff:linum.0)................ | 
| 1920 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 72 65 6c 2d 6f 6c 64 2d 65  | .......................rel-old-e | 
| 1940 |  6e 64 3a 62 79 74 65 63 6f 6c 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | nd:bytecol...................... | 
| 1960 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    2b 20 62 65 67 3a 62 79 74 65 63 6f 6c 20 6f 6c  | ...............(+.beg:bytecol.ol | 
| 1980 |  64 2d 6c 65 6e 3a 62 79 74 65 29 29 29 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65  | d-len:byte))))...............(se | 
| 19a0 |  74 71 20 6f 6c 64 2d 65 6e 64 3a 62 79 74 65 20    28 2b 20 62 65 67 3a 62 79 74 65 20 6f 6c 64 2d  | tq.old-end:byte.(+.beg:byte.old- | 
| 19c0 |  6c 65 6e 3a 62 79 74 65 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 6c  | len:byte).....................ol | 
| 19e0 |  64 2d 65 6e 64 3a 70 6f 69 6e 74 20 60 28 2c 6f    6c 64 2d 65 6e 64 3a 6c 69 6e 75 6d 20 2e 20 2c  | d-end:point.`(,old-end:linum..., | 
| 1a00 |  6f 6c 64 2d 65 6e 64 3a 62 79 74 65 63 6f 6c 29    29 29 29 29 29 0a 20 20 20 20 20 20 28 74 73 63  | old-end:bytecol)))))).......(tsc | 
| 1a20 |  2d 65 64 69 74 2d 74 72 65 65 20 74 72 65 65 2d    73 69 74 74 65 72 2d 74 72 65 65 0a 20 20 20 20  | -edit-tree.tree-sitter-tree..... | 
| 1a40 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 62 65 67 3a 62 79 74 65 20 6f 6c 64 2d 65 6e  | .................beg:byte.old-en | 
| 1a60 |  64 3a 62 79 74 65 20 6e 65 77 2d 65 6e 64 3a 62    79 74 65 0a 20 20 20 20 20 20 20 20 20 20 20 20  | d:byte.new-end:byte............. | 
| 1a80 |  20 20 20 20 20 20 20 20 20 62 65 67 3a 70 6f 69    6e 74 20 6f 6c 64 2d 65 6e 64 3a 70 6f 69 6e 74  | .........beg:point.old-end:point | 
| 1aa0 |  20 6e 65 77 2d 65 6e 64 3a 70 6f 69 6e 74 29 0a    20 20 20 20 20 20 28 74 72 65 65 2d 73 69 74 74  | .new-end:point).......(tree-sitt | 
| 1ac0 |  65 72 2d 2d 64 6f 2d 70 61 72 73 65 29 29 29 29    0a 0a 28 64 65 66 75 6e 20 74 72 65 65 2d 73 69  | er--do-parse))))..(defun.tree-si | 
| 1ae0 |  74 74 65 72 2d 2d 64 6f 2d 70 61 72 73 65 20 28    29 0a 20 20 22 50 61 72 73 65 20 74 68 65 20 63  | tter--do-parse.()..."Parse.the.c | 
| 1b00 |  75 72 72 65 6e 74 20 62 75 66 66 65 72 20 61 6e    64 20 75 70 64 61 74 65 20 74 68 65 20 73 79 6e  | urrent.buffer.and.update.the.syn | 
| 1b20 |  74 61 78 20 74 72 65 65 2e 22 0a 20 20 28 6c 65    74 20 28 28 6f 6c 64 2d 74 72 65 65 20 74 72 65  | tax.tree."...(let.((old-tree.tre | 
| 1b40 |  65 2d 73 69 74 74 65 72 2d 74 72 65 65 29 29 0a    20 20 20 20 28 73 65 74 71 20 74 72 65 65 2d 73  | e-sitter-tree)).....(setq.tree-s | 
| 1b60 |  69 74 74 65 72 2d 74 72 65 65 0a 20 20 20 20 20    20 20 20 20 20 3b 3b 20 68 74 74 70 73 3a 2f 2f  | itter-tree...........;;.https:// | 
| 1b80 |  67 69 74 68 75 62 2e 63 6f 6d 2f 65 6d 61 63 73    2d 74 72 65 65 2d 73 69 74 74 65 72 2f 65 6c 69  | github.com/emacs-tree-sitter/eli | 
| 1ba0 |  73 70 2d 74 72 65 65 2d 73 69 74 74 65 72 2f 69    73 73 75 65 73 2f 33 0a 20 20 20 20 20 20 20 20  | sp-tree-sitter/issues/3......... | 
| 1bc0 |  20 20 28 74 73 63 2d 2d 77 69 74 68 6f 75 74 2d    72 65 73 74 72 69 63 74 69 6f 6e 0a 20 20 20 20  | ..(tsc--without-restriction..... | 
| 1be0 |  20 20 20 20 20 20 20 20 28 74 73 63 2d 70 61 72    73 65 2d 63 68 75 6e 6b 73 20 74 72 65 65 2d 73  | ........(tsc-parse-chunks.tree-s | 
| 1c00 |  69 74 74 65 72 2d 70 61 72 73 65 72 20 23 27 74    73 63 2d 2d 62 75 66 66 65 72 2d 69 6e 70 75 74  | itter-parser.#'tsc--buffer-input | 
| 1c20 |  20 6f 6c 64 2d 74 72 65 65 29 29 29 0a 20 20 20    20 28 72 75 6e 2d 68 6f 6f 6b 2d 77 69 74 68 2d  | .old-tree))).....(run-hook-with- | 
| 1c40 |  61 72 67 73 20 27 74 72 65 65 2d 73 69 74 74 65    72 2d 61 66 74 65 72 2d 63 68 61 6e 67 65 2d 66  | args.'tree-sitter-after-change-f | 
| 1c60 |  75 6e 63 74 69 6f 6e 73 20 6f 6c 64 2d 74 72 65    65 29 29 29 0a 0a 28 64 65 66 75 6e 20 74 72 65  | unctions.old-tree)))..(defun.tre | 
| 1c80 |  65 2d 73 69 74 74 65 72 2d 2d 73 65 74 75 70 20    28 29 0a 20 20 22 45 6e 61 62 6c 65 20 60 74 72  | e-sitter--setup.()..."Enable.`tr | 
| 1ca0 |  65 65 2d 73 69 74 74 65 72 27 20 69 6e 20 74 68    65 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 72  | ee-sitter'.in.the.current.buffer | 
| 1cc0 |  2e 22 0a 20 20 28 75 6e 6c 65 73 73 20 74 72 65    65 2d 73 69 74 74 65 72 2d 6c 61 6e 67 75 61 67  | ."...(unless.tree-sitter-languag | 
| 1ce0 |  65 0a 20 20 20 20 3b 3b 20 44 65 74 65 72 6d 69    6e 65 20 74 68 65 20 6c 61 6e 67 75 61 67 65 20  | e.....;;.Determine.the.language. | 
| 1d00 |  73 79 6d 62 6f 6c 20 62 61 73 65 64 20 6f 6e 20    60 6d 61 6a 6f 72 2d 6d 6f 64 65 27 20 2e 0a 20  | symbol.based.on.`major-mode'.... | 
| 1d20 |  20 20 20 28 6c 65 74 20 28 28 6c 61 6e 67 2d 73    79 6d 62 6f 6c 20 28 61 6c 69 73 74 2d 67 65 74  | ...(let.((lang-symbol.(alist-get | 
| 1d40 |  20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 74 72 65 65    2d 73 69 74 74 65 72 2d 6d 61 6a 6f 72 2d 6d 6f  | .major-mode.tree-sitter-major-mo | 
| 1d60 |  64 65 2d 6c 61 6e 67 75 61 67 65 2d 61 6c 69 73    74 29 29 29 0a 20 20 20 20 20 20 28 75 6e 6c 65  | de-language-alist))).......(unle | 
| 1d80 |  73 73 20 6c 61 6e 67 2d 73 79 6d 62 6f 6c 0a 20    20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 4e  | ss.lang-symbol.........(error."N | 
| 1da0 |  6f 20 6c 61 6e 67 75 61 67 65 20 72 65 67 69 73    74 65 72 65 64 20 66 6f 72 20 6d 61 6a 6f 72 20  | o.language.registered.for.major. | 
| 1dc0 |  6d 6f 64 65 20 60 25 73 27 22 20 6d 61 6a 6f 72    2d 6d 6f 64 65 29 29 0a 20 20 20 20 20 20 28 73  | mode.`%s'".major-mode)).......(s | 
| 1de0 |  65 74 71 20 74 72 65 65 2d 73 69 74 74 65 72 2d    6c 61 6e 67 75 61 67 65 20 28 74 72 65 65 2d 73  | etq.tree-sitter-language.(tree-s | 
| 1e00 |  69 74 74 65 72 2d 72 65 71 75 69 72 65 20 6c 61    6e 67 2d 73 79 6d 62 6f 6c 29 29 29 29 0a 20 20  | itter-require.lang-symbol))))... | 
| 1e20 |  28 75 6e 6c 65 73 73 20 74 72 65 65 2d 73 69 74    74 65 72 2d 70 61 72 73 65 72 0a 20 20 20 20 28  | (unless.tree-sitter-parser.....( | 
| 1e40 |  73 65 74 71 20 74 72 65 65 2d 73 69 74 74 65 72    2d 70 61 72 73 65 72 20 28 74 73 63 2d 6d 61 6b  | setq.tree-sitter-parser.(tsc-mak | 
| 1e60 |  65 2d 70 61 72 73 65 72 29 29 0a 20 20 20 20 28    74 73 63 2d 73 65 74 2d 6c 61 6e 67 75 61 67 65  | e-parser)).....(tsc-set-language | 
| 1e80 |  20 74 72 65 65 2d 73 69 74 74 65 72 2d 70 61 72    73 65 72 20 74 72 65 65 2d 73 69 74 74 65 72 2d  | .tree-sitter-parser.tree-sitter- | 
| 1ea0 |  6c 61 6e 67 75 61 67 65 29 29 0a 20 20 28 61 64    64 2d 68 6f 6f 6b 20 27 62 65 66 6f 72 65 2d 63  | language))...(add-hook.'before-c | 
| 1ec0 |  68 61 6e 67 65 2d 66 75 6e 63 74 69 6f 6e 73 20    23 27 74 72 65 65 2d 73 69 74 74 65 72 2d 2d 62  | hange-functions.#'tree-sitter--b | 
| 1ee0 |  65 66 6f 72 65 2d 63 68 61 6e 67 65 20 3a 61 70    70 65 6e 64 20 3a 6c 6f 63 61 6c 29 0a 20 20 28  | efore-change.:append.:local)...( | 
| 1f00 |  61 64 64 2d 68 6f 6f 6b 20 27 61 66 74 65 72 2d    63 68 61 6e 67 65 2d 66 75 6e 63 74 69 6f 6e 73  | add-hook.'after-change-functions | 
| 1f20 |  20 23 27 74 72 65 65 2d 73 69 74 74 65 72 2d 2d    61 66 74 65 72 2d 63 68 61 6e 67 65 20 3a 61 70  | .#'tree-sitter--after-change.:ap | 
| 1f40 |  70 65 6e 64 20 3a 6c 6f 63 61 6c 29 29 0a 0a 28    64 65 66 75 6e 20 74 72 65 65 2d 73 69 74 74 65  | pend.:local))..(defun.tree-sitte | 
| 1f60 |  72 2d 2d 74 65 61 72 64 6f 77 6e 20 28 29 0a 20    20 22 44 69 73 61 62 6c 65 20 60 74 72 65 65 2d  | r--teardown.()..."Disable.`tree- | 
| 1f80 |  73 69 74 74 65 72 27 20 69 6e 20 74 68 65 20 63    75 72 72 65 6e 74 20 62 75 66 66 65 72 2e 22 0a  | sitter'.in.the.current.buffer.". | 
| 1fa0 |  20 20 28 72 65 6d 6f 76 65 2d 68 6f 6f 6b 20 27    61 66 74 65 72 2d 63 68 61 6e 67 65 2d 66 75 6e  | ..(remove-hook.'after-change-fun | 
| 1fc0 |  63 74 69 6f 6e 73 20 23 27 74 72 65 65 2d 73 69    74 74 65 72 2d 2d 61 66 74 65 72 2d 63 68 61 6e  | ctions.#'tree-sitter--after-chan | 
| 1fe0 |  67 65 20 3a 6c 6f 63 61 6c 29 0a 20 20 28 72 65    6d 6f 76 65 2d 68 6f 6f 6b 20 27 62 65 66 6f 72  | ge.:local)...(remove-hook.'befor | 
| 2000 |  65 2d 63 68 61 6e 67 65 2d 66 75 6e 63 74 69 6f    6e 73 20 23 27 74 72 65 65 2d 73 69 74 74 65 72  | e-change-functions.#'tree-sitter | 
| 2020 |  2d 2d 62 65 66 6f 72 65 2d 63 68 61 6e 67 65 20    3a 6c 6f 63 61 6c 29 0a 20 20 28 73 65 74 71 20  | --before-change.:local)...(setq. | 
| 2040 |  74 72 65 65 2d 73 69 74 74 65 72 2d 74 72 65 65    20 6e 69 6c 0a 20 20 20 20 20 20 20 20 74 72 65  | tree-sitter-tree.nil.........tre | 
| 2060 |  65 2d 73 69 74 74 65 72 2d 70 61 72 73 65 72 20    6e 69 6c 0a 20 20 20 20 20 20 20 20 74 72 65 65  | e-sitter-parser.nil.........tree | 
| 2080 |  2d 73 69 74 74 65 72 2d 6c 61 6e 67 75 61 67 65    20 6e 69 6c 29 29 0a 0a 28 64 65 66 6d 61 63 72  | -sitter-language.nil))..(defmacr | 
| 20a0 |  6f 20 74 72 65 65 2d 73 69 74 74 65 72 2d 2d 65    72 72 6f 72 2d 70 72 6f 74 65 63 74 20 28 62 6f  | o.tree-sitter--error-protect.(bo | 
| 20c0 |  64 79 2d 66 6f 72 6d 20 26 72 65 73 74 20 65 72    72 6f 72 2d 66 6f 72 6d 73 29 0a 20 20 22 45 78  | dy-form.&rest.error-forms)..."Ex | 
| 20e0 |  65 63 75 74 65 20 42 4f 44 59 2d 46 4f 52 4d 20    77 69 74 68 20 45 52 52 4f 52 2d 46 4f 52 4d 53  | ecute.BODY-FORM.with.ERROR-FORMS | 
| 2100 |  20 61 73 20 63 6c 65 61 6e 75 70 20 63 6f 64 65    20 74 68 61 74 20 69 73 20 65 78 65 63 75 74 65  | .as.cleanup.code.that.is.execute | 
| 2120 |  64 20 6f 6e 20 65 72 72 6f 72 2e 0a 55 6e 6c 69    6b 65 20 60 75 6e 77 69 6e 64 2d 70 72 6f 74 65  | d.on.error..Unlike.`unwind-prote | 
| 2140 |  63 74 27 2c 20 45 52 52 4f 52 2d 46 4f 52 4d 53    20 69 73 20 6e 6f 74 20 65 78 65 63 75 74 65 64  | ct',.ERROR-FORMS.is.not.executed | 
| 2160 |  20 69 66 20 42 4f 44 59 2d 46 4f 52 4d 20 64 6f    65 73 20 6e 6f 74 0a 73 69 67 6e 61 6c 20 61 6e  | .if.BODY-FORM.does.not.signal.an | 
| 2180 |  20 65 72 72 6f 72 2e 22 0a 20 20 28 64 65 63 6c    61 72 65 20 28 69 6e 64 65 6e 74 20 31 29 29 0a  | .error."...(declare.(indent.1)). | 
| 21a0 |  20 20 60 28 6c 65 74 20 28 28 65 72 72 20 74 29    29 0a 20 20 20 20 20 28 75 6e 77 69 6e 64 2d 70  | ..`(let.((err.t))......(unwind-p | 
| 21c0 |  72 6f 74 65 63 74 0a 20 20 20 20 20 20 20 20 20    28 70 72 6f 67 31 20 2c 62 6f 64 79 2d 66 6f 72  | rotect..........(prog1.,body-for | 
| 21e0 |  6d 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 65    74 71 20 65 72 72 20 6e 69 6c 29 29 0a 20 20 20  | m............(setq.err.nil)).... | 
| 2200 |  20 20 20 20 28 77 68 65 6e 20 65 72 72 0a 20 20    20 20 20 20 20 20 20 2c 40 65 72 72 6f 72 2d 66  | ....(when.err..........,@error-f | 
| 2220 |  6f 72 6d 73 29 29 29 29 0a 0a 3b 3b 3b 23 23 23    61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 69 6e 65  | orms))))..;;;###autoload.(define | 
| 2240 |  2d 6d 69 6e 6f 72 2d 6d 6f 64 65 20 74 72 65 65    2d 73 69 74 74 65 72 2d 6d 6f 64 65 0a 20 20 22  | -minor-mode.tree-sitter-mode..." | 
| 2260 |  4d 69 6e 6f 72 20 6d 6f 64 65 20 74 68 61 74 20    6b 65 65 70 73 20 61 6e 20 75 70 2d 74 6f 2d 64  | Minor.mode.that.keeps.an.up-to-d | 
| 2280 |  61 74 65 20 73 79 6e 74 61 78 20 74 72 65 65 20    75 73 69 6e 67 20 69 6e 63 72 65 6d 65 6e 74 61  | ate.syntax.tree.using.incrementa | 
| 22a0 |  6c 20 70 61 72 73 69 6e 67 2e 22 0a 20 20 3a 69    6e 69 74 2d 76 61 6c 75 65 20 6e 69 6c 0a 20 20  | l.parsing."...:init-value.nil... | 
| 22c0 |  3a 6c 69 67 68 74 65 72 20 22 20 74 72 65 65 2d    73 69 74 74 65 72 22 0a 20 20 3a 61 66 74 65 72  | :lighter.".tree-sitter"...:after | 
| 22e0 |  2d 68 6f 6f 6b 20 28 77 68 65 6e 20 74 72 65 65    2d 73 69 74 74 65 72 2d 6d 6f 64 65 0a 20 20 20  | -hook.(when.tree-sitter-mode.... | 
| 2300 |  20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e    6c 65 73 73 20 74 72 65 65 2d 73 69 74 74 65 72  | .............(unless.tree-sitter | 
| 2320 |  2d 74 72 65 65 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 28 74 72 65 65 2d 73 69  | -tree...................(tree-si | 
| 2340 |  74 74 65 72 2d 2d 64 6f 2d 70 61 72 73 65 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | tter--do-parse)................. | 
| 2360 |  20 20 28 72 75 6e 2d 68 6f 6f 6b 73 20 27 74 72    65 65 2d 73 69 74 74 65 72 2d 61 66 74 65 72 2d  | ..(run-hooks.'tree-sitter-after- | 
| 2380 |  66 69 72 73 74 2d 70 61 72 73 65 2d 68 6f 6f 6b    29 29 29 0a 20 20 28 69 66 20 74 72 65 65 2d 73  | first-parse-hook)))...(if.tree-s | 
| 23a0 |  69 74 74 65 72 2d 6d 6f 64 65 0a 20 20 20 20 20    20 28 74 72 65 65 2d 73 69 74 74 65 72 2d 2d 65  | itter-mode.......(tree-sitter--e | 
| 23c0 |  72 72 6f 72 2d 70 72 6f 74 65 63 74 0a 20 20 20    20 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20  | rror-protect...........(progn... | 
| 23e0 |  20 20 20 20 20 20 20 20 20 20 28 74 72 65 65 2d    73 69 74 74 65 72 2d 2d 73 65 74 75 70 29 0a 20  | ..........(tree-sitter--setup).. | 
| 2400 |  20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 54 4f    44 4f 3a 20 57 68 65 6e 20 74 68 65 20 64 65 70  | ...........;;.TODO:.When.the.dep | 
| 2420 |  65 6e 64 65 6e 74 20 6d 6f 64 65 20 72 65 71 75    65 73 74 65 64 20 75 73 2c 20 62 75 74 20 74 68  | endent.mode.requested.us,.but.th | 
| 2440 |  65 6e 20 66 61 69 6c 65 64 20 74 6f 0a 20 20 20    20 20 20 20 20 20 20 20 20 3b 3b 20 74 75 72 6e  | en.failed.to.............;;.turn | 
| 2460 |  20 69 74 73 65 6c 66 20 6f 6e 2c 20 77 65 20 73    68 6f 75 6c 64 20 70 72 6f 62 61 62 6c 79 20 74  | .itself.on,.we.should.probably.t | 
| 2480 |  75 72 6e 20 6f 75 72 73 65 6c 76 65 73 20 6f 66    66 20 61 73 20 77 65 6c 6c 2e 0a 20 20 20 20 20  | urn.ourselves.off.as.well....... | 
| 24a0 |  20 20 20 20 20 20 20 28 77 69 74 68 2d 64 65 6d    6f 74 65 64 2d 65 72 72 6f 72 73 20 22 74 72 65  | .......(with-demoted-errors."tre | 
| 24c0 |  65 2d 73 69 74 74 65 72 2d 61 66 74 65 72 2d 6f    6e 2d 68 6f 6f 6b 3a 20 25 53 22 0a 20 20 20 20  | e-sitter-after-on-hook:.%S"..... | 
| 24e0 |  20 20 20 20 20 20 20 20 20 20 28 72 75 6e 2d 68    6f 6f 6b 73 20 27 74 72 65 65 2d 73 69 74 74 65  | ..........(run-hooks.'tree-sitte | 
| 2500 |  72 2d 61 66 74 65 72 2d 6f 6e 2d 68 6f 6f 6b 29    29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71  | r-after-on-hook))).........(setq | 
| 2520 |  20 74 72 65 65 2d 73 69 74 74 65 72 2d 6d 6f 64    65 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 28  | .tree-sitter-mode.nil).........( | 
| 2540 |  74 72 65 65 2d 73 69 74 74 65 72 2d 2d 74 65 61    72 64 6f 77 6e 29 29 0a 20 20 20 20 28 72 75 6e  | tree-sitter--teardown)).....(run | 
| 2560 |  2d 68 6f 6f 6b 73 20 27 74 72 65 65 2d 73 69 74    74 65 72 2d 2d 62 65 66 6f 72 65 2d 6f 66 66 2d  | -hooks.'tree-sitter--before-off- | 
| 2580 |  68 6f 6f 6b 29 0a 20 20 20 20 28 74 72 65 65 2d    73 69 74 74 65 72 2d 2d 74 65 61 72 64 6f 77 6e  | hook).....(tree-sitter--teardown | 
| 25a0 |  29 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c    6f 61 64 0a 28 64 65 66 75 6e 20 74 75 72 6e 2d  | )))..;;;###autoload.(defun.turn- | 
| 25c0 |  6f 6e 2d 74 72 65 65 2d 73 69 74 74 65 72 2d 6d    6f 64 65 20 28 29 0a 20 20 22 54 75 72 6e 20 6f  | on-tree-sitter-mode.()..."Turn.o | 
| 25e0 |  6e 20 60 74 72 65 65 2d 73 69 74 74 65 72 2d 6d    6f 64 65 27 20 69 6e 20 61 20 62 75 66 66 65 72  | n.`tree-sitter-mode'.in.a.buffer | 
| 2600 |  2c 20 69 66 20 70 6f 73 73 69 62 6c 65 2e 22 0a    20 20 3b 3b 20 46 49 58 3a 20 49 67 6e 6f 72 65  | ,.if.possible."...;;.FIX:.Ignore | 
| 2620 |  20 6f 6e 6c 79 20 6b 6e 6f 77 6e 20 65 72 72 6f    72 73 2e 20 4c 6f 67 20 74 68 65 20 72 65 73 74  | .only.known.errors..Log.the.rest | 
| 2640 |  2c 20 61 74 20 6c 65 61 73 74 2e 0a 20 20 28 69    67 6e 6f 72 65 2d 65 72 72 6f 72 73 0a 20 20 20  | ,.at.least....(ignore-errors.... | 
| 2660 |  20 28 74 72 65 65 2d 73 69 74 74 65 72 2d 6d 6f    64 65 20 31 29 29 29 0a 0a 3b 3b 3b 23 23 23 61  | .(tree-sitter-mode.1)))..;;;###a | 
| 2680 |  75 74 6f 6c 6f 61 64 0a 28 64 65 66 69 6e 65 2d    67 6c 6f 62 61 6c 69 7a 65 64 2d 6d 69 6e 6f 72  | utoload.(define-globalized-minor | 
| 26a0 |  2d 6d 6f 64 65 20 67 6c 6f 62 61 6c 2d 74 72 65    65 2d 73 69 74 74 65 72 2d 6d 6f 64 65 0a 20 20  | -mode.global-tree-sitter-mode... | 
| 26c0 |  74 72 65 65 2d 73 69 74 74 65 72 2d 6d 6f 64 65    20 74 75 72 6e 2d 6f 6e 2d 74 72 65 65 2d 73 69  | tree-sitter-mode.turn-on-tree-si | 
| 26e0 |  74 74 65 72 2d 6d 6f 64 65 0a 20 20 3a 69 6e 69    74 2d 76 61 6c 75 65 20 6e 69 6c 0a 20 20 3a 67  | tter-mode...:init-value.nil...:g | 
| 2700 |  72 6f 75 70 20 27 74 72 65 65 2d 73 69 74 74 65    72 29 0a 0a 28 64 65 66 75 6e 20 74 72 65 65 2d  | roup.'tree-sitter)..(defun.tree- | 
| 2720 |  73 69 74 74 65 72 2d 2d 66 75 6e 63 61 6c 6c 2d    66 6f 72 6d 20 28 66 75 6e 63 29 0a 20 20 22 52  | sitter--funcall-form.(func)..."R | 
| 2740 |  65 74 75 72 6e 20 61 6e 20 65 71 75 69 76 61 6c    65 6e 74 20 74 6f 20 28 66 75 6e 63 61 6c 6c 20  | eturn.an.equivalent.to.(funcall. | 
| 2760 |  46 55 4e 43 29 20 74 68 61 74 20 63 61 6e 20 62    65 20 75 73 65 64 20 69 6e 20 61 20 6d 61 63 72  | FUNC).that.can.be.used.in.a.macr | 
| 2780 |  6f 2e 0a 49 66 20 46 55 4e 43 20 69 73 20 61 20    71 75 6f 74 65 64 20 73 79 6d 62 6f 6c 2c 20 73  | o..If.FUNC.is.a.quoted.symbol,.s | 
| 27a0 |  6b 69 70 20 74 68 65 20 60 66 75 6e 63 61 6c 6c    27 20 69 6e 64 69 72 65 63 74 69 6f 6e 2e 22 0a  | kip.the.`funcall'.indirection.". | 
| 27c0 |  20 20 28 69 66 20 28 61 6e 64 20 28 63 6f 6e 73    70 20 66 75 6e 63 29 0a 20 20 20 20 20 20 20 20  | ..(if.(and.(consp.func)......... | 
| 27e0 |  20 20 20 28 6d 65 6d 71 20 28 63 61 72 20 66 75    6e 63 29 20 27 28 71 75 6f 74 65 20 66 75 6e 63  | ...(memq.(car.func).'(quote.func | 
| 2800 |  74 69 6f 6e 29 29 0a 20 20 20 20 20 20 20 20 20    20 20 28 73 79 6d 62 6f 6c 70 20 28 63 61 64 72  | tion))............(symbolp.(cadr | 
| 2820 |  20 66 75 6e 63 29 29 29 0a 20 20 20 20 20 20 60    28 2c 28 63 61 64 72 20 66 75 6e 63 29 29 0a 20  | .func))).......`(,(cadr.func)).. | 
| 2840 |  20 20 20 60 28 66 75 6e 63 61 6c 6c 20 2c 66 75    6e 63 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f  | ...`(funcall.,func)))..(defmacro | 
| 2860 |  20 74 72 65 65 2d 73 69 74 74 65 72 2d 2d 68 61    6e 64 6c 65 2d 64 65 70 65 6e 64 65 6e 74 20 28  | .tree-sitter--handle-dependent.( | 
| 2880 |  6d 6f 64 65 20 73 65 74 75 70 2d 66 75 6e 63 74    69 6f 6e 20 74 65 61 72 64 6f 77 6e 2d 66 75 6e  | mode.setup-function.teardown-fun | 
| 28a0 |  63 74 69 6f 6e 29 0a 20 20 22 42 75 69 6c 64 20    74 68 65 20 62 6c 6f 63 6b 20 6f 66 20 63 6f 64  | ction)..."Build.the.block.of.cod | 
| 28c0 |  65 20 74 68 61 74 20 68 61 6e 64 6c 65 73 20 65    6e 61 62 6c 69 6e 67 2f 64 69 73 61 62 6c 69 6e  | e.that.handles.enabling/disablin | 
| 28e0 |  67 20 6f 66 20 61 20 64 65 70 65 6e 64 65 6e 74    20 6d 6f 64 65 2e 0a 55 73 65 20 74 68 69 73 20  | g.of.a.dependent.mode..Use.this. | 
| 2900 |  61 73 20 74 68 65 20 62 6f 64 79 20 6f 66 20 74    68 65 20 60 64 65 66 69 6e 65 2d 6d 69 6e 6f 72  | as.the.body.of.the.`define-minor | 
| 2920 |  2d 6d 6f 64 65 27 20 62 6c 6f 63 6b 20 74 68 61    74 20 64 65 66 69 6e 65 73 20 4d 4f 44 45 2e 0a  | -mode'.block.that.defines.MODE.. | 
| 2940 |  0a 57 68 65 6e 20 4d 4f 44 45 20 69 73 20 65 6e    61 62 6c 65 64 2c 20 69 74 20 61 75 74 6f 6d 61  | .When.MODE.is.enabled,.it.automa | 
| 2960 |  74 69 63 61 6c 6c 79 20 65 6e 61 62 6c 65 73 20    60 74 72 65 65 2d 73 69 74 74 65 72 2d 6d 6f 64  | tically.enables.`tree-sitter-mod | 
| 2980 |  65 27 2e 20 57 68 65 6e 20 4d 4f 44 45 20 69 73    0a 64 69 73 61 62 6c 65 64 2c 20 69 74 20 64 6f  | e'..When.MODE.is.disabled,.it.do | 
| 29a0 |  65 73 20 6e 6f 74 20 64 69 73 61 62 6c 65 20 60    74 72 65 65 2d 73 69 74 74 65 72 2d 6d 6f 64 65  | es.not.disable.`tree-sitter-mode | 
| 29c0 |  27 2c 20 73 69 6e 63 65 20 74 68 65 20 6c 61 74    74 65 72 20 6d 61 79 20 68 61 76 65 20 62 65 65  | ',.since.the.latter.may.have.bee | 
| 29e0 |  6e 0a 72 65 71 75 65 73 74 65 64 20 62 79 20 65    6e 64 20 75 73 65 72 2c 20 6f 72 20 6f 74 68 65  | n.requested.by.end.user,.or.othe | 
| 2a00 |  72 20 64 65 70 65 6e 64 65 6e 74 20 6d 6f 64 65    73 2e 0a 0a 57 68 65 6e 20 60 74 72 65 65 2d 73  | r.dependent.modes...When.`tree-s | 
| 2a20 |  69 74 74 65 72 2d 6d 6f 64 65 27 20 69 73 20 64    69 73 61 62 6c 65 64 2c 20 69 74 20 61 75 74 6f  | itter-mode'.is.disabled,.it.auto | 
| 2a40 |  6d 61 74 69 63 61 6c 6c 79 20 64 69 73 61 62 6c    65 73 20 4d 4f 44 45 2c 20 77 68 69 63 68 20 77  | matically.disables.MODE,.which.w | 
| 2a60 |  69 6c 6c 0a 6e 6f 74 20 66 75 6e 63 74 69 6f 6e    20 63 6f 72 72 65 63 74 6c 79 20 6f 74 68 65 72  | ill.not.function.correctly.other | 
| 2a80 |  77 69 73 65 2e 20 54 68 69 73 20 68 61 70 70 65    6e 73 20 62 65 66 6f 72 65 20 60 74 72 65 65 2d  | wise..This.happens.before.`tree- | 
| 2aa0 |  73 69 74 74 65 72 2d 6d 6f 64 65 27 20 63 6c 65    61 6e 73 0a 75 70 20 69 74 73 20 6f 77 6e 20 73  | sitter-mode'.cleans.up.its.own.s | 
| 2ac0 |  74 61 74 65 2e 0a 0a 53 45 54 55 50 2d 46 55 4e    43 54 49 4f 4e 20 69 73 20 63 61 6c 6c 65 64 20  | tate...SETUP-FUNCTION.is.called. | 
| 2ae0 |  77 68 65 6e 20 4d 4f 44 45 20 69 73 20 65 6e 61    62 6c 65 64 2c 20 61 66 74 65 72 20 4d 4f 44 45  | when.MODE.is.enabled,.after.MODE | 
| 2b00 |  20 76 61 72 69 61 62 6c 65 20 68 61 73 20 62 65    65 6e 20 73 65 74 0a 74 6f 20 74 2c 20 61 6e 64  | .variable.has.been.set.to.t,.and | 
| 2b20 |  20 61 66 74 65 72 20 60 74 72 65 65 2d 73 69 74    74 65 72 2d 6d 6f 64 65 27 20 68 61 73 20 61 6c  | .after.`tree-sitter-mode'.has.al | 
| 2b40 |  72 65 61 64 79 20 62 65 65 6e 20 65 6e 61 62 6c    65 64 2e 20 48 6f 77 65 76 65 72 2c 20 69 74 20  | ready.been.enabled..However,.it. | 
| 2b60 |  6d 75 73 74 0a 6e 6f 74 20 61 73 73 75 6d 65 20    74 68 61 74 20 60 74 72 65 65 2d 73 69 74 74 65  | must.not.assume.that.`tree-sitte | 
| 2b80 |  72 2d 74 72 65 65 27 20 69 73 20 6e 6f 6e 2d 6e    69 6c 2c 20 73 69 6e 63 65 20 74 68 65 20 66 69  | r-tree'.is.non-nil,.since.the.fi | 
| 2ba0 |  72 73 74 20 70 61 72 73 65 20 6d 61 79 20 6e 6f    74 0a 68 61 70 70 65 6e 20 79 65 74 2e 20 49 74  | rst.parse.may.not.happen.yet..It | 
| 2bc0 |  20 73 68 6f 75 6c 64 20 69 6e 73 74 65 61 64 20    73 65 74 20 75 70 20 68 6f 6f 6b 73 20 74 6f 20  | .should.instead.set.up.hooks.to. | 
| 2be0 |  68 61 6e 64 6c 65 20 70 61 72 73 65 20 65 76 65    6e 74 73 2e 0a 0a 54 45 41 52 44 4f 57 4e 2d 46  | handle.parse.events...TEARDOWN-F | 
| 2c00 |  55 4e 43 54 49 4f 4e 20 69 73 20 63 61 6c 6c 65    64 20 77 68 65 6e 20 4d 4f 44 45 20 69 73 20 64  | UNCTION.is.called.when.MODE.is.d | 
| 2c20 |  69 73 61 62 6c 65 64 2c 20 61 66 74 65 72 20 4d    4f 44 45 20 76 61 72 69 61 62 6c 65 20 68 61 73  | isabled,.after.MODE.variable.has | 
| 2c40 |  20 62 65 65 6e 0a 73 65 74 20 74 6f 20 6e 69 6c    2e 20 49 74 20 73 68 6f 75 6c 64 20 63 6c 65 61  | .been.set.to.nil..It.should.clea | 
| 2c60 |  6e 20 75 70 20 61 6e 79 20 73 74 61 74 65 20 73    65 74 20 75 70 20 62 79 20 4d 4f 44 45 2c 20 61  | n.up.any.state.set.up.by.MODE,.a | 
| 2c80 |  6e 64 20 73 68 6f 75 6c 64 20 6e 6f 74 20 73 69    67 6e 61 6c 0a 61 6e 79 20 65 72 72 6f 72 2e 20  | nd.should.not.signal.any.error.. | 
| 2ca0 |  49 74 20 69 73 20 61 6c 73 6f 20 63 61 6c 6c 65    64 20 77 68 65 6e 20 53 45 54 55 50 2d 46 55 4e  | It.is.also.called.when.SETUP-FUN | 
| 2cc0 |  43 54 49 4f 4e 20 73 69 67 6e 61 6c 73 20 61 6e    20 65 72 72 6f 72 2c 20 74 6f 20 75 6e 64 6f 20  | CTION.signals.an.error,.to.undo. | 
| 2ce0 |  61 6e 79 0a 70 61 72 74 69 61 6c 20 73 65 74 75    70 2e 0a 0a 42 6f 74 68 20 53 45 54 55 50 2d 46  | any.partial.setup...Both.SETUP-F | 
| 2d00 |  55 4e 43 54 49 4f 4e 20 61 6e 64 20 54 45 41 52    44 4f 57 4e 2d 46 55 4e 43 54 49 4f 4e 20 73 68  | UNCTION.and.TEARDOWN-FUNCTION.sh | 
| 2d20 |  6f 75 6c 64 20 62 65 20 69 64 65 6d 70 6f 74 65    6e 74 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20  | ould.be.idempotent."...(declare. | 
| 2d40 |  28 69 6e 64 65 6e 74 20 31 29 29 0a 20 20 28 6c    65 74 20 28 28 73 65 74 75 70 20 28 74 72 65 65  | (indent.1))...(let.((setup.(tree | 
| 2d60 |  2d 73 69 74 74 65 72 2d 2d 66 75 6e 63 61 6c 6c    2d 66 6f 72 6d 20 73 65 74 75 70 2d 66 75 6e 63  | -sitter--funcall-form.setup-func | 
| 2d80 |  74 69 6f 6e 29 29 0a 20 20 20 20 20 20 20 20 28    74 65 61 72 64 6f 77 6e 20 28 74 72 65 65 2d 73  | tion)).........(teardown.(tree-s | 
| 2da0 |  69 74 74 65 72 2d 2d 66 75 6e 63 61 6c 6c 2d 66    6f 72 6d 20 74 65 61 72 64 6f 77 6e 2d 66 75 6e  | itter--funcall-form.teardown-fun | 
| 2dc0 |  63 74 69 6f 6e 29 29 29 0a 20 20 20 20 60 28 69    66 20 2c 6d 6f 64 65 0a 20 20 20 20 20 20 20 20  | ction))).....`(if.,mode......... | 
| 2de0 |  20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20    20 20 20 28 74 72 65 65 2d 73 69 74 74 65 72 2d  | .(progn............(tree-sitter- | 
| 2e00 |  2d 65 72 72 6f 72 2d 70 72 6f 74 65 63 74 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b  | -error-protect................;; | 
| 2e20 |  20 4d 61 6b 65 20 73 75 72 65 20 60 74 72 65 65    2d 73 69 74 74 65 72 2d 6d 6f 64 65 27 20 69 73  | .Make.sure.`tree-sitter-mode'.is | 
| 2e40 |  20 65 6e 61 62 6c 65 64 20 62 65 66 6f 72 65 20    4d 4f 44 45 2e 0a 20 20 20 20 20 20 20 20 20 20  | .enabled.before.MODE............ | 
| 2e60 |  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 20 20 28 75 6e  | .....(progn..................(un | 
| 2e80 |  6c 65 73 73 20 74 72 65 65 2d 73 69 74 74 65 72    2d 6d 6f 64 65 0a 20 20 20 20 20 20 20 20 20 20  | less.tree-sitter-mode........... | 
| 2ea0 |  20 20 20 20 20 20 20 20 20 28 74 72 65 65 2d 73    69 74 74 65 72 2d 6d 6f 64 65 29 29 0a 20 20 20  | .........(tree-sitter-mode)).... | 
| 2ec0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 73    65 74 75 70 29 0a 20 20 20 20 20 20 20 20 20 20  | ..............,setup)........... | 
| 2ee0 |  20 20 20 3b 3b 20 53 65 74 75 70 20 66 61 69 6c    65 64 2e 20 43 6c 65 61 6e 20 74 68 69 6e 67 73  | ...;;.Setup.failed..Clean.things | 
| 2f00 |  20 75 70 2c 20 6c 65 61 76 65 20 6e 6f 20 74 72    61 63 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20  | .up,.leave.no.trace............. | 
| 2f20 |  20 20 28 73 65 74 71 20 2c 6d 6f 64 65 20 6e 69    6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  | ..(setq.,mode.nil).............. | 
| 2f40 |  2c 74 65 61 72 64 6f 77 6e 29 0a 20 20 20 20 20    20 20 20 20 20 20 3b 3b 20 44 69 73 61 62 6c 65  | ,teardown)............;;.Disable | 
| 2f60 |  20 4d 4f 44 45 20 77 68 65 6e 20 60 74 72 65 65    2d 73 69 74 74 65 72 2d 6d 6f 64 65 27 20 69 73  | .MODE.when.`tree-sitter-mode'.is | 
| 2f80 |  20 64 69 73 61 62 6c 65 64 2e 20 51 75 6f 74 69    6e 67 20 69 73 0a 20 20 20 20 20 20 20 20 20 20  | .disabled..Quoting.is........... | 
| 2fa0 |  20 3b 3b 20 69 6d 70 6f 72 74 61 6e 74 2c 20 62    65 63 61 75 73 65 20 77 65 20 64 6f 6e 27 74 20  | .;;.important,.because.we.don't. | 
| 2fc0 |  77 61 6e 74 20 61 20 76 61 72 69 61 62 6c 65 2d    63 61 70 74 75 72 69 6e 67 20 63 6c 6f 73 75 72  | want.a.variable-capturing.closur | 
| 2fe0 |  65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 28 61    64 64 2d 68 6f 6f 6b 20 27 74 72 65 65 2d 73 69  | e.............(add-hook.'tree-si | 
| 3000 |  74 74 65 72 2d 2d 62 65 66 6f 72 65 2d 6f 66 66    2d 68 6f 6f 6b 0a 20 20 20 20 20 20 20 20 20 20  | tter--before-off-hook........... | 
| 3020 |  20 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68    2d 6e 6f 2d 77 61 72 6e 69 6e 67 73 20 27 28 6c  | ...........(with-no-warnings.'(l | 
| 3040 |  61 6d 62 64 61 20 28 29 20 28 2c 6d 6f 64 65 20    2d 31 29 29 29 0a 20 20 20 20 20 20 20 20 20 20  | ambda.().(,mode.-1)))........... | 
| 3060 |  20 20 20 20 20 20 20 20 20 20 20 6e 69 6c 20 3a    6c 6f 63 61 6c 29 29 0a 20 20 20 20 20 20 20 2c  | ...........nil.:local))........, | 
| 3080 |  74 65 61 72 64 6f 77 6e 29 29 29 0a 0a 3b 3b 3b    23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66  | teardown)))..;;;###autoload.(def | 
| 30a0 |  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 72 65  | ine-obsolete-function-alias.'tre | 
| 30c0 |  65 2d 73 69 74 74 65 72 2d 6e 6f 64 65 2d 61 74    2d 70 6f 69 6e 74 20 27 74 72 65 65 2d 73 69 74  | e-sitter-node-at-point.'tree-sit | 
| 30e0 |  74 65 72 2d 6e 6f 64 65 2d 61 74 2d 70 6f 73 20    22 32 30 32 31 2d 30 38 2d 33 30 22 29 0a 0a 28  | ter-node-at-pos."2021-08-30")..( | 
| 3100 |  64 65 66 69 6e 65 2d 65 72 72 6f 72 20 27 74 72    65 65 2d 73 69 74 74 65 72 2d 69 6e 76 61 6c 69  | define-error.'tree-sitter-invali | 
| 3120 |  64 2d 6e 6f 64 65 2d 74 79 70 65 20 22 4e 6f 20    73 75 63 68 20 6e 6f 64 65 2d 74 79 70 65 22 29  | d-node-type."No.such.node-type") | 
| 3140 |  0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64    0a 28 64 65 66 75 6e 20 74 72 65 65 2d 73 69 74  | ..;;;###autoload.(defun.tree-sit | 
| 3160 |  74 65 72 2d 6e 6f 64 65 2d 61 74 2d 70 6f 73 20    28 26 6f 70 74 69 6f 6e 61 6c 20 6e 6f 64 65 2d  | ter-node-at-pos.(&optional.node- | 
| 3180 |  74 79 70 65 20 70 6f 73 20 69 67 6e 6f 72 65 2d    69 6e 76 61 6c 69 64 2d 74 79 70 65 29 0a 20 20  | type.pos.ignore-invalid-type)... | 
| 31a0 |  22 52 65 74 75 72 6e 20 74 68 65 20 73 6d 61 6c    6c 65 73 74 20 73 79 6e 74 61 78 20 6e 6f 64 65  | "Return.the.smallest.syntax.node | 
| 31c0 |  20 6f 66 20 74 79 70 65 20 4e 4f 44 45 2d 54 59    50 45 20 61 74 20 50 4f 53 2e 0a 4e 4f 44 45 2d  | .of.type.NODE-TYPE.at.POS..NODE- | 
| 31e0 |  54 59 50 45 20 6d 61 79 20 62 65 20 61 20 73 79    6d 62 6f 6c 2c 20 63 6f 72 72 65 73 70 6f 6e 64  | TYPE.may.be.a.symbol,.correspond | 
| 3200 |  69 6e 67 20 74 6f 20 61 20 6e 61 6d 65 64 20 73    79 6e 74 61 78 20 6e 6f 64 65 3b 20 61 20 73 74  | ing.to.a.named.syntax.node;.a.st | 
| 3220 |  72 69 6e 67 2c 0a 63 6f 72 72 65 73 70 6f 6e 64    69 6e 67 20 74 6f 20 61 6e 20 61 6e 6f 6e 79 6d  | ring,.corresponding.to.an.anonym | 
| 3240 |  6f 75 73 20 6e 6f 64 65 2c 20 6f 72 20 61 20 6b    65 79 77 6f 72 64 2c 20 68 6f 6c 64 69 6e 67 20  | ous.node,.or.a.keyword,.holding. | 
| 3260 |  61 20 73 70 65 63 69 61 6c 20 76 61 6c 75 65 2e    20 46 6f 72 0a 74 68 65 20 73 70 65 63 69 61 6c  | a.special.value..For.the.special | 
| 3280 |  20 76 61 6c 75 65 20 60 3a 6e 61 6d 65 64 27 2c    20 72 65 74 75 72 6e 20 74 68 65 20 73 6d 61 6c  | .value.`:named',.return.the.smal | 
| 32a0 |  6c 65 73 74 20 6e 61 6d 65 64 20 6e 6f 64 65 20    61 74 20 50 4f 53 2e 20 46 6f 72 20 74 68 65 0a  | lest.named.node.at.POS..For.the. | 
| 32c0 |  73 70 65 63 69 61 6c 20 76 61 6c 75 65 20 60 3a    61 6e 6f 6e 79 6d 6f 75 73 27 2c 20 72 65 74 75  | special.value.`:anonymous',.retu | 
| 32e0 |  72 6e 20 74 68 65 20 73 6d 61 6c 6c 65 73 74 20    61 6e 6f 6e 79 6d 6f 75 73 20 6e 6f 64 65 20 61  | rn.the.smallest.anonymous.node.a | 
| 3300 |  74 20 50 4f 53 2e 20 49 46 20 50 4f 53 20 69 73    0a 6e 69 6c 2c 20 50 4f 53 20 64 65 66 61 75 6c  | t.POS..IF.POS.is.nil,.POS.defaul | 
| 3320 |  74 73 20 74 6f 20 74 68 65 20 70 6f 69 6e 74 2e    20 55 6e 6c 65 73 73 20 49 47 4e 4f 52 45 2d 49  | ts.to.the.point..Unless.IGNORE-I | 
| 3340 |  4e 56 41 4c 49 44 2d 54 59 50 45 20 69 73 20 6e    6f 6e 2d 6e 69 6c 2c 20 73 69 67 6e 61 6c 20 61  | NVALID-TYPE.is.non-nil,.signal.a | 
| 3360 |  6e 0a 65 72 72 6f 72 20 77 68 65 6e 20 61 20 73    70 65 63 69 66 69 65 64 20 6e 61 6d 65 64 20 4e  | n.error.when.a.specified.named.N | 
| 3380 |  4f 44 45 2d 54 59 50 45 20 64 6f 65 73 20 6e 6f    74 20 65 78 69 73 74 20 69 6e 20 74 68 65 20 63  | ODE-TYPE.does.not.exist.in.the.c | 
| 33a0 |  75 72 72 65 6e 74 20 67 72 61 6d 6d 61 72 2e 0a    57 68 65 6e 65 76 65 72 20 4e 4f 44 45 2d 54 59  | urrent.grammar..Whenever.NODE-TY | 
| 33c0 |  50 45 20 69 73 20 6e 6f 6e 2d 6e 69 6c 20 28 6f    74 68 65 72 20 74 68 61 6e 20 60 3a 6e 61 6d 65  | PE.is.non-nil.(other.than.`:name | 
| 33e0 |  64 27 29 2c 20 69 74 20 69 73 20 70 6f 73 73 69    62 6c 65 20 66 6f 72 20 74 68 65 0a 66 75 6e 63  | d'),.it.is.possible.for.the.func | 
| 3400 |  74 69 6f 6e 20 74 6f 20 72 65 74 75 72 6e 20 6e    69 6c 2e 22 0a 20 20 28 77 68 65 6e 20 28 61 6e  | tion.to.return.nil."...(when.(an | 
| 3420 |  64 20 28 6e 6f 74 20 69 67 6e 6f 72 65 2d 69 6e    76 61 6c 69 64 2d 74 79 70 65 29 0a 20 20 20 20  | d.(not.ignore-invalid-type)..... | 
| 3440 |  20 20 20 20 20 20 20 20 20 6e 6f 64 65 2d 74 79    70 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  | .........node-type.............. | 
| 3460 |  28 6e 6f 74 20 28 6b 65 79 77 6f 72 64 70 20 6e    6f 64 65 2d 74 79 70 65 29 29 29 0a 20 20 20 20  | (not.(keywordp.node-type)))..... | 
| 3480 |  28 77 68 65 6e 20 28 3d 20 30 20 28 74 73 63 2d    6c 61 6e 67 2d 6e 6f 64 65 2d 74 79 70 65 2d 69  | (when.(=.0.(tsc-lang-node-type-i | 
| 34a0 |  64 20 74 72 65 65 2d 73 69 74 74 65 72 2d 6c 61    6e 67 75 61 67 65 20 6e 6f 64 65 2d 74 79 70 65  | d.tree-sitter-language.node-type | 
| 34c0 |  29 29 0a 20 20 20 20 20 20 28 73 69 67 6e 61 6c    20 27 74 72 65 65 2d 73 69 74 74 65 72 2d 69 6e  | )).......(signal.'tree-sitter-in | 
| 34e0 |  76 61 6c 69 64 2d 6e 6f 64 65 2d 74 79 70 65 20    28 6c 69 73 74 20 6e 6f 64 65 2d 74 79 70 65 29  | valid-node-type.(list.node-type) | 
| 3500 |  29 29 29 0a 20 20 28 6c 65 74 2a 20 28 28 72 6f    6f 74 20 28 74 73 63 2d 72 6f 6f 74 2d 6e 6f 64  | )))...(let*.((root.(tsc-root-nod | 
| 3520 |  65 20 74 72 65 65 2d 73 69 74 74 65 72 2d 74 72    65 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 70  | e.tree-sitter-tree))..........(p | 
| 3540 |  20 28 6f 72 20 70 6f 73 20 28 70 6f 69 6e 74 29    29 29 0a 20 20 20 20 20 20 20 20 20 28 6e 6f 64  | .(or.pos.(point)))..........(nod | 
| 3560 |  65 20 28 69 66 20 28 65 71 20 6e 6f 64 65 2d 74    79 70 65 20 3a 6e 61 6d 65 64 29 0a 20 20 20 20  | e.(if.(eq.node-type.:named)..... | 
| 3580 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    74 73 63 2d 67 65 74 2d 6e 61 6d 65 64 2d 64 65  | ...............(tsc-get-named-de | 
| 35a0 |  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 65 20 72 6f 6f 74  | scendant-for-position-range.root | 
| 35c0 |  20 70 20 70 29 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 28 74 73 63 2d 67 65 74 2d  | .p.p)..................(tsc-get- | 
| 35e0 |  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 65 20 72 6f  | descendant-for-position-range.ro | 
| 3600 |  6f 74 20 70 20 70 29 29 29 29 0a 20 20 20 20 28    70 63 61 73 65 20 6e 6f 64 65 2d 74 79 70 65 0a  | ot.p.p)))).....(pcase.node-type. | 
| 3620 |  20 20 20 20 20 20 28 27 6e 69 6c 20 6e 6f 64 65    29 0a 20 20 20 20 20 20 28 3a 6e 61 6d 65 64 20  | ......('nil.node).......(:named. | 
| 3640 |  6e 6f 64 65 29 0a 20 20 20 20 20 20 28 3a 61 6e    6f 6e 79 6d 6f 75 73 20 28 75 6e 6c 65 73 73 20  | node).......(:anonymous.(unless. | 
| 3660 |  28 74 73 63 2d 6e 6f 64 65 2d 6e 61 6d 65 64 2d    70 20 6e 6f 64 65 29 20 6e 6f 64 65 29 29 0a 20  | (tsc-node-named-p.node).node)).. | 
| 3680 |  20 20 20 20 20 28 5f 20 28 6c 65 74 20 28 28 74    68 69 73 20 6e 6f 64 65 29 20 72 65 73 75 6c 74  | .....(_.(let.((this.node).result | 
| 36a0 |  29 0a 20 20 20 20 20 20 20 20 20 20 20 28 77 68    69 6c 65 20 74 68 69 73 0a 20 20 20 20 20 20 20  | )............(while.this........ | 
| 36c0 |  20 20 20 20 20 20 28 69 66 20 28 65 71 75 61 6c    20 6e 6f 64 65 2d 74 79 70 65 20 28 74 73 63 2d  | ......(if.(equal.node-type.(tsc- | 
| 36e0 |  6e 6f 64 65 2d 74 79 70 65 20 74 68 69 73 29 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | node-type.this))................ | 
| 3700 |  20 20 28 73 65 74 71 20 72 65 73 75 6c 74 20 74    68 69 73 0a 20 20 20 20 20 20 20 20 20 20 20 20  | ..(setq.result.this............. | 
| 3720 |  20 20 20 20 20 20 20 20 20 20 20 74 68 69 73 20    6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20  | ...........this.nil)............ | 
| 3740 |  20 20 20 20 28 73 65 74 71 20 74 68 69 73 20 28    74 73 63 2d 67 65 74 2d 70 61 72 65 6e 74 20 74  | ....(setq.this.(tsc-get-parent.t | 
| 3760 |  68 69 73 29 29 29 29 0a 20 20 20 20 20 20 20 20    20 20 20 72 65 73 75 6c 74 29 29 29 29 29 0a 0a  | his))))............result))))).. | 
| 3780 |  28 70 72 6f 76 69 64 65 20 27 74 72 65 65 2d 73    69 74 74 65 72 29 0a 3b 3b 3b 20 74 72 65 65 2d  | (provide.'tree-sitter).;;;.tree- | 
| 37a0 |  73 69 74 74 65 72 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  | sitter.el.ends.here............. | 
| 37c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 37e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3800 |  74 72 65 65 2d 73 69 74 74 65 72 2d 32 30 32 32    30 32 31 32 2e 31 36 33 32 2f 74 72 65 65 2d 73  | tree-sitter-20220212.1632/tree-s | 
| 3820 |  69 74 74 65 72 2d 6c 6f 61 64 2e 65 6c 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | itter-load.el................... | 
| 3840 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3860 |  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 | 
| 3880 |  30 30 30 37 35 34 36 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 36 37 37 30 00 20 30 00 00 00  | 0007546.00000000000.016770..0... | 
| 38a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 38c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 38e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3900 |  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................... | 
| 3920 |  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................... | 
| 3940 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3960 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3980 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 39a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 39c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 39e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 3a00 |  3b 3b 3b 20 74 72 65 65 2d 73 69 74 74 65 72 2d    6c 6f 61 64 2e 65 6c 20 2d 2d 2d 20 4c 61 6e 67  | ;;;.tree-sitter-load.el.---.Lang | 
| 3a20 |  75 61 67 65 20 6c 6f 61 64 69 6e 67 20 66 6f 72    20 74 72 65 65 2d 73 69 74 74 65 72 20 2d 2a 2d  | uage.loading.for.tree-sitter.-*- | 
| 3a40 |  20 6c 65 78 69 63 61 6c 2d 62 69 6e 64 69 6e 67    3a 20 74 3b 20 63 6f 64 69 6e 67 3a 20 75 74 66  | .lexical-binding:.t;.coding:.utf | 
| 3a60 |  2d 38 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72    69 67 68 74 20 28 43 29 20 32 30 32 30 20 20 54  | -8.-*-..;;.Copyright.(C).2020..T | 
| 3a80 |  75 e1 ba a5 6e 2d 41 6e 68 20 4e 67 75 79 e1 bb    85 6e 0a 3b 3b 0a 3b 3b 20 41 75 74 68 6f 72 3a  | u...n-Anh.Nguy...n.;;.;;.Author: | 
| 3aa0 |  20 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 6f 6e 40  | .Tu...n-Anh.Nguy...n.<ubolonton@ | 
| 3ac0 |  67 6d 61 69 6c 2e 63 6f 6d 3e 0a 3b 3b 20 53 50    44 58 2d 4c 69 63 65 6e 73 65 2d 49 64 65 6e 74  | gmail.com>.;;.SPDX-License-Ident | 
| 3ae0 |  69 66 69 65 72 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  | ifier:.MIT..;;;.Commentary:..;;. | 
| 3b00 |  54 68 69 73 20 66 69 6c 65 20 69 6d 70 6c 65 6d    65 6e 74 73 20 66 75 6e 63 74 69 6f 6e 73 20 74  | This.file.implements.functions.t | 
| 3b20 |  6f 20 73 65 61 72 63 68 2c 20 6c 6f 61 64 20 61    6e 64 20 72 65 67 69 73 74 65 72 20 60 74 72 65  | o.search,.load.and.register.`tre | 
| 3b40 |  65 2d 73 69 74 74 65 72 27 0a 3b 3b 20 6c 61 6e    67 75 61 67 65 20 6f 62 6a 65 63 74 73 20 28 67  | e-sitter'.;;.language.objects.(g | 
| 3b60 |  72 61 6d 6d 61 72 73 29 2e 0a 0a 3b 3b 3b 20 43    6f 64 65 3a 0a 0a 28 72 65 71 75 69 72 65 20 27  | rammars)...;;;.Code:..(require.' | 
| 3b80 |  6d 61 70 29 0a 28 72 65 71 75 69 72 65 20 27 73    65 71 29 0a 0a 28 72 65 71 75 69 72 65 20 27 74  | map).(require.'seq)..(require.'t | 
| 3ba0 |  73 63 29 0a 28 72 65 71 75 69 72 65 20 27 74 72    65 65 2d 73 69 74 74 65 72 2d 63 6c 69 29 0a 0a  | sc).(require.'tree-sitter-cli).. | 
| 3bc0 |  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 | 
| 3be0 |  63 61 73 65 29 29 0a 0a 28 64 65 66 76 61 72 20    74 72 65 65 2d 73 69 74 74 65 72 2d 6c 61 6e 67  | case))..(defvar.tree-sitter-lang | 
| 3c00 |  75 61 67 65 73 20 6e 69 6c 0a 20 20 22 41 6e 20    61 6c 69 73 74 20 6f 66 20 6d 61 70 70 69 6e 67  | uages.nil..."An.alist.of.mapping | 
| 3c20 |  73 20 66 72 6f 6d 20 6c 61 6e 67 75 61 67 65 20    6e 61 6d 65 20 73 79 6d 62 6f 6c 73 20 74 6f 20  | s.from.language.name.symbols.to. | 
| 3c40 |  6c 61 6e 67 75 61 67 65 20 6f 62 6a 65 63 74 73    2e 0a 53 65 65 20 60 74 72 65 65 2d 73 69 74 74  | language.objects..See.`tree-sitt | 
| 3c60 |  65 72 2d 72 65 71 75 69 72 65 27 2e 22 29 0a 0a    28 64 65 66 76 61 72 20 74 72 65 65 2d 73 69 74  | er-require'.")..(defvar.tree-sit | 
| 3c80 |  74 65 72 2d 6c 6f 61 64 2d 70 61 74 68 20 28 6c    69 73 74 20 28 74 72 65 65 2d 73 69 74 74 65 72  | ter-load-path.(list.(tree-sitter | 
| 3ca0 |  2d 63 6c 69 2d 62 69 6e 2d 64 69 72 65 63 74 6f    72 79 29 29 0a 20 20 22 4c 69 73 74 20 6f 66 20  | -cli-bin-directory))..."List.of. | 
| 3cc0 |  64 69 72 65 63 74 6f 72 69 65 73 20 74 6f 20 73    65 61 72 63 68 20 66 6f 72 20 73 68 61 72 65 64  | directories.to.search.for.shared | 
| 3ce0 |  20 6c 69 62 72 61 72 69 65 73 20 74 68 61 74 20    64 65 66 69 6e 65 20 6c 61 6e 67 75 61 67 65 73  | .libraries.that.define.languages | 
| 3d00 |  2e 22 29 0a 0a 28 64 65 66 76 61 72 20 74 72 65    65 2d 73 69 74 74 65 72 2d 6c 6f 61 64 2d 73 75  | .")..(defvar.tree-sitter-load-su | 
| 3d20 |  66 66 69 78 65 73 0a 20 20 28 70 63 61 73 65 20    73 79 73 74 65 6d 2d 74 79 70 65 0a 20 20 20 20  | ffixes...(pcase.system-type..... | 
| 3d40 |  3b 3b 20 54 68 65 20 43 4c 49 20 74 6f 6f 6c 20    6f 75 74 70 75 74 73 20 60 2e 73 6f 27 2c 20 62  | ;;.The.CLI.tool.outputs.`.so',.b | 
| 3d60 |  75 74 20 60 2e 64 79 6c 69 62 27 20 69 73 20 6d    6f 72 65 20 73 65 6e 73 69 62 6c 65 20 6f 6e 20  | ut.`.dylib'.is.more.sensible.on. | 
| 3d80 |  6d 61 63 4f 53 2e 0a 20 20 20 20 28 27 64 61 72    77 69 6e 20 28 6c 69 73 74 20 22 2e 64 79 6c 69  | macOS......('darwin.(list.".dyli | 
| 3da0 |  62 22 20 22 2e 73 6f 22 29 29 0a 20 20 20 20 28    27 67 6e 75 2f 6c 69 6e 75 78 20 28 6c 69 73 74  | b".".so")).....('gnu/linux.(list | 
| 3dc0 |  20 22 2e 73 6f 22 29 29 0a 20 20 20 20 28 27 77    69 6e 64 6f 77 73 2d 6e 74 20 28 6c 69 73 74 20  | .".so")).....('windows-nt.(list. | 
| 3de0 |  22 2e 64 6c 6c 22 29 29 0a 20 20 20 20 28 5f 20    28 65 72 72 6f 72 20 22 55 6e 73 75 70 70 6f 72  | ".dll")).....(_.(error."Unsuppor | 
| 3e00 |  74 65 64 20 73 79 73 74 65 6d 2d 74 79 70 65 20    25 73 22 20 73 79 73 74 65 6d 2d 74 79 70 65 29  | ted.system-type.%s".system-type) | 
| 3e20 |  29 29 0a 20 20 22 4c 69 73 74 20 6f 66 20 73 75    66 66 69 78 65 73 20 66 6f 72 20 73 68 61 72 65  | ))..."List.of.suffixes.for.share | 
| 3e40 |  64 20 6c 69 62 72 61 72 69 65 73 20 74 68 61 74    20 64 65 66 69 6e 65 20 74 72 65 65 2d 73 69 74  | d.libraries.that.define.tree-sit | 
| 3e60 |  74 65 72 20 6c 61 6e 67 75 61 67 65 73 2e 22 29    0a 0a 3b 3b 3b 20 54 4f 44 4f 3a 20 41 6c 6c 6f  | ter.languages.")..;;;.TODO:.Allo | 
| 3e80 |  77 20 73 70 65 63 69 66 79 69 6e 67 20 61 62 73    6f 6c 75 74 65 20 70 61 74 68 2e 0a 28 64 65 66  | w.specifying.absolute.path..(def | 
| 3ea0 |  75 6e 20 74 72 65 65 2d 73 69 74 74 65 72 2d 6c    6f 61 64 20 28 6c 61 6e 67 2d 73 79 6d 62 6f 6c  | un.tree-sitter-load.(lang-symbol | 
| 3ec0 |  20 26 6f 70 74 69 6f 6e 61 6c 20 66 69 6c 65 20    6e 61 74 69 76 65 2d 73 79 6d 62 6f 6c 2d 6e 61  | .&optional.file.native-symbol-na | 
| 3ee0 |  6d 65 29 0a 20 20 22 4c 6f 61 64 20 61 20 6c 61    6e 67 75 61 67 65 20 67 72 61 6d 6d 61 72 20 66  | me)..."Load.a.language.grammar.f | 
| 3f00 |  72 6f 6d 20 46 49 4c 45 20 61 6e 64 20 72 65 67    69 73 74 65 72 20 69 74 20 75 6e 64 65 72 20 74  | rom.FILE.and.register.it.under.t | 
| 3f20 |  68 65 20 6e 61 6d 65 20 4c 41 4e 47 2d 53 59 4d    42 4f 4c 2e 0a 49 66 20 61 6e 6f 74 68 65 72 20  | he.name.LANG-SYMBOL..If.another. | 
| 3f40 |  6c 61 6e 67 75 61 67 65 20 77 61 73 20 61 6c 72    65 61 64 79 20 72 65 67 69 73 74 65 72 65 64 20  | language.was.already.registered. | 
| 3f60 |  75 6e 64 65 72 20 74 68 65 20 73 61 6d 65 20 6e    61 6d 65 2c 20 6f 76 65 72 72 69 64 65 20 69 74  | under.the.same.name,.override.it | 
| 3f80 |  2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e    20 72 65 74 75 72 6e 73 20 74 68 65 20 6c 6f 61  | ...This.function.returns.the.loa | 
| 3fa0 |  64 65 64 20 6c 61 6e 67 75 61 67 65 20 6f 62 6a    65 63 74 2e 0a 0a 46 49 4c 45 20 73 68 6f 75 6c  | ded.language.object...FILE.shoul | 
| 3fc0 |  64 20 62 65 20 74 68 65 20 62 61 73 65 20 6e 61    6d 65 20 28 77 69 74 68 6f 75 74 20 65 78 74 65  | d.be.the.base.name.(without.exte | 
| 3fe0 |  6e 73 69 6f 6e 29 20 6f 66 20 74 68 65 20 6e 61    74 69 76 65 20 73 68 61 72 65 64 20 6c 69 62 72  | nsion).of.the.native.shared.libr | 
| 4000 |  61 72 79 0a 74 68 61 74 20 65 78 70 6f 72 74 73    20 74 68 65 20 6c 61 6e 67 75 61 67 65 20 61 73  | ary.that.exports.the.language.as | 
| 4020 |  20 74 68 65 20 6e 61 74 69 76 65 20 73 79 6d 62    6f 6c 20 4e 41 54 49 56 45 2d 53 59 4d 42 4f 4c  | .the.native.symbol.NATIVE-SYMBOL | 
| 4040 |  2d 4e 41 4d 45 2e 0a 0a 49 66 20 46 49 4c 45 20    69 73 20 6e 69 6c 2c 20 74 68 65 20 62 61 73 65  | -NAME...If.FILE.is.nil,.the.base | 
| 4060 |  20 6e 61 6d 65 20 69 73 20 61 73 73 75 6d 65 64    20 74 6f 20 62 65 20 4c 41 4e 47 2d 53 59 4d 42  | .name.is.assumed.to.be.LANG-SYMB | 
| 4080 |  4f 4c 27 73 20 6e 61 6d 65 2e 0a 0a 49 66 20 4e    41 54 49 56 45 2d 53 59 4d 42 4f 4c 2d 4e 41 4d  | OL's.name...If.NATIVE-SYMBOL-NAM | 
| 40a0 |  45 20 69 73 20 6e 69 6c 2c 20 74 68 65 20 6e 61    6d 65 20 6f 66 20 74 68 65 20 65 78 70 6f 72 74  | E.is.nil,.the.name.of.the.export | 
| 40c0 |  65 64 20 6e 61 74 69 76 65 20 73 79 6d 62 6f 6c    20 69 73 20 61 73 73 75 6d 65 64 0a 74 6f 20 62  | ed.native.symbol.is.assumed.to.b | 
| 40e0 |  65 20 4c 41 4e 47 2d 53 59 4d 42 4f 4c 27 73 20    6e 61 6d 65 2c 20 70 72 65 66 69 78 65 64 20 77  | e.LANG-SYMBOL's.name,.prefixed.w | 
| 4100 |  69 74 68 20 5c 22 74 72 65 65 5f 73 69 74 74 65    72 5f 5c 22 2e 22 0a 20 20 28 6c 65 74 2a 20 28  | ith.\"tree_sitter_\"."...(let*.( | 
| 4120 |  28 6c 61 6e 67 2d 6e 61 6d 65 20 28 73 79 6d 62    6f 6c 2d 6e 61 6d 65 20 6c 61 6e 67 2d 73 79 6d  | (lang-name.(symbol-name.lang-sym | 
| 4140 |  62 6f 6c 29 29 0a 20 20 20 20 20 20 20 20 20 3b    3b 20 45 78 61 6d 70 6c 65 3a 20 63 2d 73 68 61  | bol))..........;;.Example:.c-sha | 
| 4160 |  72 70 20 2d 3e 20 63 5f 73 68 61 72 70 2e 0a 20    20 20 20 20 20 20 20 20 28 66 61 6c 6c 62 61 63  | rp.->.c_sharp...........(fallbac | 
| 4180 |  6b 2d 6e 61 6d 65 20 28 72 65 70 6c 61 63 65 2d    72 65 67 65 78 70 2d 69 6e 2d 73 74 72 69 6e 67  | k-name.(replace-regexp-in-string | 
| 41a0 |  20 22 2d 22 20 22 5f 22 20 6c 61 6e 67 2d 6e 61    6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 6e  | ."-"."_".lang-name))..........(n | 
| 41c0 |  61 74 69 76 65 2d 73 79 6d 62 6f 6c 2d 6e 61 6d    65 20 28 6f 72 20 6e 61 74 69 76 65 2d 73 79 6d  | ative-symbol-name.(or.native-sym | 
| 41e0 |  62 6f 6c 2d 6e 61 6d 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  | bol-name........................ | 
| 4200 |  20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61    74 20 22 74 72 65 65 5f 73 69 74 74 65 72 5f 25  | ..........(format."tree_sitter_% | 
| 4220 |  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 20 20 20 20 20 20  | s".............................. | 
| 4240 |  20 20 20 20 20 20 20 20 20 20 20 20 66 61 6c 6c    62 61 63 6b 2d 6e 61 6d 65 29 29 29 0a 20 20 20  | ............fallback-name))).... | 
| 4260 |  20 20 20 20 20 20 3b 3b 20 4c 69 73 74 20 6f 66    20 62 61 73 65 20 66 69 6c 65 20 6e 61 6d 65 73  | ......;;.List.of.base.file.names | 
| 4280 |  20 74 6f 20 73 65 61 72 63 68 20 66 6f 72 2e 0a    20 20 20 20 20 20 20 20 20 28 66 69 6c 65 73 20  | .to.search.for...........(files. | 
| 42a0 |  28 69 66 20 66 69 6c 65 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20  | (if.file.....................;;. | 
| 42c0 |  55 73 65 20 6f 6e 6c 79 20 46 49 4c 45 2c 20 69    66 20 69 74 27 73 20 67 69 76 65 6e 2e 0a 20 20  | Use.only.FILE,.if.it's.given.... | 
| 42e0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 6c 69 73 74 20 66 69 6c 65 29 0a 20 20  | ..................(list.file)... | 
| 4300 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    3b 3b 20 4f 74 68 65 72 77 69 73 65 20 75 73 65  | ................;;.Otherwise.use | 
| 4320 |  20 4c 41 4e 47 2d 53 59 4d 42 4f 4c 2e 20 46 69    72 73 74 2c 20 61 73 2d 69 73 2e 20 54 68 65 6e  | .LANG-SYMBOL..First,.as-is..Then | 
| 4340 |  2c 20 77 69 74 68 20 68 79 70 68 65 6e 73 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ,.with.hyphens.................. | 
| 4360 |  20 3b 3b 20 72 65 70 6c 61 63 65 64 20 62 79 20    75 6e 64 65 72 73 63 6f 72 65 73 2e 0a 20 20 20  | .;;.replaced.by.underscores..... | 
| 4380 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    63 6f 6e 73 20 6c 61 6e 67 2d 6e 61 6d 65 0a 20  | ...............(cons.lang-name.. | 
| 43a0 |  20 20 20 20 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  | .......................(unless.( | 
| 43c0 |  73 74 72 69 6e 67 3d 20 6c 61 6e 67 2d 6e 61 6d    65 20 66 61 6c 6c 62 61 63 6b 2d 6e 61 6d 65 29  | string=.lang-name.fallback-name) | 
| 43e0 |  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 28 6c 69 73 74  | ...........................(list | 
| 4400 |  20 66 61 6c 6c 62 61 63 6b 2d 6e 61 6d 65 29 29    29 29 29 0a 20 20 20 20 20 20 20 20 20 28 66 75  | .fallback-name)))))..........(fu | 
| 4420 |  6c 6c 2d 70 61 74 68 20 28 73 65 71 2d 73 6f 6d    65 20 28 6c 61 6d 62 64 61 20 28 62 61 73 65 2d  | ll-path.(seq-some.(lambda.(base- | 
| 4440 |  6e 61 6d 65 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  | name)........................... | 
| 4460 |  20 20 20 20 20 28 6c 6f 63 61 74 65 2d 66 69 6c    65 20 62 61 73 65 2d 6e 61 6d 65 0a 20 20 20 20  | .....(locate-file.base-name..... | 
| 4480 |  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  | ................................ | 
| 44a0 |  20 20 20 20 20 20 20 20 74 72 65 65 2d 73 69 74    74 65 72 2d 6c 6f 61 64 2d 70 61 74 68 0a 20 20  | ........tree-sitter-load-path... | 
| 44c0 |  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  | ................................ | 
| 44e0 |  20 20 20 20 20 20 20 20 20 20 74 72 65 65 2d 73    69 74 74 65 72 2d 6c 6f 61 64 2d 73 75 66 66 69  | ..........tree-sitter-load-suffi | 
| 4500 |  78 65 73 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  | xes))........................... | 
| 4520 |  20 20 20 66 69 6c 65 73 29 29 29 0a 20 20 20 20    28 75 6e 6c 65 73 73 20 66 75 6c 6c 2d 70 61 74  | ...files))).....(unless.full-pat | 
| 4540 |  68 0a 20 20 20 20 20 20 3b 3b 20 54 4f 44 4f 3a    20 44 65 66 69 6e 65 20 63 75 73 74 6f 6d 20 65  | h.......;;.TODO:.Define.custom.e | 
| 4560 |  72 72 6f 72 20 63 6c 61 73 73 2e 0a 20 20 20 20    20 20 28 65 72 72 6f 72 20 22 43 61 6e 6e 6f 74  | rror.class........(error."Cannot | 
| 4580 |  20 66 69 6e 64 20 73 68 61 72 65 64 20 6c 69 62    72 61 72 79 20 66 6f 72 20 6c 61 6e 67 75 61 67  | .find.shared.library.for.languag | 
| 45a0 |  65 3a 20 25 53 22 20 6c 61 6e 67 2d 73 79 6d 62    6f 6c 29 29 0a 20 20 20 20 28 6c 65 74 20 28 28  | e:.%S".lang-symbol)).....(let.(( | 
| 45c0 |  6c 61 6e 67 75 61 67 65 20 28 74 73 63 2d 2d 6c    6f 61 64 2d 6c 61 6e 67 75 61 67 65 20 66 75 6c  | language.(tsc--load-language.ful | 
| 45e0 |  6c 2d 70 61 74 68 20 6e 61 74 69 76 65 2d 73 79    6d 62 6f 6c 2d 6e 61 6d 65 20 6c 61 6e 67 2d 73  | l-path.native-symbol-name.lang-s | 
| 4600 |  79 6d 62 6f 6c 29 29 29 0a 20 20 20 20 20 20 28    73 65 74 66 20 28 6d 61 70 2d 65 6c 74 20 74 72  | ymbol))).......(setf.(map-elt.tr | 
| 4620 |  65 65 2d 73 69 74 74 65 72 2d 6c 61 6e 67 75 61    67 65 73 20 6c 61 6e 67 2d 73 79 6d 62 6f 6c 29  | ee-sitter-languages.lang-symbol) | 
| 4640 |  20 6c 61 6e 67 75 61 67 65 29 0a 20 20 20 20 20    20 6c 61 6e 67 75 61 67 65 29 29 29 0a 0a 3b 3b  | .language).......language)))..;; | 
| 4660 |  3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65    66 75 6e 20 74 72 65 65 2d 73 69 74 74 65 72 2d  | ;###autoload.(defun.tree-sitter- | 
| 4680 |  72 65 71 75 69 72 65 20 28 6c 61 6e 67 2d 73 79    6d 62 6f 6c 20 26 6f 70 74 69 6f 6e 61 6c 20 66  | require.(lang-symbol.&optional.f | 
| 46a0 |  69 6c 65 20 6e 61 74 69 76 65 2d 73 79 6d 62 6f    6c 2d 6e 61 6d 65 29 0a 20 20 22 52 65 74 75 72  | ile.native-symbol-name)..."Retur | 
| 46c0 |  6e 20 74 68 65 20 6c 61 6e 67 75 61 67 65 20 6f    62 6a 65 63 74 20 6c 6f 61 64 65 64 20 61 6e 64  | n.the.language.object.loaded.and | 
| 46e0 |  20 72 65 67 69 73 74 65 72 65 64 20 75 6e 64 65    72 20 74 68 65 20 6e 61 6d 65 20 4c 41 4e 47 2d  | .registered.under.the.name.LANG- | 
| 4700 |  53 59 4d 42 4f 4c 2e 0a 49 66 20 74 68 65 20 6c    61 6e 67 75 61 67 65 20 68 61 73 20 6e 6f 74 20  | SYMBOL..If.the.language.has.not. | 
| 4720 |  62 65 65 6e 20 6c 6f 61 64 65 64 20 79 65 74 2c    20 6c 6f 61 64 20 69 74 20 77 69 74 68 20 60 74  | been.loaded.yet,.load.it.with.`t | 
| 4740 |  72 65 65 2d 73 69 74 74 65 72 2d 6c 6f 61 64 27    2e 0a 0a 46 49 4c 45 20 73 68 6f 75 6c 64 20 62  | ree-sitter-load'...FILE.should.b | 
| 4760 |  65 20 74 68 65 20 62 61 73 65 20 6e 61 6d 65 20    28 77 69 74 68 6f 75 74 20 65 78 74 65 6e 73 69  | e.the.base.name.(without.extensi | 
| 4780 |  6f 6e 29 20 6f 66 20 74 68 65 20 6e 61 74 69 76    65 20 73 68 61 72 65 64 20 6c 69 62 72 61 72 79  | on).of.the.native.shared.library | 
| 47a0 |  0a 74 68 61 74 20 65 78 70 6f 72 74 73 20 74 68    65 20 6c 61 6e 67 75 61 67 65 20 61 73 20 74 68  | .that.exports.the.language.as.th | 
| 47c0 |  65 20 6e 61 74 69 76 65 20 73 79 6d 62 6f 6c 20    4e 41 54 49 56 45 2d 53 59 4d 42 4f 4c 2d 4e 41  | e.native.symbol.NATIVE-SYMBOL-NA | 
| 47e0 |  4d 45 2e 0a 0a 49 66 20 46 49 4c 45 20 69 73 20    6e 69 6c 2c 20 74 68 65 20 62 61 73 65 20 6e 61  | ME...If.FILE.is.nil,.the.base.na | 
| 4800 |  6d 65 20 69 73 20 61 73 73 75 6d 65 64 20 74 6f    20 62 65 20 4c 41 4e 47 2d 53 59 4d 42 4f 4c 27  | me.is.assumed.to.be.LANG-SYMBOL' | 
| 4820 |  73 20 6e 61 6d 65 2e 0a 0a 49 66 20 4e 41 54 49    56 45 2d 53 59 4d 42 4f 4c 2d 4e 41 4d 45 20 69  | s.name...If.NATIVE-SYMBOL-NAME.i | 
| 4840 |  73 20 6e 69 6c 2c 20 74 68 65 20 6e 61 6d 65 20    6f 66 20 74 68 65 20 65 78 70 6f 72 74 65 64 20  | s.nil,.the.name.of.the.exported. | 
| 4860 |  6e 61 74 69 76 65 20 73 79 6d 62 6f 6c 20 69 73    20 61 73 73 75 6d 65 64 0a 74 6f 20 62 65 20 4c  | native.symbol.is.assumed.to.be.L | 
| 4880 |  41 4e 47 2d 53 59 4d 42 4f 4c 27 73 20 6e 61 6d    65 2c 20 70 72 65 66 69 78 65 64 20 77 69 74 68  | ANG-SYMBOL's.name,.prefixed.with | 
| 48a0 |  20 5c 22 74 72 65 65 5f 73 69 74 74 65 72 5f 5c    22 2e 22 0a 20 20 28 6f 72 20 28 61 6c 69 73 74  | .\"tree_sitter_\"."...(or.(alist | 
| 48c0 |  2d 67 65 74 20 6c 61 6e 67 2d 73 79 6d 62 6f 6c    20 74 72 65 65 2d 73 69 74 74 65 72 2d 6c 61 6e  | -get.lang-symbol.tree-sitter-lan | 
| 48e0 |  67 75 61 67 65 73 29 0a 20 20 20 20 20 20 28 74    72 65 65 2d 73 69 74 74 65 72 2d 6c 6f 61 64 20  | guages).......(tree-sitter-load. | 
| 4900 |  6c 61 6e 67 2d 73 79 6d 62 6f 6c 20 66 69 6c 65    20 6e 61 74 69 76 65 2d 73 79 6d 62 6f 6c 2d 6e  | lang-symbol.file.native-symbol-n | 
| 4920 |  61 6d 65 29 29 29 0a 0a 28 70 72 6f 76 69 64 65    20 27 74 72 65 65 2d 73 69 74 74 65 72 2d 6c 6f  | ame)))..(provide.'tree-sitter-lo | 
| 4940 |  61 64 29 0a 3b 3b 3b 20 74 72 65 65 2d 73 69 74    74 65 72 2d 6c 6f 61 64 2e 65 6c 20 65 6e 64 73  | ad).;;;.tree-sitter-load.el.ends | 
| 4960 |  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 00 00 00 00 00 00 00  | .here........................... | 
| 4980 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 49a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 49c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 49e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4a00 |  74 72 65 65 2d 73 69 74 74 65 72 2d 32 30 32 32    30 32 31 32 2e 31 36 33 32 2f 74 72 65 65 2d 73  | tree-sitter-20220212.1632/tree-s | 
| 4a20 |  69 74 74 65 72 2d 70 6b 67 2e 65 6c 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | itter-pkg.el.................... | 
| 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 30 31 30 33 32 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 36 36 31 32 00 20 30 00 00 00  | 0001032.00000000000.016612..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 |  28 64 65 66 69 6e 65 2d 70 61 63 6b 61 67 65 20    22 74 72 65 65 2d 73 69 74 74 65 72 22 20 22 32  | (define-package."tree-sitter"."2 | 
| 4c20 |  30 32 32 30 32 31 32 2e 31 36 33 32 22 20 22 49    6e 63 72 65 6d 65 6e 74 61 6c 20 70 61 72 73 69  | 0220212.1632"."Incremental.parsi | 
| 4c40 |  6e 67 20 73 79 73 74 65 6d 22 0a 20 20 27 28 28    65 6d 61 63 73 20 22 32 35 2e 31 22 29 0a 20 20  | ng.system"...'((emacs."25.1")... | 
| 4c60 |  20 20 28 74 73 63 20 22 30 2e 31 38 2e 30 22 29    29 0a 20 20 3a 63 6f 6d 6d 69 74 20 22 39 30 39  | ..(tsc."0.18.0"))...:commit."909 | 
| 4c80 |  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 | 
| 4ca0 |  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 | 
| 4cc0 |  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 | 
| 4ce0 |  6d 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 a5 6e  | m"))...:maintainers...'(("Tu...n | 
| 4d00 |  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 61 69  | -Anh.Nguy...n"..."ubolonton@gmai | 
| 4d20 |  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 e1 ba  | l.com"))...:maintainer...'("Tu.. | 
| 4d40 |  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 | 
| 4d60 |  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 67 75  | ail.com")...:keywords...'("langu | 
| 4d80 |  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 74 72 65 65 2d 73 69  | ages"."tools"."parsers"."tree-si | 
| 4da0 |  74 74 65 72 22 29 0a 20 20 3a 75 72 6c 20 22 68    74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f  | tter")...:url."https://github.co | 
| 4dc0 |  6d 2f 65 6d 61 63 73 2d 74 72 65 65 2d 73 69 74    74 65 72 2f 65 6c 69 73 70 2d 74 72 65 65 2d 73  | m/emacs-tree-sitter/elisp-tree-s | 
| 4de0 |  69 74 74 65 72 22 29 0a 3b 3b 20 4c 6f 63 61 6c    20 56 61 72 69 61 62 6c 65 73 3a 0a 3b 3b 20 6e  | itter").;;.Local.Variables:.;;.n | 
| 4e00 |  6f 2d 62 79 74 65 2d 63 6f 6d 70 69 6c 65 3a 20    74 0a 3b 3b 20 45 6e 64 3a 0a 00 00 00 00 00 00  | o-byte-compile:.t.;;.End:....... | 
| 4e20 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4e40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4e60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4e80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4ea0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4ec0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4ee0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4f00 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4f20 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4f40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4f60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4f80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4fa0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4fc0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 4fe0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 5000 |  74 72 65 65 2d 73 69 74 74 65 72 2d 32 30 32 32    30 32 31 32 2e 31 36 33 32 2f 74 72 65 65 2d 73  | tree-sitter-20220212.1632/tree-s | 
| 5020 |  69 74 74 65 72 2d 64 65 62 75 67 2e 65 6c 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | itter-debug.el.................. | 
| 5040 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 5060 |  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 | 
| 5080 |  30 30 31 34 33 34 30 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 37 31 32 35 00 20 30 00 00 00  | 0014340.00000000000.017125..0... | 
| 50a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 50c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 50e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 5100 |  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................... | 
| 5120 |  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................... | 
| 5140 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 5160 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 5180 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 51a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 51c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 51e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 5200 |  3b 3b 3b 20 74 72 65 65 2d 73 69 74 74 65 72 2d    64 65 62 75 67 2e 65 6c 20 2d 2d 2d 20 44 65 62  | ;;;.tree-sitter-debug.el.---.Deb | 
| 5220 |  75 67 20 74 6f 6f 6c 73 20 66 6f 72 20 74 72 65    65 2d 73 69 74 74 65 72 20 2d 2a 2d 20 6c 65 78  | ug.tools.for.tree-sitter.-*-.lex | 
| 5240 |  69 63 61 6c 2d 62 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  | ical-binding:.t;.coding:.utf-8.- | 
| 5260 |  2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74    20 28 43 29 20 32 30 31 39 20 20 54 75 e1 ba a5  | *-..;;.Copyright.(C).2019..Tu... | 
| 5280 |  6e 2d 41 6e 68 20 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  | n-Anh.Nguy...n.;;.;;.Author:.Tu. | 
| 52a0 |  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 6f 6e 40 67 6d 61 69  | ..n-Anh.Nguy...n.<ubolonton@gmai | 
| 52c0 |  6c 2e 63 6f 6d 3e 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  | l.com>.;;.SPDX-License-Identifie | 
| 52e0 |  72 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  | r:.MIT..;;;.Commentary:..;;.This | 
| 5300 |  20 66 69 6c 65 20 63 6f 6e 74 61 69 6e 73 20 64    65 62 75 67 20 75 74 69 6c 69 74 69 65 73 20 66  | .file.contains.debug.utilities.f | 
| 5320 |  6f 72 20 74 72 65 65 2d 73 69 74 74 65 72 2e 0a    3b 3b 0a 3b 3b 20 28 74 72 65 65 2d 73 69 74 74  | or.tree-sitter..;;.;;.(tree-sitt | 
| 5340 |  65 72 2d 64 65 62 75 67 2d 6d 6f 64 65 29 0a 0a    3b 3b 3b 20 43 6f 64 65 3a 0a 0a 28 72 65 71 75  | er-debug-mode)..;;;.Code:..(requ | 
| 5360 |  69 72 65 20 27 74 72 65 65 2d 73 69 74 74 65 72    29 0a 0a 28 72 65 71 75 69 72 65 20 27 67 65 6e  | ire.'tree-sitter)..(require.'gen | 
| 5380 |  65 72 61 74 6f 72 29 0a 0a 28 64 65 66 76 61 72    2d 6c 6f 63 61 6c 20 74 72 65 65 2d 73 69 74 74  | erator)..(defvar-local.tree-sitt | 
| 53a0 |  65 72 2d 64 65 62 75 67 2d 2d 74 72 65 65 2d 62    75 66 66 65 72 20 6e 69 6c 0a 20 20 22 42 75 66  | er-debug--tree-buffer.nil..."Buf | 
| 53c0 |  66 65 72 20 75 73 65 64 20 74 6f 20 64 69 73 70    6c 61 79 20 74 68 65 20 73 79 6e 74 61 78 20 74  | fer.used.to.display.the.syntax.t | 
| 53e0 |  72 65 65 20 6f 66 20 74 68 69 73 20 62 75 66 66    65 72 2e 22 29 0a 0a 28 64 65 66 76 61 72 2d 6c  | ree.of.this.buffer.")..(defvar-l | 
| 5400 |  6f 63 61 6c 20 74 72 65 65 2d 73 69 74 74 65 72    2d 64 65 62 75 67 2d 2d 73 6f 75 72 63 65 2d 63  | ocal.tree-sitter-debug--source-c | 
| 5420 |  6f 64 65 2d 62 75 66 66 65 72 20 6e 69 6c 0a 20    20 22 53 6f 75 72 63 65 20 62 75 66 66 65 72 20  | ode-buffer.nil..."Source.buffer. | 
| 5440 |  6f 66 20 74 68 65 20 73 79 6e 74 61 78 20 74 72    65 65 20 64 69 73 70 6c 61 79 65 64 20 69 6e 20  | of.the.syntax.tree.displayed.in. | 
| 5460 |  74 68 69 73 20 60 74 72 65 65 2d 73 69 74 74 65    72 2d 64 65 62 75 67 27 20 62 75 66 66 65 72 2e  | this.`tree-sitter-debug'.buffer. | 
| 5480 |  22 29 0a 0a 28 64 65 66 67 72 6f 75 70 20 74 72    65 65 2d 73 69 74 74 65 72 2d 64 65 62 75 67 20  | ")..(defgroup.tree-sitter-debug. | 
| 54a0 |  6e 69 6c 0a 20 20 22 54 72 65 65 20 73 69 74 74    65 72 20 64 65 62 75 67 20 61 6e 64 20 64 69 73  | nil..."Tree.sitter.debug.and.dis | 
| 54c0 |  70 6c 61 79 20 66 65 61 74 75 72 65 73 2e 22 0a    20 20 3a 67 72 6f 75 70 20 27 74 72 65 65 2d 73  | play.features."...:group.'tree-s | 
| 54e0 |  69 74 74 65 72 29 0a 0a 28 64 65 66 63 75 73 74    6f 6d 20 74 72 65 65 2d 73 69 74 74 65 72 2d 64  | itter)..(defcustom.tree-sitter-d | 
| 5500 |  65 62 75 67 2d 6a 75 6d 70 2d 62 75 74 74 6f 6e    73 20 6e 69 6c 0a 20 20 22 57 68 65 74 68 65 72  | ebug-jump-buttons.nil..."Whether | 
| 5520 |  20 74 6f 20 65 6e 61 62 6c 65 20 6a 75 6d 70 2d    74 6f 2d 6e 6f 64 65 20 62 75 74 74 6f 6e 73 20  | .to.enable.jump-to-node.buttons. | 
| 5540 |  69 6e 20 60 74 72 65 65 2d 73 69 74 74 65 72 2d    64 65 62 75 67 27 20 76 69 65 77 73 2e 0a 54 68  | in.`tree-sitter-debug'.views..Th | 
| 5560 |  69 73 20 63 61 6e 20 68 61 76 65 20 61 20 70 65    72 66 6f 72 6d 61 6e 63 65 20 70 65 6e 61 6c 74  | is.can.have.a.performance.penalt | 
| 5580 |  79 20 69 6e 20 6c 61 72 67 65 20 62 75 66 66 65    72 73 2e 22 0a 20 20 3a 74 79 70 65 20 27 62 6f  | y.in.large.buffers."...:type.'bo | 
| 55a0 |  6f 6c 65 61 6e 0a 20 20 3a 67 72 6f 75 70 20 27    74 72 65 65 2d 73 69 74 74 65 72 2d 64 65 62 75  | olean...:group.'tree-sitter-debu | 
| 55c0 |  67 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 74    72 65 65 2d 73 69 74 74 65 72 2d 64 65 62 75 67  | g)..(defcustom.tree-sitter-debug | 
| 55e0 |  2d 68 69 67 68 6c 69 67 68 74 2d 6a 75 6d 70 2d    72 65 67 69 6f 6e 20 6e 69 6c 0a 20 20 22 57 68  | -highlight-jump-region.nil..."Wh | 
| 5600 |  65 74 68 65 72 20 74 6f 20 68 69 67 68 6c 69 67    68 74 20 74 68 65 20 6e 6f 64 65 20 6a 75 6d 70  | ether.to.highlight.the.node.jump | 
| 5620 |  65 64 20 74 6f 2e 0a 54 68 69 73 20 6f 6e 6c 79    20 74 61 6b 65 73 20 65 66 66 65 63 74 20 69 66  | ed.to..This.only.takes.effect.if | 
| 5640 |  20 60 74 72 65 65 2d 73 69 74 74 65 72 2d 64 65    62 75 67 2d 6a 75 6d 70 2d 62 75 74 74 6f 6e 73  | .`tree-sitter-debug-jump-buttons | 
| 5660 |  27 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2e 22 0a 20    20 3a 74 79 70 65 20 27 62 6f 6f 6c 65 61 6e 0a  | '.is.non-nil."...:type.'boolean. | 
| 5680 |  20 20 3a 67 72 6f 75 70 20 27 74 72 65 65 2d 73    69 74 74 65 72 2d 64 65 62 75 67 29 0a 0a 28 64  | ..:group.'tree-sitter-debug)..(d | 
| 56a0 |  65 66 75 6e 20 74 72 65 65 2d 73 69 74 74 65 72    2d 64 65 62 75 67 2d 2d 62 75 74 74 6f 6e 2d 6e  | efun.tree-sitter-debug--button-n | 
| 56c0 |  6f 64 65 2d 6c 6f 6f 6b 75 70 20 28 62 75 74 74    6f 6e 29 0a 20 20 22 54 68 65 20 66 75 6e 63 74  | ode-lookup.(button)..."The.funct | 
| 56e0 |  69 6f 6e 20 74 6f 20 63 61 6c 6c 20 77 68 65 6e    20 61 20 60 74 72 65 65 2d 73 69 74 74 65 72 2d  | ion.to.call.when.a.`tree-sitter- | 
| 5700 |  64 65 62 75 67 27 20 42 55 54 54 4f 4e 20 69 73    20 63 6c 69 63 6b 65 64 2e 22 0a 20 20 28 75 6e  | debug'.BUTTON.is.clicked."...(un | 
| 5720 |  6c 65 73 73 20 74 72 65 65 2d 73 69 74 74 65 72    2d 64 65 62 75 67 2d 2d 73 6f 75 72 63 65 2d 63  | less.tree-sitter-debug--source-c | 
| 5740 |  6f 64 65 2d 62 75 66 66 65 72 0a 20 20 20 20 28    65 72 72 6f 72 20 22 4e 6f 20 73 6f 75 72 63 65  | ode-buffer.....(error."No.source | 
| 5760 |  20 63 6f 64 65 20 62 75 66 66 65 72 20 73 65 74    22 29 29 0a 20 20 28 75 6e 6c 65 73 73 20 28 62  | .code.buffer.set"))...(unless.(b | 
| 5780 |  75 66 66 65 72 2d 6c 69 76 65 2d 70 20 74 72 65    65 2d 73 69 74 74 65 72 2d 64 65 62 75 67 2d 2d  | uffer-live-p.tree-sitter-debug-- | 
| 57a0 |  73 6f 75 72 63 65 2d 63 6f 64 65 2d 62 75 66 66    65 72 29 0a 20 20 20 20 28 75 73 65 72 2d 65 72  | source-code-buffer).....(user-er | 
| 57c0 |  72 6f 72 20 22 53 6f 75 72 63 65 20 63 6f 64 65    20 62 75 66 66 65 72 20 68 61 73 20 62 65 65 6e  | ror."Source.code.buffer.has.been | 
| 57e0 |  20 6b 69 6c 6c 65 64 22 29 29 0a 20 20 28 75 6e    6c 65 73 73 20 62 75 74 74 6f 6e 0a 20 20 20 20  | .killed"))...(unless.button..... | 
| 5800 |  28 75 73 65 72 2d 65 72 72 6f 72 20 22 54 68 69    73 20 66 75 6e 63 74 69 6f 6e 20 6d 75 73 74 20  | (user-error."This.function.must. | 
| 5820 |  62 65 20 63 61 6c 6c 65 64 20 6f 6e 20 61 20 62    75 74 74 6f 6e 22 29 29 0a 20 20 28 74 72 65 65  | be.called.on.a.button"))...(tree | 
| 5840 |  2d 73 69 74 74 65 72 2d 64 65 62 75 67 2d 2d 67    6f 74 6f 2d 6e 6f 64 65 20 74 72 65 65 2d 73 69  | -sitter-debug--goto-node.tree-si | 
| 5860 |  74 74 65 72 2d 64 65 62 75 67 2d 2d 73 6f 75 72    63 65 2d 63 6f 64 65 2d 62 75 66 66 65 72 0a 20  | tter-debug--source-code-buffer.. | 
| 5880 |  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  | ...............................( | 
| 58a0 |  62 75 74 74 6f 6e 2d 67 65 74 20 62 75 74 74 6f    6e 20 27 70 6f 69 6e 74 73 2d 74 6f 29 29 29 0a  | button-get.button.'points-to))). | 
| 58c0 |  0a 28 64 65 66 75 6e 20 74 72 65 65 2d 73 69 74    74 65 72 2d 64 65 62 75 67 2d 2d 67 6f 74 6f 2d  | .(defun.tree-sitter-debug--goto- | 
| 58e0 |  6e 6f 64 65 20 28 62 75 66 66 65 72 20 62 79 74    65 2d 72 61 6e 67 65 29 0a 20 20 22 53 77 69 74  | node.(buffer.byte-range)..."Swit | 
| 5900 |  63 68 20 74 6f 20 42 55 46 46 45 52 2c 20 63 65    6e 74 65 72 69 6e 67 20 6f 6e 20 74 68 65 20 72  | ch.to.BUFFER,.centering.on.the.r | 
| 5920 |  65 67 69 6f 6e 20 64 65 66 69 6e 65 64 20 62 79    20 4e 4f 44 45 2e 22 0a 20 20 28 73 77 69 74 63  | egion.defined.by.NODE."...(switc | 
| 5940 |  68 2d 74 6f 2d 62 75 66 66 65 72 2d 6f 74 68 65    72 2d 77 69 6e 64 6f 77 20 62 75 66 66 65 72 29  | h-to-buffer-other-window.buffer) | 
| 5960 |  0a 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 62    79 74 65 2d 74 6f 2d 70 6f 73 69 74 69 6f 6e 20  | ...(goto-char.(byte-to-position. | 
| 5980 |  28 63 61 72 20 62 79 74 65 2d 72 61 6e 67 65 29    29 29 0a 20 20 28 70 75 73 68 2d 6d 61 72 6b 20  | (car.byte-range)))...(push-mark. | 
| 59a0 |  28 62 79 74 65 2d 74 6f 2d 70 6f 73 69 74 69 6f    6e 20 28 63 64 72 20 62 79 74 65 2d 72 61 6e 67  | (byte-to-position.(cdr.byte-rang | 
| 59c0 |  65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 74 72 65 65 2d 73 69 74 74 65 72 2d 64 65 62  | e))..............tree-sitter-deb | 
| 59e0 |  75 67 2d 68 69 67 68 6c 69 67 68 74 2d 6a 75 6d    70 2d 72 65 67 69 6f 6e 29 29 0a 0a 28 64 65 66  | ug-highlight-jump-region))..(def | 
| 5a00 |  75 6e 20 74 72 65 65 2d 73 69 74 74 65 72 2d 64    65 62 75 67 2d 2d 64 69 73 70 6c 61 79 2d 6e 6f  | un.tree-sitter-debug--display-no | 
| 5a20 |  64 65 20 28 6e 61 6d 65 64 2d 70 20 74 79 70 65    20 73 74 61 72 74 2d 62 79 74 65 20 65 6e 64 2d  | de.(named-p.type.start-byte.end- | 
| 5a40 |  62 79 74 65 20 64 65 70 74 68 29 0a 20 20 22 44    69 73 70 6c 61 79 20 4e 4f 44 45 20 74 68 61 74  | byte.depth)..."Display.NODE.that | 
| 5a60 |  20 61 70 70 65 61 72 73 20 61 74 20 74 68 65 20    67 69 76 65 6e 20 44 45 50 54 48 20 69 6e 20 74  | .appears.at.the.given.DEPTH.in.t | 
| 5a80 |  68 65 20 73 79 6e 74 61 78 20 74 72 65 65 2e 22    0a 20 20 28 77 68 65 6e 20 6e 61 6d 65 64 2d 70  | he.syntax.tree."...(when.named-p | 
| 5aa0 |  0a 20 20 20 20 28 69 6e 73 65 72 74 20 28 6d 61    6b 65 2d 73 74 72 69 6e 67 20 28 2a 20 32 20 64  | .....(insert.(make-string.(*.2.d | 
| 5ac0 |  65 70 74 68 29 20 3f 5c 20 29 29 0a 20 20 20 20    28 6c 65 74 20 28 28 6e 6f 64 65 2d 74 65 78 74  | epth).?\.)).....(let.((node-text | 
| 5ae0 |  20 28 66 6f 72 6d 61 74 20 22 25 73 3a 5c 6e 22    20 74 79 70 65 29 29 29 0a 20 20 20 20 20 20 28  | .(format."%s:\n".type))).......( | 
| 5b00 |  69 66 20 74 72 65 65 2d 73 69 74 74 65 72 2d 64    65 62 75 67 2d 6a 75 6d 70 2d 62 75 74 74 6f 6e  | if.tree-sitter-debug-jump-button | 
| 5b20 |  73 0a 20 20 20 20 20 20 20 20 20 20 28 69 6e 73    65 72 74 2d 62 75 74 74 6f 6e 20 6e 6f 64 65 2d  | s...........(insert-button.node- | 
| 5b40 |  74 65 78 74 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 27 61  | text..........................'a | 
| 5b60 |  63 74 69 6f 6e 20 27 74 72 65 65 2d 73 69 74 74    65 72 2d 64 65 62 75 67 2d 2d 62 75 74 74 6f 6e  | ction.'tree-sitter-debug--button | 
| 5b80 |  2d 6e 6f 64 65 2d 6c 6f 6f 6b 75 70 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | -node-lookup.................... | 
| 5ba0 |  20 20 20 20 20 20 27 66 6f 6c 6c 6f 77 2d 6c 69    6e 6b 20 74 0a 20 20 20 20 20 20 20 20 20 20 20  | ......'follow-link.t............ | 
| 5bc0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 70    6f 69 6e 74 73 2d 74 6f 20 60 28 2c 73 74 61 72  | ..............'points-to.`(,star | 
| 5be0 |  74 2d 62 79 74 65 20 2e 20 2c 65 6e 64 2d 62 79    74 65 29 29 0a 20 20 20 20 20 20 20 20 28 69 6e  | t-byte...,end-byte)).........(in | 
| 5c00 |  73 65 72 74 20 6e 6f 64 65 2d 74 65 78 74 29 29    29 29 29 0a 0a 28 64 65 66 76 61 72 20 74 72 65  | sert.node-text)))))..(defvar.tre | 
| 5c20 |  65 2d 73 69 74 74 65 72 2d 64 65 62 75 67 2d 74    72 61 76 65 72 73 61 6c 2d 6d 65 74 68 6f 64 20  | e-sitter-debug-traversal-method. | 
| 5c40 |  3a 6d 61 70 63 29 0a 0a 28 64 65 66 75 6e 20 74    72 65 65 2d 73 69 74 74 65 72 2d 64 65 62 75 67  | :mapc)..(defun.tree-sitter-debug | 
| 5c60 |  2d 2d 64 69 73 70 6c 61 79 2d 74 72 65 65 20 28    5f 6f 6c 64 2d 74 72 65 65 29 0a 20 20 22 44 69  | --display-tree.(_old-tree)..."Di | 
| 5c80 |  73 70 6c 61 79 20 74 68 65 20 63 75 72 72 65 6e    74 20 60 74 72 65 65 2d 73 69 74 74 65 72 2d 74  | splay.the.current.`tree-sitter-t | 
| 5ca0 |  72 65 65 27 2e 22 0a 20 20 3b 3b 20 54 4f 44 4f    3a 20 52 65 2d 72 65 6e 64 65 72 20 6f 6e 6c 79  | ree'."...;;.TODO:.Re-render.only | 
| 5cc0 |  20 61 66 66 65 63 74 65 64 20 6e 6f 64 65 73 2e    0a 20 20 28 77 68 65 6e 2d 6c 65 74 20 28 28 74  | .affected.nodes....(when-let.((t | 
| 5ce0 |  72 65 65 20 74 72 65 65 2d 73 69 74 74 65 72 2d    74 72 65 65 29 29 0a 20 20 20 20 28 77 69 74 68  | ree.tree-sitter-tree)).....(with | 
| 5d00 |  2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20    74 72 65 65 2d 73 69 74 74 65 72 2d 64 65 62 75  | -current-buffer.tree-sitter-debu | 
| 5d20 |  67 2d 2d 74 72 65 65 2d 62 75 66 66 65 72 0a 20    20 20 20 20 20 28 6c 65 74 20 28 62 75 66 66 65  | g--tree-buffer.......(let.(buffe | 
| 5d40 |  72 2d 72 65 61 64 2d 6f 6e 6c 79 29 0a 20 20 20    20 20 20 20 20 28 65 72 61 73 65 2d 62 75 66 66  | r-read-only).........(erase-buff | 
| 5d60 |  65 72 29 0a 20 20 20 20 20 20 20 20 28 70 63 61    73 65 20 74 72 65 65 2d 73 69 74 74 65 72 2d 64  | er).........(pcase.tree-sitter-d | 
| 5d80 |  65 62 75 67 2d 74 72 61 76 65 72 73 61 6c 2d 6d    65 74 68 6f 64 0a 20 20 20 20 20 20 20 20 20 20  | ebug-traversal-method........... | 
| 5da0 |  28 3a 6d 61 70 63 20 28 74 73 63 2d 74 72 61 76    65 72 73 65 2d 6d 61 70 63 0a 20 20 20 20 20 20  | (:mapc.(tsc-traverse-mapc....... | 
| 5dc0 |  20 20 20 20 20 20 20 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  | ............(lambda.(props)..... | 
| 5de0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 70 63 61 73 65 2d 6c 65 74 20 28 28 60 5b 2c  | ................(pcase-let.((`[, | 
| 5e00 |  6e 61 6d 65 64 2d 70 20 2c 74 79 70 65 20 2c 73    74 61 72 74 2d 62 79 74 65 20 2c 65 6e 64 2d 62  | named-p.,type.,start-byte.,end-b | 
| 5e20 |  79 74 65 20 2c 64 65 70 74 68 5d 20 70 72 6f 70    73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  | yte.,depth].props))............. | 
| 5e40 |  20 20 20 20 20 20 20 20 20 20 28 74 72 65 65 2d    73 69 74 74 65 72 2d 64 65 62 75 67 2d 2d 64 69  | ..........(tree-sitter-debug--di | 
| 5e60 |  73 70 6c 61 79 2d 6e 6f 64 65 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | splay-node...................... | 
| 5e80 |  20 20 6e 61 6d 65 64 2d 70 20 74 79 70 65 20 73    74 61 72 74 2d 62 79 74 65 20 65 6e 64 2d 62 79  | ..named-p.type.start-byte.end-by | 
| 5ea0 |  74 65 20 64 65 70 74 68 29 29 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 72  | te.depth)))...................tr | 
| 5ec0 |  65 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 5b 3a 6e 61 6d 65 64 2d 70 20 3a  | ee...................[:named-p.: | 
| 5ee0 |  74 79 70 65 20 3a 73 74 61 72 74 2d 62 79 74 65    20 3a 65 6e 64 2d 62 79 74 65 20 3a 64 65 70 74  | type.:start-byte.:end-byte.:dept | 
| 5f00 |  68 5d 29 29 0a 20 20 20 20 20 20 20 20 20 20 28    3a 69 74 65 72 20 28 69 74 65 72 2d 64 6f 20 28  | h]))...........(:iter.(iter-do.( | 
| 5f20 |  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 20 20 20 20 20 20  | props.(tsc-traverse-iter........ | 
| 5f40 |  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 74 72 65 65 20  | ...........................tree. | 
| 5f60 |  5b 3a 6e 61 6d 65 64 2d 70 20 3a 74 79 70 65 20    3a 73 74 61 72 74 2d 62 79 74 65 20 3a 65 6e 64  | [:named-p.:type.:start-byte.:end | 
| 5f80 |  2d 62 79 74 65 20 3a 64 65 70 74 68 5d 29 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | -byte.:depth]))................. | 
| 5fa0 |  20 20 20 28 70 63 61 73 65 2d 6c 65 74 20 28 28    60 5b 2c 6e 61 6d 65 64 2d 70 20 2c 74 79 70 65  | ...(pcase-let.((`[,named-p.,type | 
| 5fc0 |  20 2c 73 74 61 72 74 2d 62 79 74 65 20 2c 65 6e    64 2d 62 79 74 65 20 2c 64 65 70 74 68 5d 20 70  | .,start-byte.,end-byte.,depth].p | 
| 5fe0 |  72 6f 70 73 29 29 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 28 74 72 65  | rops))......................(tre | 
| 6000 |  65 2d 73 69 74 74 65 72 2d 64 65 62 75 67 2d 2d    64 69 73 70 6c 61 79 2d 6e 6f 64 65 0a 20 20 20  | e-sitter-debug--display-node.... | 
| 6020 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 6e 61 6d 65 64 2d 70 20 74 79 70 65 20  | ...................named-p.type. | 
| 6040 |  73 74 61 72 74 2d 62 79 74 65 20 65 6e 64 2d 62    79 74 65 20 64 65 70 74 68 29 29 29 29 0a 20 20  | start-byte.end-byte.depth))))... | 
| 6060 |  20 20 20 20 20 20 20 20 28 3a 64 6f 20 28 74 73    63 2d 74 72 61 76 65 72 73 65 2d 64 6f 20 28 5b  | ........(:do.(tsc-traverse-do.([ | 
| 6080 |  6e 61 6d 65 64 2d 70 20 74 79 70 65 20 73 74 61    72 74 2d 62 79 74 65 20 65 6e 64 2d 62 79 74 65  | named-p.type.start-byte.end-byte | 
| 60a0 |  20 64 65 70 74 68 5d 20 74 72 65 65 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28  | .depth].tree)..................( | 
| 60c0 |  74 72 65 65 2d 73 69 74 74 65 72 2d 64 65 62 75    67 2d 2d 64 69 73 70 6c 61 79 2d 6e 6f 64 65 0a  | tree-sitter-debug--display-node. | 
| 60e0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 6e 61 6d 65 64 2d 70 20 74 79 70 65 20 73  | ..................named-p.type.s | 
| 6100 |  74 61 72 74 2d 62 79 74 65 20 65 6e 64 2d 62 79    74 65 20 64 65 70 74 68 29 29 29 29 29 29 29 29  | tart-byte.end-byte.depth)))))))) | 
| 6120 |  0a 0a 28 64 65 66 75 6e 20 74 72 65 65 2d 73 69    74 74 65 72 2d 64 65 62 75 67 2d 2d 73 65 74 75  | ..(defun.tree-sitter-debug--setu | 
| 6140 |  70 20 28 29 0a 20 20 22 53 65 74 20 75 70 20 73    79 6e 74 61 78 20 74 72 65 65 20 64 65 62 75 67  | p.()..."Set.up.syntax.tree.debug | 
| 6160 |  67 69 6e 67 20 69 6e 20 74 68 65 20 63 75 72 72    65 6e 74 20 62 75 66 66 65 72 2e 22 0a 20 20 28  | ging.in.the.current.buffer."...( | 
| 6180 |  75 6e 6c 65 73 73 20 28 62 75 66 66 65 72 2d 6c    69 76 65 2d 70 20 74 72 65 65 2d 73 69 74 74 65  | unless.(buffer-live-p.tree-sitte | 
| 61a0 |  72 2d 64 65 62 75 67 2d 2d 74 72 65 65 2d 62 75    66 66 65 72 29 0a 20 20 20 20 28 73 65 74 71 20  | r-debug--tree-buffer).....(setq. | 
| 61c0 |  74 72 65 65 2d 73 69 74 74 65 72 2d 64 65 62 75    67 2d 2d 74 72 65 65 2d 62 75 66 66 65 72 0a 20  | tree-sitter-debug--tree-buffer.. | 
| 61e0 |  20 20 20 20 20 20 20 20 20 28 67 65 74 2d 62 75    66 66 65 72 2d 63 72 65 61 74 65 20 28 66 6f 72  | .........(get-buffer-create.(for | 
| 6200 |  6d 61 74 20 22 2a 74 72 65 65 2d 73 69 74 74 65    72 2d 74 72 65 65 3a 20 25 73 2a 22 20 28 62 75  | mat."*tree-sitter-tree:.%s*".(bu | 
| 6220 |  66 66 65 72 2d 6e 61 6d 65 29 29 29 29 29 0a 20    20 28 6c 65 74 20 28 28 73 6f 75 72 63 65 2d 62  | ffer-name)))))...(let.((source-b | 
| 6240 |  75 66 66 65 72 20 28 63 75 72 72 65 6e 74 2d 62    75 66 66 65 72 29 29 29 0a 20 20 20 20 28 77 69  | uffer.(current-buffer))).....(wi | 
| 6260 |  74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65    72 20 74 72 65 65 2d 73 69 74 74 65 72 2d 64 65  | th-current-buffer.tree-sitter-de | 
| 6280 |  62 75 67 2d 2d 74 72 65 65 2d 62 75 66 66 65 72    0a 20 20 20 20 20 20 28 62 75 66 66 65 72 2d 64  | bug--tree-buffer.......(buffer-d | 
| 62a0 |  69 73 61 62 6c 65 2d 75 6e 64 6f 29 0a 20 20 20    20 20 20 28 73 65 74 71 20 74 72 65 65 2d 73 69  | isable-undo).......(setq.tree-si | 
| 62c0 |  74 74 65 72 2d 64 65 62 75 67 2d 2d 73 6f 75 72    63 65 2d 63 6f 64 65 2d 62 75 66 66 65 72 20 73  | tter-debug--source-code-buffer.s | 
| 62e0 |  6f 75 72 63 65 2d 62 75 66 66 65 72 0a 20 20 20    20 20 20 20 20 20 20 20 20 62 75 66 66 65 72 2d  | ource-buffer.............buffer- | 
| 6300 |  72 65 61 64 2d 6f 6e 6c 79 20 74 29 29 29 0a 20    20 28 61 64 64 2d 68 6f 6f 6b 20 27 74 72 65 65  | read-only.t)))...(add-hook.'tree | 
| 6320 |  2d 73 69 74 74 65 72 2d 61 66 74 65 72 2d 63 68    61 6e 67 65 2d 66 75 6e 63 74 69 6f 6e 73 20 23  | -sitter-after-change-functions.# | 
| 6340 |  27 74 72 65 65 2d 73 69 74 74 65 72 2d 64 65 62    75 67 2d 2d 64 69 73 70 6c 61 79 2d 74 72 65 65  | 'tree-sitter-debug--display-tree | 
| 6360 |  20 6e 69 6c 20 3a 6c 6f 63 61 6c 29 0a 20 20 28    61 64 64 2d 68 6f 6f 6b 20 27 6b 69 6c 6c 2d 62  | .nil.:local)...(add-hook.'kill-b | 
| 6380 |  75 66 66 65 72 2d 68 6f 6f 6b 20 23 27 74 72 65    65 2d 73 69 74 74 65 72 2d 64 65 62 75 67 2d 2d  | uffer-hook.#'tree-sitter-debug-- | 
| 63a0 |  74 65 61 72 64 6f 77 6e 20 6e 69 6c 20 3a 6c 6f    63 61 6c 29 0a 20 20 28 64 69 73 70 6c 61 79 2d  | teardown.nil.:local)...(display- | 
| 63c0 |  62 75 66 66 65 72 20 74 72 65 65 2d 73 69 74 74    65 72 2d 64 65 62 75 67 2d 2d 74 72 65 65 2d 62  | buffer.tree-sitter-debug--tree-b | 
| 63e0 |  75 66 66 65 72 29 0a 20 20 28 74 72 65 65 2d 73    69 74 74 65 72 2d 64 65 62 75 67 2d 2d 64 69 73  | uffer)...(tree-sitter-debug--dis | 
| 6400 |  70 6c 61 79 2d 74 72 65 65 20 6e 69 6c 29 29 0a    0a 28 64 65 66 75 6e 20 74 72 65 65 2d 73 69 74  | play-tree.nil))..(defun.tree-sit | 
| 6420 |  74 65 72 2d 64 65 62 75 67 2d 2d 74 65 61 72 64    6f 77 6e 20 28 29 0a 20 20 22 54 65 61 72 20 64  | ter-debug--teardown.()..."Tear.d | 
| 6440 |  6f 77 6e 20 73 79 6e 74 61 78 20 74 72 65 65 20    64 65 62 75 67 67 69 6e 67 20 69 6e 20 74 68 65  | own.syntax.tree.debugging.in.the | 
| 6460 |  20 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 2e    22 0a 20 20 28 72 65 6d 6f 76 65 2d 68 6f 6f 6b  | .current.buffer."...(remove-hook | 
| 6480 |  20 27 74 72 65 65 2d 73 69 74 74 65 72 2d 61 66    74 65 72 2d 63 68 61 6e 67 65 2d 66 75 6e 63 74  | .'tree-sitter-after-change-funct | 
| 64a0 |  69 6f 6e 73 20 23 27 74 72 65 65 2d 73 69 74 74    65 72 2d 64 65 62 75 67 2d 2d 64 69 73 70 6c 61  | ions.#'tree-sitter-debug--displa | 
| 64c0 |  79 2d 74 72 65 65 20 3a 6c 6f 63 61 6c 29 0a 20    20 28 77 68 65 6e 20 28 62 75 66 66 65 72 2d 6c  | y-tree.:local)...(when.(buffer-l | 
| 64e0 |  69 76 65 2d 70 20 74 72 65 65 2d 73 69 74 74 65    72 2d 64 65 62 75 67 2d 2d 74 72 65 65 2d 62 75  | ive-p.tree-sitter-debug--tree-bu | 
| 6500 |  66 66 65 72 29 0a 20 20 20 20 28 6b 69 6c 6c 2d    62 75 66 66 65 72 20 74 72 65 65 2d 73 69 74 74  | ffer).....(kill-buffer.tree-sitt | 
| 6520 |  65 72 2d 64 65 62 75 67 2d 2d 74 72 65 65 2d 62    75 66 66 65 72 29 0a 20 20 20 20 28 73 65 74 71  | er-debug--tree-buffer).....(setq | 
| 6540 |  20 74 72 65 65 2d 73 69 74 74 65 72 2d 64 65 62    75 67 2d 2d 74 72 65 65 2d 62 75 66 66 65 72 20  | .tree-sitter-debug--tree-buffer. | 
| 6560 |  6e 69 6c 29 29 29 0a 0a 3b 3b 3b 23 23 23 61 75    74 6f 6c 6f 61 64 0a 28 64 65 66 69 6e 65 2d 6d  | nil)))..;;;###autoload.(define-m | 
| 6580 |  69 6e 6f 72 2d 6d 6f 64 65 20 74 72 65 65 2d 73    69 74 74 65 72 2d 64 65 62 75 67 2d 6d 6f 64 65  | inor-mode.tree-sitter-debug-mode | 
| 65a0 |  0a 20 20 22 54 6f 67 67 6c 65 20 73 79 6e 74 61    78 20 74 72 65 65 20 64 65 62 75 67 67 69 6e 67  | ..."Toggle.syntax.tree.debugging | 
| 65c0 |  20 66 6f 72 20 74 68 65 20 63 75 72 72 65 6e 74    20 62 75 66 66 65 72 2e 0a 54 68 69 73 20 6d 6f  | .for.the.current.buffer..This.mo | 
| 65e0 |  64 65 20 64 69 73 70 6c 61 79 73 20 74 68 65 20    73 79 6e 74 61 78 20 74 72 65 65 20 69 6e 20 61  | de.displays.the.syntax.tree.in.a | 
| 6600 |  6e 6f 74 68 65 72 20 62 75 66 66 65 72 2c 20 61    6e 64 20 6b 65 65 70 73 20 69 74 20 75 70 2d 74  | nother.buffer,.and.keeps.it.up-t | 
| 6620 |  6f 2d 64 61 74 65 2e 22 0a 20 20 3a 69 6e 69 74    2d 76 61 6c 75 65 20 6e 69 6c 0a 20 20 3a 67 72  | o-date."...:init-value.nil...:gr | 
| 6640 |  6f 75 70 20 27 74 72 65 65 2d 73 69 74 74 65 72    0a 20 20 28 74 72 65 65 2d 73 69 74 74 65 72 2d  | oup.'tree-sitter...(tree-sitter- | 
| 6660 |  2d 68 61 6e 64 6c 65 2d 64 65 70 65 6e 64 65 6e    74 20 74 72 65 65 2d 73 69 74 74 65 72 2d 64 65  | -handle-dependent.tree-sitter-de | 
| 6680 |  62 75 67 2d 6d 6f 64 65 0a 20 20 20 20 23 27 74    72 65 65 2d 73 69 74 74 65 72 2d 64 65 62 75 67  | bug-mode.....#'tree-sitter-debug | 
| 66a0 |  2d 2d 73 65 74 75 70 0a 20 20 20 20 23 27 74 72    65 65 2d 73 69 74 74 65 72 2d 64 65 62 75 67 2d  | --setup.....#'tree-sitter-debug- | 
| 66c0 |  2d 74 65 61 72 64 6f 77 6e 29 29 0a 0a 3b 3b 3b    23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66  | -teardown))..;;;###autoload.(def | 
| 66e0 |  75 6e 20 74 72 65 65 2d 73 69 74 74 65 72 2d 64    65 62 75 67 2d 71 75 65 72 79 20 28 70 61 74 74  | un.tree-sitter-debug-query.(patt | 
| 6700 |  65 72 6e 73 20 26 6f 70 74 69 6f 6e 61 6c 20 6d    61 74 63 68 65 73 20 74 61 67 2d 61 73 73 69 67  | erns.&optional.matches.tag-assig | 
| 6720 |  6e 65 72 29 0a 20 20 22 45 78 65 63 75 74 65 20    71 75 65 72 79 20 50 41 54 54 45 52 4e 53 20 61  | ner)..."Execute.query.PATTERNS.a | 
| 6740 |  67 61 69 6e 73 74 20 74 68 65 20 63 75 72 72 65    6e 74 20 73 79 6e 74 61 78 20 74 72 65 65 20 61  | gainst.the.current.syntax.tree.a | 
| 6760 |  6e 64 20 72 65 74 75 72 6e 20 63 61 70 74 75 72    65 73 2e 0a 0a 49 66 20 74 68 65 20 6f 70 74 69  | nd.return.captures...If.the.opti | 
| 6780 |  6f 6e 61 6c 20 61 72 67 20 4d 41 54 43 48 45 53    20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 6d 61 74  | onal.arg.MATCHES.is.non-nil,.mat | 
| 67a0 |  63 68 65 73 20 28 66 72 6f 6d 20 60 74 73 63 2d    71 75 65 72 79 2d 6d 61 74 63 68 65 73 27 29 20  | ches.(from.`tsc-query-matches'). | 
| 67c0 |  61 72 65 0a 72 65 74 75 72 6e 65 64 20 69 6e 73    74 65 61 64 20 6f 66 20 63 61 70 74 75 72 65 73  | are.returned.instead.of.captures | 
| 67e0 |  20 28 66 72 6f 6d 20 60 74 73 63 2d 71 75 65 72    79 2d 63 61 70 74 75 72 65 73 27 29 2e 0a 0a 49  | .(from.`tsc-query-captures')...I | 
| 6800 |  66 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 20 61    72 67 20 54 41 47 2d 41 53 53 49 47 4e 45 52 20  | f.the.optional.arg.TAG-ASSIGNER. | 
| 6820 |  69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 69 74 20 69    73 20 70 61 73 73 65 64 20 74 6f 20 60 74 73 63  | is.non-nil,.it.is.passed.to.`tsc | 
| 6840 |  2d 6d 61 6b 65 2d 71 75 65 72 79 27 20 74 6f 0a    61 73 73 69 67 6e 20 63 75 73 74 6f 6d 20 74 61  | -make-query'.to.assign.custom.ta | 
| 6860 |  67 73 20 74 6f 20 63 61 70 74 75 72 65 20 6e 61    6d 65 73 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74  | gs.to.capture.names...This.funct | 
| 6880 |  69 6f 6e 20 69 73 20 70 72 69 6d 61 72 69 6c 79    20 75 73 65 66 75 6c 20 66 6f 72 20 64 65 62 75  | ion.is.primarily.useful.for.debu | 
| 68a0 |  67 67 69 6e 67 20 70 75 72 70 6f 73 65 2e 20 4f    74 68 65 72 20 70 61 63 6b 61 67 65 73 20 73 68  | gging.purpose..Other.packages.sh | 
| 68c0 |  6f 75 6c 64 0a 62 75 69 6c 64 20 71 75 65 72 69    65 73 20 61 6e 64 20 63 75 72 73 6f 72 73 20 6f  | ould.build.queries.and.cursors.o | 
| 68e0 |  6e 63 65 2c 20 74 68 65 6e 20 72 65 75 73 65 20    74 68 65 6d 2e 22 0a 20 20 28 6c 65 74 2a 20 28  | nce,.then.reuse.them."...(let*.( | 
| 6900 |  28 71 75 65 72 79 20 28 74 73 63 2d 6d 61 6b 65    2d 71 75 65 72 79 20 74 72 65 65 2d 73 69 74 74  | (query.(tsc-make-query.tree-sitt | 
| 6920 |  65 72 2d 6c 61 6e 67 75 61 67 65 20 70 61 74 74    65 72 6e 73 20 74 61 67 2d 61 73 73 69 67 6e 65  | er-language.patterns.tag-assigne | 
| 6940 |  72 29 29 0a 20 20 20 20 20 20 20 20 20 28 72 6f    6f 74 2d 6e 6f 64 65 20 28 74 73 63 2d 72 6f 6f  | r))..........(root-node.(tsc-roo | 
| 6960 |  74 2d 6e 6f 64 65 20 74 72 65 65 2d 73 69 74 74    65 72 2d 74 72 65 65 29 29 29 0a 20 20 20 20 28  | t-node.tree-sitter-tree))).....( | 
| 6980 |  74 73 63 2d 2d 77 69 74 68 6f 75 74 2d 72 65 73    74 72 69 63 74 69 6f 6e 0a 20 20 20 20 20 20 28  | tsc--without-restriction.......( | 
| 69a0 |  69 66 20 6d 61 74 63 68 65 73 0a 20 20 20 20 20    20 20 20 20 20 28 74 73 63 2d 71 75 65 72 79 2d  | if.matches...........(tsc-query- | 
| 69c0 |  6d 61 74 63 68 65 73 20 71 75 65 72 79 20 72 6f    6f 74 2d 6e 6f 64 65 20 23 27 74 73 63 2d 2d 62  | matches.query.root-node.#'tsc--b | 
| 69e0 |  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 73 29 0a 20  | uffer-substring-no-properties).. | 
| 6a00 |  20 20 20 20 20 20 20 28 74 73 63 2d 71 75 65 72    79 2d 63 61 70 74 75 72 65 73 20 71 75 65 72 79  | .......(tsc-query-captures.query | 
| 6a20 |  20 72 6f 6f 74 2d 6e 6f 64 65 20 23 27 74 73 63    2d 2d 62 75 66 66 65 72 2d 73 75 62 73 74 72 69  | .root-node.#'tsc--buffer-substri | 
| 6a40 |  6e 67 2d 6e 6f 2d 70 72 6f 70 65 72 74 69 65 73    29 29 29 29 29 0a 0a 3b 3b 3b 20 54 4f 44 4f 3a  | ng-no-properties)))))..;;;.TODO: | 
| 6a60 |  20 4b 69 6c 6c 20 74 72 65 65 2d 62 75 66 66 65    72 20 77 68 65 6e 20 60 74 72 65 65 2d 73 69 74  | .Kill.tree-buffer.when.`tree-sit | 
| 6a80 |  74 65 72 27 20 6d 69 6e 6f 72 20 6d 6f 64 65 20    69 73 20 74 75 72 6e 65 64 20 6f 66 66 2e 0a 0a  | ter'.minor.mode.is.turned.off... | 
| 6aa0 |  28 70 72 6f 76 69 64 65 20 27 74 72 65 65 2d 73    69 74 74 65 72 2d 64 65 62 75 67 29 0a 3b 3b 3b  | (provide.'tree-sitter-debug).;;; | 
| 6ac0 |  20 74 72 65 65 2d 73 69 74 74 65 72 2d 64 65 62    75 67 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a  | .tree-sitter-debug.el.ends.here. | 
| 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 72 65 65 2d 73 69 74 74 65 72 2d 32 30 32 32    30 32 31 32 2e 31 36 33 32 2f 74 72 65 65 2d 73  | tree-sitter-20220212.1632/tree-s | 
| 6c20 |  69 74 74 65 72 2d 68 6c 2e 65 6c 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | itter-hl.el..................... | 
| 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 36 35 35 31 30 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 36 34 34 37 00 20 30 00 00 00  | 0065510.00000000000.016447..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 |  3b 3b 3b 20 74 72 65 65 2d 73 69 74 74 65 72 2d    68 6c 2e 65 6c 20 2d 2d 2d 20 53 79 6e 74 61 78  | ;;;.tree-sitter-hl.el.---.Syntax | 
| 6e20 |  20 68 69 67 68 6c 69 67 68 74 69 6e 67 20 62 61    73 65 64 20 6f 6e 20 74 72 65 65 2d 73 69 74 74  | .highlighting.based.on.tree-sitt | 
| 6e40 |  65 72 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 69 6e  | er.-*-.lexical-binding:.t;.codin | 
| 6e60 |  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 20 32  | g:.utf-8.-*-..;;.Copyright.(C).2 | 
| 6e80 |  30 32 30 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 20 41  | 020..Tu...n-Anh.Nguy...n.;;.;;.A | 
| 6ea0 |  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 6f 6c  | uthor:.Tu...n-Anh.Nguy...n.<ubol | 
| 6ec0 |  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 54 69 6d 6f  | onton@gmail.com>.;;.........Timo | 
| 6ee0 |  20 76 6f 6e 20 48 61 72 74 7a 20 3c 63 30 75 6e    74 6c 69 7a 7a 69 40 67 6d 61 69 6c 2e 63 6f 6d  | .von.Hartz.<c0untlizzi@gmail.com | 
| 6f00 |  3e 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  | >.;;.SPDX-License-Identifier:.MI | 
| 6f20 |  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 66 69 6c 65  | T..;;;.Commentary:..;;.This.file | 
| 6f40 |  20 69 6d 70 6c 65 6d 65 6e 74 73 20 61 20 6e 65    77 20 73 79 6e 74 61 78 20 68 69 67 68 6c 69 67  | .implements.a.new.syntax.highlig | 
| 6f60 |  68 74 69 6e 67 20 62 61 73 65 64 20 6f 6e 20 60    74 72 65 65 2d 73 69 74 74 65 72 27 2e 0a 0a 3b  | hting.based.on.`tree-sitter'...; | 
| 6f80 |  3b 3b 20 43 6f 64 65 3a 0a 0a 28 72 65 71 75 69    72 65 20 27 74 72 65 65 2d 73 69 74 74 65 72 29  | ;;.Code:..(require.'tree-sitter) | 
| 6fa0 |  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 71 75 69 72 65 20  | ..(eval-when-compile...(require. | 
| 6fc0 |  27 63 6c 2d 6c 69 62 29 29 0a 0a 3b 3b 3b 20 2d    2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  | 'cl-lib))..;;;.----------------- | 
| 6fe0 |  2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d    2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  | -------------------------------- | 
| 7000 |  2d 2d 2d 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 3b 20  | ---------------------------.;;;. | 
| 7020 |  46 61 63 65 73 20 66 6f 72 20 63 6f 6d 6d 6f 6e    6c 79 20 75 73 65 64 20 68 69 67 68 6c 69 67 68  | Faces.for.commonly.used.highligh | 
| 7040 |  74 20 6e 61 6d 65 73 3a 20 60 74 72 65 65 2d 73    69 74 74 65 72 2d 68 6c 2d 66 61 63 65 3a 43 41  | t.names:.`tree-sitter-hl-face:CA | 
| 7060 |  50 54 55 52 45 2d 4e 41 4d 45 27 2e 0a 0a 28 64    65 66 67 72 6f 75 70 20 74 72 65 65 2d 73 69 74  | PTURE-NAME'...(defgroup.tree-sit | 
| 7080 |  74 65 72 2d 68 6c 20 6e 69 6c 0a 20 20 22 53 79    6e 74 61 78 20 68 69 67 68 6c 69 67 68 74 69 6e  | ter-hl.nil..."Syntax.highlightin | 
| 70a0 |  67 20 75 73 69 6e 67 20 74 72 65 65 2d 73 69 74    74 65 72 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27  | g.using.tree-sitter."...:group.' | 
| 70c0 |  74 72 65 65 2d 73 69 74 74 65 72 29 0a 0a 28 64    65 66 67 72 6f 75 70 20 74 72 65 65 2d 73 69 74  | tree-sitter)..(defgroup.tree-sit | 
| 70e0 |  74 65 72 2d 68 6c 2d 66 61 63 65 73 20 6e 69 6c    0a 20 20 22 46 61 63 65 73 20 66 6f 72 20 68 69  | ter-hl-faces.nil..."Faces.for.hi | 
| 7100 |  67 68 6c 69 67 68 74 69 6e 67 20 63 6f 64 65 2e    22 0a 20 20 3a 67 72 6f 75 70 20 27 74 72 65 65  | ghlighting.code."...:group.'tree | 
| 7120 |  2d 73 69 74 74 65 72 2d 68 6c 29 0a 0a 3b 3b 3b    20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  | -sitter-hl)..;;;.--------------- | 
| 7140 |  2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d    2d 2d 2d 2d 2d 0a 3b 3b 3b 20 46 75 6e 63 74 69  | ---------------------.;;;.Functi | 
| 7160 |  6f 6e 73 2e 0a 0a 28 64 65 66 66 61 63 65 20 74    72 65 65 2d 73 69 74 74 65 72 2d 68 6c 2d 66 61  | ons...(defface.tree-sitter-hl-fa | 
| 7180 |  63 65 3a 66 75 6e 63 74 69 6f 6e 0a 20 20 27 28    28 64 65 66 61 75 6c 74 20 3a 69 6e 68 65 72 69  | ce:function...'((default.:inheri | 
| 71a0 |  74 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 66 75 6e 63    74 69 6f 6e 2d 6e 61 6d 65 2d 66 61 63 65 29 29  | t.font-lock-function-name-face)) | 
| 71c0 |  0a 20 20 22 46 61 63 65 20 66 6f 72 20 66 75 6e    63 74 69 6f 6e 20 64 65 63 6c 61 72 61 74 69 6f  | ..."Face.for.function.declaratio | 
| 71e0 |  6e 73 2c 20 64 65 66 69 6e 69 74 69 6f 6e 73 20    61 6e 64 20 62 69 6e 64 69 6e 67 73 2e 22 0a 20  | ns,.definitions.and.bindings.".. | 
| 7200 |  20 3a 67 72 6f 75 70 20 27 74 72 65 65 2d 73 69    74 74 65 72 2d 68 6c 2d 66 61 63 65 73 29 0a 0a  | .:group.'tree-sitter-hl-faces).. | 
| 7220 |  28 64 65 66 66 61 63 65 20 74 72 65 65 2d 73 69    74 74 65 72 2d 68 6c 2d 66 61 63 65 3a 66 75 6e  | (defface.tree-sitter-hl-face:fun | 
| 7240 |  63 74 69 6f 6e 2e 63 61 6c 6c 0a 20 20 27 28 28    64 65 66 61 75 6c 74 20 3a 69 6e 68 65 72 69 74  | ction.call...'((default.:inherit | 
| 7260 |  20 28 6c 69 6e 6b 20 66 6f 6e 74 2d 6c 6f 63 6b    2d 66 75 6e 63 74 69 6f 6e 2d 6e 61 6d 65 2d 66  | .(link.font-lock-function-name-f | 
| 7280 |  61 63 65 29 20 3a 75 6e 64 65 72 6c 69 6e 65 20    6e 69 6c 29 29 0a 20 20 22 46 61 63 65 20 66 6f  | ace).:underline.nil))..."Face.fo | 
| 72a0 |  72 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 73    2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 74 72 65  | r.function.calls."...:group.'tre | 
| 72c0 |  65 2d 73 69 74 74 65 72 2d 68 6c 2d 66 61 63 65    73 29 0a 0a 28 64 65 66 66 61 63 65 20 74 72 65  | e-sitter-hl-faces)..(defface.tre | 
| 72e0 |  65 2d 73 69 74 74 65 72 2d 68 6c 2d 66 61 63 65    3a 66 75 6e 63 74 69 6f 6e 2e 62 75 69 6c 74 69  | e-sitter-hl-face:function.builti | 
| 7300 |  6e 0a 20 20 27 28 28 64 65 66 61 75 6c 74 20 3a    69 6e 68 65 72 69 74 20 66 6f 6e 74 2d 6c 6f 63  | n...'((default.:inherit.font-loc | 
| 7320 |  6b 2d 62 75 69 6c 74 69 6e 2d 66 61 63 65 29 29    0a 20 20 22 46 61 63 65 20 66 6f 72 20 62 75 69  | k-builtin-face))..."Face.for.bui | 
| 7340 |  6c 74 69 6e 20 66 75 6e 63 74 69 6f 6e 73 2e 22    0a 20 20 3a 67 72 6f 75 70 20 27 74 72 65 65 2d  | ltin.functions."...:group.'tree- | 
| 7360 |  73 69 74 74 65 72 2d 68 6c 2d 66 61 63 65 73 29    0a 0a 3b 3b 3b 20 54 4f 44 4f 3a 20 52 65 6d 6f  | sitter-hl-faces)..;;;.TODO:.Remo | 
| 7380 |  76 65 20 74 68 69 73 3f 0a 28 64 65 66 66 61 63    65 20 74 72 65 65 2d 73 69 74 74 65 72 2d 68 6c  | ve.this?.(defface.tree-sitter-hl | 
| 73a0 |  2d 66 61 63 65 3a 66 75 6e 63 74 69 6f 6e 2e 73    70 65 63 69 61 6c 0a 20 20 27 28 28 64 65 66 61  | -face:function.special...'((defa | 
| 73c0 |  75 6c 74 20 3a 69 6e 68 65 72 69 74 20 66 6f 6e    74 2d 6c 6f 63 6b 2d 70 72 65 70 72 6f 63 65 73  | ult.:inherit.font-lock-preproces | 
| 73e0 |  73 6f 72 2d 66 61 63 65 29 29 0a 20 20 22 46 61    63 65 20 66 6f 72 20 66 75 6e 63 74 69 6f 6e 73  | sor-face))..."Face.for.functions | 
| 7400 |  20 74 68 61 74 20 61 6c 74 65 72 20 74 68 69 6e    67 73 20 61 74 20 63 6f 6d 70 69 6c 65 2f 6c 6f  | .that.alter.things.at.compile/lo | 
| 7420 |  61 64 20 74 69 6d 65 2e 22 0a 20 20 3a 67 72 6f    75 70 20 27 74 72 65 65 2d 73 69 74 74 65 72 2d  | ad.time."...:group.'tree-sitter- | 
| 7440 |  68 6c 2d 66 61 63 65 73 29 0a 0a 3b 3b 3b 20 54    4f 44 4f 3a 20 52 65 6e 61 6d 65 20 74 68 69 73  | hl-faces)..;;;.TODO:.Rename.this | 
| 7460 |  3f 0a 28 64 65 66 66 61 63 65 20 74 72 65 65 2d    73 69 74 74 65 72 2d 68 6c 2d 66 61 63 65 3a 66  | ?.(defface.tree-sitter-hl-face:f | 
| 7480 |  75 6e 63 74 69 6f 6e 2e 6d 61 63 72 6f 0a 20 20    27 28 28 64 65 66 61 75 6c 74 20 3a 69 6e 68 65  | unction.macro...'((default.:inhe | 
| 74a0 |  72 69 74 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 70 72    65 70 72 6f 63 65 73 73 6f 72 2d 66 61 63 65 29  | rit.font-lock-preprocessor-face) | 
| 74c0 |  29 0a 20 20 22 46 61 63 65 20 66 6f 72 20 6d 61    63 72 6f 20 63 61 6c 6c 73 2e 22 0a 20 20 3a 67  | )..."Face.for.macro.calls."...:g | 
| 74e0 |  72 6f 75 70 20 27 74 72 65 65 2d 73 69 74 74 65    72 2d 68 6c 2d 66 61 63 65 73 29 0a 0a 28 64 65  | roup.'tree-sitter-hl-faces)..(de | 
| 7500 |  66 66 61 63 65 20 74 72 65 65 2d 73 69 74 74 65    72 2d 68 6c 2d 66 61 63 65 3a 6d 65 74 68 6f 64  | fface.tree-sitter-hl-face:method | 
| 7520 |  0a 20 20 27 28 28 64 65 66 61 75 6c 74 20 3a 69    6e 68 65 72 69 74 20 74 72 65 65 2d 73 69 74 74  | ...'((default.:inherit.tree-sitt | 
| 7540 |  65 72 2d 68 6c 2d 66 61 63 65 3a 66 75 6e 63 74    69 6f 6e 29 29 0a 20 20 22 46 61 63 65 20 66 6f  | er-hl-face:function))..."Face.fo | 
| 7560 |  72 20 6d 65 74 68 6f 64 20 64 65 63 6c 61 72 61    74 69 6f 6e 73 20 61 6e 64 20 64 65 66 69 6e 69  | r.method.declarations.and.defini | 
| 7580 |  74 69 6f 6e 73 2e 22 0a 20 20 3a 67 72 6f 75 70    20 27 74 72 65 65 2d 73 69 74 74 65 72 2d 68 6c  | tions."...:group.'tree-sitter-hl | 
| 75a0 |  2d 66 61 63 65 73 29 0a 0a 28 64 65 66 66 61 63    65 20 74 72 65 65 2d 73 69 74 74 65 72 2d 68 6c  | -faces)..(defface.tree-sitter-hl | 
| 75c0 |  2d 66 61 63 65 3a 6d 65 74 68 6f 64 2e 63 61 6c    6c 0a 20 20 27 28 28 64 65 66 61 75 6c 74 20 3a  | -face:method.call...'((default.: | 
| 75e0 |  69 6e 68 65 72 69 74 20 74 72 65 65 2d 73 69 74    74 65 72 2d 68 6c 2d 66 61 63 65 3a 66 75 6e 63  | inherit.tree-sitter-hl-face:func | 
| 7600 |  74 69 6f 6e 2e 63 61 6c 6c 29 29 0a 20 20 22 46    61 63 65 20 66 6f 72 20 6d 65 74 68 6f 64 20 69  | tion.call))..."Face.for.method.i | 
| 7620 |  6e 76 6f 63 61 74 69 6f 6e 73 2e 22 0a 20 20 3a    67 72 6f 75 70 20 27 74 72 65 65 2d 73 69 74 74  | nvocations."...:group.'tree-sitt | 
| 7640 |  65 72 2d 68 6c 2d 66 61 63 65 73 29 0a 0a 28 64    65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66  | er-hl-faces)..(define-obsolete-f | 
| 7660 |  61 63 65 2d 61 6c 69 61 73 20 27 74 72 65 65 2d    73 69 74 74 65 72 2d 68 6c 2d 66 61 63 65 3a 66  | ace-alias.'tree-sitter-hl-face:f | 
| 7680 |  75 6e 63 74 69 6f 6e 2e 6d 65 74 68 6f 64 0a 20    20 27 74 72 65 65 2d 73 69 74 74 65 72 2d 68 6c  | unction.method...'tree-sitter-hl | 
| 76a0 |  2d 66 61 63 65 3a 6d 65 74 68 6f 64 20 22 30 2e    39 2e 30 22 29 0a 0a 28 64 65 66 69 6e 65 2d 6f  | -face:method."0.9.0")..(define-o | 
| 76c0 |  62 73 6f 6c 65 74 65 2d 66 61 63 65 2d 61 6c 69    61 73 20 27 74 72 65 65 2d 73 69 74 74 65 72 2d  | bsolete-face-alias.'tree-sitter- | 
| 76e0 |  68 6c 2d 66 61 63 65 3a 66 75 6e 63 74 69 6f 6e    2e 6d 65 74 68 6f 64 2e 63 61 6c 6c 0a 20 20 27  | hl-face:function.method.call...' | 
| 7700 |  74 72 65 65 2d 73 69 74 74 65 72 2d 68 6c 2d 66    61 63 65 3a 6d 65 74 68 6f 64 2e 63 61 6c 6c 20  | tree-sitter-hl-face:method.call. | 
| 7720 |  22 30 2e 39 2e 30 22 29 0a 0a 3b 3b 3b 20 2d 2d    2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  | "0.9.0")..;;;.------------------ | 
| 7740 |  2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d    2d 2d 0a 3b 3b 3b 20 54 79 70 65 73 2e 0a 0a 28  | ------------------.;;;.Types...( | 
| 7760 |  64 65 66 66 61 63 65 20 74 72 65 65 2d 73 69 74    74 65 72 2d 68 6c 2d 66 61 63 65 3a 74 79 70 65  | defface.tree-sitter-hl-face:type | 
| 7780 |  0a 20 20 27 28 28 64 65 66 61 75 6c 74 20 3a 69    6e 68 65 72 69 74 20 66 6f 6e 74 2d 6c 6f 63 6b  | ...'((default.:inherit.font-lock | 
| 77a0 |  2d 74 79 70 65 2d 66 61 63 65 29 29 0a 20 20 22    46 61 63 65 20 66 6f 72 20 74 79 70 65 73 2e 22  | -type-face))..."Face.for.types." | 
| 77c0 |  0a 20 20 3a 67 72 6f 75 70 20 27 74 72 65 65 2d    73 69 74 74 65 72 2d 68 6c 2d 66 61 63 65 73 29  | ...:group.'tree-sitter-hl-faces) | 
| 77e0 |  0a 0a 28 64 65 66 66 61 63 65 20 74 72 65 65 2d    73 69 74 74 65 72 2d 68 6c 2d 66 61 63 65 3a 74  | ..(defface.tree-sitter-hl-face:t | 
| 7800 |  79 70 65 2e 70 61 72 61 6d 65 74 65 72 0a 20 20    27 28 28 64 65 66 61 75 6c 74 20 3a 69 6e 68 65  | ype.parameter...'((default.:inhe | 
| 7820 |  72 69 74 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 76 61    72 69 61 62 6c 65 2d 6e 61 6d 65 2d 66 61 63 65  | rit.font-lock-variable-name-face | 
| 7840 |  29 29 0a 20 20 22 46 61 63 65 20 66 6f 72 20 74    79 70 65 20 70 61 72 61 6d 65 74 65 72 73 2e 22  | ))..."Face.for.type.parameters." | 
| 7860 |  0a 20 20 3a 67 72 6f 75 70 20 27 74 72 65 65 2d    73 69 74 74 65 72 2d 68 6c 2d 66 61 63 65 73 29  | ...:group.'tree-sitter-hl-faces) | 
| 7880 |  0a 0a 28 64 65 66 66 61 63 65 20 74 72 65 65 2d    73 69 74 74 65 72 2d 68 6c 2d 66 61 63 65 3a 74  | ..(defface.tree-sitter-hl-face:t | 
| 78a0 |  79 70 65 2e 61 72 67 75 6d 65 6e 74 0a 20 20 27    28 28 64 65 66 61 75 6c 74 20 3a 69 6e 68 65 72  | ype.argument...'((default.:inher | 
| 78c0 |  69 74 20 74 72 65 65 2d 73 69 74 74 65 72 2d 68    6c 2d 66 61 63 65 3a 74 79 70 65 29 29 0a 20 20  | it.tree-sitter-hl-face:type))... | 
| 78e0 |  22 46 61 63 65 20 66 6f 72 20 74 79 70 65 20 61    72 67 75 6d 65 6e 74 73 2e 22 0a 20 20 3a 67 72  | "Face.for.type.arguments."...:gr | 
| 7900 |  6f 75 70 20 27 74 72 65 65 2d 73 69 74 74 65 72    2d 68 6c 2d 66 61 63 65 73 29 0a 0a 28 64 65 66  | oup.'tree-sitter-hl-faces)..(def | 
| 7920 |  66 61 63 65 20 74 72 65 65 2d 73 69 74 74 65 72    2d 68 6c 2d 66 61 63 65 3a 74 79 70 65 2e 62 75  | face.tree-sitter-hl-face:type.bu | 
| 7940 |  69 6c 74 69 6e 0a 20 20 27 28 28 64 65 66 61 75    6c 74 20 3a 69 6e 68 65 72 69 74 20 66 6f 6e 74  | iltin...'((default.:inherit.font | 
| 7960 |  2d 6c 6f 63 6b 2d 62 75 69 6c 74 69 6e 2d 66 61    63 65 29 29 0a 20 20 22 46 61 63 65 20 66 6f 72  | -lock-builtin-face))..."Face.for | 
| 7980 |  20 62 75 69 6c 74 69 6e 20 74 79 70 65 73 2e 22    0a 20 20 3a 67 72 6f 75 70 20 27 74 72 65 65 2d  | .builtin.types."...:group.'tree- | 
| 79a0 |  73 69 74 74 65 72 2d 68 6c 2d 66 61 63 65 73 29    0a 0a 28 64 65 66 66 61 63 65 20 74 72 65 65 2d  | sitter-hl-faces)..(defface.tree- | 
| 79c0 |  73 69 74 74 65 72 2d 68 6c 2d 66 61 63 65 3a 74    79 70 65 2e 73 75 70 65 72 0a 20 20 27 28 28 64  | sitter-hl-face:type.super...'((d | 
| 79e0 |  65 66 61 75 6c 74 20 3a 69 6e 68 65 72 69 74 20    74 72 65 65 2d 73 69 74 74 65 72 2d 68 6c 2d 66  | efault.:inherit.tree-sitter-hl-f | 
| 7a00 |  61 63 65 3a 74 79 70 65 29 29 0a 20 20 22 46 61    63 65 20 66 6f 72 20 73 75 70 65 72 20 74 79 70  | ace:type))..."Face.for.super.typ | 
| 7a20 |  65 73 20 69 6e 20 64 65 66 69 6e 69 74 69 6f 6e    73 20 61 6e 64 20 74 79 70 65 20 63 6f 6e 73 74  | es.in.definitions.and.type.const | 
| 7a40 |  72 61 69 6e 74 73 2e 22 0a 20 20 3a 67 72 6f 75    70 20 27 74 72 65 65 2d 73 69 74 74 65 72 2d 68  | raints."...:group.'tree-sitter-h | 
| 7a60 |  6c 2d 66 61 63 65 73 29 0a 0a 3b 3b 3b 20 54 4f    44 4f 3a 20 52 65 6d 6f 76 65 20 74 68 69 73 3f  | l-faces)..;;;.TODO:.Remove.this? | 
| 7a80 |  0a 28 64 65 66 66 61 63 65 20 74 72 65 65 2d 73    69 74 74 65 72 2d 68 6c 2d 66 61 63 65 3a 63 6f  | .(defface.tree-sitter-hl-face:co | 
| 7aa0 |  6e 73 74 72 75 63 74 6f 72 0a 20 20 27 28 28 64    65 66 61 75 6c 74 20 3a 69 6e 68 65 72 69 74 20  | nstructor...'((default.:inherit. | 
| 7ac0 |  74 72 65 65 2d 73 69 74 74 65 72 2d 68 6c 2d 66    61 63 65 3a 74 79 70 65 29 29 0a 20 20 22 46 61  | tree-sitter-hl-face:type))..."Fa | 
| 7ae0 |  63 65 20 66 6f 72 20 63 6f 6e 73 74 72 75 63 74    6f 72 73 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27  | ce.for.constructors."...:group.' | 
| 7b00 |  74 72 65 65 2d 73 69 74 74 65 72 2d 68 6c 2d 66    61 63 65 73 29 0a 0a 3b 3b 3b 20 2d 2d 2d 2d 2d  | tree-sitter-hl-faces)..;;;.----- | 
| 7b20 |  2d 2d 2d 2d 2d 2d 2d 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  | -------------------------------. | 
| 7b40 |  3b 3b 3b 20 56 61 72 69 61 62 6c 65 73 2c 20 70    72 6f 70 65 72 74 69 65 73 2e 0a 0a 3b 3b 3b 20  | ;;;.Variables,.properties...;;;. | 
| 7b60 |  54 4f 44 4f 3a 20 41 64 64 20 76 61 72 69 61 62    6c 65 2e 75 73 65 3f 0a 28 64 65 66 66 61 63 65  | TODO:.Add.variable.use?.(defface | 
| 7b80 |  20 74 72 65 65 2d 73 69 74 74 65 72 2d 68 6c 2d    66 61 63 65 3a 76 61 72 69 61 62 6c 65 0a 20 20  | .tree-sitter-hl-face:variable... | 
| 7ba0 |  27 28 28 64 65 66 61 75 6c 74 20 3a 69 6e 68 65    72 69 74 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 76 61  | '((default.:inherit.font-lock-va | 
| 7bc0 |  72 69 61 62 6c 65 2d 6e 61 6d 65 2d 66 61 63 65    29 29 0a 20 20 22 46 61 63 65 20 66 6f 72 20 76  | riable-name-face))..."Face.for.v | 
| 7be0 |  61 72 69 61 62 6c 65 20 64 65 63 6c 61 72 61 74    69 6f 6e 73 2c 20 64 65 66 69 6e 69 74 69 6f 6e  | ariable.declarations,.definition | 
| 7c00 |  73 2c 20 62 69 6e 64 69 6e 67 73 20 61 6e 64 20    6d 75 74 61 74 69 6f 6e 73 2e 22 0a 20 20 3a 67  | s,.bindings.and.mutations."...:g | 
| 7c20 |  72 6f 75 70 20 27 74 72 65 65 2d 73 69 74 74 65    72 2d 68 6c 2d 66 61 63 65 73 29 0a 0a 28 64 65  | roup.'tree-sitter-hl-faces)..(de | 
| 7c40 |  66 66 61 63 65 20 74 72 65 65 2d 73 69 74 74 65    72 2d 68 6c 2d 66 61 63 65 3a 76 61 72 69 61 62  | fface.tree-sitter-hl-face:variab | 
| 7c60 |  6c 65 2e 70 61 72 61 6d 65 74 65 72 0a 20 20 27    28 28 64 65 66 61 75 6c 74 20 3a 69 6e 68 65 72  | le.parameter...'((default.:inher | 
| 7c80 |  69 74 20 74 72 65 65 2d 73 69 74 74 65 72 2d 68    6c 2d 66 61 63 65 3a 76 61 72 69 61 62 6c 65 29  | it.tree-sitter-hl-face:variable) | 
| 7ca0 |  29 0a 20 20 22 46 61 63 65 20 66 6f 72 20 66 75    6e 63 74 69 6f 6e 20 70 61 72 61 6d 65 74 65 72  | )..."Face.for.function.parameter | 
| 7cc0 |  73 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 74 72    65 65 2d 73 69 74 74 65 72 2d 68 6c 2d 66 61 63  | s."...:group.'tree-sitter-hl-fac | 
| 7ce0 |  65 73 29 0a 0a 28 64 65 66 66 61 63 65 20 74 72    65 65 2d 73 69 74 74 65 72 2d 68 6c 2d 66 61 63  | es)..(defface.tree-sitter-hl-fac | 
| 7d00 |  65 3a 76 61 72 69 61 62 6c 65 2e 62 75 69 6c 74    69 6e 0a 20 20 27 28 28 64 65 66 61 75 6c 74 20  | e:variable.builtin...'((default. | 
| 7d20 |  3a 69 6e 68 65 72 69 74 20 66 6f 6e 74 2d 6c 6f    63 6b 2d 62 75 69 6c 74 69 6e 2d 66 61 63 65 29  | :inherit.font-lock-builtin-face) | 
| 7d40 |  29 0a 20 20 22 46 61 63 65 20 66 6f 72 20 62 75    69 6c 74 69 6e 20 76 61 72 69 61 62 6c 65 73 2e  | )..."Face.for.builtin.variables. | 
| 7d60 |  22 0a 20 20 3a 67 72 6f 75 70 20 27 74 72 65 65    2d 73 69 74 74 65 72 2d 68 6c 2d 66 61 63 65 73  | "...:group.'tree-sitter-hl-faces | 
| 7d80 |  29 0a 0a 28 64 65 66 66 61 63 65 20 74 72 65 65    2d 73 69 74 74 65 72 2d 68 6c 2d 66 61 63 65 3a  | )..(defface.tree-sitter-hl-face: | 
| 7da0 |  76 61 72 69 61 62 6c 65 2e 73 70 65 63 69 61 6c    0a 20 20 27 28 28 64 65 66 61 75 6c 74 20 3a 69  | variable.special...'((default.:i | 
| 7dc0 |  6e 68 65 72 69 74 20 66 6f 6e 74 2d 6c 6f 63 6b    2d 77 61 72 6e 69 6e 67 2d 66 61 63 65 29 29 0a  | nherit.font-lock-warning-face)). | 
| 7de0 |  20 20 22 46 61 63 65 20 66 6f 72 20 5c 22 64 61    6e 67 65 72 6f 75 73 5c 22 20 76 61 72 69 61 62  | .."Face.for.\"dangerous\".variab | 
| 7e00 |  6c 65 73 2c 20 65 2e 67 2e 20 6d 75 74 61 62 6c    65 20 6f 72 20 64 79 6e 61 6d 69 63 61 6c 6c 79  | les,.e.g..mutable.or.dynamically | 
| 7e20 |  2d 62 6f 75 6e 64 2e 22 0a 20 20 3a 67 72 6f 75    70 20 27 74 72 65 65 2d 73 69 74 74 65 72 2d 68  | -bound."...:group.'tree-sitter-h | 
| 7e40 |  6c 2d 66 61 63 65 73 29 0a 0a 3b 3b 3b 20 54 4f    44 4f 3a 20 44 65 66 69 6e 65 20 61 20 6d 6f 72  | l-faces)..;;;.TODO:.Define.a.mor | 
| 7e60 |  65 20 73 65 6e 73 69 62 6c 65 20 64 65 66 61 75    6c 74 2e 0a 28 64 65 66 66 61 63 65 20 74 72 65  | e.sensible.default..(defface.tre | 
| 7e80 |  65 2d 73 69 74 74 65 72 2d 68 6c 2d 66 61 63 65    3a 70 72 6f 70 65 72 74 79 0a 20 20 27 28 28 64  | e-sitter-hl-face:property...'((d | 
| 7ea0 |  65 66 61 75 6c 74 20 3a 69 6e 68 65 72 69 74 20    66 6f 6e 74 2d 6c 6f 63 6b 2d 63 6f 6e 73 74 61  | efault.:inherit.font-lock-consta | 
| 7ec0 |  6e 74 2d 66 61 63 65 20 3a 73 6c 61 6e 74 20 69    74 61 6c 69 63 29 29 0a 20 20 22 46 61 63 65 20  | nt-face.:slant.italic))..."Face. | 
| 7ee0 |  66 6f 72 20 70 72 6f 70 65 72 74 69 65 73 2e 22    0a 20 20 3a 67 72 6f 75 70 20 27 74 72 65 65 2d  | for.properties."...:group.'tree- | 
| 7f00 |  73 69 74 74 65 72 2d 68 6c 2d 66 61 63 65 73 29    0a 0a 28 64 65 66 66 61 63 65 20 74 72 65 65 2d  | sitter-hl-faces)..(defface.tree- | 
| 7f20 |  73 69 74 74 65 72 2d 68 6c 2d 66 61 63 65 3a 70    72 6f 70 65 72 74 79 2e 64 65 66 69 6e 69 74 69  | sitter-hl-face:property.definiti | 
| 7f40 |  6f 6e 0a 20 20 27 28 28 64 65 66 61 75 6c 74 20    3a 69 6e 68 65 72 69 74 20 74 72 65 65 2d 73 69  | on...'((default.:inherit.tree-si | 
| 7f60 |  74 74 65 72 2d 68 6c 2d 66 61 63 65 3a 76 61 72    69 61 62 6c 65 2e 70 61 72 61 6d 65 74 65 72 29  | tter-hl-face:variable.parameter) | 
| 7f80 |  29 0a 20 20 22 46 61 63 65 20 66 6f 72 20 70 72    6f 70 65 72 74 79 20 64 65 63 6c 61 72 61 74 69  | )..."Face.for.property.declarati | 
| 7fa0 |  6f 6e 73 20 61 6e 64 20 64 65 66 69 6e 69 74 69    6f 6e 73 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27  | ons.and.definitions."...:group.' | 
| 7fc0 |  74 72 65 65 2d 73 69 74 74 65 72 2d 68 6c 2d 66    61 63 65 73 29 0a 0a 3b 3b 3b 20 2d 2d 2d 2d 2d  | tree-sitter-hl-faces)..;;;.----- | 
| 7fe0 |  2d 2d 2d 2d 2d 2d 2d 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  | -------------------------------. | 
| 8000 |  3b 3b 3b 20 53 74 72 69 6e 67 73 2c 20 63 6f 6d    6d 65 6e 74 73 2c 20 74 65 78 74 20 70 72 6f 73  | ;;;.Strings,.comments,.text.pros | 
| 8020 |  65 73 2e 0a 0a 28 64 65 66 66 61 63 65 20 74 72    65 65 2d 73 69 74 74 65 72 2d 68 6c 2d 66 61 63  | es...(defface.tree-sitter-hl-fac | 
| 8040 |  65 3a 63 6f 6d 6d 65 6e 74 0a 20 20 27 28 28 64    65 66 61 75 6c 74 20 3a 69 6e 68 65 72 69 74 20  | e:comment...'((default.:inherit. | 
| 8060 |  66 6f 6e 74 2d 6c 6f 63 6b 2d 63 6f 6d 6d 65 6e    74 2d 66 61 63 65 29 29 0a 20 20 22 46 61 63 65  | font-lock-comment-face))..."Face | 
| 8080 |  20 66 6f 72 20 63 6f 6d 6d 65 6e 74 73 2e 22 0a    20 20 3a 67 72 6f 75 70 20 27 74 72 65 65 2d 73  | .for.comments."...:group.'tree-s | 
| 80a0 |  69 74 74 65 72 2d 68 6c 2d 66 61 63 65 73 29 0a    0a 28 64 65 66 66 61 63 65 20 74 72 65 65 2d 73  | itter-hl-faces)..(defface.tree-s | 
| 80c0 |  69 74 74 65 72 2d 68 6c 2d 66 61 63 65 3a 64 6f    63 0a 20 20 27 28 28 64 65 66 61 75 6c 74 20 3a  | itter-hl-face:doc...'((default.: | 
| 80e0 |  69 6e 68 65 72 69 74 20 66 6f 6e 74 2d 6c 6f 63    6b 2d 64 6f 63 2d 66 61 63 65 29 29 0a 20 20 22  | inherit.font-lock-doc-face))..." | 
| 8100 |  46 61 63 65 20 66 6f 72 20 64 6f 63 73 74 72 69    6e 67 73 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27  | Face.for.docstrings."...:group.' | 
| 8120 |  74 72 65 65 2d 73 69 74 74 65 72 2d 68 6c 2d 66    61 63 65 73 29 0a 0a 28 64 65 66 66 61 63 65 20  | tree-sitter-hl-faces)..(defface. | 
| 8140 |  74 72 65 65 2d 73 69 74 74 65 72 2d 68 6c 2d 66    61 63 65 3a 73 74 72 69 6e 67 0a 20 20 27 28 28  | tree-sitter-hl-face:string...'(( | 
| 8160 |  64 65 66 61 75 6c 74 20 3a 69 6e 68 65 72 69 74    20 66 6f 6e 74 2d 6c 6f 63 6b 2d 73 74 72 69 6e  | default.:inherit.font-lock-strin | 
| 8180 |  67 2d 66 61 63 65 29 29 0a 20 20 22 46 61 63 65    20 66 6f 72 20 73 74 72 69 6e 67 73 2e 22 0a 20  | g-face))..."Face.for.strings.".. | 
| 81a0 |  20 3a 67 72 6f 75 70 20 27 74 72 65 65 2d 73 69    74 74 65 72 2d 68 6c 2d 66 61 63 65 73 29 0a 0a  | .:group.'tree-sitter-hl-faces).. | 
| 81c0 |  28 64 65 66 66 61 63 65 20 74 72 65 65 2d 73 69    74 74 65 72 2d 68 6c 2d 66 61 63 65 3a 73 74 72  | (defface.tree-sitter-hl-face:str | 
| 81e0 |  69 6e 67 2e 73 70 65 63 69 61 6c 0a 20 20 27 28    28 64 65 66 61 75 6c 74 20 3a 69 6e 68 65 72 69  | ing.special...'((default.:inheri | 
| 8200 |  74 20 74 72 65 65 2d 73 69 74 74 65 72 2d 68 6c    2d 66 61 63 65 3a 73 74 72 69 6e 67 20 3a 77 65  | t.tree-sitter-hl-face:string.:we | 
| 8220 |  69 67 68 74 20 62 6f 6c 64 29 29 0a 20 20 22 46    61 63 65 20 66 6f 72 20 73 70 65 63 69 61 6c 20  | ight.bold))..."Face.for.special. | 
| 8240 |  73 74 72 69 6e 67 73 2c 20 65 2e 67 2e 20 72 65    67 75 6c 61 72 20 65 78 70 72 65 73 73 69 6f 6e  | strings,.e.g..regular.expression | 
| 8260 |  73 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 74 72    65 65 2d 73 69 74 74 65 72 2d 68 6c 2d 66 61 63  | s."...:group.'tree-sitter-hl-fac | 
| 8280 |  65 73 29 0a 0a 28 64 65 66 66 61 63 65 20 74 72    65 65 2d 73 69 74 74 65 72 2d 68 6c 2d 66 61 63  | es)..(defface.tree-sitter-hl-fac | 
| 82a0 |  65 3a 65 73 63 61 70 65 0a 20 20 27 28 28 64 65    66 61 75 6c 74 20 3a 69 6e 68 65 72 69 74 20 66  | e:escape...'((default.:inherit.f | 
| 82c0 |  6f 6e 74 2d 6c 6f 63 6b 2d 6b 65 79 77 6f 72 64    2d 66 61 63 65 29 29 0a 20 20 22 46 61 63 65 20  | ont-lock-keyword-face))..."Face. | 
| 82e0 |  66 6f 72 20 65 73 63 61 70 65 20 63 68 61 72 61    63 74 65 72 73 20 69 6e 20 73 74 72 69 6e 67 73  | for.escape.characters.in.strings | 
| 8300 |  2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 74 72 65    65 2d 73 69 74 74 65 72 2d 68 6c 2d 66 61 63 65  | ."...:group.'tree-sitter-hl-face | 
| 8320 |  73 29 0a 0a 3b 3b 3b 20 54 4f 44 4f 3a 20 52 65    6e 61 6d 65 20 74 68 69 73 3f 0a 28 64 65 66 66  | s)..;;;.TODO:.Rename.this?.(deff | 
| 8340 |  61 63 65 20 74 72 65 65 2d 73 69 74 74 65 72 2d    68 6c 2d 66 61 63 65 3a 65 6d 62 65 64 64 65 64  | ace.tree-sitter-hl-face:embedded | 
| 8360 |  0a 20 20 27 28 28 64 65 66 61 75 6c 74 20 3a 69    6e 68 65 72 69 74 20 64 65 66 61 75 6c 74 29 29  | ...'((default.:inherit.default)) | 
| 8380 |  0a 20 20 22 46 61 63 65 20 66 6f 72 20 65 6d 62    65 64 64 65 64 20 65 78 70 72 65 73 73 69 6f 6e  | ..."Face.for.embedded.expression | 
| 83a0 |  73 20 61 6e 64 20 63 6f 64 65 20 66 72 61 67 6d    65 6e 74 73 2e 22 0a 20 20 3a 67 72 6f 75 70 20  | s.and.code.fragments."...:group. | 
| 83c0 |  27 74 72 65 65 2d 73 69 74 74 65 72 2d 68 6c 2d    66 61 63 65 73 29 0a 0a 3b 3b 3b 20 2d 2d 2d 2d  | 'tree-sitter-hl-faces)..;;;.---- | 
| 83e0 |  2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d    2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  | -------------------------------- | 
| 8400 |  0a 3b 3b 3b 20 41 74 6f 6d 69 63 73 2c 20 63 6f    6e 73 74 61 6e 74 73 2e 0a 0a 28 64 65 66 66 61  | .;;;.Atomics,.constants...(deffa | 
| 8420 |  63 65 20 74 72 65 65 2d 73 69 74 74 65 72 2d 68    6c 2d 66 61 63 65 3a 6b 65 79 77 6f 72 64 0a 20  | ce.tree-sitter-hl-face:keyword.. | 
| 8440 |  20 27 28 28 64 65 66 61 75 6c 74 20 3a 69 6e 68    65 72 69 74 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 6b  | .'((default.:inherit.font-lock-k | 
| 8460 |  65 79 77 6f 72 64 2d 66 61 63 65 29 29 0a 20 20    22 46 61 63 65 20 66 6f 72 20 6b 65 79 77 6f 72  | eyword-face))..."Face.for.keywor | 
| 8480 |  64 73 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 74    72 65 65 2d 73 69 74 74 65 72 2d 68 6c 2d 66 61  | ds."...:group.'tree-sitter-hl-fa | 
| 84a0 |  63 65 73 29 0a 0a 28 64 65 66 66 61 63 65 20 74    72 65 65 2d 73 69 74 74 65 72 2d 68 6c 2d 66 61  | ces)..(defface.tree-sitter-hl-fa | 
| 84c0 |  63 65 3a 6f 70 65 72 61 74 6f 72 0a 20 20 27 28    28 64 65 66 61 75 6c 74 20 3a 69 6e 68 65 72 69  | ce:operator...'((default.:inheri | 
| 84e0 |  74 20 74 72 65 65 2d 73 69 74 74 65 72 2d 68 6c    2d 66 61 63 65 3a 6b 65 79 77 6f 72 64 29 29 0a  | t.tree-sitter-hl-face:keyword)). | 
| 8500 |  20 20 22 46 61 63 65 20 66 6f 72 20 6f 70 65 72    61 74 6f 72 73 2e 22 0a 20 20 3a 67 72 6f 75 70  | .."Face.for.operators."...:group | 
| 8520 |  20 27 74 72 65 65 2d 73 69 74 74 65 72 2d 68 6c    2d 66 61 63 65 73 29 0a 0a 28 64 65 66 66 61 63  | .'tree-sitter-hl-faces)..(deffac | 
| 8540 |  65 20 74 72 65 65 2d 73 69 74 74 65 72 2d 68 6c    2d 66 61 63 65 3a 6c 61 62 65 6c 0a 20 20 27 28  | e.tree-sitter-hl-face:label...'( | 
| 8560 |  28 64 65 66 61 75 6c 74 20 3a 69 6e 68 65 72 69    74 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 70 72 65 70  | (default.:inherit.font-lock-prep | 
| 8580 |  72 6f 63 65 73 73 6f 72 2d 66 61 63 65 29 29 0a    20 20 22 46 61 63 65 20 66 6f 72 20 6c 61 62 65  | rocessor-face))..."Face.for.labe | 
| 85a0 |  6c 73 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 74    72 65 65 2d 73 69 74 74 65 72 2d 68 6c 2d 66 61  | ls."...:group.'tree-sitter-hl-fa | 
| 85c0 |  63 65 73 29 0a 0a 28 64 65 66 66 61 63 65 20 74    72 65 65 2d 73 69 74 74 65 72 2d 68 6c 2d 66 61  | ces)..(defface.tree-sitter-hl-fa | 
| 85e0 |  63 65 3a 63 6f 6e 73 74 61 6e 74 0a 20 20 27 28    28 64 65 66 61 75 6c 74 20 3a 69 6e 68 65 72 69  | ce:constant...'((default.:inheri | 
| 8600 |  74 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 63 6f 6e 73    74 61 6e 74 2d 66 61 63 65 29 29 0a 20 20 22 46  | t.font-lock-constant-face))..."F | 
| 8620 |  61 63 65 20 66 6f 72 20 63 6f 6e 73 74 61 6e 74    73 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 74 72  | ace.for.constants."...:group.'tr | 
| 8640 |  65 65 2d 73 69 74 74 65 72 2d 68 6c 2d 66 61 63    65 73 29 0a 0a 28 64 65 66 66 61 63 65 20 74 72  | ee-sitter-hl-faces)..(defface.tr | 
| 8660 |  65 65 2d 73 69 74 74 65 72 2d 68 6c 2d 66 61 63    65 3a 63 6f 6e 73 74 61 6e 74 2e 62 75 69 6c 74  | ee-sitter-hl-face:constant.built | 
| 8680 |  69 6e 0a 20 20 27 28 28 64 65 66 61 75 6c 74 20    3a 69 6e 68 65 72 69 74 20 66 6f 6e 74 2d 6c 6f  | in...'((default.:inherit.font-lo | 
| 86a0 |  63 6b 2d 62 75 69 6c 74 69 6e 2d 66 61 63 65 29    29 0a 20 20 22 46 61 63 65 20 66 6f 72 20 62 75  | ck-builtin-face))..."Face.for.bu | 
| 86c0 |  69 6c 74 69 6e 20 63 6f 6e 73 74 61 6e 74 73 2e    22 0a 20 20 3a 67 72 6f 75 70 20 27 74 72 65 65  | iltin.constants."...:group.'tree | 
| 86e0 |  2d 73 69 74 74 65 72 2d 68 6c 2d 66 61 63 65 73    29 0a 0a 28 64 65 66 66 61 63 65 20 74 72 65 65  | -sitter-hl-faces)..(defface.tree | 
| 8700 |  2d 73 69 74 74 65 72 2d 68 6c 2d 66 61 63 65 3a    6e 75 6d 62 65 72 0a 20 20 27 28 28 64 65 66 61  | -sitter-hl-face:number...'((defa | 
| 8720 |  75 6c 74 20 3a 69 6e 68 65 72 69 74 20 74 72 65    65 2d 73 69 74 74 65 72 2d 68 6c 2d 66 61 63 65  | ult.:inherit.tree-sitter-hl-face | 
| 8740 |  3a 63 6f 6e 73 74 61 6e 74 29 29 0a 20 20 22 46    61 63 65 20 66 6f 72 20 6e 75 6d 62 65 72 73 2e  | :constant))..."Face.for.numbers. | 
| 8760 |  22 0a 20 20 3a 67 72 6f 75 70 20 27 74 72 65 65    2d 73 69 74 74 65 72 2d 68 6c 2d 66 61 63 65 73  | "...:group.'tree-sitter-hl-faces | 
| 8780 |  29 0a 0a 3b 3b 3b 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  | )..;;;.------------------------- | 
| 87a0 |  2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 3b 3b 3b 20    50 75 6e 63 74 75 61 74 69 6f 6e 73 20 28 61 6b  | -----------.;;;.Punctuations.(ak | 
| 87c0 |  61 2e 20 73 68 6f 75 6c 64 2d 62 65 2d 64 69 6d    6d 65 64 29 2e 0a 0a 28 64 65 66 66 61 63 65 20  | a..should-be-dimmed)...(defface. | 
| 87e0 |  74 72 65 65 2d 73 69 74 74 65 72 2d 68 6c 2d 66    61 63 65 3a 70 75 6e 63 74 75 61 74 69 6f 6e 0a  | tree-sitter-hl-face:punctuation. | 
| 8800 |  20 20 27 28 28 64 65 66 61 75 6c 74 20 3a 69 6e    68 65 72 69 74 20 64 65 66 61 75 6c 74 29 29 0a  | ..'((default.:inherit.default)). | 
| 8820 |  20 20 22 46 61 63 65 20 66 6f 72 20 70 75 6e 63    74 75 61 74 69 6f 6e 73 2e 22 0a 20 20 3a 67 72  | .."Face.for.punctuations."...:gr | 
| 8840 |  6f 75 70 20 27 74 72 65 65 2d 73 69 74 74 65 72    2d 68 6c 2d 66 61 63 65 73 29 0a 0a 28 64 65 66  | oup.'tree-sitter-hl-faces)..(def | 
| 8860 |  66 61 63 65 20 74 72 65 65 2d 73 69 74 74 65 72    2d 68 6c 2d 66 61 63 65 3a 70 75 6e 63 74 75 61  | face.tree-sitter-hl-face:punctua | 
| 8880 |  74 69 6f 6e 2e 62 72 61 63 6b 65 74 0a 20 20 27    28 28 64 65 66 61 75 6c 74 20 3a 69 6e 68 65 72  | tion.bracket...'((default.:inher | 
| 88a0 |  69 74 20 74 72 65 65 2d 73 69 74 74 65 72 2d 68    6c 2d 66 61 63 65 3a 70 75 6e 63 74 75 61 74 69  | it.tree-sitter-hl-face:punctuati | 
| 88c0 |  6f 6e 29 29 0a 20 20 22 46 61 63 65 20 66 6f 72    20 62 72 61 63 6b 65 74 73 2e 22 0a 20 20 3a 67  | on))..."Face.for.brackets."...:g | 
| 88e0 |  72 6f 75 70 20 27 74 72 65 65 2d 73 69 74 74 65    72 2d 68 6c 2d 66 61 63 65 73 29 0a 0a 28 64 65  | roup.'tree-sitter-hl-faces)..(de | 
| 8900 |  66 66 61 63 65 20 74 72 65 65 2d 73 69 74 74 65    72 2d 68 6c 2d 66 61 63 65 3a 70 75 6e 63 74 75  | fface.tree-sitter-hl-face:punctu | 
| 8920 |  61 74 69 6f 6e 2e 64 65 6c 69 6d 69 74 65 72 0a    20 20 27 28 28 64 65 66 61 75 6c 74 20 3a 69 6e  | ation.delimiter...'((default.:in | 
| 8940 |  68 65 72 69 74 20 74 72 65 65 2d 73 69 74 74 65    72 2d 68 6c 2d 66 61 63 65 3a 70 75 6e 63 74 75  | herit.tree-sitter-hl-face:punctu | 
| 8960 |  61 74 69 6f 6e 29 29 0a 20 20 22 46 61 63 65 20    66 6f 72 20 64 65 6c 69 6d 69 74 65 72 73 2e 22  | ation))..."Face.for.delimiters." | 
| 8980 |  0a 20 20 3a 67 72 6f 75 70 20 27 74 72 65 65 2d    73 69 74 74 65 72 2d 68 6c 2d 66 61 63 65 73 29  | ...:group.'tree-sitter-hl-faces) | 
| 89a0 |  0a 0a 28 64 65 66 66 61 63 65 20 74 72 65 65 2d    73 69 74 74 65 72 2d 68 6c 2d 66 61 63 65 3a 70  | ..(defface.tree-sitter-hl-face:p | 
| 89c0 |  75 6e 63 74 75 61 74 69 6f 6e 2e 73 70 65 63 69    61 6c 0a 20 20 27 28 28 64 65 66 61 75 6c 74 20  | unctuation.special...'((default. | 
| 89e0 |  3a 69 6e 68 65 72 69 74 20 74 72 65 65 2d 73 69    74 74 65 72 2d 68 6c 2d 66 61 63 65 3a 6b 65 79  | :inherit.tree-sitter-hl-face:key | 
| 8a00 |  77 6f 72 64 29 29 0a 20 20 22 46 61 63 65 20 66    6f 72 20 73 70 65 63 69 61 6c 20 70 75 6e 63 74  | word))..."Face.for.special.punct | 
| 8a20 |  75 61 74 69 6f 6e 73 2e 22 0a 20 20 3a 67 72 6f    75 70 20 27 74 72 65 65 2d 73 69 74 74 65 72 2d  | uations."...:group.'tree-sitter- | 
| 8a40 |  68 6c 2d 66 61 63 65 73 29 0a 0a 3b 3b 3b 20 2d    2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  | hl-faces)..;;;.----------------- | 
| 8a60 |  2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d    2d 2d 2d 0a 3b 3b 3b 20 4d 61 72 6b 75 70 73 2e  | -------------------.;;;.Markups. | 
| 8a80 |  0a 0a 28 64 65 66 66 61 63 65 20 74 72 65 65 2d    73 69 74 74 65 72 2d 68 6c 2d 66 61 63 65 3a 74  | ..(defface.tree-sitter-hl-face:t | 
| 8aa0 |  61 67 0a 20 20 27 28 28 64 65 66 61 75 6c 74 20    3a 69 6e 68 65 72 69 74 20 66 6f 6e 74 2d 6c 6f  | ag...'((default.:inherit.font-lo | 
| 8ac0 |  63 6b 2d 62 75 69 6c 74 69 6e 2d 66 61 63 65 29    29 0a 20 20 22 46 61 63 65 20 66 6f 72 20 74 61  | ck-builtin-face))..."Face.for.ta | 
| 8ae0 |  67 73 20 69 6e 20 6d 61 72 6b 75 70 20 6c 61 6e    67 75 61 67 65 73 2e 22 0a 20 20 3a 67 72 6f 75  | gs.in.markup.languages."...:grou | 
| 8b00 |  70 20 27 74 72 65 65 2d 73 69 74 74 65 72 2d 68    6c 2d 66 61 63 65 73 29 0a 0a 28 64 65 66 66 61  | p.'tree-sitter-hl-faces)..(deffa | 
| 8b20 |  63 65 20 74 72 65 65 2d 73 69 74 74 65 72 2d 68    6c 2d 66 61 63 65 3a 61 74 74 72 69 62 75 74 65  | ce.tree-sitter-hl-face:attribute | 
| 8b40 |  0a 20 20 27 28 28 64 65 66 61 75 6c 74 20 3a 69    6e 68 65 72 69 74 20 66 6f 6e 74 2d 6c 6f 63 6b  | ...'((default.:inherit.font-lock | 
| 8b60 |  2d 70 72 65 70 72 6f 63 65 73 73 6f 72 2d 66 61    63 65 29 29 0a 20 20 22 46 61 63 65 20 66 6f 72  | -preprocessor-face))..."Face.for | 
| 8b80 |  20 61 74 74 72 69 62 75 74 65 73 20 6d 61 72 6b    75 70 20 6c 61 6e 67 75 61 67 65 73 2e 22 0a 20  | .attributes.markup.languages.".. | 
| 8ba0 |  20 3a 67 72 6f 75 70 20 27 74 72 65 65 2d 73 69    74 74 65 72 2d 68 6c 2d 66 61 63 65 73 29 0a 0a  | .:group.'tree-sitter-hl-faces).. | 
| 8bc0 |  3b 3b 3b 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  | ;;;.---------------------------- | 
| 8be0 |  2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d    2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  | -------------------------------- | 
| 8c00 |  2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d    0a 3b 3b 3b 20 49 6e 74 65 72 66 61 63 65 73 20  | ----------------.;;;.Interfaces. | 
| 8c20 |  66 6f 72 20 6d 6f 64 65 73 20 61 6e 64 20 65 6e    64 20 75 73 65 72 73 2e 0a 0a 28 64 65 66 63 75  | for.modes.and.end.users...(defcu | 
| 8c40 |  73 74 6f 6d 20 74 72 65 65 2d 73 69 74 74 65 72    2d 68 6c 2d 75 73 65 2d 66 6f 6e 74 2d 6c 6f 63  | stom.tree-sitter-hl-use-font-loc | 
| 8c60 |  6b 2d 6b 65 79 77 6f 72 64 73 20 3a 65 78 63 65    70 74 2d 66 6f 6e 74 2d 6c 6f 63 6b 2d 64 65 66  | k-keywords.:except-font-lock-def | 
| 8c80 |  61 75 6c 74 73 0a 20 20 22 57 68 65 74 68 65 72    20 74 6f 20 6b 65 65 70 20 75 73 69 6e 67 20 74  | aults..."Whether.to.keep.using.t | 
| 8ca0 |  68 65 20 68 69 67 68 6c 69 67 68 74 69 6e 67 20    70 72 6f 76 69 64 65 64 20 62 79 20 60 66 6f 6e  | he.highlighting.provided.by.`fon | 
| 8cc0 |  74 2d 6c 6f 63 6b 2d 6b 65 79 77 6f 72 64 73 27    2e 0a 49 66 20 60 3a 65 78 63 65 70 74 2d 66 6f  | t-lock-keywords'..If.`:except-fo | 
| 8ce0 |  6e 74 2d 6c 6f 63 6b 2d 64 65 66 61 75 6c 74 73    27 2c 20 74 68 65 6e 20 6b 65 79 77 6f 72 64 73  | nt-lock-defaults',.then.keywords | 
| 8d00 |  20 73 70 65 63 69 66 69 65 64 20 62 79 20 60 66    6f 6e 74 2d 6c 6f 63 6b 2d 64 65 66 61 75 6c 74  | .specified.by.`font-lock-default | 
| 8d20 |  73 27 0a 61 72 65 20 69 67 6e 6f 72 65 64 2c 20    77 68 69 6c 65 20 6b 65 79 77 6f 72 64 73 20 61  | s'.are.ignored,.while.keywords.a | 
| 8d40 |  64 64 65 64 20 74 68 72 6f 75 67 68 20 60 66 6f    6e 74 2d 6c 6f 63 6b 2d 61 64 64 2d 6b 65 79 77  | dded.through.`font-lock-add-keyw | 
| 8d60 |  6f 72 64 73 27 20 61 72 65 20 75 73 65 64 2e 20    54 68 65 0a 66 6f 72 6d 65 72 20 69 73 20 74 79  | ords'.are.used..The.former.is.ty | 
| 8d80 |  70 69 63 61 6c 6c 79 20 73 65 74 20 62 79 20 6d    61 6a 6f 72 20 6d 6f 64 65 73 2c 20 77 68 69 6c  | pically.set.by.major.modes,.whil | 
| 8da0 |  65 20 74 68 65 20 6c 61 74 74 65 72 20 69 73 20    75 73 75 61 6c 6c 79 20 73 65 74 20 62 79 20 6d  | e.the.latter.is.usually.set.by.m | 
| 8dc0 |  69 6e 6f 72 0a 6d 6f 64 65 73 20 61 6e 64 20 65    6e 64 20 75 73 65 72 73 2e 22 0a 20 20 3a 67 72  | inor.modes.and.end.users."...:gr | 
| 8de0 |  6f 75 70 20 27 74 72 65 65 2d 73 69 74 74 65 72    2d 68 6c 0a 20 20 3a 74 79 70 65 20 27 28 63 68  | oup.'tree-sitter-hl...:type.'(ch | 
| 8e00 |  6f 69 63 65 20 28 63 6f 6e 73 74 20 3a 74 61 67    20 22 59 65 73 22 20 74 29 0a 20 20 20 20 20 20  | oice.(const.:tag."Yes".t)....... | 
| 8e20 |  20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73    74 20 3a 74 61 67 20 22 4e 6f 22 20 6e 69 6c 29  | ...........(const.:tag."No".nil) | 
| 8e40 |  0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 63 6f 6e 73 74 20 3a 74 61 67 20 22 45  | ..................(const.:tag."E | 
| 8e60 |  78 63 65 70 74 20 60 66 6f 6e 74 2d 6c 6f 63 6b    2d 64 65 66 61 75 6c 74 73 27 22 20 3a 65 78 63  | xcept.`font-lock-defaults'".:exc | 
| 8e80 |  65 70 74 2d 66 6f 6e 74 2d 6c 6f 63 6b 2d 64 65    66 61 75 6c 74 73 29 29 29 0a 0a 28 64 65 66 63  | ept-font-lock-defaults)))..(defc | 
| 8ea0 |  75 73 74 6f 6d 20 74 72 65 65 2d 73 69 74 74 65    72 2d 68 6c 2d 66 61 63 65 2d 6d 61 70 70 69 6e  | ustom.tree-sitter-hl-face-mappin | 
| 8ec0 |  67 2d 66 75 6e 63 74 69 6f 6e 0a 20 20 23 27 74    72 65 65 2d 73 69 74 74 65 72 2d 68 6c 2d 66 61  | g-function...#'tree-sitter-hl-fa | 
| 8ee0 |  63 65 2d 66 72 6f 6d 2d 63 6f 6d 6d 6f 6e 2d 73    63 6f 70 65 0a 20 20 22 46 75 6e 63 74 69 6f 6e  | ce-from-common-scope..."Function | 
| 8f00 |  20 75 73 65 64 20 74 6f 20 6d 61 70 20 63 61 70    74 75 72 65 20 6e 61 6d 65 73 20 69 6e 20 71 75  | .used.to.map.capture.names.in.qu | 
| 8f20 |  65 72 79 20 70 61 74 74 65 72 6e 73 20 74 6f 20    68 69 67 68 6c 69 67 68 74 69 6e 67 20 66 61 63  | ery.patterns.to.highlighting.fac | 
| 8f40 |  65 73 2e 0a 54 68 69 73 20 63 61 6e 20 61 6c 73    6f 20 62 65 20 75 73 65 64 20 74 6f 20 73 65 6c  | es..This.can.also.be.used.to.sel | 
| 8f60 |  65 63 74 69 76 65 6c 79 20 64 69 73 61 62 6c 65    20 63 65 72 74 61 69 6e 20 63 61 70 74 75 72 65  | ectively.disable.certain.capture | 
| 8f80 |  20 6e 61 6d 65 73 2e 20 46 6f 72 20 65 78 61 6d    70 6c 65 2c 0a 74 68 65 20 66 6f 6c 6c 6f 77 69  | .names..For.example,.the.followi | 
| 8fa0 |  6e 67 20 63 6f 64 65 20 64 69 73 61 62 6c 65 73    20 6b 65 79 77 6f 72 64 20 68 69 67 68 6c 69 67  | ng.code.disables.keyword.highlig | 
| 8fc0 |  68 74 69 6e 67 3a 0a 0a 20 28 61 64 64 2d 66 75    6e 63 74 69 6f 6e 20 3a 62 65 66 6f 72 65 2d 77  | hting:...(add-function.:before-w | 
| 8fe0 |  68 69 6c 65 20 27 74 72 65 65 2d 73 69 74 74 65    72 2d 68 6c 2d 66 61 63 65 2d 6d 61 70 70 69 6e  | hile.'tree-sitter-hl-face-mappin | 
| 9000 |  67 2d 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64  | g-function................(lambd | 
| 9020 |  61 20 28 63 61 70 74 75 72 65 2d 6e 61 6d 65 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | a.(capture-name)................ | 
| 9040 |  20 20 28 6e 6f 74 20 28 73 74 72 69 6e 67 3d 20    63 61 70 74 75 72 65 2d 6e 61 6d 65 20 5c 22 6b  | ..(not.(string=.capture-name.\"k | 
| 9060 |  65 79 77 6f 72 64 5c 22 29 29 29 29 22 0a 20 20    3a 67 72 6f 75 70 20 27 74 72 65 65 2d 73 69 74  | eyword\"))))"...:group.'tree-sit | 
| 9080 |  74 65 72 2d 68 6c 0a 20 20 3a 74 79 70 65 20 27    66 75 6e 63 74 69 6f 6e 29 0a 0a 28 64 65 66 76  | ter-hl...:type.'function)..(defv | 
| 90a0 |  61 72 2d 6c 6f 63 61 6c 20 74 72 65 65 2d 73 69    74 74 65 72 2d 68 6c 2d 64 65 66 61 75 6c 74 2d  | ar-local.tree-sitter-hl-default- | 
| 90c0 |  70 61 74 74 65 72 6e 73 20 6e 69 6c 0a 20 20 22    44 65 66 61 75 6c 74 20 73 79 6e 74 61 78 20 68  | patterns.nil..."Default.syntax.h | 
| 90e0 |  69 67 68 6c 69 67 68 74 69 6e 67 20 70 61 74 74    65 72 6e 73 2e 0a 54 68 69 73 20 73 68 6f 75 6c  | ighlighting.patterns..This.shoul | 
| 9100 |  64 20 62 65 20 73 65 74 20 62 79 20 6d 61 6a 6f    72 20 6d 6f 64 65 73 20 74 68 61 74 20 77 61 6e  | d.be.set.by.major.modes.that.wan | 
| 9120 |  74 20 74 6f 20 69 6e 74 65 67 72 61 74 65 20 77    69 74 68 20 60 74 72 65 65 2d 73 69 74 74 65 72  | t.to.integrate.with.`tree-sitter | 
| 9140 |  2d 68 6c 27 2e 0a 49 74 20 70 6c 61 79 73 20 61    20 73 69 6d 69 6c 61 72 20 72 6f 6c 65 20 74 6f  | -hl'..It.plays.a.similar.role.to | 
| 9160 |  20 60 66 6f 6e 74 2d 6c 6f 63 6b 2d 64 65 66 61    75 6c 74 73 27 2e 0a 0a 49 74 20 69 73 20 65 69  | .`font-lock-defaults'...It.is.ei | 
| 9180 |  74 68 65 72 20 61 20 73 74 72 69 6e 67 2c 20 6f    72 20 61 20 76 65 63 74 6f 72 20 6f 66 20 53 2d  | ther.a.string,.or.a.vector.of.S- | 
| 91a0 |  65 78 70 72 65 73 73 69 6f 6e 73 2e 20 46 6f 72    20 6d 6f 72 65 20 64 65 74 61 69 6c 73 20 6f 6e  | expressions..For.more.details.on | 
| 91c0 |  20 74 68 65 0a 73 79 6e 74 61 78 2c 20 73 65 65    20 68 74 74 70 73 3a 2f 2f 65 6d 61 63 73 2d 74  | .the.syntax,.see.https://emacs-t | 
| 91e0 |  72 65 65 2d 73 69 74 74 65 72 2e 67 69 74 68 75    62 2e 69 6f 2f 73 79 6e 74 61 78 2d 68 69 67 68  | ree-sitter.github.io/syntax-high | 
| 9200 |  6c 69 67 68 74 69 6e 67 2f 71 75 65 72 69 65 73    2f 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 74 72  | lighting/queries/.")..(defvar.tr | 
| 9220 |  65 65 2d 73 69 74 74 65 72 2d 68 6c 2d 2d 70 61    74 74 65 72 6e 73 2d 61 6c 69 73 74 20 6e 69 6c  | ee-sitter-hl--patterns-alist.nil | 
| 9240 |  0a 20 20 22 41 64 64 69 74 69 6f 6e 61 6c 20 6c    61 6e 67 75 61 67 65 2d 73 70 65 63 69 66 69 63  | ..."Additional.language-specific | 
| 9260 |  20 73 79 6e 74 61 78 20 68 69 67 68 6c 69 67 68    74 69 6e 67 20 70 61 74 74 65 72 6e 73 2e 0a 49  | .syntax.highlighting.patterns..I | 
| 9280 |  74 20 70 6c 61 79 73 20 61 20 73 69 6d 69 6c 61    72 20 72 6f 6c 65 20 74 6f 20 60 66 6f 6e 74 2d  | t.plays.a.similar.role.to.`font- | 
| 92a0 |  6c 6f 63 6b 2d 6b 65 79 77 6f 72 64 73 2d 61 6c    69 73 74 27 2c 20 65 78 63 65 70 74 20 74 68 61  | lock-keywords-alist',.except.tha | 
| 92c0 |  74 20 69 74 73 20 6b 65 79 73 20 61 72 65 0a 6c    61 6e 67 75 61 67 65 20 73 79 6d 62 6f 6c 73 2c  | t.its.keys.are.language.symbols, | 
| 92e0 |  20 6e 6f 74 20 6d 61 6a 6f 72 20 6d 6f 64 65 20    73 79 6d 62 6f 6c 73 2e 22 29 0a 28 70 75 74 20  | .not.major.mode.symbols.").(put. | 
| 9300 |  27 74 72 65 65 2d 73 69 74 74 65 72 2d 68 6c 2d    2d 70 61 74 74 65 72 6e 73 2d 61 6c 69 73 74 20  | 'tree-sitter-hl--patterns-alist. | 
| 9320 |  27 72 69 73 6b 79 2d 6c 6f 63 61 6c 2d 76 61 72    69 61 62 6c 65 20 74 29 0a 0a 28 64 65 66 76 61  | 'risky-local-variable.t)..(defva | 
| 9340 |  72 2d 6c 6f 63 61 6c 20 74 72 65 65 2d 73 69 74    74 65 72 2d 68 6c 2d 2d 65 78 74 72 61 2d 70 61  | r-local.tree-sitter-hl--extra-pa | 
| 9360 |  74 74 65 72 6e 73 2d 6c 69 73 74 20 6e 69 6c 0a    20 20 22 41 64 64 69 74 69 6f 6e 61 6c 20 62 75  | tterns-list.nil..."Additional.bu | 
| 9380 |  66 66 65 72 2d 6c 6f 63 61 6c 20 73 79 6e 74 61    78 20 68 69 67 68 6c 69 67 68 74 69 6e 67 20 70  | ffer-local.syntax.highlighting.p | 
| 93a0 |  61 74 74 65 72 6e 73 2e 22 29 0a 0a 28 64 65 66    76 61 72 2d 6c 6f 63 61 6c 20 74 72 65 65 2d 73  | atterns.")..(defvar-local.tree-s | 
| 93c0 |  69 74 74 65 72 2d 68 6c 2d 2d 71 75 65 72 79 20    6e 69 6c 0a 20 20 22 54 72 65 65 20 71 75 65 72  | itter-hl--query.nil..."Tree.quer | 
| 93e0 |  79 20 75 73 65 64 20 66 6f 72 20 73 79 6e 74 61    78 20 68 69 67 68 6c 69 67 68 74 69 6e 67 2c 20  | y.used.for.syntax.highlighting,. | 
| 9400 |  63 6f 6d 70 69 6c 65 64 20 66 72 6f 6d 20 70 61    74 74 65 72 6e 73 2e 22 29 0a 0a 28 64 65 66 75  | compiled.from.patterns.")..(defu | 
| 9420 |  6e 20 74 72 65 65 2d 73 69 74 74 65 72 2d 68 6c    2d 2d 65 6e 73 75 72 65 2d 71 75 65 72 79 20 28  | n.tree-sitter-hl--ensure-query.( | 
| 9440 |  29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20    74 72 65 65 20 71 75 65 72 79 20 74 6f 20 62 65  | )..."Return.the.tree.query.to.be | 
| 9460 |  20 75 73 65 64 20 66 6f 72 20 73 79 6e 74 61 78    20 68 69 67 68 6c 69 67 68 74 69 6e 67 20 69 6e  | .used.for.syntax.highlighting.in | 
| 9480 |  20 74 68 69 73 20 62 75 66 66 65 72 2e 22 0a 20    20 28 75 6e 6c 65 73 73 20 74 72 65 65 2d 73 69  | .this.buffer."...(unless.tree-si | 
| 94a0 |  74 74 65 72 2d 68 6c 2d 2d 71 75 65 72 79 0a 20    20 20 20 28 73 65 74 71 20 74 72 65 65 2d 73 69  | tter-hl--query.....(setq.tree-si | 
| 94c0 |  74 74 65 72 2d 68 6c 2d 2d 71 75 65 72 79 0a 20    20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 74  | tter-hl--query...........(when.t | 
| 94e0 |  72 65 65 2d 73 69 74 74 65 72 2d 68 6c 2d 64 65    66 61 75 6c 74 2d 70 61 74 74 65 72 6e 73 0a 20  | ree-sitter-hl-default-patterns.. | 
| 9500 |  20 20 20 20 20 20 20 20 20 20 20 28 74 73 63 2d    6d 61 6b 65 2d 71 75 65 72 79 0a 20 20 20 20 20  | ...........(tsc-make-query...... | 
| 9520 |  20 20 20 20 20 20 20 20 74 72 65 65 2d 73 69 74    74 65 72 2d 6c 61 6e 67 75 61 67 65 0a 20 20 20  | ........tree-sitter-language.... | 
| 9540 |  20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 6f    6e 63 61 74 20 23 27 74 73 63 2d 2d 73 74 72 69  | ..........(mapconcat.#'tsc--stri | 
| 9560 |  6e 67 69 66 79 2d 70 61 74 74 65 72 6e 73 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ngify-patterns.................. | 
| 9580 |  20 20 20 20 20 20 20 28 61 70 70 65 6e 64 20 74    72 65 65 2d 73 69 74 74 65 72 2d 68 6c 2d 2d 65  | .......(append.tree-sitter-hl--e | 
| 95a0 |  78 74 72 61 2d 70 61 74 74 65 72 6e 73 2d 6c 69    73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  | xtra-patterns-list.............. | 
| 95c0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 61 6c 69 73 74 2d 67 65 74 20 28 74  | ...................(alist-get.(t | 
| 95e0 |  73 63 2d 2d 6c 61 6e 67 2d 73 79 6d 62 6f 6c 20    74 72 65 65 2d 73 69 74 74 65 72 2d 6c 61 6e 67  | sc--lang-symbol.tree-sitter-lang | 
| 9600 |  75 61 67 65 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  | uage)........................... | 
| 9620 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 74 72 65 65 2d 73 69 74 74 65 72 2d 68 6c 2d  | .................tree-sitter-hl- | 
| 9640 |  2d 70 61 74 74 65 72 6e 73 2d 61 6c 69 73 74 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | -patterns-alist)................ | 
| 9660 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 6c 69 73 74 20 74 72 65 65 2d 73 69 74 74  | .................(list.tree-sitt | 
| 9680 |  65 72 2d 68 6c 2d 64 65 66 61 75 6c 74 2d 70 61    74 74 65 72 6e 73 29 29 0a 20 20 20 20 20 20 20  | er-hl-default-patterns))........ | 
| 96a0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 22 5c 6e 22 29 0a 20 20 20 20 20 20 20 20 20  | ................."\n").......... | 
| 96c0 |  20 20 20 20 74 72 65 65 2d 73 69 74 74 65 72 2d    68 6c 2d 66 61 63 65 2d 6d 61 70 70 69 6e 67 2d  | ....tree-sitter-hl-face-mapping- | 
| 96e0 |  66 75 6e 63 74 69 6f 6e 29 29 29 29 0a 20 20 74    72 65 65 2d 73 69 74 74 65 72 2d 68 6c 2d 2d 71  | function))))...tree-sitter-hl--q | 
| 9700 |  75 65 72 79 29 0a 0a 28 64 65 66 75 6e 20 74 72    65 65 2d 73 69 74 74 65 72 2d 68 6c 2d 66 61 63  | uery)..(defun.tree-sitter-hl-fac | 
| 9720 |  65 2d 66 72 6f 6d 2d 63 6f 6d 6d 6f 6e 2d 73 63    6f 70 65 20 28 63 61 70 74 75 72 65 2d 6e 61 6d  | e-from-common-scope.(capture-nam | 
| 9740 |  65 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65    20 64 65 66 61 75 6c 74 20 66 61 63 65 20 75 73  | e)..."Return.the.default.face.us | 
| 9760 |  65 64 20 74 6f 20 68 69 67 68 6c 69 67 68 74 20    43 41 50 54 55 52 45 2d 4e 41 4d 45 2e 22 0a 20  | ed.to.highlight.CAPTURE-NAME.".. | 
| 9780 |  20 3b 3b 20 54 4f 44 4f 3a 20 49 66 20 61 20 73    63 6f 70 65 20 64 6f 65 73 20 6e 6f 74 20 68 61  | .;;.TODO:.If.a.scope.does.not.ha | 
| 97a0 |  76 65 20 61 20 63 6f 72 72 65 73 70 6f 6e 64 69    6e 67 20 66 61 63 65 2c 20 63 68 65 63 6b 20 69  | ve.a.corresponding.face,.check.i | 
| 97c0 |  74 73 20 61 6e 63 65 73 74 6f 72 73 2e 0a 20 20    28 69 6e 74 65 72 6e 20 28 66 6f 72 6d 61 74 20  | ts.ancestors....(intern.(format. | 
| 97e0 |  22 74 72 65 65 2d 73 69 74 74 65 72 2d 68 6c 2d    66 61 63 65 3a 25 73 22 20 63 61 70 74 75 72 65  | "tree-sitter-hl-face:%s".capture | 
| 9800 |  2d 6e 61 6d 65 29 29 29 0a 0a 3b 3b 3b 23 23 23    61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20  | -name)))..;;;###autoload.(defun. | 
| 9820 |  74 72 65 65 2d 73 69 74 74 65 72 2d 68 6c 2d 61    64 64 2d 70 61 74 74 65 72 6e 73 20 28 6c 61 6e  | tree-sitter-hl-add-patterns.(lan | 
| 9840 |  67 2d 73 79 6d 62 6f 6c 20 70 61 74 74 65 72 6e    73 29 0a 20 20 22 41 64 64 20 63 75 73 74 6f 6d  | g-symbol.patterns)..."Add.custom | 
| 9860 |  20 73 79 6e 74 61 78 20 68 69 67 68 6c 69 67 68    74 69 6e 67 20 50 41 54 54 45 52 4e 53 2e 0a 49  | .syntax.highlighting.PATTERNS..I | 
| 9880 |  66 20 4c 41 4e 47 2d 53 59 4d 42 4f 4c 20 69 73    20 6e 6f 6e 2d 6e 69 6c 2c 20 69 74 20 69 64 65  | f.LANG-SYMBOL.is.non-nil,.it.ide | 
| 98a0 |  6e 74 69 66 69 65 73 20 74 68 65 20 6c 61 6e 67    75 61 67 65 20 74 68 61 74 20 50 41 54 54 45 52  | ntifies.the.language.that.PATTER | 
| 98c0 |  4e 53 20 73 68 6f 75 6c 64 20 62 65 0a 61 70 70    6c 69 65 64 20 74 6f 2e 20 49 66 20 4c 41 4e 47  | NS.should.be.applied.to..If.LANG | 
| 98e0 |  2d 53 59 4d 42 4f 4c 20 69 73 20 6e 69 6c 2c 20    50 41 54 54 45 52 4e 53 20 61 72 65 20 61 70 70  | -SYMBOL.is.nil,.PATTERNS.are.app | 
| 9900 |  6c 69 65 64 20 74 6f 20 74 68 65 20 63 75 72 72    65 6e 74 20 62 75 66 66 65 72 2c 0a 61 6e 64 20  | lied.to.the.current.buffer,.and. | 
| 9920 |  61 72 65 20 70 72 69 6f 72 69 74 69 7a 65 64 20    6f 76 65 72 20 6c 61 6e 67 75 61 67 65 2d 73 70  | are.prioritized.over.language-sp | 
| 9940 |  65 63 69 66 69 63 20 70 61 74 74 65 72 6e 73 2e    20 45 69 74 68 65 72 20 77 61 79 2c 20 50 41 54  | ecific.patterns..Either.way,.PAT | 
| 9960 |  54 45 52 4e 53 20 61 72 65 0a 70 72 69 6f 72 69    74 69 7a 65 64 20 6f 76 65 72 20 60 74 72 65 65  | TERNS.are.prioritized.over.`tree | 
| 9980 |  2d 73 69 74 74 65 72 2d 68 6c 2d 64 65 66 61 75    6c 74 2d 70 61 74 74 65 72 6e 73 27 2e 0a 0a 54  | -sitter-hl-default-patterns'...T | 
| 99a0 |  68 69 73 20 66 75 6e 63 74 69 6f 6e 20 73 68 6f    75 6c 64 20 62 65 20 75 73 65 64 20 62 79 20 6d  | his.function.should.be.used.by.m | 
| 99c0 |  69 6e 6f 72 20 6d 6f 64 65 73 20 61 6e 64 20 63    6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 63 6f 64  | inor.modes.and.configuration.cod | 
| 99e0 |  65 2e 20 4d 61 6a 6f 72 20 6d 6f 64 65 73 0a 73    68 6f 75 6c 64 20 73 65 74 20 60 74 72 65 65 2d  | e..Major.modes.should.set.`tree- | 
| 9a00 |  73 69 74 74 65 72 2d 68 6c 2d 64 65 66 61 75 6c    74 2d 70 61 74 74 65 72 6e 73 27 20 69 6e 73 74  | sitter-hl-default-patterns'.inst | 
| 9a20 |  65 61 64 2e 22 0a 20 20 28 64 65 63 6c 61 72 65    20 28 69 6e 64 65 6e 74 20 31 29 29 0a 20 20 28  | ead."...(declare.(indent.1))...( | 
| 9a40 |  69 66 20 6c 61 6e 67 2d 73 79 6d 62 6f 6c 0a 20    20 20 20 20 20 28 74 72 65 65 2d 73 69 74 74 65  | if.lang-symbol.......(tree-sitte | 
| 9a60 |  72 2d 68 6c 2d 2d 61 64 64 2d 70 61 74 74 65 72    6e 73 2d 66 6f 72 2d 6c 61 6e 67 75 61 67 65 20  | r-hl--add-patterns-for-language. | 
| 9a80 |  6c 61 6e 67 2d 73 79 6d 62 6f 6c 20 70 61 74 74    65 72 6e 73 29 0a 20 20 20 20 28 74 72 65 65 2d  | lang-symbol.patterns).....(tree- | 
| 9aa0 |  73 69 74 74 65 72 2d 68 6c 2d 2d 61 64 64 2d 70    61 74 74 65 72 6e 73 2d 6c 6f 63 61 6c 6c 79 20  | sitter-hl--add-patterns-locally. | 
| 9ac0 |  70 61 74 74 65 72 6e 73 29 29 29 0a 0a 28 64 65    66 75 6e 20 74 72 65 65 2d 73 69 74 74 65 72 2d  | patterns)))..(defun.tree-sitter- | 
| 9ae0 |  68 6c 2d 2d 61 64 64 2d 70 61 74 74 65 72 6e 73    2d 6c 6f 63 61 6c 6c 79 20 28 70 61 74 74 65 72  | hl--add-patterns-locally.(patter | 
| 9b00 |  6e 73 29 0a 20 20 22 41 64 64 20 62 75 66 66 65    72 2d 6c 6f 63 61 6c 20 73 79 6e 74 61 78 20 68  | ns)..."Add.buffer-local.syntax.h | 
| 9b20 |  69 67 68 6c 69 67 68 74 69 6e 67 20 50 41 54 54    45 52 4e 53 2e 0a 54 68 65 73 65 20 77 69 6c 6c  | ighlighting.PATTERNS..These.will | 
| 9b40 |  20 74 61 6b 65 20 70 72 65 63 65 64 65 6e 63 65    20 6f 76 65 72 20 60 74 72 65 65 2d 73 69 74 74  | .take.precedence.over.`tree-sitt | 
| 9b60 |  65 72 2d 68 6c 2d 64 65 66 61 75 6c 74 2d 70 61    74 74 65 72 6e 73 27 2c 20 61 73 20 77 65 6c 6c  | er-hl-default-patterns',.as.well | 
| 9b80 |  20 61 73 0a 70 72 65 76 69 6f 75 73 6c 79 20 61    64 64 65 64 20 70 61 74 74 65 72 6e 73 2e 22 0a  | .as.previously.added.patterns.". | 
| 9ba0 |  20 20 3b 3b 20 44 6f 20 6e 6f 74 68 69 6e 67 20    69 66 20 74 68 65 20 70 61 74 74 65 72 6e 73 20  | ..;;.Do.nothing.if.the.patterns. | 
| 9bc0 |  61 72 65 20 61 6c 72 65 61 64 79 20 6f 6e 20 74    6f 70 2e 0a 20 20 28 75 6e 6c 65 73 73 20 28 65  | are.already.on.top....(unless.(e | 
| 9be0 |  71 75 61 6c 20 70 61 74 74 65 72 6e 73 20 28 63    6c 2d 66 69 72 73 74 20 74 72 65 65 2d 73 69 74  | qual.patterns.(cl-first.tree-sit | 
| 9c00 |  74 65 72 2d 68 6c 2d 2d 65 78 74 72 61 2d 70 61    74 74 65 72 6e 73 2d 6c 69 73 74 29 29 0a 20 20  | ter-hl--extra-patterns-list))... | 
| 9c20 |  20 20 28 6c 65 74 20 28 28 6f 6c 64 2d 6c 69 73    74 20 74 72 65 65 2d 73 69 74 74 65 72 2d 68 6c  | ..(let.((old-list.tree-sitter-hl | 
| 9c40 |  2d 2d 65 78 74 72 61 2d 70 61 74 74 65 72 6e 73    2d 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 20  | --extra-patterns-list).......... | 
| 9c60 |  20 28 6f 6c 64 2d 71 75 65 72 79 20 74 72 65 65    2d 73 69 74 74 65 72 2d 68 6c 2d 2d 71 75 65 72  | .(old-query.tree-sitter-hl--quer | 
| 9c80 |  79 29 29 0a 20 20 20 20 20 20 3b 3b 20 55 70 64    61 74 65 20 74 68 65 20 70 61 74 74 65 72 6e 73  | y)).......;;.Update.the.patterns | 
| 9ca0 |  20 6c 69 73 74 20 61 6e 64 20 72 65 71 75 65 73    74 20 74 68 65 20 71 75 65 72 79 20 74 6f 20 62  | .list.and.request.the.query.to.b | 
| 9cc0 |  65 20 72 65 62 75 69 6c 74 2e 2e 2e 0a 20 20 20    20 20 20 28 73 65 74 71 20 74 72 65 65 2d 73 69  | e.rebuilt..........(setq.tree-si | 
| 9ce0 |  74 74 65 72 2d 68 6c 2d 2d 65 78 74 72 61 2d 70    61 74 74 65 72 6e 73 2d 6c 69 73 74 0a 20 20 20  | tter-hl--extra-patterns-list.... | 
| 9d00 |  20 20 20 20 20 20 20 20 20 28 61 70 70 65 6e 64    20 28 6c 69 73 74 20 70 61 74 74 65 72 6e 73 29  | .........(append.(list.patterns) | 
| 9d20 |  20 28 72 65 6d 6f 76 65 20 70 61 74 74 65 72 6e    73 20 6f 6c 64 2d 6c 69 73 74 29 29 29 0a 20 20  | .(remove.patterns.old-list)))... | 
| 9d40 |  20 20 20 20 28 73 65 74 71 20 74 72 65 65 2d 73    69 74 74 65 72 2d 68 6c 2d 2d 71 75 65 72 79 20  | ....(setq.tree-sitter-hl--query. | 
| 9d60 |  6e 69 6c 29 0a 20 20 20 20 20 20 3b 3b 20 2e 2e    2e 20 61 6e 64 20 62 75 69 6c 64 20 69 74 20 69  | nil).......;;.....and.build.it.i | 
| 9d80 |  66 20 70 6f 73 73 69 62 6c 65 2e 20 44 75 72 69    6e 67 20 61 20 6d 61 6a 6f 72 20 6d 6f 64 65 27  | f.possible..During.a.major.mode' | 
| 9da0 |  73 20 68 6f 6f 6b 2c 20 77 65 20 6d 61 79 20 6e    6f 74 0a 20 20 20 20 20 20 3b 3b 20 65 76 65 6e  | s.hook,.we.may.not.......;;.even | 
| 9dc0 |  20 6b 6e 6f 77 20 74 68 65 20 6c 61 6e 67 75 61    67 65 2c 20 69 6e 20 77 68 69 63 68 20 63 61 73  | .know.the.language,.in.which.cas | 
| 9de0 |  65 20 77 65 20 6c 65 74 20 60 74 72 65 65 2d 73    69 74 74 65 72 2d 68 6c 2d 2d 73 65 74 75 70 27  | e.we.let.`tree-sitter-hl--setup' | 
| 9e00 |  0a 20 20 20 20 20 20 3b 3b 20 62 75 69 6c 64 20    74 68 65 20 71 75 65 72 79 20 6c 61 74 65 72 20  | .......;;.build.the.query.later. | 
| 9e20 |  6f 6e 2e 0a 20 20 20 20 20 20 28 77 68 65 6e 20    74 72 65 65 2d 73 69 74 74 65 72 2d 6c 61 6e 67  | on........(when.tree-sitter-lang | 
| 9e40 |  75 61 67 65 0a 20 20 20 20 20 20 20 20 28 74 72    65 65 2d 73 69 74 74 65 72 2d 2d 65 72 72 6f 72  | uage.........(tree-sitter--error | 
| 9e60 |  2d 70 72 6f 74 65 63 74 20 28 74 72 65 65 2d 73    69 74 74 65 72 2d 68 6c 2d 2d 65 6e 73 75 72 65  | -protect.(tree-sitter-hl--ensure | 
| 9e80 |  2d 71 75 65 72 79 29 0a 20 20 20 20 20 20 20 20    20 20 3b 3b 20 57 68 65 6e 20 74 68 65 20 6e 65  | -query)...........;;.When.the.ne | 
| 9ea0 |  77 6c 79 20 61 64 64 65 64 20 70 61 74 74 65 72    6e 73 20 61 72 65 20 69 6e 76 61 6c 69 64 2c 20  | wly.added.patterns.are.invalid,. | 
| 9ec0 |  72 65 73 74 6f 72 65 20 74 68 65 20 6f 6c 64 20    73 74 61 74 65 2e 0a 20 20 20 20 20 20 20 20 20  | restore.the.old.state........... | 
| 9ee0 |  20 28 73 65 74 71 20 74 72 65 65 2d 73 69 74 74    65 72 2d 68 6c 2d 2d 71 75 65 72 79 20 6f 6c 64  | .(setq.tree-sitter-hl--query.old | 
| 9f00 |  2d 71 75 65 72 79 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 74 72 65 65 2d 73 69 74 74  | -query.................tree-sitt | 
| 9f20 |  65 72 2d 68 6c 2d 2d 65 78 74 72 61 2d 70 61 74    74 65 72 6e 73 2d 6c 69 73 74 20 6f 6c 64 2d 6c  | er-hl--extra-patterns-list.old-l | 
| 9f40 |  69 73 74 29 29 0a 20 20 20 20 20 20 20 20 3b 3b    20 45 76 65 72 79 74 68 69 6e 67 20 69 73 20 69  | ist)).........;;.Everything.is.i | 
| 9f60 |  6e 20 70 6c 61 63 65 2e 20 52 65 71 75 65 73 74    20 61 20 72 65 2d 72 65 6e 64 65 72 2e 0a 20 20  | n.place..Request.a.re-render.... | 
| 9f80 |  20 20 20 20 20 20 28 77 68 65 6e 20 28 62 6f 75    6e 64 2d 61 6e 64 2d 74 72 75 65 2d 70 20 74 72  | ......(when.(bound-and-true-p.tr | 
| 9fa0 |  65 65 2d 73 69 74 74 65 72 2d 68 6c 2d 6d 6f 64    65 29 0a 20 20 20 20 20 20 20 20 20 20 28 74 72  | ee-sitter-hl-mode)...........(tr | 
| 9fc0 |  65 65 2d 73 69 74 74 65 72 2d 68 6c 2d 2d 69 6e    76 61 6c 69 64 61 74 65 29 29 29 29 29 29 0a 0a  | ee-sitter-hl--invalidate)))))).. | 
| 9fe0 |  28 64 65 66 75 6e 20 74 72 65 65 2d 73 69 74 74    65 72 2d 68 6c 2d 2d 61 64 64 2d 70 61 74 74 65  | (defun.tree-sitter-hl--add-patte | 
| a000 |  72 6e 73 2d 66 6f 72 2d 6c 61 6e 67 75 61 67 65    20 28 6c 61 6e 67 2d 73 79 6d 62 6f 6c 20 70 61  | rns-for-language.(lang-symbol.pa | 
| a020 |  74 74 65 72 6e 73 29 0a 20 20 22 41 64 64 20 73    79 6e 74 61 78 20 68 69 67 68 6c 69 67 68 74 69  | tterns)..."Add.syntax.highlighti | 
| a040 |  6e 67 20 50 41 54 54 45 52 4e 53 20 66 6f 72 20    74 68 65 20 6c 61 6e 67 75 61 67 65 20 69 64 65  | ng.PATTERNS.for.the.language.ide | 
| a060 |  6e 74 69 66 69 65 64 20 62 79 20 4c 41 4e 47 2d    53 59 4d 42 4f 4c 2e 0a 53 65 65 20 60 74 72 65  | ntified.by.LANG-SYMBOL..See.`tre | 
| a080 |  65 2d 73 69 74 74 65 72 2d 68 6c 2d 61 64 64 2d    70 61 74 74 65 72 6e 73 27 2e 22 0a 20 20 28 6c  | e-sitter-hl-add-patterns'."...(l | 
| a0a0 |  65 74 20 28 28 6f 6c 64 2d 6c 69 73 74 20 28 61    6c 69 73 74 2d 67 65 74 20 6c 61 6e 67 2d 73 79  | et.((old-list.(alist-get.lang-sy | 
| a0c0 |  6d 62 6f 6c 20 74 72 65 65 2d 73 69 74 74 65 72    2d 68 6c 2d 2d 70 61 74 74 65 72 6e 73 2d 61 6c  | mbol.tree-sitter-hl--patterns-al | 
| a0e0 |  69 73 74 29 29 29 0a 20 20 20 20 3b 3b 20 44 6f    20 6e 6f 74 68 69 6e 67 20 69 66 20 74 68 65 20  | ist))).....;;.Do.nothing.if.the. | 
| a100 |  70 61 74 74 65 72 6e 73 20 61 72 65 20 61 6c 72    65 61 64 79 20 6f 6e 20 74 6f 70 2e 0a 20 20 20  | patterns.are.already.on.top..... | 
| a120 |  20 28 75 6e 6c 65 73 73 20 28 65 71 75 61 6c 20    70 61 74 74 65 72 6e 73 20 28 63 6c 2d 66 69 72  | .(unless.(equal.patterns.(cl-fir | 
| a140 |  73 74 20 6f 6c 64 2d 6c 69 73 74 29 29 0a 20 20    20 20 20 20 3b 3b 20 43 68 65 63 6b 20 77 68 65  | st.old-list)).......;;.Check.whe | 
| a160 |  74 68 65 72 20 74 68 65 20 70 61 74 74 65 72 6e    73 20 61 72 65 20 76 61 6c 69 64 2e 20 54 4f 44  | ther.the.patterns.are.valid..TOD | 
| a180 |  4f 3a 20 53 68 6f 75 6c 64 20 77 65 20 64 65 6c    61 79 20 74 68 65 20 63 68 65 63 6b 0a 20 20 20  | O:.Should.we.delay.the.check.... | 
| a1a0 |  20 20 20 3b 3b 20 69 66 20 6c 61 6e 67 75 61 67    65 20 69 73 20 6e 6f 74 20 79 65 74 20 6c 6f 61  | ...;;.if.language.is.not.yet.loa | 
| a1c0 |  64 65 64 2c 20 69 6e 73 74 65 61 64 20 6f 66 20    74 72 79 69 6e 67 20 74 6f 20 6c 6f 61 64 20 69  | ded,.instead.of.trying.to.load.i | 
| a1e0 |  74 3f 0a 20 20 20 20 20 20 28 74 73 63 2d 6d 61    6b 65 2d 71 75 65 72 79 20 28 74 72 65 65 2d 73  | t?.......(tsc-make-query.(tree-s | 
| a200 |  69 74 74 65 72 2d 72 65 71 75 69 72 65 20 6c 61    6e 67 2d 73 79 6d 62 6f 6c 29 20 70 61 74 74 65  | itter-require.lang-symbol).patte | 
| a220 |  72 6e 73 29 0a 20 20 20 20 20 20 28 73 65 74 66    20 28 6d 61 70 2d 65 6c 74 20 74 72 65 65 2d 73  | rns).......(setf.(map-elt.tree-s | 
| a240 |  69 74 74 65 72 2d 68 6c 2d 2d 70 61 74 74 65 72    6e 73 2d 61 6c 69 73 74 20 6c 61 6e 67 2d 73 79  | itter-hl--patterns-alist.lang-sy | 
| a260 |  6d 62 6f 6c 29 0a 20 20 20 20 20 20 20 20 20 20    20 20 28 61 70 70 65 6e 64 20 28 6c 69 73 74 20  | mbol).............(append.(list. | 
| a280 |  70 61 74 74 65 72 6e 73 29 20 28 72 65 6d 6f 76    65 20 70 61 74 74 65 72 6e 73 20 6f 6c 64 2d 6c  | patterns).(remove.patterns.old-l | 
| a2a0 |  69 73 74 29 29 29 29 29 29 0a 0a 3b 3b 3b 20 2d    2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  | ist))))))..;;;.----------------- | 
| a2c0 |  2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d    2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  | -------------------------------- | 
| a2e0 |  2d 2d 2d 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 3b 20  | ---------------------------.;;;. | 
| a300 |  49 6e 74 65 72 6e 61 6c 20 77 6f 72 6b 69 6e 67    73 2e 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61  | Internal.workings...(defvar-loca | 
| a320 |  6c 20 74 72 65 65 2d 73 69 74 74 65 72 2d 68 6c    2d 2d 71 75 65 72 79 2d 63 75 72 73 6f 72 20 6e  | l.tree-sitter-hl--query-cursor.n | 
| a340 |  69 6c 29 0a 0a 28 64 65 66 63 6f 6e 73 74 20 74    72 65 65 2d 73 69 74 74 65 72 2d 68 6c 2d 2d 65  | il)..(defconst.tree-sitter-hl--e | 
| a360 |  78 74 65 6e 64 2d 72 65 67 69 6f 6e 2d 6c 69 6d    69 74 20 32 30 34 38 0a 20 20 22 54 68 65 20 6d  | xtend-region-limit.2048..."The.m | 
| a380 |  61 78 20 73 69 7a 65 20 64 65 6c 74 61 20 6f 66    20 74 68 65 20 28 73 74 72 75 63 74 75 72 61 6c  | ax.size.delta.of.the.(structural | 
| a3a0 |  6c 79 29 20 65 78 74 65 6e 64 65 64 20 72 65 67    69 6f 6e 73 2e 22 29 0a 0a 28 64 65 66 63 6f 6e  | ly).extended.regions.")..(defcon | 
| a3c0 |  73 74 20 74 72 65 65 2d 73 69 74 74 65 72 2d 68    6c 2d 2d 65 78 74 65 6e 64 2d 72 65 67 69 6f 6e  | st.tree-sitter-hl--extend-region | 
| a3e0 |  2d 6c 65 76 65 6c 73 20 34 0a 20 20 22 54 68 65    20 6d 61 78 20 6e 75 6d 62 65 72 20 6f 66 20 6c  | -levels.4..."The.max.number.of.l | 
| a400 |  65 76 65 6c 73 20 74 6f 20 77 61 6c 6b 20 75 70    20 74 68 65 20 73 79 6e 74 61 78 20 74 72 65 65  | evels.to.walk.up.the.syntax.tree | 
| a420 |  20 74 6f 20 65 78 74 65 6e 64 20 74 68 65 20 72    65 67 69 6f 6e 73 2e 0a 54 68 65 20 61 73 73 75  | .to.extend.the.regions..The.assu | 
| a440 |  6d 70 74 69 6f 6e 20 69 73 20 74 68 61 74 3a 20    69 6e 20 61 6e 79 20 73 79 6e 74 61 78 20 68 69  | mption.is.that:.in.any.syntax.hi | 
| a460 |  67 68 6c 69 67 68 74 69 6e 67 20 70 61 74 74 65    72 6e 2c 20 74 68 65 20 63 61 70 74 75 72 65 73  | ghlighting.pattern,.the.captures | 
| a480 |  20 64 6f 20 6e 6f 74 0a 6c 69 65 20 64 65 65 70    65 72 20 74 68 61 6e 20 74 68 69 73 2e 22 29 0a  | .do.not.lie.deeper.than.this."). | 
| a4a0 |  0a 3b 3b 20 68 74 74 70 73 3a 2f 2f 67 69 74 68    75 62 2e 63 6f 6d 2f 74 72 65 65 2d 73 69 74 74  | .;;.https://github.com/tree-sitt | 
| a4c0 |  65 72 2f 74 72 65 65 2d 73 69 74 74 65 72 2f 70    75 6c 6c 2f 31 31 33 30 2e 0a 28 64 65 66 76 61  | er/tree-sitter/pull/1130..(defva | 
| a4e0 |  72 2d 6c 6f 63 61 6c 20 74 72 65 65 2d 73 69 74    74 65 72 2d 68 6c 2d 65 6e 61 62 6c 65 2d 71 75  | r-local.tree-sitter-hl-enable-qu | 
| a500 |  65 72 79 2d 72 65 67 69 6f 6e 2d 65 78 74 65 6e    73 69 6f 6e 20 6e 69 6c 0a 20 20 22 57 68 65 74  | ery-region-extension.nil..."Whet | 
| a520 |  68 65 72 20 74 6f 20 65 78 74 65 6e 64 20 71 75    65 72 79 20 72 65 67 69 6f 6e 20 75 73 65 64 20  | her.to.extend.query.region.used. | 
| a540 |  66 6f 72 20 68 69 67 68 6c 69 67 68 74 69 6e 67    2e 0a 49 66 20 79 6f 75 20 67 65 74 20 69 6e 63  | for.highlighting..If.you.get.inc | 
| a560 |  6f 72 72 65 63 74 20 68 69 67 68 6c 69 67 68 74    69 6e 67 2c 20 74 72 79 20 73 65 74 74 69 6e 67  | orrect.highlighting,.try.setting | 
| a580 |  20 74 68 69 73 20 74 6f 20 74 2e 0a 0a 53 65 65    20 60 74 72 65 65 2d 73 69 74 74 65 72 2d 68 6c  | .this.to.t...See.`tree-sitter-hl | 
| a5a0 |  2d 2d 65 78 74 65 6e 64 2d 72 65 67 69 6f 6e 73    27 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69  | --extend-regions'.for.more.detai | 
| a5c0 |  6c 73 2e 22 29 0a 0a 3b 3b 3b 20 54 4f 44 4f 3a    20 49 6d 70 72 6f 76 65 20 74 68 69 73 20 66 75  | ls.")..;;;.TODO:.Improve.this.fu | 
| a5e0 |  6e 63 74 69 6f 6e 27 73 20 64 6f 63 73 74 72 69    6e 67 2e 20 49 74 27 73 20 6e 6f 20 6c 6f 6e 67  | nction's.docstring..It's.no.long | 
| a600 |  65 72 20 61 63 63 75 72 61 74 65 2e 0a 28 64 65    66 75 6e 20 74 72 65 65 2d 73 69 74 74 65 72 2d  | er.accurate..(defun.tree-sitter- | 
| a620 |  68 6c 2d 2d 65 78 74 65 6e 64 2d 72 65 67 69 6f    6e 73 20 28 68 6c 2d 72 65 67 69 6f 6e 20 71 75  | hl--extend-regions.(hl-region.qu | 
| a640 |  65 72 79 2d 72 65 67 69 6f 6e 29 0a 20 20 22 45    78 74 65 6e 64 20 48 4c 2d 52 45 47 49 4f 4e 20  | ery-region)..."Extend.HL-REGION. | 
| a660 |  61 6e 64 20 51 55 45 52 59 2d 52 45 47 49 4f 4e    20 62 65 66 6f 72 65 20 68 69 67 68 6c 69 67 68  | and.QUERY-REGION.before.highligh | 
| a680 |  74 69 6e 67 2c 20 6d 75 74 61 62 6c 79 2e 0a 46    6f 72 20 70 65 72 66 6f 72 6d 61 6e 63 65 20 72  | ting,.mutably..For.performance.r | 
| a6a0 |  65 61 73 6f 6e 2c 20 77 65 20 65 78 65 63 75 74    65 20 74 68 65 20 68 69 67 68 6c 69 67 68 74 69  | eason,.we.execute.the.highlighti | 
| a6c0 |  6e 67 20 71 75 65 72 79 20 6f 6e 20 61 20 72 65    67 69 6f 6e 2c 20 69 6e 73 74 65 61 64 0a 6f 66  | ng.query.on.a.region,.instead.of | 
| a6e0 |  20 6f 6e 20 74 68 65 20 77 68 6f 6c 65 20 62 75    66 66 65 72 2e 20 57 68 65 6e 20 72 61 6e 67 65  | .on.the.whole.buffer..When.range | 
| a700 |  20 72 65 73 74 72 69 63 74 69 6f 6e 20 69 73 20    75 73 65 64 2c 20 61 20 6d 61 74 63 68 20 69 73  | .restriction.is.used,.a.match.is | 
| a720 |  20 72 65 74 75 72 6e 65 64 20 6f 6e 6c 79 0a 77    68 65 6e 20 61 6c 6c 20 6e 6f 64 65 73 20 69 6e  | .returned.only.when.all.nodes.in | 
| a740 |  20 61 20 70 61 74 74 65 72 6e 20 69 6e 74 65 72    73 65 63 74 20 74 68 65 20 71 75 65 72 79 20 63  | .a.pattern.intersect.the.query.c | 
| a760 |  75 72 73 6f 72 27 73 20 72 61 6e 67 65 2e 20 54    68 65 72 65 66 6f 72 65 2c 0a 51 55 45 52 59 2d  | ursor's.range..Therefore,.QUERY- | 
| a780 |  52 45 47 49 4f 4e 20 73 68 6f 75 6c 64 20 69 6e    74 65 72 73 65 63 74 20 61 6c 6c 20 72 65 6c 65  | REGION.should.intersect.all.rele | 
| a7a0 |  76 61 6e 74 20 6e 6f 64 65 73 2c 20 6e 6f 74 20    6a 75 73 74 20 6e 6f 64 65 73 20 74 6f 20 62 65  | vant.nodes,.not.just.nodes.to.be | 
| a7c0 |  0a 68 69 67 68 6c 69 67 68 74 65 64 2e 0a 0a 4f    6e 65 20 63 61 73 65 20 74 68 61 74 20 69 6c 6c  | .highlighted...One.case.that.ill | 
| a7e0 |  75 73 74 72 61 74 65 73 20 74 68 65 20 6e 65 65    64 20 66 6f 72 20 51 55 45 52 59 2d 52 45 47 49  | ustrates.the.need.for.QUERY-REGI | 
| a800 |  4f 4e 20 74 6f 20 62 65 20 6c 61 72 67 65 72 20    74 68 61 6e 20 48 4c 2d 52 45 47 49 4f 4e 0a 69  | ON.to.be.larger.than.HL-REGION.i | 
| a820 |  73 20 77 68 65 6e 20 60 65 76 69 6c 2d 61 64 6a    75 73 74 2d 63 75 72 73 6f 72 27 20 74 72 69 67  | s.when.`evil-adjust-cursor'.trig | 
| a840 |  67 65 72 73 20 61 20 60 76 65 72 74 69 63 61 6c    2d 6d 6f 74 69 6f 6e 27 20 28 6f 75 74 73 69 64  | gers.a.`vertical-motion'.(outsid | 
| a860 |  65 20 6f 66 20 61 0a 72 65 64 69 73 70 6c 61 79    29 2c 20 72 65 73 75 6c 74 69 6e 67 20 69 6e 20  | e.of.a.redisplay),.resulting.in. | 
| a880 |  60 6a 69 74 2d 6c 6f 63 6b 2d 2d 72 75 6e 2d 66    75 6e 74 69 6f 6e 73 27 20 62 65 69 6e 67 20 63  | `jit-lock--run-funtions'.being.c | 
| a8a0 |  61 6c 6c 65 64 20 6f 6e 20 61 20 76 65 72 79 20    73 6d 61 6c 6c 0a 72 65 67 69 6f 6e 2e 20 41 6e  | alled.on.a.very.small.region..An | 
| a8c0 |  6f 74 68 65 72 20 63 61 73 65 20 69 73 20 73 69    62 6c 69 6e 67 20 73 75 62 2d 70 61 74 74 65 72  | other.case.is.sibling.sub-patter | 
| a8e0 |  6e 73 20 62 65 69 6e 67 20 63 75 74 20 69 6e 20    68 61 6c 76 65 73 20 62 79 20 48 4c 2d 52 45 47  | ns.being.cut.in.halves.by.HL-REG | 
| a900 |  49 4f 4e 27 73 0a 62 6f 75 6e 64 61 72 69 65 73    2e 0a 0a 4e 6f 74 65 20 74 68 61 74 20 74 68 65  | ION's.boundaries...Note.that.the | 
| a920 |  20 6d 61 69 6e 20 70 65 72 66 6f 72 6d 61 6e 63    65 20 62 6f 74 74 6c 65 6e 65 63 6b 20 77 69 74  | .main.performance.bottleneck.wit | 
| a940 |  68 20 71 75 65 72 79 69 6e 67 20 74 68 65 20 77    68 6f 6c 65 20 62 75 66 66 65 72 20 69 73 20 69  | h.querying.the.whole.buffer.is.i | 
| a960 |  6e 0a 61 63 63 65 73 73 69 6e 67 20 6e 6f 64 65    73 27 20 74 65 78 74 73 2c 20 77 68 69 63 68 20  | n.accessing.nodes'.texts,.which. | 
| a980 |  69 6e 76 6f 6c 76 65 73 20 61 6c 6c 6f 63 61 74    69 6e 67 20 74 65 6d 70 6f 72 61 72 79 20 73 74  | involves.allocating.temporary.st | 
| a9a0 |  72 69 6e 67 73 2c 20 63 6f 70 79 69 6e 67 0a 74    68 65 6d 20 74 6f 20 74 68 65 20 64 79 6e 61 6d  | rings,.copying.them.to.the.dynam | 
| a9c0 |  69 63 20 6d 6f 64 75 6c 65 73 2c 20 74 68 65 6e    20 67 61 72 62 61 67 65 2d 63 6f 6c 6c 65 63 74  | ic.modules,.then.garbage-collect | 
| a9e0 |  69 6e 67 20 74 68 65 6d 2e 20 57 68 65 6e 20 64    79 6e 61 6d 69 63 20 6d 6f 64 75 6c 65 73 0a 68  | ing.them..When.dynamic.modules.h | 
| aa00 |  61 76 65 20 64 69 72 65 63 74 20 61 63 63 65 73    73 20 74 6f 20 62 75 66 66 65 72 20 74 65 78 74  | ave.direct.access.to.buffer.text | 
| aa20 |  2c 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20    6d 61 79 20 62 65 63 6f 6d 65 20 6f 62 73 6f 6c  | ,.this.function.may.become.obsol | 
| aa40 |  65 74 65 2e 0a 0a 53 65 65 20 68 74 74 70 73 3a    2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 74 72 65  | ete...See.https://github.com/tre | 
| aa60 |  65 2d 73 69 74 74 65 72 2f 74 72 65 65 2d 73 69    74 74 65 72 2f 69 73 73 75 65 73 2f 35 39 38 2e  | e-sitter/tree-sitter/issues/598. | 
| aa80 |  22 0a 20 20 28 70 63 61 73 65 2d 6c 65 74 2a 20    28 28 72 6f 6f 74 2d 6e 6f 64 65 20 28 74 73 63  | "...(pcase-let*.((root-node.(tsc | 
| aaa0 |  2d 72 6f 6f 74 2d 6e 6f 64 65 20 74 72 65 65 2d    73 69 74 74 65 72 2d 74 72 65 65 29 29 0a 20 20  | -root-node.tree-sitter-tree))... | 
| aac0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 28 60 28    2c 62 65 67 20 2e 20 2c 65 6e 64 29 20 68 6c 2d  | .............(`(,beg...,end).hl- | 
| aae0 |  72 65 67 69 6f 6e 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 28 6f 72 69 67 2d 73 69 7a  | region)................(orig-siz | 
| ab00 |  65 20 28 2d 20 65 6e 64 20 62 65 67 29 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e  | e.(-.end.beg))................(n | 
| ab20 |  6f 64 65 20 28 74 73 63 2d 67 65 74 2d 64 65 73    63 65 6e 64 61 6e 74 2d 66 6f 72 2d 70 6f 73 69  | ode.(tsc-get-descendant-for-posi | 
| ab40 |  74 69 6f 6e 2d 72 61 6e 67 65 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | tion-range...................... | 
| ab60 |  20 72 6f 6f 74 2d 6e 6f 64 65 20 62 65 67 20 65    6e 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20  | .root-node.beg.end))............ | 
| ab80 |  20 20 20 20 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  | ....(`(,beg...,end).(tsc-node-po | 
| aba0 |  73 69 74 69 6f 6e 2d 72 61 6e 67 65 20 6e 6f 64    65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  | sition-range.node))............. | 
| abc0 |  20 20 20 28 73 69 7a 65 20 28 2d 20 65 6e 64 20    62 65 67 29 29 0a 20 20 20 20 20 20 20 20 20 20  | ...(size.(-.end.beg))........... | 
| abe0 |  20 20 20 20 20 28 64 65 6c 74 61 20 28 2d 20 73    69 7a 65 20 6f 72 69 67 2d 73 69 7a 65 29 29 0a  | .....(delta.(-.size.orig-size)). | 
| ac00 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    6c 65 76 65 6c 20 30 29 29 0a 20 20 20 20 28 77  | ...............(level.0)).....(w | 
| ac20 |  68 65 6e 20 28 3c 20 64 65 6c 74 61 20 74 72 65    65 2d 73 69 74 74 65 72 2d 68 6c 2d 2d 65 78 74  | hen.(<.delta.tree-sitter-hl--ext | 
| ac40 |  65 6e 64 2d 72 65 67 69 6f 6e 2d 6c 69 6d 69 74    29 0a 20 20 20 20 20 20 28 73 65 74 63 61 72 20  | end-region-limit).......(setcar. | 
| ac60 |  68 6c 2d 72 65 67 69 6f 6e 20 62 65 67 29 0a 20    20 20 20 20 20 28 73 65 74 63 64 72 20 68 6c 2d  | hl-region.beg).......(setcdr.hl- | 
| ac80 |  72 65 67 69 6f 6e 20 65 6e 64 29 0a 20 20 20 20    20 20 28 73 65 74 63 61 72 20 71 75 65 72 79 2d  | region.end).......(setcar.query- | 
| aca0 |  72 65 67 69 6f 6e 20 62 65 67 29 0a 20 20 20 20    20 20 28 73 65 74 63 64 72 20 71 75 65 72 79 2d  | region.beg).......(setcdr.query- | 
| acc0 |  72 65 67 69 6f 6e 20 65 6e 64 29 29 0a 20 20 20    20 3b 3b 20 52 65 70 65 61 74 65 64 6c 79 20 65  | region.end)).....;;.Repeatedly.e | 
| ace0 |  78 74 65 6e 64 20 74 68 65 20 72 65 67 69 6f 6e    2c 20 77 69 74 68 69 6e 20 74 68 65 20 6c 69 6d  | xtend.the.region,.within.the.lim | 
| ad00 |  69 74 2e 20 54 4f 44 4f 3a 20 57 68 61 74 20 69    66 20 74 68 65 20 72 65 67 69 6f 6e 0a 20 20 20  | it..TODO:.What.if.the.region.... | 
| ad20 |  20 3b 3b 20 6f 66 20 74 68 65 20 6d 69 6e 69 6d    61 6c 20 65 6e 63 6c 6f 73 69 6e 67 20 6e 6f 64  | .;;.of.the.minimal.enclosing.nod | 
| ad40 |  65 20 69 73 20 61 6c 72 65 61 64 79 20 74 6f 6f    20 6c 61 72 67 65 3f 0a 20 20 20 20 28 77 68 65  | e.is.already.too.large?.....(whe | 
| ad60 |  6e 20 74 72 65 65 2d 73 69 74 74 65 72 2d 68 6c    2d 65 6e 61 62 6c 65 2d 71 75 65 72 79 2d 72 65  | n.tree-sitter-hl-enable-query-re | 
| ad80 |  67 69 6f 6e 2d 65 78 74 65 6e 73 69 6f 6e 0a 20    20 20 20 20 20 28 77 68 69 6c 65 20 28 61 6e 64  | gion-extension.......(while.(and | 
| ada0 |  20 6e 6f 64 65 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 28 3c 20 64 65 6c 74 61  | .node...................(<.delta | 
| adc0 |  20 74 72 65 65 2d 73 69 74 74 65 72 2d 68 6c 2d    2d 65 78 74 65 6e 64 2d 72 65 67 69 6f 6e 2d 6c  | .tree-sitter-hl--extend-region-l | 
| ade0 |  69 6d 69 74 29 29 0a 20 20 20 20 20 20 20 20 28    73 65 74 63 61 72 20 71 75 65 72 79 2d 72 65 67  | imit)).........(setcar.query-reg | 
| ae00 |  69 6f 6e 20 62 65 67 29 0a 20 20 20 20 20 20 20    20 28 73 65 74 63 64 72 20 71 75 65 72 79 2d 72  | ion.beg).........(setcdr.query-r | 
| ae20 |  65 67 69 6f 6e 20 65 6e 64 29 0a 20 20 20 20 20    20 20 20 3b 3b 20 57 61 6c 6b 20 75 70 20 74 6f  | egion.end).........;;.Walk.up.to | 
| ae40 |  20 74 68 65 20 70 61 72 65 6e 74 20 6e 6f 64 65    2e 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e 20  | .the.parent.node..........(when. | 
| ae60 |  28 73 65 74 71 20 6e 6f 64 65 20 28 77 68 65 6e    20 28 3c 3d 20 28 63 6c 2d 69 6e 63 66 20 6c 65  | (setq.node.(when.(<=.(cl-incf.le | 
| ae80 |  76 65 6c 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  | vel)............................ | 
| aea0 |  20 20 20 20 20 20 20 20 74 72 65 65 2d 73 69 74    74 65 72 2d 68 6c 2d 2d 65 78 74 65 6e 64 2d 72  | ........tree-sitter-hl--extend-r | 
| aec0 |  65 67 69 6f 6e 2d 6c 65 76 65 6c 73 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | egion-levels)................... | 
| aee0 |  20 20 20 20 20 20 20 20 20 28 74 73 63 2d 67 65    74 2d 70 61 72 65 6e 74 20 6e 6f 64 65 29 29 29  | .........(tsc-get-parent.node))) | 
| af00 |  0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20    28 28 72 61 6e 67 65 20 28 74 73 63 2d 6e 6f 64  | ...........(let.((range.(tsc-nod | 
| af20 |  65 2d 70 6f 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 20 20 20  | e-position-range.node)))........ | 
| af40 |  20 20 20 20 20 28 73 65 74 66 20 60 28 2c 62 65    67 20 2e 20 2c 65 6e 64 29 20 72 61 6e 67 65 29  | .....(setf.`(,beg...,end).range) | 
| af60 |  0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65    74 71 20 73 69 7a 65 20 28 2d 20 65 6e 64 20 62  | .............(setq.size.(-.end.b | 
| af80 |  65 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 28 73 65 74 71 20 64 65 6c 74 61 20 28 2d 20  | eg)).............(setq.delta.(-. | 
| afa0 |  73 69 7a 65 20 6f 72 69 67 2d 73 69 7a 65 29 29    29 29 29 0a 20 20 20 20 20 20 3b 3b 20 45 78 74  | size.orig-size))))).......;;.Ext | 
| afc0 |  65 6e 64 20 74 6f 20 77 68 6f 6c 65 20 6c 69 6e    65 73 2e 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d  | end.to.whole.lines........(goto- | 
| afe0 |  63 68 61 72 20 28 63 61 72 20 71 75 65 72 79 2d    72 65 67 69 6f 6e 29 29 0a 20 20 20 20 20 20 28  | char.(car.query-region)).......( | 
| b000 |  73 65 74 63 61 72 20 71 75 65 72 79 2d 72 65 67    69 6f 6e 20 28 6c 69 6e 65 2d 62 65 67 69 6e 6e  | setcar.query-region.(line-beginn | 
| b020 |  69 6e 67 2d 70 6f 73 69 74 69 6f 6e 20 30 29 29    0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61  | ing-position.0)).......(goto-cha | 
| b040 |  72 20 28 63 64 72 20 71 75 65 72 79 2d 72 65 67    69 6f 6e 29 29 0a 20 20 20 20 20 20 28 73 65 74  | r.(cdr.query-region)).......(set | 
| b060 |  63 64 72 20 71 75 65 72 79 2d 72 65 67 69 6f 6e    20 28 6c 69 6e 65 2d 62 65 67 69 6e 6e 69 6e 67  | cdr.query-region.(line-beginning | 
| b080 |  2d 70 6f 73 69 74 69 6f 6e 20 32 29 29 29 29 29    0a 0a 28 64 65 66 75 6e 20 74 72 65 65 2d 73 69  | -position.2)))))..(defun.tree-si | 
| b0a0 |  74 74 65 72 2d 68 6c 2d 2d 61 70 70 65 6e 64 2d    74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 73  | tter-hl--append-text-property.(s | 
| b0c0 |  74 61 72 74 20 65 6e 64 20 70 72 6f 70 20 76 61    6c 75 65 20 26 6f 70 74 69 6f 6e 61 6c 20 6f 62  | tart.end.prop.value.&optional.ob | 
| b0e0 |  6a 65 63 74 29 0a 20 20 22 41 70 70 65 6e 64 20    56 41 4c 55 45 20 74 6f 20 50 52 4f 50 20 6f 66  | ject)..."Append.VALUE.to.PROP.of | 
| b100 |  20 74 68 65 20 74 65 78 74 20 66 72 6f 6d 20 53    54 41 52 54 20 74 6f 20 45 4e 44 2e 0a 54 68 69  | .the.text.from.START.to.END..Thi | 
| b120 |  73 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20    60 66 6f 6e 74 2d 6c 6f 63 6b 2d 61 70 70 65 6e  | s.is.similar.to.`font-lock-appen | 
| b140 |  64 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 27    2c 20 62 75 74 20 64 65 64 75 70 6c 69 63 61 74  | d-text-property',.but.deduplicat | 
| b160 |  65 73 20 76 61 6c 75 65 73 2e 20 49 74 0a 61 6c    73 6f 20 65 78 70 65 63 74 73 20 56 41 4c 55 45  | es.values..It.also.expects.VALUE | 
| b180 |  20 74 6f 20 62 65 20 61 20 73 69 6e 67 6c 65 20    76 61 6c 75 65 2c 20 6e 6f 74 20 61 20 6c 69 73  | .to.be.a.single.value,.not.a.lis | 
| b1a0 |  74 2e 20 41 64 64 69 74 69 6f 6e 61 6c 6c 79 2c    20 69 66 20 50 52 4f 50 20 77 61 73 0a 70 72 65  | t..Additionally,.if.PROP.was.pre | 
| b1c0 |  76 69 6f 75 73 6c 79 20 6e 69 6c 2c 20 69 74 20    77 69 6c 6c 20 62 65 20 73 65 74 20 74 6f 20 56  | viously.nil,.it.will.be.set.to.V | 
| b1e0 |  41 4c 55 45 2c 20 6e 6f 74 20 28 6c 69 73 74 20    56 41 4c 55 45 29 2e 22 0a 20 20 28 6c 65 74 20  | ALUE,.not.(list.VALUE)."...(let. | 
| b200 |  28 6e 65 78 74 20 70 72 65 76 29 0a 20 20 20 20    28 77 68 69 6c 65 20 28 2f 3d 20 73 74 61 72 74  | (next.prev).....(while.(/=.start | 
| b220 |  20 65 6e 64 29 0a 20 20 20 20 20 20 28 73 65 74    71 20 6e 65 78 74 20 28 6e 65 78 74 2d 73 69 6e  | .end).......(setq.next.(next-sin | 
| b240 |  67 6c 65 2d 70 72 6f 70 65 72 74 79 2d 63 68 61    6e 67 65 20 73 74 61 72 74 20 70 72 6f 70 20 6f  | gle-property-change.start.prop.o | 
| b260 |  62 6a 65 63 74 20 65 6e 64 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 70 72 65 76 20 28 67 65 74  | bject.end).............prev.(get | 
| b280 |  2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 73    74 61 72 74 20 70 72 6f 70 20 6f 62 6a 65 63 74  | -text-property.start.prop.object | 
| b2a0 |  29 29 0a 20 20 20 20 20 20 3b 3b 20 43 61 6e 6f    6e 69 63 61 6c 69 7a 65 20 6f 6c 64 20 66 6f 72  | )).......;;.Canonicalize.old.for | 
| b2c0 |  6d 73 20 6f 66 20 66 61 63 65 20 70 72 6f 70 65    72 74 79 2e 0a 20 20 20 20 20 20 28 61 6e 64 20  | ms.of.face.property........(and. | 
| b2e0 |  28 6d 65 6d 71 20 70 72 6f 70 20 27 28 66 61 63    65 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 66 61 63 65  | (memq.prop.'(face.font-lock-face | 
| b300 |  29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c    69 73 74 70 20 70 72 65 76 29 0a 20 20 20 20 20  | ))............(listp.prev)...... | 
| b320 |  20 20 20 20 20 20 28 6f 72 20 28 6b 65 79 77 6f    72 64 70 20 28 63 61 72 20 70 72 65 76 29 29 0a  | ......(or.(keywordp.(car.prev)). | 
| b340 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    6d 65 6d 71 20 28 63 61 72 20 70 72 65 76 29 20  | ...............(memq.(car.prev). | 
| b360 |  27 28 66 6f 72 65 67 72 6f 75 6e 64 2d 63 6f 6c    6f 72 20 62 61 63 6b 67 72 6f 75 6e 64 2d 63 6f  | '(foreground-color.background-co | 
| b380 |  6c 6f 72 29 29 29 0a 20 20 20 20 20 20 20 20 20    20 20 28 73 65 74 71 20 70 72 65 76 20 28 6c 69  | lor)))............(setq.prev.(li | 
| b3a0 |  73 74 20 70 72 65 76 29 29 29 0a 20 20 20 20 20    20 28 75 6e 6c 65 73 73 20 28 6c 69 73 74 70 20  | st.prev))).......(unless.(listp. | 
| b3c0 |  70 72 65 76 29 0a 20 20 20 20 20 20 20 20 28 73    65 74 71 20 70 72 65 76 20 28 6c 69 73 74 20 70  | prev).........(setq.prev.(list.p | 
| b3e0 |  72 65 76 29 29 29 0a 20 20 20 20 20 20 28 75 6e    6c 65 73 73 20 28 6d 65 6d 71 20 76 61 6c 75 65  | rev))).......(unless.(memq.value | 
| b400 |  20 70 72 65 76 29 0a 20 20 20 20 20 20 20 20 28    70 75 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74  | .prev).........(put-text-propert | 
| b420 |  79 20 73 74 61 72 74 20 6e 65 78 74 20 70 72 6f    70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | y.start.next.prop............... | 
| b440 |  20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20    52 65 64 75 63 65 20 47 43 20 70 72 65 73 73 75  | .............;;.Reduce.GC.pressu | 
| b460 |  72 65 20 62 79 20 6e 6f 74 20 6d 61 6b 69 6e 67    20 61 20 6c 69 73 74 20 69 66 20 69 74 27 73 0a  | re.by.not.making.a.list.if.it's. | 
| b480 |  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 3b 3b 20 6a 75  | ...........................;;.ju | 
| b4a0 |  73 74 20 61 20 73 69 6e 67 6c 65 20 66 61 63 65    2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | st.a.single.face................ | 
| b4c0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66    20 70 72 65 76 0a 20 20 20 20 20 20 20 20 20 20  | .............(if.prev........... | 
| b4e0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 61 70 70 65 6e 64 20 70 72 65  | .....................(append.pre | 
| b500 |  76 20 28 6c 69 73 74 20 76 61 6c 75 65 29 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | v.(list.value))................. | 
| b520 |  20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 6c    75 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  | .............value)............. | 
| b540 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f    62 6a 65 63 74 29 29 0a 20 20 20 20 20 20 28 73  | ...............object)).......(s | 
| b560 |  65 74 71 20 73 74 61 72 74 20 6e 65 78 74 29 29    29 29 0a 0a 28 64 65 66 75 6e 20 74 72 65 65 2d  | etq.start.next))))..(defun.tree- | 
| b580 |  73 69 74 74 65 72 2d 68 6c 2d 2d 68 69 67 68 6c    69 67 68 74 2d 63 61 70 74 75 72 65 20 28 63 61  | sitter-hl--highlight-capture.(ca | 
| b5a0 |  70 74 75 72 65 29 0a 20 20 22 48 69 67 68 6c 69    67 68 74 20 74 68 65 20 67 69 76 65 6e 20 43 41  | pture)..."Highlight.the.given.CA | 
| b5c0 |  50 54 55 52 45 2e 22 0a 20 20 28 70 63 61 73 65    2d 6c 65 74 20 28 28 60 28 2c 66 61 63 65 20 2e  | PTURE."...(pcase-let.((`(,face.. | 
| b5e0 |  20 28 2c 62 65 67 2d 62 79 74 65 20 2e 20 2c 65    6e 64 2d 62 79 74 65 29 29 20 63 61 70 74 75 72  | .(,beg-byte...,end-byte)).captur | 
| b600 |  65 29 29 0a 20 20 20 20 3b 3b 20 54 4f 44 4f 3a    20 49 66 20 69 74 27 73 20 61 20 66 75 6e 63 74  | e)).....;;.TODO:.If.it's.a.funct | 
| b620 |  69 6f 6e 2c 20 63 61 6c 6c 20 69 74 20 77 69 74    68 20 28 42 45 47 20 45 4e 44 29 2e 0a 20 20 20  | ion,.call.it.with.(BEG.END)..... | 
| b640 |  20 28 77 68 65 6e 20 28 66 61 63 65 70 20 66 61    63 65 29 0a 20 20 20 20 20 20 28 74 72 65 65 2d  | .(when.(facep.face).......(tree- | 
| b660 |  73 69 74 74 65 72 2d 68 6c 2d 2d 61 70 70 65 6e    64 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 0a  | sitter-hl--append-text-property. | 
| b680 |  20 20 20 20 20 20 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 74  | .......(byte-to-position.beg-byt | 
| b6a0 |  65 29 0a 20 20 20 20 20 20 20 28 62 79 74 65 2d    74 6f 2d 70 6f 73 69 74 69 6f 6e 20 65 6e 64 2d  | e)........(byte-to-position.end- | 
| b6c0 |  62 79 74 65 29 20 27 66 61 63 65 20 66 61 63 65    29 29 29 29 0a 0a 3b 3b 3b 20 54 4f 44 4f 3a 20  | byte).'face.face))))..;;;.TODO:. | 
| b6e0 |  48 61 6e 64 6c 65 20 65 6d 62 65 64 64 65 64 20    44 53 4c 73 20 28 69 6e 6a 65 63 74 69 6f 6e 73  | Handle.embedded.DSLs.(injections | 
| b700 |  29 2e 0a 28 64 65 66 75 6e 20 74 72 65 65 2d 73    69 74 74 65 72 2d 68 6c 2d 2d 68 69 67 68 6c 69  | )..(defun.tree-sitter-hl--highli | 
| b720 |  67 68 74 2d 72 65 67 69 6f 6e 20 28 62 65 67 20    65 6e 64 20 26 6f 70 74 69 6f 6e 61 6c 20 6c 6f  | ght-region.(beg.end.&optional.lo | 
| b740 |  75 64 6c 79 29 0a 20 20 22 48 69 67 68 6c 69 67    68 74 20 74 68 65 20 72 65 67 69 6f 6e 20 28 42  | udly)..."Highlight.the.region.(B | 
| b760 |  45 47 20 2e 20 45 4e 44 29 2e 0a 54 68 69 73 20    69 73 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 62  | EG...END)..This.is.intended.to.b | 
| b780 |  65 20 75 73 65 64 20 61 73 20 61 20 62 75 66 66    65 72 2d 6c 6f 63 61 6c 20 6f 76 65 72 72 69 64  | e.used.as.a.buffer-local.overrid | 
| b7a0 |  65 20 6f 66 0a 60 66 6f 6e 74 2d 6c 6f 63 6b 2d    66 6f 6e 74 69 66 79 2d 72 65 67 69 6f 6e 2d 66  | e.of.`font-lock-fontify-region-f | 
| b7c0 |  75 6e 63 74 69 6f 6e 27 2e 0a 0a 49 66 20 4c 4f    55 44 4c 59 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c  | unction'...If.LOUDLY.is.non-nil, | 
| b7e0 |  20 70 72 69 6e 74 20 64 65 62 75 67 20 6d 65 73    73 61 67 65 73 2e 22 0a 20 20 28 74 73 63 2d 2d  | .print.debug.messages."...(tsc-- | 
| b800 |  73 61 76 65 2d 63 6f 6e 74 65 78 74 0a 20 20 20    20 28 6c 65 74 20 28 28 69 6e 68 69 62 69 74 2d  | save-context.....(let.((inhibit- | 
| b820 |  70 6f 69 6e 74 2d 6d 6f 74 69 6f 6e 2d 68 6f 6f    6b 73 20 74 29 29 0a 20 20 20 20 20 20 3b 3b 20  | point-motion-hooks.t)).......;;. | 
| b840 |  45 78 74 65 6e 64 20 74 68 65 20 72 65 67 69 6f    6e 20 74 6f 20 62 65 20 68 69 67 68 6c 69 67 68  | Extend.the.region.to.be.highligh | 
| b860 |  74 65 64 2c 20 73 6f 20 74 68 61 74 20 69 74 20    69 73 20 6e 6f 74 20 74 6f 6f 20 77 61 73 74 65  | ted,.so.that.it.is.not.too.waste | 
| b880 |  66 75 6c 6c 79 0a 20 20 20 20 20 20 3b 3b 20 73    6d 61 6c 6c 2e 20 54 68 65 6e 20 65 78 74 65 6e  | fully.......;;.small..Then.exten | 
| b8a0 |  64 20 69 74 20 61 67 61 69 6e 2c 20 62 61 73 65    64 20 6f 6e 20 73 6f 6d 65 20 68 65 75 72 69 73  | d.it.again,.based.on.some.heuris | 
| b8c0 |  74 69 63 2c 20 66 6f 72 20 71 75 65 72 79 69 6e    67 2c 20 74 6f 0a 20 20 20 20 20 20 3b 3b 20 61  | tic,.for.querying,.to.......;;.a | 
| b8e0 |  76 6f 69 64 20 63 65 72 74 61 69 6e 20 70 61 74    68 6f 6c 6f 67 69 63 61 6c 20 63 61 73 65 73 2e  | void.certain.pathological.cases. | 
| b900 |  20 54 68 69 73 20 69 73 20 70 61 72 74 69 61 6c    6c 79 20 61 6e 61 6c 6f 67 6f 75 73 20 74 6f 20  | .This.is.partially.analogous.to. | 
| b920 |  74 68 65 0a 20 20 20 20 20 20 3b 3b 20 65 78 74    65 6e 73 69 6f 6e 20 64 6f 6e 65 20 62 79 20 60  | the.......;;.extension.done.by.` | 
| b940 |  66 6f 6e 74 2d 6c 6f 63 6b 2d 64 65 66 61 75 6c    74 2d 66 6f 6e 74 69 66 79 2d 72 65 67 69 6f 6e  | font-lock-default-fontify-region | 
| b960 |  27 2e 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28    68 6c 2d 72 65 67 69 6f 6e 20 60 28 2c 62 65 67  | '........(let.((hl-region.`(,beg | 
| b980 |  20 2e 20 2c 65 6e 64 29 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 28 71 75 65 72 79 2d 72 65 67  | ...,end)).............(query-reg | 
| b9a0 |  69 6f 6e 20 60 28 2c 62 65 67 20 2e 20 2c 65 6e    64 29 29 29 0a 20 20 20 20 20 20 20 20 28 74 72  | ion.`(,beg...,end))).........(tr | 
| b9c0 |  65 65 2d 73 69 74 74 65 72 2d 68 6c 2d 2d 65 78    74 65 6e 64 2d 72 65 67 69 6f 6e 73 20 68 6c 2d  | ee-sitter-hl--extend-regions.hl- | 
| b9e0 |  72 65 67 69 6f 6e 20 71 75 65 72 79 2d 72 65 67    69 6f 6e 29 0a 20 20 20 20 20 20 20 20 28 73 65  | region.query-region).........(se | 
| ba00 |  74 66 20 60 28 2c 62 65 67 20 2e 20 2c 65 6e 64    29 20 68 6c 2d 72 65 67 69 6f 6e 29 0a 20 20 20  | tf.`(,beg...,end).hl-region).... | 
| ba20 |  20 20 20 20 20 28 74 73 63 2d 2d 71 75 65 72 79    2d 63 75 72 73 6f 72 2d 73 65 74 2d 62 79 74 65  | .....(tsc--query-cursor-set-byte | 
| ba40 |  2d 72 61 6e 67 65 20 74 72 65 65 2d 73 69 74 74    65 72 2d 68 6c 2d 2d 71 75 65 72 79 2d 63 75 72  | -range.tree-sitter-hl--query-cur | 
| ba60 |  73 6f 72 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  | sor............................. | 
| ba80 |  20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 6f    73 69 74 69 6f 6e 2d 62 79 74 65 73 20 28 63 61  | .............(position-bytes.(ca | 
| baa0 |  72 20 71 75 65 72 79 2d 72 65 67 69 6f 6e 29 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | r.query-region))................ | 
| bac0 |  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 70 6f 73 69 74  | ..........................(posit | 
| bae0 |  69 6f 6e 2d 62 79 74 65 73 20 28 63 64 72 20 71    75 65 72 79 2d 72 65 67 69 6f 6e 29 29 29 29 0a  | ion-bytes.(cdr.query-region)))). | 
| bb00 |  20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 72 6f    6f 74 2d 6e 6f 64 65 20 28 74 73 63 2d 72 6f 6f  | ......(let*.((root-node.(tsc-roo | 
| bb20 |  74 2d 6e 6f 64 65 20 74 72 65 65 2d 73 69 74 74    65 72 2d 74 72 65 65 29 29 0a 20 20 20 20 20 20  | t-node.tree-sitter-tree))....... | 
| bb40 |  20 20 20 20 20 20 20 28 63 61 70 74 75 72 65 73    20 20 28 74 73 63 2d 2d 71 75 65 72 79 2d 63 75  | .......(captures..(tsc--query-cu | 
| bb60 |  72 73 6f 72 2d 63 61 70 74 75 72 65 73 2d 31 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | rsor-captures-1................. | 
| bb80 |  20 20 20 20 20 20 20 20 20 74 72 65 65 2d 73 69    74 74 65 72 2d 68 6c 2d 2d 71 75 65 72 79 2d 63  | .........tree-sitter-hl--query-c | 
| bba0 |  75 72 73 6f 72 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 74  | ursor..........................t | 
| bbc0 |  72 65 65 2d 73 69 74 74 65 72 2d 68 6c 2d 2d 71    75 65 72 79 0a 20 20 20 20 20 20 20 20 20 20 20  | ree-sitter-hl--query............ | 
| bbe0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 6f    6f 74 2d 6e 6f 64 65 0a 20 20 20 20 20 20 20 20  | ..............root-node......... | 
| bc00 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 23 27 74 73 63 2d 2d 62 75 66 66 65 72 2d 73  | .................#'tsc--buffer-s | 
| bc20 |  75 62 73 74 72 69 6e 67 2d 6e 6f 2d 70 72 6f 70    65 72 74 69 65 73 29 29 29 0a 20 20 20 20 20 20  | ubstring-no-properties)))....... | 
| bc40 |  20 20 3b 3b 20 54 4f 44 4f 3a 20 48 61 6e 64 6c    65 20 71 75 69 74 74 69 6e 67 2e 0a 20 20 20 20  | ..;;.TODO:.Handle.quitting...... | 
| bc60 |  20 20 20 20 28 77 69 74 68 2d 73 69 6c 65 6e 74    2d 6d 6f 64 69 66 69 63 61 74 69 6f 6e 73 0a 20  | ....(with-silent-modifications.. | 
| bc80 |  20 20 20 20 20 20 20 20 20 28 66 6f 6e 74 2d 6c    6f 63 6b 2d 75 6e 66 6f 6e 74 69 66 79 2d 72 65  | .........(font-lock-unfontify-re | 
| bca0 |  67 69 6f 6e 20 62 65 67 20 65 6e 64 29 0a 20 20    20 20 20 20 20 20 20 20 3b 3b 20 54 4f 44 4f 3a  | gion.beg.end)...........;;.TODO: | 
| bcc0 |  20 43 6f 6e 73 69 64 65 72 20 67 69 76 69 6e 67    20 63 65 72 74 61 69 6e 20 63 6f 6d 62 69 6e 61  | .Consider.giving.certain.combina | 
| bce0 |  74 69 6f 6e 73 20 6f 66 20 68 69 67 68 6c 69 67    68 74 20 6e 61 6d 65 73 20 74 68 65 69 72 0a 20  | tions.of.highlight.names.their.. | 
| bd00 |  20 20 20 20 20 20 20 20 20 3b 3b 20 6f 77 6e 20    66 61 63 65 73 2e 20 46 6f 72 20 65 78 61 6d 70  | .........;;.own.faces..For.examp | 
| bd20 |  6c 65 2c 20 69 74 20 6d 69 67 68 74 20 62 65 20    64 65 73 69 72 61 62 6c 65 20 66 6f 72 20 66 6f  | le,.it.might.be.desirable.for.fo | 
| bd40 |  6e 74 69 66 69 63 61 74 69 6f 6e 20 6f 66 0a 20    20 20 20 20 20 20 20 20 20 3b 3b 20 61 20 6e 6f  | ntification.of...........;;.a.no | 
| bd60 |  64 65 20 74 68 61 74 20 6d 61 74 63 68 65 73 20    62 6f 74 68 20 22 63 6f 6e 73 74 72 75 63 74 6f  | de.that.matches.both."constructo | 
| bd80 |  72 22 20 61 6e 64 20 22 76 61 72 69 61 62 6c 65    22 20 74 6f 20 62 65 0a 20 20 20 20 20 20 20 20  | r".and."variable".to.be......... | 
| bda0 |  20 20 3b 3b 20 64 69 66 66 65 72 65 6e 74 20 66    72 6f 6d 20 74 68 65 20 75 6e 69 6f 6e 20 6f 66  | ..;;.different.from.the.union.of | 
| bdc0 |  20 22 63 6f 6e 73 74 72 75 63 74 6f 72 20 66 6f    6e 74 69 66 69 63 61 74 69 6f 6e 22 20 61 6e 64  | ."constructor.fontification".and | 
| bde0 |  0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 22 76    61 72 69 61 62 6c 65 20 66 6f 6e 74 69 66 69 63  | ...........;;."variable.fontific | 
| be00 |  61 74 69 6f 6e 22 2e 0a 20 20 20 20 20 20 20 20    20 20 28 6d 61 70 63 20 23 27 74 72 65 65 2d 73  | ation"............(mapc.#'tree-s | 
| be20 |  69 74 74 65 72 2d 68 6c 2d 2d 68 69 67 68 6c 69    67 68 74 2d 63 61 70 74 75 72 65 20 63 61 70 74  | itter-hl--highlight-capture.capt | 
| be40 |  75 72 65 73 29 0a 20 20 20 20 20 20 20 20 20 20    3b 3b 20 54 68 69 73 20 73 68 6f 75 6c 64 20 70  | ures)...........;;.This.should.p | 
| be60 |  72 69 6d 61 72 69 6c 79 20 62 65 20 66 6f 72 20    6b 65 79 77 6f 72 64 73 20 61 64 64 65 64 20 74  | rimarily.be.for.keywords.added.t | 
| be80 |  68 72 6f 75 67 68 0a 20 20 20 20 20 20 20 20 20    20 3b 3b 20 60 66 6f 6e 74 2d 6c 6f 63 6b 2d 61  | hrough...........;;.`font-lock-a | 
| bea0 |  64 64 2d 6b 65 79 77 6f 72 64 73 27 20 28 6d 69    6e 6f 72 20 6d 6f 64 65 73 20 61 6e 64 20 65 6e  | dd-keywords'.(minor.modes.and.en | 
| bec0 |  64 20 75 73 65 72 73 29 2e 0a 20 20 20 20 20 20    20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 20 74  | d.users)............(when.(and.t | 
| bee0 |  72 65 65 2d 73 69 74 74 65 72 2d 68 6c 2d 75 73    65 2d 66 6f 6e 74 2d 6c 6f 63 6b 2d 6b 65 79 77  | ree-sitter-hl-use-font-lock-keyw | 
| bf00 |  6f 72 64 73 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 66 6f 6e 74 2d 6c  | ords......................font-l | 
| bf20 |  6f 63 6b 2d 73 65 74 2d 64 65 66 61 75 6c 74 73    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 66  | ock-set-defaults).............(f | 
| bf40 |  6f 6e 74 2d 6c 6f 63 6b 2d 66 6f 6e 74 69 66 79    2d 6b 65 79 77 6f 72 64 73 2d 72 65 67 69 6f 6e  | ont-lock-fontify-keywords-region | 
| bf60 |  20 62 65 67 20 65 6e 64 20 6c 6f 75 64 6c 79 29    29 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 57 65  | .beg.end.loudly))).........;;.We | 
| bf80 |  20 6d 61 79 20 68 61 76 65 20 68 69 67 68 6c 69    67 68 74 65 64 20 6d 6f 72 65 2c 20 62 75 74 20  | .may.have.highlighted.more,.but. | 
| bfa0 |  61 72 65 20 6f 6e 6c 79 20 72 65 61 73 6f 6e 61    62 6c 79 20 73 75 72 65 20 61 62 6f 75 74 0a 20  | are.only.reasonably.sure.about.. | 
| bfc0 |  20 20 20 20 20 20 20 3b 3b 20 48 4c 2d 52 45 47    49 4f 4e 2e 0a 20 20 20 20 20 20 20 20 60 28 6a  | .......;;.HL-REGION..........`(j | 
| bfe0 |  69 74 2d 6c 6f 63 6b 2d 62 6f 75 6e 64 73 20 2c    62 65 67 20 2e 20 2c 65 6e 64 29 29 29 29 29 0a  | it-lock-bounds.,beg...,end))))). | 
| c000 |  0a 28 64 65 66 75 6e 20 74 72 65 65 2d 73 69 74    74 65 72 2d 68 6c 2d 2d 68 69 67 68 6c 69 67 68  | .(defun.tree-sitter-hl--highligh | 
| c020 |  74 2d 72 65 67 69 6f 6e 2d 77 69 74 68 2d 66 61    6c 6c 62 61 63 6b 20 28 6f 6c 64 2d 66 6f 6e 74  | t-region-with-fallback.(old-font | 
| c040 |  69 66 79 2d 66 6e 20 62 65 67 20 65 6e 64 20 26    6f 70 74 69 6f 6e 61 6c 20 6c 6f 75 64 6c 79 29  | ify-fn.beg.end.&optional.loudly) | 
| c060 |  0a 20 20 22 48 69 67 68 6c 69 67 68 74 20 74 68    65 20 72 65 67 69 6f 6e 20 28 42 45 47 20 2e 20  | ..."Highlight.the.region.(BEG... | 
| c080 |  45 4e 44 29 2e 0a 0a 54 68 69 73 20 69 73 20 61    20 77 72 61 70 70 65 72 20 61 72 6f 75 6e 64 20  | END)...This.is.a.wrapper.around. | 
| c0a0 |  60 74 72 65 65 2d 73 69 74 74 65 72 2d 68 6c 2d    2d 68 69 67 68 6c 69 67 68 74 2d 72 65 67 69 6f  | `tree-sitter-hl--highlight-regio | 
| c0c0 |  6e 27 20 74 68 61 74 20 66 61 6c 6c 73 20 62 61    63 6b 20 74 6f 0a 4f 4c 44 2d 46 4f 4e 54 49 46  | n'.that.falls.back.to.OLD-FONTIF | 
| c0e0 |  59 2d 46 4e 20 77 68 65 6e 20 74 68 65 20 63 75    72 72 65 6e 74 20 62 75 66 66 65 72 20 64 6f 65  | Y-FN.when.the.current.buffer.doe | 
| c100 |  73 6e 27 74 20 68 61 76 65 20 60 74 72 65 65 2d    73 69 74 74 65 72 2d 68 6c 2d 6d 6f 64 65 27 0a  | sn't.have.`tree-sitter-hl-mode'. | 
| c120 |  65 6e 61 62 6c 65 64 2e 20 41 6e 20 65 78 61 6d    70 6c 65 20 69 73 20 60 6a 75 70 79 74 65 72 2d  | enabled..An.example.is.`jupyter- | 
| c140 |  72 65 70 6c 2d 6d 6f 64 65 27 2c 20 77 68 69 63    68 20 63 6f 70 69 65 73 20 61 6e 64 20 75 73 65  | repl-mode',.which.copies.and.use | 
| c160 |  73 20 6f 74 68 65 72 20 6d 61 6a 6f 72 0a 6d 6f    64 65 73 27 20 66 6f 6e 74 69 66 69 63 61 74 69  | s.other.major.modes'.fontificati | 
| c180 |  6f 6e 20 66 75 6e 63 74 69 6f 6e 73 20 74 6f 20    68 69 67 68 6c 69 67 68 74 20 69 74 73 20 69 6e  | on.functions.to.highlight.its.in | 
| c1a0 |  70 75 74 20 63 65 6c 6c 73 2e 20 53 65 65 0a 68    74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f  | put.cells..See.https://github.co | 
| c1c0 |  6d 2f 65 6d 61 63 73 2d 74 72 65 65 2d 73 69 74    74 65 72 2f 65 6c 69 73 70 2d 74 72 65 65 2d 73  | m/emacs-tree-sitter/elisp-tree-s | 
| c1e0 |  69 74 74 65 72 2f 69 73 73 75 65 73 2f 37 38 23    69 73 73 75 65 63 6f 6d 6d 65 6e 74 2d 31 30 30  | itter/issues/78#issuecomment-100 | 
| c200 |  35 39 38 37 38 31 37 2e 22 0a 20 20 28 69 66 20    74 72 65 65 2d 73 69 74 74 65 72 2d 68 6c 2d 2d  | 5987817."...(if.tree-sitter-hl-- | 
| c220 |  71 75 65 72 79 0a 20 20 20 20 20 20 28 74 72 65    65 2d 73 69 74 74 65 72 2d 68 6c 2d 2d 68 69 67  | query.......(tree-sitter-hl--hig | 
| c240 |  68 6c 69 67 68 74 2d 72 65 67 69 6f 6e 20 62 65    67 20 65 6e 64 20 6c 6f 75 64 6c 79 29 0a 20 20  | hlight-region.beg.end.loudly)... | 
| c260 |  20 20 28 66 75 6e 63 61 6c 6c 20 6f 6c 64 2d 66    6f 6e 74 69 66 79 2d 66 6e 20 62 65 67 20 65 6e  | ..(funcall.old-fontify-fn.beg.en | 
| c280 |  64 20 6c 6f 75 64 6c 79 29 29 29 0a 0a 28 64 65    66 75 6e 20 74 72 65 65 2d 73 69 74 74 65 72 2d  | d.loudly)))..(defun.tree-sitter- | 
| c2a0 |  68 6c 2d 2d 69 6e 76 61 6c 69 64 61 74 65 20 28    26 6f 70 74 69 6f 6e 61 6c 20 6f 6c 64 2d 74 72  | hl--invalidate.(&optional.old-tr | 
| c2c0 |  65 65 29 0a 20 20 22 4d 61 72 6b 20 72 65 67 69    6f 6e 73 20 6f 66 20 74 65 78 74 20 74 6f 20 62  | ee)..."Mark.regions.of.text.to.b | 
| c2e0 |  65 20 72 65 68 69 67 68 6c 69 67 68 74 65 64 20    61 66 74 65 72 20 61 20 74 65 78 74 20 63 68 61  | e.rehighlighted.after.a.text.cha | 
| c300 |  6e 67 65 2e 0a 49 6e 73 74 61 6c 6c 65 64 20 6f    6e 20 60 74 72 65 65 2d 73 69 74 74 65 72 2d 61  | nge..Installed.on.`tree-sitter-a | 
| c320 |  66 74 65 72 2d 63 68 61 6e 67 65 2d 66 75 6e 63    74 69 6f 6e 73 27 2e 0a 0a 4f 4c 44 2d 54 52 45  | fter-change-functions'...OLD-TRE | 
| c340 |  45 20 69 73 20 74 68 65 20 74 72 65 65 20 62 65    66 6f 72 65 20 74 68 65 20 65 64 69 74 2e 22 0a  | E.is.the.tree.before.the.edit.". | 
| c360 |  20 20 28 69 66 20 6f 6c 64 2d 74 72 65 65 0a 20    20 20 20 20 20 3b 3b 20 49 6e 63 72 65 6d 65 6e  | ..(if.old-tree.......;;.Incremen | 
| c380 |  74 61 6c 20 70 61 72 73 65 2e 0a 20 20 20 20 20    20 28 73 65 71 2d 64 6f 73 65 71 20 28 72 61 6e  | tal.parse........(seq-doseq.(ran | 
| c3a0 |  67 65 20 28 74 73 63 2d 63 68 61 6e 67 65 64 2d    72 61 6e 67 65 73 20 6f 6c 64 2d 74 72 65 65 20  | ge.(tsc-changed-ranges.old-tree. | 
| c3c0 |  74 72 65 65 2d 73 69 74 74 65 72 2d 74 72 65 65    29 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 54 4f  | tree-sitter-tree)).........;;.TO | 
| c3e0 |  44 4f 3a 20 48 6f 77 20 61 62 6f 75 74 20 69 6e    76 61 6c 69 64 61 74 69 6e 67 20 61 20 73 69 6e  | DO:.How.about.invalidating.a.sin | 
| c400 |  67 6c 65 20 6c 61 72 67 65 20 72 61 6e 67 65 3f    0a 20 20 20 20 20 20 20 20 28 70 63 61 73 65 2d  | gle.large.range?.........(pcase- | 
| c420 |  6c 65 74 2a 20 28 28 60 5b 2c 62 65 67 2d 62 79    74 65 20 2c 65 6e 64 2d 62 79 74 65 5d 20 72 61  | let*.((`[,beg-byte.,end-byte].ra | 
| c440 |  6e 67 65 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 28 62 65 67 20 28  | nge)......................(beg.( | 
| c460 |  62 79 74 65 2d 74 6f 2d 70 6f 73 69 74 69 6f 6e    20 62 65 67 2d 62 79 74 65 29 29 0a 20 20 20 20  | byte-to-position.beg-byte))..... | 
| c480 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 65 6e 64 20 28 62 79 74 65 2d 74 6f 2d 70  | .................(end.(byte-to-p | 
| c4a0 |  6f 73 69 74 69 6f 6e 20 65 6e 64 2d 62 79 74 65    29 29 29 0a 20 20 20 20 20 20 20 20 20 20 3b 3b  | osition.end-byte)))...........;; | 
| c4c0 |  20 54 4f 44 4f 3a 20 48 6f 77 20 61 62 6f 75 74    20 63 61 6c 6c 69 6e 67 20 60 6a 69 74 2d 6c 6f  | .TODO:.How.about.calling.`jit-lo | 
| c4e0 |  63 6b 2d 72 65 66 6f 6e 74 69 66 79 27 20 64 69    72 65 63 74 6c 79 3f 0a 20 20 20 20 20 20 20 20  | ck-refontify'.directly?......... | 
| c500 |  20 20 28 66 6f 6e 74 2d 6c 6f 63 6b 2d 66 6c 75    73 68 20 62 65 67 20 65 6e 64 29 29 29 0a 20 20  | ..(font-lock-flush.beg.end)))... | 
| c520 |  20 20 3b 3b 20 46 69 72 73 74 20 70 61 72 73 65    2e 0a 20 20 20 20 28 66 6f 6e 74 2d 6c 6f 63 6b  | ..;;.First.parse......(font-lock | 
| c540 |  2d 66 6c 75 73 68 29 29 29 0a 0a 3b 3b 3b 20 2d    2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  | -flush)))..;;;.----------------- | 
| c560 |  2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d    2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  | -------------------------------- | 
| c580 |  2d 2d 2d 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 3b 20  | ---------------------------.;;;. | 
| c5a0 |  53 65 74 75 70 20 61 6e 64 20 74 65 61 72 64 6f    77 6e 2e 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63  | Setup.and.teardown...(defvar-loc | 
| c5c0 |  61 6c 20 74 72 65 65 2d 73 69 74 74 65 72 2d 68    6c 2d 2d 66 6f 6e 74 2d 6c 6f 63 6b 2d 6b 65 79  | al.tree-sitter-hl--font-lock-key | 
| c5e0 |  77 6f 72 64 73 20 6e 69 6c 29 0a 0a 28 64 65 66    75 6e 20 74 72 65 65 2d 73 69 74 74 65 72 2d 68  | words.nil)..(defun.tree-sitter-h | 
| c600 |  6c 2d 2d 6d 69 6e 69 6d 69 7a 65 2d 66 6f 6e 74    2d 6c 6f 63 6b 2d 6b 65 79 77 6f 72 64 73 20 28  | l--minimize-font-lock-keywords.( | 
| c620 |  29 0a 20 20 22 52 65 6d 6f 76 65 20 6b 65 79 77    6f 72 64 73 20 73 65 74 20 62 79 20 60 66 6f 6e  | )..."Remove.keywords.set.by.`fon | 
| c640 |  74 2d 6c 6f 63 6b 2d 64 65 66 61 75 6c 74 73 27    20 66 72 6f 6d 20 60 66 6f 6e 74 2d 6c 6f 63 6b  | t-lock-defaults'.from.`font-lock | 
| c660 |  2d 6b 65 79 77 6f 72 64 73 27 2e 22 0a 20 20 28    77 68 65 6e 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 73  | -keywords'."...(when.font-lock-s | 
| c680 |  65 74 2d 64 65 66 61 75 6c 74 73 0a 20 20 20 20    28 75 6e 6c 65 73 73 20 74 72 65 65 2d 73 69 74  | et-defaults.....(unless.tree-sit | 
| c6a0 |  74 65 72 2d 68 6c 2d 2d 66 6f 6e 74 2d 6c 6f 63    6b 2d 6b 65 79 77 6f 72 64 73 0a 20 20 20 20 20  | ter-hl--font-lock-keywords...... | 
| c6c0 |  20 28 73 65 74 71 20 74 72 65 65 2d 73 69 74 74    65 72 2d 68 6c 2d 2d 66 6f 6e 74 2d 6c 6f 63 6b  | .(setq.tree-sitter-hl--font-lock | 
| c6e0 |  2d 6b 65 79 77 6f 72 64 73 20 66 6f 6e 74 2d 6c    6f 63 6b 2d 6b 65 79 77 6f 72 64 73 29 0a 20 20  | -keywords.font-lock-keywords)... | 
| c700 |  20 20 20 20 28 77 68 65 6e 20 28 65 71 20 74 72    65 65 2d 73 69 74 74 65 72 2d 68 6c 2d 75 73 65  | ....(when.(eq.tree-sitter-hl-use | 
| c720 |  2d 66 6f 6e 74 2d 6c 6f 63 6b 2d 6b 65 79 77 6f    72 64 73 20 3a 65 78 63 65 70 74 2d 66 6f 6e 74  | -font-lock-keywords.:except-font | 
| c740 |  2d 6c 6f 63 6b 2d 64 65 66 61 75 6c 74 73 29 0a    20 20 20 20 20 20 20 20 3b 3b 20 58 58 58 3a 20  | -lock-defaults).........;;.XXX:. | 
| c760 |  43 68 65 63 6b 20 77 68 65 74 68 65 72 20 74 68    69 73 20 63 6f 76 65 72 73 20 61 6c 6c 20 74 68  | Check.whether.this.covers.all.th | 
| c780 |  65 20 65 64 67 65 20 63 61 73 65 73 20 6f 66 20    74 68 65 20 69 6e 74 65 72 61 63 74 69 6f 6e 0a  | e.edge.cases.of.the.interaction. | 
| c7a0 |  20 20 20 20 20 20 20 20 3b 3b 20 62 65 74 77 65    65 6e 20 60 66 6f 6e 74 2d 6c 6f 63 6b 2d 65 76  | ........;;.between.`font-lock-ev | 
| c7c0 |  61 6c 2d 6b 65 79 77 6f 72 64 73 27 20 61 6e 64    20 60 66 6f 6e 74 2d 6c 6f 63 6b 2d 72 65 6d 6f  | al-keywords'.and.`font-lock-remo | 
| c7e0 |  76 65 2d 6b 65 79 77 6f 72 64 73 27 2e 0a 20 20    20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 6b 65  | ve-keywords'..........(let*.((ke | 
| c800 |  79 77 6f 72 64 73 2d 73 70 65 63 20 28 63 61 72    20 66 6f 6e 74 2d 6c 6f 63 6b 2d 64 65 66 61 75  | ywords-spec.(car.font-lock-defau | 
| c820 |  6c 74 73 29 29 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 3b 3b 20 54 68 65 20 73 70 65 63  | lts))................;;.The.spec | 
| c840 |  20 63 61 6e 20 62 65 20 61 20 6c 69 73 74 2c 20    63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f  | .can.be.a.list,.corresponding.to | 
| c860 |  20 6d 75 6c 74 69 70 6c 65 20 6c 65 76 65 6c 73    20 6f 66 0a 20 20 20 20 20 20 20 20 20 20 20 20  | .multiple.levels.of............. | 
| c880 |  20 20 20 3b 3b 20 66 6f 6e 74 69 66 69 63 61 74    69 6f 6e 2e 20 57 65 20 77 61 6e 74 20 74 6f 20  | ...;;.fontification..We.want.to. | 
| c8a0 |  64 69 73 61 62 6c 65 20 61 6c 6c 20 6f 66 20 74    68 65 6d 2e 0a 20 20 20 20 20 20 20 20 20 20 20  | disable.all.of.them............. | 
| c8c0 |  20 20 20 20 28 6b 65 79 77 6f 72 64 73 2d 6c 69    73 74 20 28 69 66 20 28 61 6e 64 20 28 6c 69 73  | ....(keywords-list.(if.(and.(lis | 
| c8e0 |  74 70 20 6b 65 79 77 6f 72 64 73 2d 73 70 65 63    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | tp.keywords-spec)............... | 
| c900 |  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 73 79 6d 62 6f 6c  | .........................(symbol | 
| c920 |  70 20 28 63 61 72 20 6b 65 79 77 6f 72 64 73 2d    73 70 65 63 29 29 29 0a 20 20 20 20 20 20 20 20  | p.(car.keywords-spec)))......... | 
| c940 |  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 6b 65 79 77 6f 72  | ..........................keywor | 
| c960 |  64 73 2d 73 70 65 63 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  | ds-spec......................... | 
| c980 |  20 20 20 20 20 20 20 20 28 6c 69 73 74 20 6b 65    79 77 6f 72 64 73 2d 73 70 65 63 29 29 29 29 0a  | ........(list.keywords-spec)))). | 
| c9a0 |  20 20 20 20 20 20 20 20 20 20 28 64 6f 6c 69 73    74 20 28 6b 65 79 77 6f 72 64 73 20 6b 65 79 77  | ..........(dolist.(keywords.keyw | 
| c9c0 |  6f 72 64 73 2d 6c 69 73 74 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 28 66 6f 6e 74 2d 6c 6f 63  | ords-list).............(font-loc | 
| c9e0 |  6b 2d 72 65 6d 6f 76 65 2d 6b 65 79 77 6f 72 64    73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 6e  | k-remove-keywords..............n | 
| ca00 |  69 6c 20 28 66 6f 6e 74 2d 6c 6f 63 6b 2d 65 76    61 6c 2d 6b 65 79 77 6f 72 64 73 20 6b 65 79 77  | il.(font-lock-eval-keywords.keyw | 
| ca20 |  6f 72 64 73 29 29 29 29 29 29 29 29 0a 0a 28 64    65 66 75 6e 20 74 72 65 65 2d 73 69 74 74 65 72  | ords))))))))..(defun.tree-sitter | 
| ca40 |  2d 68 6c 2d 2d 72 65 73 74 6f 72 65 2d 66 6f 6e    74 2d 6c 6f 63 6b 2d 6b 65 79 77 6f 72 64 73 20  | -hl--restore-font-lock-keywords. | 
| ca60 |  28 29 0a 20 20 22 55 6e 64 6f 20 74 68 65 20 68    61 63 6b 20 64 6f 6e 65 20 62 79 20 60 74 72 65  | ()..."Undo.the.hack.done.by.`tre | 
| ca80 |  65 2d 73 69 74 74 65 72 2d 68 6c 2d 2d 6d 69 6e    69 6d 69 7a 65 2d 66 6f 6e 74 2d 6c 6f 63 6b 2d  | e-sitter-hl--minimize-font-lock- | 
| caa0 |  6b 65 79 77 6f 72 64 73 27 2e 22 0a 20 20 28 77    68 65 6e 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 73 65  | keywords'."...(when.font-lock-se | 
| cac0 |  74 2d 64 65 66 61 75 6c 74 73 0a 20 20 20 20 28    77 68 65 6e 20 74 72 65 65 2d 73 69 74 74 65 72  | t-defaults.....(when.tree-sitter | 
| cae0 |  2d 68 6c 2d 2d 66 6f 6e 74 2d 6c 6f 63 6b 2d 6b    65 79 77 6f 72 64 73 0a 20 20 20 20 20 20 28 73  | -hl--font-lock-keywords.......(s | 
| cb00 |  65 74 71 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 6b 65    79 77 6f 72 64 73 20 74 72 65 65 2d 73 69 74 74  | etq.font-lock-keywords.tree-sitt | 
| cb20 |  65 72 2d 68 6c 2d 2d 66 6f 6e 74 2d 6c 6f 63 6b    2d 6b 65 79 77 6f 72 64 73 0a 20 20 20 20 20 20  | er-hl--font-lock-keywords....... | 
| cb40 |  20 20 20 20 20 20 74 72 65 65 2d 73 69 74 74 65    72 2d 68 6c 2d 2d 66 6f 6e 74 2d 6c 6f 63 6b 2d  | ......tree-sitter-hl--font-lock- | 
| cb60 |  6b 65 79 77 6f 72 64 73 20 6e 69 6c 29 29 29 29    0a 0a 28 64 65 66 75 6e 20 74 72 65 65 2d 73 69  | keywords.nil))))..(defun.tree-si | 
| cb80 |  74 74 65 72 2d 68 6c 2d 2d 73 65 74 75 70 20 28    29 0a 20 20 22 53 65 74 20 75 70 20 60 74 72 65  | tter-hl--setup.()..."Set.up.`tre | 
| cba0 |  65 2d 73 69 74 74 65 72 2d 68 6c 27 20 69 6e 20    74 68 65 20 63 75 72 72 65 6e 74 20 62 75 66 66  | e-sitter-hl'.in.the.current.buff | 
| cbc0 |  65 72 2e 0a 54 68 69 73 20 61 73 73 75 6d 65 73    20 62 6f 74 68 20 60 74 72 65 65 2d 73 69 74 74  | er..This.assumes.both.`tree-sitt | 
| cbe0 |  65 72 2d 6d 6f 64 65 27 20 61 6e 64 20 60 66 6f    6e 74 2d 6c 6f 63 6b 2d 6d 6f 64 65 27 20 77 65  | er-mode'.and.`font-lock-mode'.we | 
| cc00 |  72 65 20 61 6c 72 65 61 64 79 20 65 6e 61 62 6c    65 64 2e 22 0a 20 20 3b 3b 20 54 4f 44 4f 3a 20  | re.already.enabled."...;;.TODO:. | 
| cc20 |  49 66 20 74 68 65 72 65 27 73 20 61 6e 20 65 72    72 6f 72 2c 20 64 69 73 61 62 6c 65 20 60 74 72  | If.there's.an.error,.disable.`tr | 
| cc40 |  65 65 2d 73 69 74 74 65 72 2d 68 6c 2d 2d 65 78    74 72 61 2d 70 61 74 74 65 72 6e 73 2d 6c 69 73  | ee-sitter-hl--extra-patterns-lis | 
| cc60 |  74 27 0a 20 20 3b 3b 20 61 6e 64 20 72 65 74 72    79 2e 0a 20 20 28 77 68 65 6e 20 28 74 72 65 65  | t'...;;.and.retry....(when.(tree | 
| cc80 |  2d 73 69 74 74 65 72 2d 68 6c 2d 2d 65 6e 73 75    72 65 2d 71 75 65 72 79 29 0a 20 20 20 20 28 75  | -sitter-hl--ensure-query).....(u | 
| cca0 |  6e 6c 65 73 73 20 74 72 65 65 2d 73 69 74 74 65    72 2d 68 6c 2d 2d 71 75 65 72 79 2d 63 75 72 73  | nless.tree-sitter-hl--query-curs | 
| ccc0 |  6f 72 0a 20 20 20 20 20 20 28 73 65 74 71 20 74    72 65 65 2d 73 69 74 74 65 72 2d 68 6c 2d 2d 71  | or.......(setq.tree-sitter-hl--q | 
| cce0 |  75 65 72 79 2d 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  | uery-cursor.(tsc-make-query-curs | 
| cd00 |  6f 72 29 29 0a 20 20 20 20 20 20 3b 3b 20 49 6e    76 61 6c 69 64 61 74 65 20 74 68 65 20 62 75 66  | or)).......;;.Invalidate.the.buf | 
| cd20 |  66 65 72 2c 20 6f 6e 6c 79 20 69 66 20 77 65 20    77 65 72 65 20 61 63 74 75 61 6c 6c 79 20 64 69  | fer,.only.if.we.were.actually.di | 
| cd40 |  73 61 62 6c 65 64 20 70 72 65 76 69 6f 75 73 6c    79 2e 0a 20 20 20 20 20 20 28 74 72 65 65 2d 73  | sabled.previously........(tree-s | 
| cd60 |  69 74 74 65 72 2d 68 6c 2d 2d 69 6e 76 61 6c 69    64 61 74 65 29 29 0a 20 20 20 20 3b 3b 20 54 4f  | itter-hl--invalidate)).....;;.TO | 
| cd80 |  44 4f 3a 20 4f 76 65 72 72 69 64 65 20 60 66 6f    6e 74 2d 6c 6f 63 6b 2d 65 78 74 65 6e 64 2d 61  | DO:.Override.`font-lock-extend-a | 
| cda0 |  66 74 65 72 2d 63 68 61 6e 67 65 2d 72 65 67 69    6f 6e 2d 66 75 6e 63 74 69 6f 6e 27 2c 20 6f 72  | fter-change-region-function',.or | 
| cdc0 |  20 68 6f 6f 6b 0a 20 20 20 20 3b 3b 20 69 6e 74    6f 20 60 6a 69 74 2d 6c 6f 63 6b 2d 61 66 74 65  | .hook.....;;.into.`jit-lock-afte | 
| cde0 |  72 2d 63 68 61 6e 67 65 2d 65 78 74 65 6e 64 2d    72 65 67 69 6f 6e 2d 66 75 6e 63 74 69 6f 6e 73  | r-change-extend-region-functions | 
| ce00 |  27 20 64 69 72 65 63 74 6c 79 2e 20 46 6f 72 20    74 68 61 74 20 74 6f 0a 20 20 20 20 3b 3b 20 77  | '.directly..For.that.to.....;;.w | 
| ce20 |  6f 72 6b 2c 20 77 65 20 6e 65 65 64 20 74 6f 20    6d 61 6b 65 20 73 75 72 65 20 60 74 72 65 65 2d  | ork,.we.need.to.make.sure.`tree- | 
| ce40 |  73 69 74 74 65 72 2d 2d 61 66 74 65 72 2d 63 68    61 6e 67 65 27 20 72 75 6e 73 20 62 65 66 6f 72  | sitter--after-change'.runs.befor | 
| ce60 |  65 0a 20 20 20 20 3b 3b 20 60 6a 69 74 2d 6c 6f    63 6b 2d 61 66 74 65 72 2d 63 68 61 6e 67 65 27  | e.....;;.`jit-lock-after-change' | 
| ce80 |  2e 0a 20 20 20 20 28 61 64 64 2d 68 6f 6f 6b 20    27 74 72 65 65 2d 73 69 74 74 65 72 2d 61 66 74  | ......(add-hook.'tree-sitter-aft | 
| cea0 |  65 72 2d 63 68 61 6e 67 65 2d 66 75 6e 63 74 69    6f 6e 73 0a 20 20 20 20 20 20 20 20 20 20 20 20  | er-change-functions............. | 
| cec0 |  20 20 23 27 74 72 65 65 2d 73 69 74 74 65 72 2d    68 6c 2d 2d 69 6e 76 61 6c 69 64 61 74 65 0a 20  | ..#'tree-sitter-hl--invalidate.. | 
| cee0 |  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 20 3b 3b 20  | .............nil.:local).....;;. | 
| cf00 |  54 4f 44 4f 3a 20 46 69 67 75 72 65 20 6f 75 74    20 68 6f 77 20 74 6f 20 70 72 6f 70 65 72 6c 79  | TODO:.Figure.out.how.to.properly | 
| cf20 |  20 69 6e 74 65 67 72 61 74 65 20 77 69 74 68 20    60 6a 69 74 2d 6c 6f 63 6b 2d 6d 6f 64 65 27 20  | .integrate.with.`jit-lock-mode'. | 
| cf40 |  64 69 72 65 63 74 6c 79 2c 0a 20 20 20 20 3b 3b    20 77 69 74 68 6f 75 74 20 72 65 6c 79 69 6e 67  | directly,.....;;.without.relying | 
| cf60 |  20 6f 6e 20 60 66 6f 6e 74 2d 6c 6f 63 6b 2d 6d    6f 64 65 27 2e 20 41 6d 6f 6e 67 20 6f 74 68 65  | .on.`font-lock-mode'..Among.othe | 
| cf80 |  72 20 74 68 69 6e 67 73 2c 20 69 74 20 77 6f 75    6c 64 20 65 6e 61 62 6c 65 0a 20 20 20 20 3b 3b  | r.things,.it.would.enable.....;; | 
| cfa0 |  20 68 69 67 68 6c 69 67 68 74 69 6e 67 20 77 69    74 68 6f 75 74 20 73 65 74 74 69 6e 67 20 60 66  | .highlighting.without.setting.`f | 
| cfc0 |  6f 6e 74 2d 6c 6f 63 6b 2d 64 65 66 61 75 6c 74    73 27 2e 20 41 74 20 74 68 65 20 6d 6f 6d 65 6e  | ont-lock-defaults'..At.the.momen | 
| cfe0 |  74 2c 0a 20 20 20 20 3b 3b 20 60 66 6f 6e 74 2d    6c 6f 63 6b 2d 6d 6f 64 65 27 20 73 6f 6d 65 68  | t,.....;;.`font-lock-mode'.someh | 
| d000 |  6f 77 20 68 65 6c 70 73 20 77 69 74 68 20 6d 61    6b 69 6e 67 20 73 75 72 65 20 74 68 61 74 20 66  | ow.helps.with.making.sure.that.f | 
| d020 |  6f 6e 74 69 66 69 63 61 74 69 6f 6e 20 69 73 0a    20 20 20 20 3b 3b 20 75 70 64 61 74 65 64 20 69  | ontification.is.....;;.updated.i | 
| d040 |  6e 2d 74 69 6d 65 2c 20 69 6e 73 74 65 61 64 20    6f 66 20 65 76 65 6e 74 75 61 6c 6c 79 2e 0a 20  | n-time,.instead.of.eventually... | 
| d060 |  20 20 20 28 61 64 64 2d 66 75 6e 63 74 69 6f 6e    20 3a 61 72 6f 75 6e 64 20 28 6c 6f 63 61 6c 20  | ...(add-function.:around.(local. | 
| d080 |  27 66 6f 6e 74 2d 6c 6f 63 6b 2d 66 6f 6e 74 69    66 79 2d 72 65 67 69 6f 6e 2d 66 75 6e 63 74 69  | 'font-lock-fontify-region-functi | 
| d0a0 |  6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 23 27 74 72 65 65 2d 73 69 74  | on)...................#'tree-sit | 
| d0c0 |  74 65 72 2d 68 6c 2d 2d 68 69 67 68 6c 69 67 68    74 2d 72 65 67 69 6f 6e 2d 77 69 74 68 2d 66 61  | ter-hl--highlight-region-with-fa | 
| d0e0 |  6c 6c 62 61 63 6b 29 0a 20 20 20 20 28 74 72 65    65 2d 73 69 74 74 65 72 2d 68 6c 2d 2d 6d 69 6e  | llback).....(tree-sitter-hl--min | 
| d100 |  69 6d 69 7a 65 2d 66 6f 6e 74 2d 6c 6f 63 6b 2d    6b 65 79 77 6f 72 64 73 29 0a 20 20 20 20 3b 3b  | imize-font-lock-keywords).....;; | 
| d120 |  20 58 58 58 3a 20 57 65 20 75 73 65 64 20 74 6f    20 68 61 76 65 20 61 20 68 61 63 6b 20 74 68 61  | .XXX:.We.used.to.have.a.hack.tha | 
| d140 |  74 20 63 61 6c 6c 73 60 66 6f 6e 74 2d 6c 6f 63    6b 2d 74 75 72 6e 2d 6f 6e 2d 74 68 69 6e 67 2d  | t.calls`font-lock-turn-on-thing- | 
| d160 |  6c 6f 63 6b 27 2c 0a 20 20 20 20 3b 3b 20 77 68    69 63 68 20 61 6c 6c 6f 77 73 20 74 75 72 6e 69  | lock',.....;;.which.allows.turni | 
| d180 |  6e 67 20 6f 6e 20 74 72 65 65 2d 62 61 73 65 64    20 73 79 6e 74 61 78 20 68 69 67 68 6c 69 67 68  | ng.on.tree-based.syntax.highligh | 
| d1a0 |  74 69 6e 67 20 62 79 20 74 65 6d 70 6f 72 61 72    69 6c 79 0a 20 20 20 20 3b 3b 20 62 69 6e 64 69  | ting.by.temporarily.....;;.bindi | 
| d1c0 |  6e 67 20 60 6d 61 6a 6f 72 2d 6d 6f 64 65 27 2c    20 65 76 65 6e 20 74 68 6f 75 67 68 20 73 75 63  | ng.`major-mode',.even.though.suc | 
| d1e0 |  68 20 61 20 6d 61 6a 6f 72 20 6d 6f 64 65 20 6d    61 79 20 6e 6f 74 20 62 65 20 69 6e 73 74 61 6c  | h.a.major.mode.may.not.be.instal | 
| d200 |  6c 65 64 2c 0a 20 20 20 20 3b 3b 20 6f 72 20 64    6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 20 46  | led,.....;;.or.does.not.exist..F | 
| d220 |  6f 72 20 65 78 61 6d 70 6c 65 3a 0a 20 20 20 20    3b 3b 0a 20 20 20 20 3b 3b 20 20 20 20 20 28 6c  | or.example:.....;;.....;;.....(l | 
| d240 |  65 74 20 28 28 6d 61 6a 6f 72 2d 6d 6f 64 65 20    27 67 6f 2d 6d 6f 64 65 29 29 20 28 74 72 65 65  | et.((major-mode.'go-mode)).(tree | 
| d260 |  2d 73 69 74 74 65 72 2d 68 6c 2d 6d 6f 64 65 29    29 0a 20 20 20 20 3b 3b 0a 20 20 20 20 3b 3b 20  | -sitter-hl-mode)).....;;.....;;. | 
| d280 |  48 6f 77 65 76 65 72 2c 20 69 66 20 60 66 6f 6e    74 2d 6c 6f 63 6b 2d 6d 6f 64 65 27 20 69 73 20  | However,.if.`font-lock-mode'.is. | 
| d2a0 |  73 75 62 73 65 71 75 65 6e 74 6c 79 20 64 69 73    61 62 6c 65 64 2c 20 62 65 63 61 75 73 65 0a 20  | subsequently.disabled,.because.. | 
| d2c0 |  20 20 20 3b 3b 20 60 66 6f 6e 74 2d 6c 6f 63 6b    2d 74 75 72 6e 2d 6f 66 66 2d 74 68 69 6e 67 2d  | ...;;.`font-lock-turn-off-thing- | 
| d2e0 |  6c 6f 63 6b 27 20 64 6f 65 73 20 6e 6f 74 20 70    72 6f 70 65 72 6c 79 20 63 6c 65 61 6e 20 75 70  | lock'.does.not.properly.clean.up | 
| d300 |  20 74 68 65 20 6c 6f 63 61 6c 0a 20 20 20 20 3b    3b 20 76 61 6c 75 65 20 6f 66 20 60 66 6f 6e 74  | .the.local.....;;.value.of.`font | 
| d320 |  2d 6c 6f 63 6b 2d 65 6e 73 75 72 65 2d 66 75 6e    63 74 69 6f 6e 27 2c 20 63 61 6c 6c 69 6e 67 20  | -lock-ensure-function',.calling. | 
| d340 |  60 66 6f 6e 74 2d 6c 6f 63 6b 2d 65 6e 73 75 72    65 27 20 77 69 6c 6c 0a 20 20 20 20 3b 3b 20 73  | `font-lock-ensure'.will.....;;.s | 
| d360 |  69 67 6e 61 6c 20 61 6e 20 65 72 72 6f 72 2e 20    46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 68 69  | ignal.an.error..For.example,.thi | 
| d380 |  73 20 68 61 70 70 65 6e 73 20 77 68 65 6e 20 6f    72 67 2d 6d 6f 64 65 27 73 20 63 6f 64 65 20 62  | s.happens.when.org-mode's.code.b | 
| d3a0 |  6c 6f 63 6b 73 0a 20 20 20 20 3b 3b 20 61 72 65    20 68 69 67 68 6c 69 67 68 74 65 64 29 2e 20 54  | locks.....;;.are.highlighted)..T | 
| d3c0 |  68 65 72 65 66 6f 72 65 2c 20 77 65 20 64 69 73    61 62 6c 65 64 20 74 68 61 74 20 68 61 63 6b 2e  | herefore,.we.disabled.that.hack. | 
| d3e0 |  20 53 65 65 0a 20 20 20 20 3b 3b 20 68 74 74 70    73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 65  | .See.....;;.https://github.com/e | 
| d400 |  6d 61 63 73 2d 74 72 65 65 2d 73 69 74 74 65 72    2f 65 6c 69 73 70 2d 74 72 65 65 2d 73 69 74 74  | macs-tree-sitter/elisp-tree-sitt | 
| d420 |  65 72 2f 69 73 73 75 65 73 2f 37 34 0a 20 20 20    20 29 29 0a 0a 28 64 65 66 75 6e 20 74 72 65 65  | er/issues/74.....))..(defun.tree | 
| d440 |  2d 73 69 74 74 65 72 2d 68 6c 2d 2d 74 65 61 72    64 6f 77 6e 20 28 29 0a 20 20 22 54 65 61 72 20  | -sitter-hl--teardown.()..."Tear. | 
| d460 |  64 6f 77 6e 20 60 74 72 65 65 2d 73 69 74 74 65    72 2d 68 6c 27 20 69 6e 20 74 68 65 20 63 75 72  | down.`tree-sitter-hl'.in.the.cur | 
| d480 |  72 65 6e 74 20 62 75 66 66 65 72 2e 22 0a 20 20    28 72 65 6d 6f 76 65 2d 66 75 6e 63 74 69 6f 6e  | rent.buffer."...(remove-function | 
| d4a0 |  20 28 6c 6f 63 61 6c 20 27 66 6f 6e 74 2d 6c 6f    63 6b 2d 66 6f 6e 74 69 66 79 2d 72 65 67 69 6f  | .(local.'font-lock-fontify-regio | 
| d4c0 |  6e 2d 66 75 6e 63 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 23  | n-function)....................# | 
| d4e0 |  27 74 72 65 65 2d 73 69 74 74 65 72 2d 68 6c 2d    2d 68 69 67 68 6c 69 67 68 74 2d 72 65 67 69 6f  | 'tree-sitter-hl--highlight-regio | 
| d500 |  6e 2d 77 69 74 68 2d 66 61 6c 6c 62 61 63 6b 29    0a 20 20 28 72 65 6d 6f 76 65 2d 68 6f 6f 6b 20  | n-with-fallback)...(remove-hook. | 
| d520 |  27 74 72 65 65 2d 73 69 74 74 65 72 2d 61 66 74    65 72 2d 63 68 61 6e 67 65 2d 66 75 6e 63 74 69  | 'tree-sitter-after-change-functi | 
| d540 |  6f 6e 73 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 23 27 74 72 65 65 2d 73 69 74 74 65 72  | ons................#'tree-sitter | 
| d560 |  2d 68 6c 2d 2d 69 6e 76 61 6c 69 64 61 74 65 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a  | -hl--invalidate................: | 
| d580 |  6c 6f 63 61 6c 29 0a 20 20 28 77 68 65 6e 20 74    72 65 65 2d 73 69 74 74 65 72 2d 68 6c 2d 2d 71  | local)...(when.tree-sitter-hl--q | 
| d5a0 |  75 65 72 79 2d 63 75 72 73 6f 72 0a 20 20 20 20    28 73 65 74 71 20 74 72 65 65 2d 73 69 74 74 65  | uery-cursor.....(setq.tree-sitte | 
| d5c0 |  72 2d 68 6c 2d 2d 71 75 65 72 79 2d 63 75 72 73    6f 72 20 6e 69 6c 29 0a 20 20 20 20 3b 3b 20 49  | r-hl--query-cursor.nil).....;;.I | 
| d5e0 |  6e 76 61 6c 69 64 61 74 65 20 74 68 65 20 62 75    66 66 65 72 2c 20 6f 6e 6c 79 20 69 66 20 77 65  | nvalidate.the.buffer,.only.if.we | 
| d600 |  20 77 65 72 65 20 61 63 74 75 61 6c 6c 79 20 65    6e 61 62 6c 65 64 20 70 72 65 76 69 6f 75 73 6c  | .were.actually.enabled.previousl | 
| d620 |  79 2e 0a 20 20 20 20 28 66 6f 6e 74 2d 6c 6f 63    6b 2d 66 6c 75 73 68 29 29 0a 20 20 28 77 68 65  | y......(font-lock-flush))...(whe | 
| d640 |  6e 20 74 72 65 65 2d 73 69 74 74 65 72 2d 68 6c    2d 2d 71 75 65 72 79 0a 20 20 20 20 28 73 65 74  | n.tree-sitter-hl--query.....(set | 
| d660 |  71 20 74 72 65 65 2d 73 69 74 74 65 72 2d 68 6c    2d 2d 71 75 65 72 79 20 6e 69 6c 29 0a 20 20 20  | q.tree-sitter-hl--query.nil).... | 
| d680 |  20 28 74 72 65 65 2d 73 69 74 74 65 72 2d 68 6c    2d 2d 72 65 73 74 6f 72 65 2d 66 6f 6e 74 2d 6c  | .(tree-sitter-hl--restore-font-l | 
| d6a0 |  6f 63 6b 2d 6b 65 79 77 6f 72 64 73 29 29 29 0a    0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a  | ock-keywords)))..;;;###autoload. | 
| d6c0 |  28 64 65 66 69 6e 65 2d 6d 69 6e 6f 72 2d 6d 6f    64 65 20 74 72 65 65 2d 73 69 74 74 65 72 2d 68  | (define-minor-mode.tree-sitter-h | 
| d6e0 |  6c 2d 6d 6f 64 65 0a 20 20 22 54 6f 67 67 6c 65    20 73 79 6e 74 61 78 20 68 69 67 68 6c 69 67 68  | l-mode..."Toggle.syntax.highligh | 
| d700 |  74 69 6e 67 20 62 61 73 65 64 20 6f 6e 20 54 72    65 65 2d 73 69 74 74 65 72 27 73 20 73 79 6e 74  | ting.based.on.Tree-sitter's.synt | 
| d720 |  61 78 20 74 72 65 65 2e 0a 49 66 20 60 74 72 65    65 2d 73 69 74 74 65 72 2d 68 6c 2d 64 65 66 61  | ax.tree..If.`tree-sitter-hl-defa | 
| d740 |  75 6c 74 2d 70 61 74 74 65 72 6e 73 27 20 69 73    20 6e 69 6c 2c 20 74 75 72 6e 69 6e 67 20 6f 6e  | ult-patterns'.is.nil,.turning.on | 
| d760 |  20 74 68 69 73 20 6d 6f 64 65 20 64 6f 65 73 20    6e 6f 74 68 69 6e 67 2c 0a 61 6e 64 20 64 6f 65  | .this.mode.does.nothing,.and.doe | 
| d780 |  73 20 6e 6f 74 20 69 6e 74 65 72 66 65 72 65 20    77 69 74 68 20 60 66 6f 6e 74 2d 6c 6f 63 6b 2d  | s.not.interfere.with.`font-lock- | 
| d7a0 |  6d 6f 64 65 27 2e 0a 0a 45 6e 61 62 6c 69 6e 67    20 74 68 69 73 20 61 75 74 6f 6d 61 74 69 63 61  | mode'...Enabling.this.automatica | 
| d7c0 |  6c 6c 79 20 65 6e 61 62 6c 65 73 20 60 74 72 65    65 2d 73 69 74 74 65 72 2d 6d 6f 64 65 27 20 69  | lly.enables.`tree-sitter-mode'.i | 
| d7e0 |  6e 20 74 68 65 20 62 75 66 66 65 72 2e 0a 0a 54    6f 20 65 6e 61 62 6c 65 20 74 68 69 73 20 61 75  | n.the.buffer...To.enable.this.au | 
| d800 |  74 6f 6d 61 74 69 63 61 6c 6c 79 20 77 68 65 6e    65 76 65 72 20 60 74 72 65 65 2d 73 69 74 74 65  | tomatically.whenever.`tree-sitte | 
| d820 |  72 2d 6d 6f 64 65 27 20 69 73 20 65 6e 61 62 6c    65 64 3a 0a 0a 20 28 61 64 64 2d 68 6f 6f 6b 20  | r-mode'.is.enabled:...(add-hook. | 
| d840 |  27 74 72 65 65 2d 73 69 74 74 65 72 2d 61 66 74    65 72 2d 6f 6e 2d 68 6f 6f 6b 20 23 27 74 72 65  | 'tree-sitter-after-on-hook.#'tre | 
| d860 |  65 2d 73 69 74 74 65 72 2d 68 6c 2d 6d 6f 64 65    29 22 0a 20 20 3a 69 6e 69 74 2d 76 61 6c 75 65  | e-sitter-hl-mode)"...:init-value | 
| d880 |  20 6e 69 6c 0a 20 20 3a 67 72 6f 75 70 20 27 74    72 65 65 2d 73 69 74 74 65 72 0a 20 20 28 74 72  | .nil...:group.'tree-sitter...(tr | 
| d8a0 |  65 65 2d 73 69 74 74 65 72 2d 2d 68 61 6e 64 6c    65 2d 64 65 70 65 6e 64 65 6e 74 20 74 72 65 65  | ee-sitter--handle-dependent.tree | 
| d8c0 |  2d 73 69 74 74 65 72 2d 68 6c 2d 6d 6f 64 65 0a    20 20 20 20 23 27 74 72 65 65 2d 73 69 74 74 65  | -sitter-hl-mode.....#'tree-sitte | 
| d8e0 |  72 2d 68 6c 2d 2d 73 65 74 75 70 0a 20 20 20 20    23 27 74 72 65 65 2d 73 69 74 74 65 72 2d 68 6c  | r-hl--setup.....#'tree-sitter-hl | 
| d900 |  2d 2d 74 65 61 72 64 6f 77 6e 29 29 0a 0a 28 70    72 6f 76 69 64 65 20 27 74 72 65 65 2d 73 69 74  | --teardown))..(provide.'tree-sit | 
| d920 |  74 65 72 2d 68 6c 29 0a 3b 3b 3b 20 74 72 65 65    2d 73 69 74 74 65 72 2d 68 6c 2e 65 6c 20 65 6e  | ter-hl).;;;.tree-sitter-hl.el.en | 
| d940 |  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 00 00 00 00 00  | ds.here......................... | 
| d960 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| d980 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| d9a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| d9c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| d9e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| da00 |  74 72 65 65 2d 73 69 74 74 65 72 2d 32 30 32 32    30 32 31 32 2e 31 36 33 32 2f 74 72 65 65 2d 73  | tree-sitter-20220212.1632/tree-s | 
| da20 |  69 74 74 65 72 2d 71 75 65 72 79 2e 65 6c 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | itter-query.el.................. | 
| da40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| da60 |  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 | 
| da80 |  30 30 31 32 30 34 33 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 37 32 30 32 00 20 30 00 00 00  | 0012043.00000000000.017202..0... | 
| daa0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| dac0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| dae0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| db00 |  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................... | 
| db20 |  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................... | 
| db40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| db60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| db80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| dba0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| dbc0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| dbe0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| dc00 |  3b 3b 3b 20 74 72 65 65 2d 73 69 74 74 65 72 2d    71 75 65 72 79 2e 65 6c 20 2d 2d 2d 20 54 6f 6f  | ;;;.tree-sitter-query.el.---.Too | 
| dc20 |  6c 73 20 66 6f 72 20 72 75 6e 6e 69 6e 67 20 71    75 65 72 69 65 73 20 6c 69 76 65 20 2d 2a 2d 20  | ls.for.running.queries.live.-*-. | 
| dc40 |  6c 65 78 69 63 61 6c 2d 62 69 6e 64 69 6e 67 3a    20 74 3b 20 63 6f 64 69 6e 67 3a 20 75 74 66 2d  | lexical-binding:.t;.coding:.utf- | 
| dc60 |  38 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69    67 68 74 20 28 43 29 20 32 30 32 30 20 20 54 75  | 8.-*-..;;.Copyright.(C).2020..Tu | 
| dc80 |  e1 ba a5 6e 2d 41 6e 68 20 4e 67 75 79 e1 bb 85    6e 0a 3b 3b 0a 3b 3b 20 41 75 74 68 6f 72 3a 20  | ...n-Anh.Nguy...n.;;.;;.Author:. | 
| dca0 |  4a 6f 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  | Jorge.Javier.Araya.Navarro.<jorg | 
| dcc0 |  65 6a 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 53 50 44 58 2d  | ejavieran@yahoo.com.mx>.;;.SPDX- | 
| dce0 |  4c 69 63 65 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  | License-Identifier:.MIT..;;;.Com | 
| dd00 |  6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b 20 54 68 69    73 20 66 69 6c 65 20 63 6f 6e 74 61 69 6e 73 20  | mentary:..;;.This.file.contains. | 
| dd20 |  6f 74 68 65 72 20 64 65 62 75 67 20 75 74 69 6c    69 74 69 65 73 20 66 6f 72 20 62 75 69 6c 64 69  | other.debug.utilities.for.buildi | 
| dd40 |  6e 67 20 71 75 65 72 69 65 73 20 61 6e 64 20 73    65 65 20 72 65 73 75 6c 74 73 0a 3b 3b 20 69 6e  | ng.queries.and.see.results.;;.in | 
| dd60 |  20 61 20 74 61 72 67 65 74 20 62 75 66 66 65 72    2e 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 28 72  | .a.target.buffer...;;;.Code:..(r | 
| dd80 |  65 71 75 69 72 65 20 27 73 63 68 65 6d 65 29 0a    28 72 65 71 75 69 72 65 20 27 74 72 65 65 2d 73  | equire.'scheme).(require.'tree-s | 
| dda0 |  69 74 74 65 72 29 0a 0a 28 64 65 66 67 72 6f 75    70 20 74 72 65 65 2d 73 69 74 74 65 72 2d 71 75  | itter)..(defgroup.tree-sitter-qu | 
| ddc0 |  65 72 79 20 6e 69 6c 0a 20 20 22 54 72 65 65 2d    73 69 74 74 65 72 20 70 6c 61 79 67 72 6f 75 6e  | ery.nil..."Tree-sitter.playgroun | 
| dde0 |  64 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 74 72    65 65 2d 73 69 74 74 65 72 29 0a 0a 28 64 65 66  | d."...:group.'tree-sitter)..(def | 
| de00 |  69 6e 65 2d 64 65 72 69 76 65 64 2d 6d 6f 64 65    20 74 72 65 65 2d 73 69 74 74 65 72 2d 71 75 65  | ine-derived-mode.tree-sitter-que | 
| de20 |  72 79 2d 6d 6f 64 65 20 70 72 6f 67 2d 6d 6f 64    65 20 22 74 73 63 2d 71 75 65 72 79 2d 62 75 69  | ry-mode.prog-mode."tsc-query-bui | 
| de40 |  6c 64 65 72 22 0a 20 20 22 4d 61 6a 6f 72 20 6d    6f 64 65 20 66 6f 72 20 62 75 69 6c 64 69 6e 67  | lder"..."Major.mode.for.building | 
| de60 |  20 74 72 65 65 2d 73 69 74 74 65 72 20 71 75 65    72 69 65 73 20 61 6e 64 20 74 65 73 74 69 6e 67  | .tree-sitter.queries.and.testing | 
| de80 |  20 74 68 65 6d 20 6c 69 76 65 2e 22 0a 20 20 3a    73 79 6e 74 61 78 2d 74 61 62 6c 65 20 73 63 68  | .them.live."...:syntax-table.sch | 
| dea0 |  65 6d 65 2d 6d 6f 64 65 2d 73 79 6e 74 61 78 2d    74 61 62 6c 65 0a 20 20 3a 61 62 62 72 65 76 2d  | eme-mode-syntax-table...:abbrev- | 
| dec0 |  74 61 62 6c 65 20 73 63 68 65 6d 65 2d 6d 6f 64    65 2d 61 62 62 72 65 76 2d 74 61 62 6c 65 29 0a  | table.scheme-mode-abbrev-table). | 
| dee0 |  0a 28 64 65 66 63 6f 6e 73 74 20 74 72 65 65 2d    73 69 74 74 65 72 2d 71 75 65 72 79 2d 62 75 69  | .(defconst.tree-sitter-query-bui | 
| df00 |  6c 64 65 72 2d 62 75 66 66 65 72 2d 6e 61 6d 65    20 22 2a 74 72 65 65 2d 73 69 74 74 65 72 2d 71  | lder-buffer-name."*tree-sitter-q | 
| df20 |  75 65 72 79 2d 62 75 69 6c 64 65 72 2a 22 0a 20    20 22 4e 61 6d 65 20 6f 66 20 74 68 65 20 62 75  | uery-builder*"..."Name.of.the.bu | 
| df40 |  69 6c 64 65 72 20 62 75 66 66 65 72 2e 22 29 0a    0a 28 64 65 66 76 61 72 20 74 72 65 65 2d 73 69  | ilder.buffer.")..(defvar.tree-si | 
| df60 |  74 74 65 72 2d 71 75 65 72 79 2d 2d 74 61 72 67    65 74 2d 62 75 66 66 65 72 20 6e 69 6c 0a 20 20  | tter-query--target-buffer.nil... | 
| df80 |  22 54 61 72 67 65 74 20 62 75 66 66 65 72 20 74    6f 20 72 75 6e 20 74 68 65 20 71 75 65 72 69 65  | "Target.buffer.to.run.the.querie | 
| dfa0 |  73 20 61 67 61 69 6e 73 74 2e 22 29 0a 0a 28 64    65 66 66 61 63 65 20 74 72 65 65 2d 73 69 74 74  | s.against.")..(defface.tree-sitt | 
| dfc0 |  65 72 2d 71 75 65 72 79 2d 6d 61 74 63 68 0a 20    20 27 28 28 74 20 3a 66 6f 72 65 67 72 6f 75 6e  | er-query-match...'((t.:foregroun | 
| dfe0 |  64 20 22 23 30 30 30 22 0a 20 20 20 20 20 20 20    3a 62 61 63 6b 67 72 6f 75 6e 64 20 22 23 30 30  | d."#000"........:background."#00 | 
| e000 |  62 66 66 66 22 0a 20 20 20 20 20 20 20 3a 77 65    69 67 68 74 20 62 6f 6c 64 29 29 0a 20 20 22 46  | bfff"........:weight.bold))..."F | 
| e020 |  61 63 65 20 66 6f 72 20 68 69 67 68 6c 69 67 68    74 20 63 61 70 74 75 72 65 73 20 69 6e 20 6d 61  | ace.for.highlight.captures.in.ma | 
| e040 |  74 63 68 65 73 2e 22 0a 20 20 3a 67 72 6f 75 70    20 27 74 72 65 65 2d 73 69 74 74 65 72 2d 71 75  | tches."...:group.'tree-sitter-qu | 
| e060 |  65 72 79 29 0a 0a 28 64 65 66 75 6e 20 74 72 65    65 2d 73 69 74 74 65 72 2d 2d 65 63 68 6f 20 28  | ery)..(defun.tree-sitter--echo.( | 
| e080 |  26 72 65 73 74 20 61 72 67 73 29 0a 20 20 22 44    69 73 70 6c 61 79 20 61 20 74 72 61 6e 73 69 65  | &rest.args)..."Display.a.transie | 
| e0a0 |  6e 74 20 6d 65 73 73 61 67 65 2c 20 77 69 74 68    6f 75 74 20 6c 6f 67 67 69 6e 67 20 69 74 20 69  | nt.message,.without.logging.it.i | 
| e0c0 |  6e 20 74 68 65 20 60 2a 4d 65 73 73 61 67 65 73    2a 27 20 62 75 66 66 65 72 2e 22 0a 20 20 28 6c  | n.the.`*Messages*'.buffer."...(l | 
| e0e0 |  65 74 20 28 6d 65 73 73 61 67 65 2d 6c 6f 67 2d    6d 61 78 29 0a 20 20 20 20 28 61 70 70 6c 79 20  | et.(message-log-max).....(apply. | 
| e100 |  23 27 6d 65 73 73 61 67 65 20 61 72 67 73 29 29    29 0a 0a 28 64 65 66 75 6e 20 74 72 65 65 2d 73  | #'message.args)))..(defun.tree-s | 
| e120 |  69 74 74 65 72 2d 71 75 65 72 79 2d 2d 68 69 67    68 6c 69 67 68 74 2d 63 61 70 74 75 72 65 20 28  | itter-query--highlight-capture.( | 
| e140 |  63 61 70 74 75 72 65 29 0a 20 20 22 48 69 67 68    6c 69 67 68 74 20 43 41 50 54 55 52 45 20 69 6e  | capture)..."Highlight.CAPTURE.in | 
| e160 |  20 74 68 65 20 63 75 72 72 65 6e 74 20 62 75 66    66 65 72 2e 22 0a 20 20 28 70 63 61 73 65 2d 6c  | .the.current.buffer."...(pcase-l | 
| e180 |  65 74 2a 20 28 28 60 28 2c 63 61 70 74 75 72 65    2d 73 79 6d 62 6f 6c 20 2e 20 2c 63 61 70 74 75  | et*.((`(,capture-symbol...,captu | 
| e1a0 |  72 65 64 2d 6e 6f 64 65 29 20 63 61 70 74 75 72    65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  | red-node).capture).............. | 
| e1c0 |  20 20 28 60 28 2c 6e 6f 64 65 2d 73 74 61 72 74    20 2e 20 2c 6e 6f 64 65 2d 65 6e 64 29 20 28 74  | ..(`(,node-start...,node-end).(t | 
| e1e0 |  73 63 2d 6e 6f 64 65 2d 70 6f 73 69 74 69 6f 6e    2d 72 61 6e 67 65 20 63 61 70 74 75 72 65 64 2d  | sc-node-position-range.captured- | 
| e200 |  6e 6f 64 65 29 29 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 6f 76 65 72 6c 61 79 20 28  | node))................(overlay.( | 
| e220 |  6d 61 6b 65 2d 6f 76 65 72 6c 61 79 20 6e 6f 64    65 2d 73 74 61 72 74 20 6e 6f 64 65 2d 65 6e 64  | make-overlay.node-start.node-end | 
| e240 |  29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 63 61 70 74 75 72 65 2d 6e 61 6d 65 20  | ))................(capture-name. | 
| e260 |  28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 63 61 70    74 75 72 65 2d 73 79 6d 62 6f 6c 29 29 29 0a 20  | (symbol-name.capture-symbol))).. | 
| e280 |  20 20 20 3b 3b 20 45 6e 73 75 72 65 20 74 68 65    20 6f 76 65 72 6c 61 79 20 69 73 20 64 65 6c 65  | ...;;.Ensure.the.overlay.is.dele | 
| e2a0 |  74 65 64 20 77 68 65 6e 20 69 74 20 62 65 63 6f    6d 65 73 20 65 6d 70 74 79 2e 0a 20 20 20 20 28  | ted.when.it.becomes.empty......( | 
| e2c0 |  6f 76 65 72 6c 61 79 2d 70 75 74 20 6f 76 65 72    6c 61 79 20 27 65 76 61 70 6f 72 61 74 65 20 74  | overlay-put.overlay.'evaporate.t | 
| e2e0 |  29 0a 20 20 20 20 28 6f 76 65 72 6c 61 79 2d 70    75 74 20 6f 76 65 72 6c 61 79 20 27 66 61 63 65  | ).....(overlay-put.overlay.'face | 
| e300 |  20 27 74 72 65 65 2d 73 69 74 74 65 72 2d 71 75    65 72 79 2d 6d 61 74 63 68 29 0a 20 20 20 20 3b  | .'tree-sitter-query-match).....; | 
| e320 |  3b 20 55 73 65 20 74 68 65 20 63 61 70 74 75 72    65 27 73 20 6e 61 6d 65 20 61 73 20 74 68 65 20  | ;.Use.the.capture's.name.as.the. | 
| e340 |  6d 6f 75 73 65 6f 76 65 72 20 74 6f 6f 6c 74 69    70 2e 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 28  | mouseover.tooltip......(unless.( | 
| e360 |  73 74 72 69 6e 67 3d 20 63 61 70 74 75 72 65 2d    6e 61 6d 65 20 22 22 29 0a 20 20 20 20 20 20 28  | string=.capture-name."").......( | 
| e380 |  6f 76 65 72 6c 61 79 2d 70 75 74 20 6f 76 65 72    6c 61 79 20 27 68 65 6c 70 2d 65 63 68 6f 20 63  | overlay-put.overlay.'help-echo.c | 
| e3a0 |  61 70 74 75 72 65 2d 6e 61 6d 65 29 29 29 29 0a    0a 28 64 65 66 75 6e 20 74 72 65 65 2d 73 69 74  | apture-name))))..(defun.tree-sit | 
| e3c0 |  74 65 72 2d 71 75 65 72 79 2d 2d 65 76 61 6c 2d    71 75 65 72 79 20 28 70 61 74 74 65 72 6e 73 29  | ter-query--eval-query.(patterns) | 
| e3e0 |  0a 20 20 22 45 76 61 6c 75 61 74 65 20 71 75 65    72 79 20 50 41 54 54 45 52 4e 53 20 61 67 61 69  | ..."Evaluate.query.PATTERNS.agai | 
| e400 |  6e 73 74 20 74 68 65 20 74 61 72 67 65 74 20 62    75 66 66 65 72 2e 22 0a 20 20 28 77 69 74 68 2d  | nst.the.target.buffer."...(with- | 
| e420 |  63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 74    72 65 65 2d 73 69 74 74 65 72 2d 71 75 65 72 79  | current-buffer.tree-sitter-query | 
| e440 |  2d 2d 74 61 72 67 65 74 2d 62 75 66 66 65 72 0a    20 20 20 20 28 74 73 63 2d 2d 77 69 74 68 6f 75  | --target-buffer.....(tsc--withou | 
| e460 |  74 2d 72 65 73 74 72 69 63 74 69 6f 6e 0a 20 20    20 20 20 20 28 72 65 6d 6f 76 65 2d 6f 76 65 72  | t-restriction.......(remove-over | 
| e480 |  6c 61 79 73 29 0a 20 20 20 20 20 20 28 77 68 65    6e 2d 6c 65 74 2a 0a 20 20 20 20 20 20 20 20 20  | lays).......(when-let*.......... | 
| e4a0 |  20 28 28 71 75 65 72 79 0a 20 20 20 20 20 20 20    20 20 20 20 20 28 63 6f 6e 64 69 74 69 6f 6e 2d  | .((query.............(condition- | 
| e4c0 |  63 61 73 65 20 65 72 72 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 28 74 73 63 2d 6d 61  | case.err.................(tsc-ma | 
| e4e0 |  6b 65 2d 71 75 65 72 79 20 74 72 65 65 2d 73 69    74 74 65 72 2d 6c 61 6e 67 75 61 67 65 20 70 61  | ke-query.tree-sitter-language.pa | 
| e500 |  74 74 65 72 6e 73 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 28 74 73 63 2d 71 75 65 72  | tterns)...............((tsc-quer | 
| e520 |  79 2d 69 6e 76 61 6c 69 64 2d 6e 6f 64 65 2d 74    79 70 65 0a 20 20 20 20 20 20 20 20 20 20 20 20  | y-invalid-node-type............. | 
| e540 |  20 20 20 20 74 73 63 2d 71 75 65 72 79 2d 69 6e    76 61 6c 69 64 2d 66 69 65 6c 64 0a 20 20 20 20  | ....tsc-query-invalid-field..... | 
| e560 |  20 20 20 20 20 20 20 20 20 20 20 20 74 73 63 2d    71 75 65 72 79 2d 69 6e 76 61 6c 69 64 2d 63 61  | ............tsc-query-invalid-ca | 
| e580 |  70 74 75 72 65 29 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 74 72 65 65 2d 73 69 74 74  | pture)................(tree-sitt | 
| e5a0 |  65 72 2d 2d 65 63 68 6f 20 22 25 73 3a 20 25 73    22 20 28 67 65 74 20 28 63 61 72 20 65 72 72 29  | er--echo."%s:.%s".(get.(car.err) | 
| e5c0 |  20 27 65 72 72 6f 72 2d 6d 65 73 73 61 67 65 29    20 28 63 61 64 72 20 65 72 72 29 29 0a 20 20 20  | .'error-message).(cadr.err)).... | 
| e5e0 |  20 20 20 20 20 20 20 20 20 20 20 20 6e 69 6c 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28  | ............nil)...............( | 
| e600 |  74 73 63 2d 71 75 65 72 79 2d 69 6e 76 61 6c 69    64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | tsc-query-invalid............... | 
| e620 |  20 28 74 72 65 65 2d 73 69 74 74 65 72 2d 2d 65    63 68 6f 20 22 25 73 22 20 28 67 65 74 20 28 63  | .(tree-sitter--echo."%s".(get.(c | 
| e640 |  61 72 20 65 72 72 29 20 27 65 72 72 6f 72 2d 6d    65 73 73 61 67 65 29 29 0a 20 20 20 20 20 20 20  | ar.err).'error-message))........ | 
| e660 |  20 20 20 20 20 20 20 20 6e 69 6c 29 29 29 0a 20    20 20 20 20 20 20 20 20 20 20 28 72 6f 6f 74 2d  | ........nil)))............(root- | 
| e680 |  6e 6f 64 65 20 28 74 73 63 2d 72 6f 6f 74 2d 6e    6f 64 65 20 74 72 65 65 2d 73 69 74 74 65 72 2d  | node.(tsc-root-node.tree-sitter- | 
| e6a0 |  74 72 65 65 29 29 0a 20 20 20 20 20 20 20 20 20    20 20 28 63 61 70 74 75 72 65 73 20 28 74 73 63  | tree))............(captures.(tsc | 
| e6c0 |  2d 71 75 65 72 79 2d 63 61 70 74 75 72 65 73 20    71 75 65 72 79 20 72 6f 6f 74 2d 6e 6f 64 65 20  | -query-captures.query.root-node. | 
| e6e0 |  23 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 65  | #'tsc--buffer-substring-no-prope | 
| e700 |  72 74 69 65 73 29 29 29 0a 20 20 20 20 20 20 20    20 28 69 66 20 28 3d 20 28 6c 65 6e 67 74 68 20  | rties))).........(if.(=.(length. | 
| e720 |  63 61 70 74 75 72 65 73 29 20 30 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 28 74 72 65 65 2d 73  | captures).0).............(tree-s | 
| e740 |  69 74 74 65 72 2d 2d 65 63 68 6f 20 22 4e 6f 20    63 61 70 74 75 72 65 73 20 66 6f 75 6e 64 22 29  | itter--echo."No.captures.found") | 
| e760 |  0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63    20 23 27 74 72 65 65 2d 73 69 74 74 65 72 2d 71  | ...........(mapc.#'tree-sitter-q | 
| e780 |  75 65 72 79 2d 2d 68 69 67 68 6c 69 67 68 74 2d    63 61 70 74 75 72 65 20 63 61 70 74 75 72 65 73  | uery--highlight-capture.captures | 
| e7a0 |  29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 74    72 65 65 2d 73 69 74 74 65 72 2d 71 75 65 72 79  | ))))))..(defun.tree-sitter-query | 
| e7c0 |  2d 2d 61 66 74 65 72 2d 63 68 61 6e 67 65 20 28    26 72 65 73 74 20 5f 61 72 67 73 29 0a 20 20 22  | --after-change.(&rest._args)..." | 
| e7e0 |  52 75 6e 20 71 75 65 72 79 20 70 61 74 74 65 72    6e 73 20 61 67 61 69 6e 73 74 20 74 68 65 20 74  | Run.query.patterns.against.the.t | 
| e800 |  61 72 67 65 74 20 62 75 66 66 65 72 20 61 6e 64    20 75 70 64 61 74 65 20 68 69 67 68 6c 69 67 68  | arget.buffer.and.update.highligh | 
| e820 |  74 65 64 20 74 65 78 74 73 2e 22 0a 20 20 28 77    69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66  | ted.texts."...(with-current-buff | 
| e840 |  65 72 20 28 67 65 74 2d 62 75 66 66 65 72 20 74    72 65 65 2d 73 69 74 74 65 72 2d 71 75 65 72 79  | er.(get-buffer.tree-sitter-query | 
| e860 |  2d 62 75 69 6c 64 65 72 2d 62 75 66 66 65 72 2d    6e 61 6d 65 29 0a 20 20 20 20 28 6c 65 74 20 28  | -builder-buffer-name).....(let.( | 
| e880 |  28 70 61 74 74 65 72 6e 73 20 28 62 75 66 66 65    72 2d 73 74 72 69 6e 67 29 29 29 0a 20 20 20 20  | (patterns.(buffer-string)))..... | 
| e8a0 |  20 20 28 77 69 74 68 2d 64 65 6d 6f 74 65 64 2d    65 72 72 6f 72 73 20 22 45 72 72 6f 72 3a 20 25  | ..(with-demoted-errors."Error:.% | 
| e8c0 |  53 22 0a 20 20 20 20 20 20 20 20 28 74 72 65 65    2d 73 69 74 74 65 72 2d 71 75 65 72 79 2d 2d 65  | S".........(tree-sitter-query--e | 
| e8e0 |  76 61 6c 2d 71 75 65 72 79 20 70 61 74 74 65 72    6e 73 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20  | val-query.patterns)))))..(defun. | 
| e900 |  74 72 65 65 2d 73 69 74 74 65 72 2d 71 75 65 72    79 2d 2d 63 6c 65 61 6e 2d 74 61 72 67 65 74 2d  | tree-sitter-query--clean-target- | 
| e920 |  62 75 66 66 65 72 20 28 29 0a 20 20 22 52 65 6d    6f 76 65 20 61 6c 6c 20 6f 76 65 72 6c 61 79 73  | buffer.()..."Remove.all.overlays | 
| e940 |  20 66 72 6f 6d 20 74 68 65 20 74 61 72 67 65 74    20 62 75 66 66 65 72 2e 22 0a 20 20 28 77 69 74  | .from.the.target.buffer."...(wit | 
| e960 |  68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72    20 74 72 65 65 2d 73 69 74 74 65 72 2d 71 75 65  | h-current-buffer.tree-sitter-que | 
| e980 |  72 79 2d 2d 74 61 72 67 65 74 2d 62 75 66 66 65    72 0a 20 20 20 20 28 72 65 6d 6f 76 65 2d 6f 76  | ry--target-buffer.....(remove-ov | 
| e9a0 |  65 72 6c 61 79 73 29 29 0a 20 20 28 73 65 74 71    20 74 72 65 65 2d 73 69 74 74 65 72 2d 71 75 65  | erlays))...(setq.tree-sitter-que | 
| e9c0 |  72 79 2d 2d 74 61 72 67 65 74 2d 62 75 66 66 65    72 20 6e 69 6c 29 29 0a 0a 3b 3b 3b 23 23 23 61  | ry--target-buffer.nil))..;;;###a | 
| e9e0 |  75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 74    72 65 65 2d 73 69 74 74 65 72 2d 71 75 65 72 79  | utoload.(defun.tree-sitter-query | 
| ea00 |  2d 62 75 69 6c 64 65 72 20 28 29 0a 20 20 22 50    72 6f 76 69 64 65 20 6d 65 61 6e 73 20 66 6f 72  | -builder.()..."Provide.means.for | 
| ea20 |  20 64 65 76 65 6c 6f 70 65 72 73 20 74 6f 20 77    72 69 74 65 20 61 6e 64 20 74 65 73 74 20 74 72  | .developers.to.write.and.test.tr | 
| ea40 |  65 65 2d 73 69 74 74 65 72 20 71 75 65 72 69 65    73 2e 0a 0a 54 68 65 20 62 75 66 66 65 72 20 6f  | ee-sitter.queries...The.buffer.o | 
| ea60 |  6e 20 66 6f 63 75 73 20 77 68 65 6e 20 74 68 65    20 63 6f 6d 6d 61 6e 64 20 69 73 20 63 61 6c 6c  | n.focus.when.the.command.is.call | 
| ea80 |  65 64 20 69 73 20 73 65 74 20 61 73 20 74 68 65    20 74 61 72 67 65 74 20 62 75 66 66 65 72 2e 22  | ed.is.set.as.the.target.buffer." | 
| eaa0 |  0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29    0a 20 20 28 6c 65 74 2a 20 28 28 74 61 72 67 65  | ...(interactive)...(let*.((targe | 
| eac0 |  74 2d 62 75 66 66 65 72 20 28 63 75 72 72 65 6e    74 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20 20  | t-buffer.(current-buffer))...... | 
| eae0 |  20 20 20 20 28 62 75 69 6c 64 65 72 2d 62 75 66    66 65 72 20 28 67 65 74 2d 62 75 66 66 65 72 2d  | ....(builder-buffer.(get-buffer- | 
| eb00 |  63 72 65 61 74 65 20 74 72 65 65 2d 73 69 74 74    65 72 2d 71 75 65 72 79 2d 62 75 69 6c 64 65 72  | create.tree-sitter-query-builder | 
| eb20 |  2d 62 75 66 66 65 72 2d 6e 61 6d 65 29 29 0a 20    20 20 20 20 20 20 20 20 28 62 75 69 6c 64 65 72  | -buffer-name))..........(builder | 
| eb40 |  2d 77 69 6e 64 6f 77 2d 69 73 2d 76 69 73 69 62    6c 65 20 28 67 65 74 2d 62 75 66 66 65 72 2d 77  | -window-is-visible.(get-buffer-w | 
| eb60 |  69 6e 64 6f 77 20 62 75 69 6c 64 65 72 2d 62 75    66 66 65 72 29 29 29 0a 20 20 20 20 28 77 68 65  | indow.builder-buffer))).....(whe | 
| eb80 |  6e 20 28 65 71 20 74 61 72 67 65 74 2d 62 75 66    66 65 72 20 62 75 69 6c 64 65 72 2d 62 75 66 66  | n.(eq.target-buffer.builder-buff | 
| eba0 |  65 72 29 0a 20 20 20 20 20 20 28 75 73 65 72 2d    65 72 72 6f 72 20 22 54 68 69 73 20 62 75 66 66  | er).......(user-error."This.buff | 
| ebc0 |  65 72 20 63 61 6e 6e 6f 74 20 62 65 20 75 73 65    20 61 73 20 74 61 72 67 65 74 20 62 75 66 66 65  | er.cannot.be.use.as.target.buffe | 
| ebe0 |  72 22 29 29 0a 20 20 20 20 28 77 69 74 68 2d 63    75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 74 61  | r")).....(with-current-buffer.ta | 
| ec00 |  72 67 65 74 2d 62 75 66 66 65 72 0a 20 20 20 20    20 20 28 75 6e 6c 65 73 73 20 74 72 65 65 2d 73  | rget-buffer.......(unless.tree-s | 
| ec20 |  69 74 74 65 72 2d 6d 6f 64 65 0a 20 20 20 20 20    20 20 20 28 74 72 65 65 2d 73 69 74 74 65 72 2d  | itter-mode.........(tree-sitter- | 
| ec40 |  6d 6f 64 65 29 29 0a 20 20 20 20 20 20 3b 3b 20    54 4f 44 4f 3a 20 54 68 65 20 71 75 65 72 79 20  | mode)).......;;.TODO:.The.query. | 
| ec60 |  73 68 6f 75 6c 64 20 62 65 20 72 75 6e 20 61 67    61 69 6e 73 74 20 74 68 65 20 63 68 61 6e 67 65  | should.be.run.against.the.change | 
| ec80 |  64 20 72 61 6e 67 65 20 6f 6e 6c 79 2e 0a 20 20    20 20 20 20 28 61 64 64 2d 68 6f 6f 6b 20 27 74  | d.range.only........(add-hook.'t | 
| eca0 |  72 65 65 2d 73 69 74 74 65 72 2d 61 66 74 65 72    2d 63 68 61 6e 67 65 2d 66 75 6e 63 74 69 6f 6e  | ree-sitter-after-change-function | 
| ecc0 |  73 20 23 27 74 72 65 65 2d 73 69 74 74 65 72 2d    71 75 65 72 79 2d 2d 61 66 74 65 72 2d 63 68 61  | s.#'tree-sitter-query--after-cha | 
| ece0 |  6e 67 65 20 6e 69 6c 20 3a 6c 6f 63 61 6c 29 0a    20 20 20 20 20 20 28 73 65 74 71 20 74 72 65 65  | nge.nil.:local).......(setq.tree | 
| ed00 |  2d 73 69 74 74 65 72 2d 71 75 65 72 79 2d 2d 74    61 72 67 65 74 2d 62 75 66 66 65 72 20 74 61 72  | -sitter-query--target-buffer.tar | 
| ed20 |  67 65 74 2d 62 75 66 66 65 72 29 29 0a 20 20 20    20 28 75 6e 6c 65 73 73 20 62 75 69 6c 64 65 72  | get-buffer)).....(unless.builder | 
| ed40 |  2d 77 69 6e 64 6f 77 2d 69 73 2d 76 69 73 69 62    6c 65 0a 20 20 20 20 20 20 28 75 6e 6c 65 73 73  | -window-is-visible.......(unless | 
| ed60 |  20 28 64 69 73 70 6c 61 79 2d 62 75 66 66 65 72    2d 69 6e 2d 73 69 64 65 2d 77 69 6e 64 6f 77 0a  | .(display-buffer-in-side-window. | 
| ed80 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62    75 69 6c 64 65 72 2d 62 75 66 66 65 72 0a 20 20  | ...............builder-buffer... | 
| eda0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 27 28 28    73 69 64 65 20 2e 20 62 6f 74 74 6f 6d 29 0a 20  | .............'((side...bottom).. | 
| edc0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 77 69 6e 64 6f 77 2d 68 65 69 67 68 74 20 2e  | ................(window-height.. | 
| ede0 |  20 31 30 29 29 29 0a 20 20 20 20 20 20 20 20 28    75 73 65 72 2d 65 72 72 6f 72 20 22 4e 6f 74 20  | .10))).........(user-error."Not. | 
| ee00 |  65 6e 6f 75 67 68 20 73 70 61 63 65 20 61 76 61    69 6c 61 62 6c 65 20 66 6f 72 20 71 75 65 72 79  | enough.space.available.for.query | 
| ee20 |  20 62 75 69 6c 64 65 72 20 77 69 6e 64 6f 77 22    29 29 29 0a 20 20 20 20 28 77 69 74 68 2d 63 75  | .builder.window"))).....(with-cu | 
| ee40 |  72 72 65 6e 74 2d 62 75 66 66 65 72 20 62 75 69    6c 64 65 72 2d 62 75 66 66 65 72 0a 20 20 20 20  | rrent-buffer.builder-buffer..... | 
| ee60 |  20 20 28 65 72 61 73 65 2d 62 75 66 66 65 72 29    0a 20 20 20 20 20 20 28 74 72 65 65 2d 73 69 74  | ..(erase-buffer).......(tree-sit | 
| ee80 |  74 65 72 2d 71 75 65 72 79 2d 6d 6f 64 65 29 0a    20 20 20 20 20 20 28 61 64 64 2d 68 6f 6f 6b 20  | ter-query-mode).......(add-hook. | 
| eea0 |  27 61 66 74 65 72 2d 63 68 61 6e 67 65 2d 66 75    6e 63 74 69 6f 6e 73 20 23 27 74 72 65 65 2d 73  | 'after-change-functions.#'tree-s | 
| eec0 |  69 74 74 65 72 2d 71 75 65 72 79 2d 2d 61 66 74    65 72 2d 63 68 61 6e 67 65 20 6e 69 6c 20 3a 6c  | itter-query--after-change.nil.:l | 
| eee0 |  6f 63 61 6c 29 0a 20 20 20 20 20 20 28 61 64 64    2d 68 6f 6f 6b 20 27 6b 69 6c 6c 2d 62 75 66 66  | ocal).......(add-hook.'kill-buff | 
| ef00 |  65 72 2d 68 6f 6f 6b 20 23 27 74 72 65 65 2d 73    69 74 74 65 72 2d 71 75 65 72 79 2d 2d 63 6c 65  | er-hook.#'tree-sitter-query--cle | 
| ef20 |  61 6e 2d 74 61 72 67 65 74 2d 62 75 66 66 65 72    20 6e 69 6c 20 3a 6c 6f 63 61 6c 29 29 0a 20 20  | an-target-buffer.nil.:local))... | 
| ef40 |  20 20 28 73 65 74 66 20 74 72 65 65 2d 73 69 74    74 65 72 2d 71 75 65 72 79 2d 2d 74 61 72 67 65  | ..(setf.tree-sitter-query--targe | 
| ef60 |  74 2d 62 75 66 66 65 72 20 74 61 72 67 65 74 2d    62 75 66 66 65 72 29 0a 20 20 20 20 3b 3b 20 53  | t-buffer.target-buffer).....;;.S | 
| ef80 |  77 69 74 63 68 20 66 6f 63 75 73 20 74 6f 20 74    68 65 20 71 75 65 72 79 20 62 75 69 6c 64 65 72  | witch.focus.to.the.query.builder | 
| efa0 |  20 77 69 6e 64 6f 77 2e 0a 20 20 20 20 28 73 65    6c 65 63 74 2d 77 69 6e 64 6f 77 20 28 67 65 74  | .window......(select-window.(get | 
| efc0 |  2d 62 75 66 66 65 72 2d 77 69 6e 64 6f 77 20 62    75 69 6c 64 65 72 2d 62 75 66 66 65 72 29 29 29  | -buffer-window.builder-buffer))) | 
| efe0 |  29 0a 0a 28 70 72 6f 76 69 64 65 20 27 74 72 65    65 2d 73 69 74 74 65 72 2d 71 75 65 72 79 29 0a  | )..(provide.'tree-sitter-query). | 
| f000 |  3b 3b 3b 20 74 72 65 65 2d 73 69 74 74 65 72 2d    71 75 65 72 79 2e 65 6c 20 65 6e 64 73 20 68 65  | ;;;.tree-sitter-query.el.ends.he | 
| f020 |  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 00  | re.............................. | 
| f040 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| f060 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| f080 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| f0a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| f0c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| f0e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| f100 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| f120 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| f140 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| f160 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 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 72 65 65 2d 73 69 74 74 65 72 2d 32 30 32 32    30 32 31 32 2e 31 36 33 32 2f 74 72 65 65 2d 73  | tree-sitter-20220212.1632/tree-s | 
| f220 |  69 74 74 65 72 2d 65 78 74 72 61 73 2e 65 6c 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | itter-extras.el................. | 
| 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 34 31 31 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 37 33 34 35 00 20 30 00 00 00  | 0006411.00000000000.017345..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 |  3b 3b 3b 20 74 72 65 65 2d 73 69 74 74 65 72 2d    65 78 74 72 61 73 2e 65 6c 20 2d 2d 2d 20 45 78  | ;;;.tree-sitter-extras.el.---.Ex | 
| f420 |  74 72 61 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74    69 65 73 20 6f 66 20 74 72 65 65 2d 73 69 74 74  | tra.functionalities.of.tree-sitt | 
| f440 |  65 72 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 69 6e  | er.-*-.lexical-binding:.t;.codin | 
| f460 |  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 20 32  | g:.utf-8.-*-..;;.Copyright.(C).2 | 
| f480 |  30 32 30 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 20 41  | 020..Tu...n-Anh.Nguy...n.;;.;;.A | 
| f4a0 |  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 6f 6c  | uthor:.Tu...n-Anh.Nguy...n.<ubol | 
| f4c0 |  6f 6e 74 6f 6e 40 67 6d 61 69 6c 2e 63 6f 6d 3e    0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65  | onton@gmail.com>.;;.SPDX-License | 
| f4e0 |  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 61 72 79  | -Identifier:.MIT..;;;.Commentary | 
| f500 |  3a 0a 0a 3b 3b 20 54 68 69 73 20 66 69 6c 65 20    63 6f 6e 74 61 69 6e 73 20 65 78 74 72 61 20 66  | :..;;.This.file.contains.extra.f | 
| f520 |  75 6e 63 74 69 6f 6e 61 6c 69 74 69 65 73 20 62    75 69 6c 74 20 6f 6e 20 74 6f 70 20 6f 66 20 60  | unctionalities.built.on.top.of.` | 
| f540 |  74 72 65 65 2d 73 69 74 74 65 72 2d 6d 6f 64 65    27 2e 0a 3b 3b 20 54 68 65 79 20 61 72 65 20 63  | tree-sitter-mode'..;;.They.are.c | 
| f560 |  6f 6e 73 69 64 65 72 65 64 20 65 78 70 65 72 69    6d 65 6e 74 61 6c 2c 20 61 6e 64 20 73 75 62 6a  | onsidered.experimental,.and.subj | 
| f580 |  65 63 74 65 64 20 74 6f 20 66 72 65 71 75 65 6e    74 20 63 68 61 6e 67 65 73 2e 0a 0a 3b 3b 3b 20  | ected.to.frequent.changes...;;;. | 
| f5a0 |  43 6f 64 65 3a 0a 0a 28 72 65 71 75 69 72 65 20    27 74 72 65 65 2d 73 69 74 74 65 72 29 0a 0a 28  | Code:..(require.'tree-sitter)..( | 
| f5c0 |  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 73 75  | eval-when-compile...(require.'su | 
| f5e0 |  62 72 2d 78 29 29 0a 0a 28 64 65 63 6c 61 72 65    2d 66 75 6e 63 74 69 6f 6e 20 70 69 78 65 6c 2d  | br-x))..(declare-function.pixel- | 
| f600 |  70 6f 73 6e 2d 79 2d 61 74 2d 70 6f 69 6e 74 20    22 65 78 74 3a 70 69 78 65 6c 2d 73 63 72 6f 6c  | posn-y-at-point."ext:pixel-scrol | 
| f620 |  6c 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e    63 74 69 6f 6e 20 70 69 78 65 6c 2d 73 63 72 6f  | l").(declare-function.pixel-scro | 
| f640 |  6c 6c 2d 70 69 78 65 6c 2d 75 70 20 22 65 78 74    3a 70 69 78 65 6c 2d 73 63 72 6f 6c 6c 22 29 0a  | ll-pixel-up."ext:pixel-scroll"). | 
| f660 |  28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f    6e 20 70 69 78 65 6c 2d 73 63 72 6f 6c 6c 2d 70  | (declare-function.pixel-scroll-p | 
| f680 |  69 78 65 6c 2d 64 6f 77 6e 20 22 65 78 74 3a 70    69 78 65 6c 2d 73 63 72 6f 6c 6c 22 29 0a 0a 28  | ixel-down."ext:pixel-scroll")..( | 
| f6a0 |  64 65 66 63 75 73 74 6f 6d 20 74 72 65 65 2d 73    69 74 74 65 72 2d 73 61 76 65 2d 65 78 63 75 72  | defcustom.tree-sitter-save-excur | 
| f6c0 |  73 69 6f 6e 2d 74 72 79 2d 68 61 72 64 20 6e 69    6c 0a 20 20 22 57 68 65 74 68 65 72 20 60 74 72  | sion-try-hard.nil..."Whether.`tr | 
| f6e0 |  65 65 2d 73 69 74 74 65 72 2d 73 61 76 65 2d 65    78 63 75 72 73 69 6f 6e 27 20 73 68 6f 75 6c 64  | ee-sitter-save-excursion'.should | 
| f700 |  20 74 72 79 20 61 73 20 68 61 72 64 20 61 73 20    70 6f 73 73 69 62 6c 65 2e 22 0a 20 20 3a 74 79  | .try.as.hard.as.possible."...:ty | 
| f720 |  70 65 20 27 62 6f 6f 6c 65 61 6e 0a 20 20 3a 67    72 6f 75 70 20 27 74 72 65 65 2d 73 69 74 74 65  | pe.'boolean...:group.'tree-sitte | 
| f740 |  72 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 74    72 65 65 2d 73 69 74 74 65 72 2d 73 61 76 65 2d  | r)..(defcustom.tree-sitter-save- | 
| f760 |  65 78 63 75 72 73 69 6f 6e 2d 70 69 78 65 6c 77    69 73 65 0a 20 20 28 6e 6f 74 20 28 6e 75 6c 6c  | excursion-pixelwise...(not.(null | 
| f780 |  20 28 72 65 71 75 69 72 65 20 27 70 69 78 65 6c    2d 73 63 72 6f 6c 6c 20 6e 69 6c 20 3a 6e 6f 65  | .(require.'pixel-scroll.nil.:noe | 
| f7a0 |  72 72 6f 72 29 29 29 0a 20 20 22 57 68 65 74 68    65 72 20 60 74 72 65 65 2d 73 69 74 74 65 72 2d  | rror)))..."Whether.`tree-sitter- | 
| f7c0 |  73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 27 20    73 68 6f 75 6c 64 20 72 65 73 74 6f 72 65 20 74  | save-excursion'.should.restore.t | 
| f7e0 |  68 65 20 6c 6f 63 61 74 69 6f 6e 20 70 69 78 65    6c 77 69 73 65 2e 22 0a 20 20 3a 74 79 70 65 20  | he.location.pixelwise."...:type. | 
| f800 |  27 62 6f 6f 6c 65 61 6e 0a 20 20 3a 67 72 6f 75    70 20 27 74 72 65 65 2d 73 69 74 74 65 72 0a 20  | 'boolean...:group.'tree-sitter.. | 
| f820 |  20 3a 73 65 74 20 28 6c 61 6d 62 64 61 20 28 73    79 6d 62 6f 6c 20 76 61 6c 75 65 29 0a 20 20 20  | .:set.(lambda.(symbol.value).... | 
| f840 |  20 20 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64    20 76 61 6c 75 65 20 28 6e 75 6c 6c 20 28 72 65  | ......(when.(and.value.(null.(re | 
| f860 |  71 75 69 72 65 20 27 70 69 78 65 6c 2d 73 63 72    6f 6c 6c 20 6e 69 6c 20 3a 6e 6f 65 72 72 6f 72  | quire.'pixel-scroll.nil.:noerror | 
| f880 |  29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28    75 73 65 72 2d 65 72 72 6f 72 20 22 50 69 78 65  | )))............(user-error."Pixe | 
| f8a0 |  6c 77 69 73 65 20 6c 6f 63 61 74 69 6f 6e 20 72    65 73 74 6f 72 61 74 69 6f 6e 20 72 65 71 75 69  | lwise.location.restoration.requi | 
| f8c0 |  72 65 73 20 60 70 69 78 65 6c 2d 73 63 72 6f 6c    6c 27 3b 20 79 6f 75 20 6d 61 79 20 6e 65 65 64  | res.`pixel-scroll';.you.may.need | 
| f8e0 |  20 74 6f 20 75 70 67 72 61 64 65 20 45 6d 61 63    73 22 29 29 0a 20 20 20 20 20 20 20 20 20 28 73  | .to.upgrade.Emacs"))..........(s | 
| f900 |  65 74 2d 64 65 66 61 75 6c 74 20 73 79 6d 62 6f    6c 20 76 61 6c 75 65 29 29 29 0a 0a 28 64 65 66  | et-default.symbol.value)))..(def | 
| f920 |  75 6e 20 74 72 65 65 2d 73 69 74 74 65 72 2d 2d    72 65 63 65 6e 74 65 72 20 28 73 63 72 65 65 6e  | un.tree-sitter--recenter.(screen | 
| f940 |  2d 6c 69 6e 65 20 26 6f 70 74 69 6f 6e 61 6c 20    70 69 78 65 6c 2d 70 6f 73 6e 2d 79 29 0a 20 20  | -line.&optional.pixel-posn-y)... | 
| f960 |  22 43 65 6e 74 65 72 20 70 6f 69 6e 74 20 6f 6e    20 53 43 52 45 45 4e 2d 4c 49 4e 45 2c 20 74 68  | "Center.point.on.SCREEN-LINE,.th | 
| f980 |  65 6e 20 6f 70 74 69 6f 6e 61 6c 6c 79 20 73 63    72 6f 6c 6c 20 74 6f 20 50 49 58 45 4c 2d 50 4f  | en.optionally.scroll.to.PIXEL-PO | 
| f9a0 |  53 4e 2d 59 2e 22 0a 20 20 28 72 65 63 65 6e 74    65 72 20 73 63 72 65 65 6e 2d 6c 69 6e 65 29 0a  | SN-Y."...(recenter.screen-line). | 
| f9c0 |  20 20 28 77 68 65 6e 20 70 69 78 65 6c 2d 70 6f    73 6e 2d 79 0a 20 20 20 20 28 6c 65 74 20 28 28  | ..(when.pixel-posn-y.....(let.(( | 
| f9e0 |  64 79 20 28 2d 20 28 70 69 78 65 6c 2d 70 6f 73    6e 2d 79 2d 61 74 2d 70 6f 69 6e 74 29 20 70 69  | dy.(-.(pixel-posn-y-at-point).pi | 
| fa00 |  78 65 6c 2d 70 6f 73 6e 2d 79 29 29 29 0a 20 20    20 20 20 20 28 69 66 20 28 3e 20 64 79 20 30 29  | xel-posn-y))).......(if.(>.dy.0) | 
| fa20 |  0a 20 20 20 20 20 20 20 20 20 20 28 70 69 78 65    6c 2d 73 63 72 6f 6c 6c 2d 70 69 78 65 6c 2d 64  | ...........(pixel-scroll-pixel-d | 
| fa40 |  6f 77 6e 20 64 79 29 0a 20 20 20 20 20 20 20 20    28 70 69 78 65 6c 2d 73 63 72 6f 6c 6c 2d 70 69  | own.dy).........(pixel-scroll-pi | 
| fa60 |  78 65 6c 2d 75 70 20 28 2d 20 64 79 29 29 29 29    29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f  | xel-up.(-.dy))))))..;;;###autolo | 
| fa80 |  61 64 0a 28 64 65 66 6d 61 63 72 6f 20 74 72 65    65 2d 73 69 74 74 65 72 2d 73 61 76 65 2d 65 78  | ad.(defmacro.tree-sitter-save-ex | 
| faa0 |  63 75 72 73 69 6f 6e 20 28 26 72 65 73 74 20 62    6f 64 79 29 0a 20 20 22 53 61 76 65 20 74 68 65  | cursion.(&rest.body)..."Save.the | 
| fac0 |  20 63 75 72 72 65 6e 74 20 6c 6f 63 61 74 69 6f    6e 20 77 69 74 68 69 6e 20 74 68 65 20 73 79 6e  | .current.location.within.the.syn | 
| fae0 |  74 61 78 20 74 72 65 65 3b 20 65 78 65 63 75 74    65 20 42 4f 44 59 3b 20 72 65 73 74 6f 72 65 20  | tax.tree;.execute.BODY;.restore. | 
| fb00 |  69 74 2e 0a 0a 49 66 20 74 68 65 20 6f 72 69 67    69 6e 61 6c 20 6c 6f 63 61 74 69 6f 6e 20 63 61  | it...If.the.original.location.ca | 
| fb20 |  6e 6e 6f 74 20 62 65 20 72 65 73 74 6f 72 65 64    20 64 75 65 20 74 6f 20 74 68 65 20 73 79 6e 74  | nnot.be.restored.due.to.the.synt | 
| fb40 |  61 78 20 74 72 65 65 20 63 68 61 6e 67 69 6e 67    20 74 6f 6f 0a 6d 75 63 68 2c 20 74 68 69 73 20  | ax.tree.changing.too.much,.this. | 
| fb60 |  6d 61 63 72 6f 20 62 65 68 61 76 65 73 20 6c 69    6b 65 20 60 73 61 76 65 2d 65 78 63 75 72 73 69  | macro.behaves.like.`save-excursi | 
| fb80 |  6f 6e 27 2c 20 75 6e 6c 65 73 73 0a 60 74 72 65    65 2d 73 69 74 74 65 72 2d 73 61 76 65 2d 65 78  | on',.unless.`tree-sitter-save-ex | 
| fba0 |  63 75 72 73 69 6f 6e 2d 74 72 79 2d 68 61 72 64    27 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 69 6e  | cursion-try-hard'.is.non-nil,.in | 
| fbc0 |  20 77 68 69 63 68 20 63 61 73 65 20 69 74 20 74    72 69 65 73 20 74 6f 20 67 65 74 0a 61 73 20 63  | .which.case.it.tries.to.get.as.c | 
| fbe0 |  6c 6f 73 65 20 61 73 20 70 6f 73 73 69 62 6c 65    20 74 6f 20 74 68 65 20 6f 72 69 67 69 6e 61 6c  | lose.as.possible.to.the.original | 
| fc00 |  20 6c 6f 63 61 74 69 6f 6e 2e 0a 0a 41 66 74 65    72 20 74 68 65 20 6c 6f 63 61 74 69 6f 6e 20 69  | .location...After.the.location.i | 
| fc20 |  73 20 72 65 73 74 6f 72 65 64 2c 20 74 68 65 20    62 75 66 66 65 72 20 74 65 78 74 20 69 73 20 73  | s.restored,.the.buffer.text.is.s | 
| fc40 |  63 72 6f 6c 6c 65 64 20 73 6f 20 74 68 61 74 20    70 6f 69 6e 74 20 73 74 61 79 73 0a 61 74 20 72  | crolled.so.that.point.stays.at.r | 
| fc60 |  6f 75 67 68 6c 79 20 74 68 65 20 73 61 6d 65 20    76 65 72 74 69 63 61 6c 20 73 63 72 65 65 6e 20  | oughly.the.same.vertical.screen. | 
| fc80 |  70 6f 73 69 74 69 6f 6e 2e 20 49 66 20 60 70 69    78 65 6c 2d 73 63 72 6f 6c 6c 27 20 69 73 20 61  | position..If.`pixel-scroll'.is.a | 
| fca0 |  76 61 69 6c 61 62 6c 65 20 61 6e 64 0a 60 74 72    65 65 2d 73 69 74 74 65 72 2d 73 61 76 65 2d 65  | vailable.and.`tree-sitter-save-e | 
| fcc0 |  78 63 75 72 73 69 6f 6e 2d 70 69 78 65 6c 77 69    73 65 27 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20  | xcursion-pixelwise'.is.non-nil,. | 
| fce0 |  70 69 78 65 6c 77 69 73 65 20 73 63 72 6f 6c 6c    69 6e 67 20 69 73 20 75 73 65 64 0a 69 6e 73 74  | pixelwise.scrolling.is.used.inst | 
| fd00 |  65 61 64 2c 20 74 6f 20 6d 61 6b 65 20 74 68 69    73 20 72 65 73 74 6f 72 61 74 69 6f 6e 20 65 78  | ead,.to.make.this.restoration.ex | 
| fd20 |  61 63 74 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  | act."...(declare.(indent.0))...` | 
| fd40 |  28 6c 65 74 2a 20 28 28 70 20 28 70 6f 69 6e 74    29 29 0a 20 20 20 20 20 20 20 20 20 20 28 6f 6c  | (let*.((p.(point))...........(ol | 
| fd60 |  64 2d 6e 6f 64 65 20 28 74 72 65 65 2d 73 69 74    74 65 72 2d 6e 6f 64 65 2d 61 74 2d 70 6f 73 29  | d-node.(tree-sitter-node-at-pos) | 
| fd80 |  29 0a 20 20 20 20 20 20 20 20 20 20 28 73 74 65    70 73 20 28 74 73 63 2d 2d 6e 6f 64 65 2d 73 74  | )...........(steps.(tsc--node-st | 
| fda0 |  65 70 73 20 6f 6c 64 2d 6e 6f 64 65 29 29 0a 20    20 20 20 20 20 20 20 20 20 28 64 65 6c 74 61 20  | eps.old-node))...........(delta. | 
| fdc0 |  28 2d 20 70 20 28 74 73 63 2d 6e 6f 64 65 2d 73    74 61 72 74 2d 70 6f 73 69 74 69 6f 6e 20 6f 6c  | (-.p.(tsc-node-start-position.ol | 
| fde0 |  64 2d 6e 6f 64 65 29 29 29 0a 20 20 20 20 20 20    20 20 20 20 28 73 63 72 65 65 6e 2d 6c 69 6e 65  | d-node)))...........(screen-line | 
| fe00 |  20 28 2d 20 28 63 6f 75 6e 74 2d 73 63 72 65 65    6e 2d 6c 69 6e 65 73 20 28 77 69 6e 64 6f 77 2d  | .(-.(count-screen-lines.(window- | 
| fe20 |  73 74 61 72 74 29 20 70 29 20 31 29 29 0a 20 20    20 20 20 20 20 20 20 20 28 70 69 78 65 6c 2d 70  | start).p).1))...........(pixel-p | 
| fe40 |  6f 73 6e 2d 79 20 2c 28 69 66 20 74 72 65 65 2d    73 69 74 74 65 72 2d 73 61 76 65 2d 65 78 63 75  | osn-y.,(if.tree-sitter-save-excu | 
| fe60 |  72 73 69 6f 6e 2d 70 69 78 65 6c 77 69 73 65 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | rsion-pixelwise................. | 
| fe80 |  20 20 20 20 20 20 20 20 20 20 20 20 20 27 28 70    69 78 65 6c 2d 70 6f 73 6e 2d 79 2d 61 74 2d 70  | .............'(pixel-posn-y-at-p | 
| fea0 |  6f 69 6e 74 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  | oint)........................... | 
| fec0 |  20 6e 69 6c 29 29 29 0a 20 20 20 20 20 28 75 6e    77 69 6e 64 2d 70 72 6f 74 65 63 74 0a 20 20 20  | .nil)))......(unwind-protect.... | 
| fee0 |  20 20 20 20 20 20 28 73 61 76 65 2d 65 78 63 75    72 73 69 6f 6e 20 2c 40 62 6f 64 79 29 0a 20 20  | ......(save-excursion.,@body)... | 
| ff00 |  20 20 20 20 20 28 63 6f 6e 64 69 74 69 6f 6e 2d    63 61 73 65 20 65 72 72 0a 20 20 20 20 20 20 20  | .....(condition-case.err........ | 
| ff20 |  20 20 20 20 28 77 68 65 6e 2d 6c 65 74 20 28 28    6e 6f 64 65 20 28 74 73 63 2d 2d 6e 6f 64 65 2d  | ....(when-let.((node.(tsc--node- | 
| ff40 |  66 72 6f 6d 2d 73 74 65 70 73 20 74 72 65 65 2d    73 69 74 74 65 72 2d 74 72 65 65 20 73 74 65 70  | from-steps.tree-sitter-tree.step | 
| ff60 |  73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 2b 20  | s)))..............(goto-char.(+. | 
| ff80 |  64 65 6c 74 61 20 28 74 73 63 2d 6e 6f 64 65 2d    73 74 61 72 74 2d 70 6f 73 69 74 69 6f 6e 20 6e  | delta.(tsc-node-start-position.n | 
| ffa0 |  6f 64 65 29 29 29 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 28 74 72 65 65 2d 73 69 74 74 65 72  | ode)))..............(tree-sitter | 
| ffc0 |  2d 2d 72 65 63 65 6e 74 65 72 20 73 63 72 65 65    6e 2d 6c 69 6e 65 20 70 69 78 65 6c 2d 70 6f 73  | --recenter.screen-line.pixel-pos | 
| ffe0 |  6e 2d 79 29 29 0a 20 20 20 20 20 20 20 20 20 28    74 73 63 2d 2d 69 6e 76 61 6c 69 64 2d 6e 6f 64  | n-y))..........(tsc--invalid-nod | 
| 10000 |  65 2d 73 74 65 70 0a 20 20 20 20 20 20 20 20 20    20 2c 40 28 77 68 65 6e 20 74 72 65 65 2d 73 69  | e-step...........,@(when.tree-si | 
| 10020 |  74 74 65 72 2d 73 61 76 65 2d 65 78 63 75 72 73    69 6f 6e 2d 74 72 79 2d 68 61 72 64 0a 20 20 20  | tter-save-excursion-try-hard.... | 
| 10040 |  20 20 20 20 20 20 20 20 20 20 20 27 28 28 67 6f    74 6f 2d 63 68 61 72 20 28 74 73 63 2d 6e 6f 64  | ...........'((goto-char.(tsc-nod | 
| 10060 |  65 2d 73 74 61 72 74 2d 70 6f 73 69 74 69 6f 6e    20 28 63 61 64 72 20 65 72 72 29 29 29 0a 20 20  | e-start-position.(cadr.err)))... | 
| 10080 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74    72 65 65 2d 73 69 74 74 65 72 2d 2d 72 65 63 65  | ..............(tree-sitter--rece | 
| 100a0 |  6e 74 65 72 20 73 63 72 65 65 6e 2d 6c 69 6e 65    20 70 69 78 65 6c 2d 70 6f 73 6e 2d 79 29 29 29  | nter.screen-line.pixel-posn-y))) | 
| 100c0 |  29 29 29 29 29 0a 0a 28 70 72 6f 76 69 64 65 20    27 74 72 65 65 2d 73 69 74 74 65 72 2d 65 78 74  | )))))..(provide.'tree-sitter-ext | 
| 100e0 |  72 61 73 29 0a 3b 3b 3b 20 74 72 65 65 2d 73 69    74 74 65 72 2d 65 78 74 72 61 73 2e 65 6c 20 65  | ras).;;;.tree-sitter-extras.el.e | 
| 10100 |  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 00 00 00 00  | nds.here........................ | 
| 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 72 65 65 2d 73 69 74 74 65 72 2d 32 30 32 32    30 32 31 32 2e 31 36 33 32 2f 74 72 65 65 2d 73  | tree-sitter-20220212.1632/tree-s | 
| 10220 |  69 74 74 65 72 2d 63 6c 69 2e 65 6c 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | itter-cli.el.................... | 
| 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 32 31 36 34 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 36 36 30 37 00 20 30 00 00 00  | 0002164.00000000000.016607..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 |  3b 3b 3b 20 74 72 65 65 2d 73 69 74 74 65 72 2d    63 6c 69 2e 65 6c 20 2d 2d 2d 20 55 74 69 6c 69  | ;;;.tree-sitter-cli.el.---.Utili | 
| 10420 |  74 69 65 73 20 66 6f 72 20 74 72 65 65 2d 73 69    74 74 65 72 20 43 4c 49 20 2d 2a 2d 20 6c 65 78  | ties.for.tree-sitter.CLI.-*-.lex | 
| 10440 |  69 63 61 6c 2d 62 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  | ical-binding:.t;.coding:.utf-8.- | 
| 10460 |  2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74    20 28 43 29 20 32 30 32 30 20 54 75 e1 ba a5 6e  | *-..;;.Copyright.(C).2020.Tu...n | 
| 10480 |  2d 41 6e 68 20 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  | -Anh.Nguy...n.;;.;;.Author:.Tu.. | 
| 104a0 |  a5 6e 2d 41 6e 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  | .n-Anh.Nguy...n.<ubolonton@gmail | 
| 104c0 |  2e 63 6f 6d 3e 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  | .com>.;;.SPDX-License-Identifier | 
| 104e0 |  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. | 
| 10500 |  66 69 6c 65 20 63 6f 6e 74 61 69 6e 73 20 66 75    6e 63 74 69 6f 6e 73 20 74 6f 20 77 6f 72 6b 20  | file.contains.functions.to.work. | 
| 10520 |  77 69 74 68 20 74 68 65 20 74 72 65 65 2d 73 69    74 74 65 72 20 43 4c 49 2e 20 49 74 20 6d 75 73  | with.the.tree-sitter.CLI..It.mus | 
| 10540 |  74 20 6e 6f 74 0a 3b 3b 20 64 65 70 65 6e 64 20    28 64 69 72 65 63 74 6c 79 20 6f 6e 20 69 6e 64  | t.not.;;.depend.(directly.on.ind | 
| 10560 |  69 72 65 63 74 6c 79 29 20 6f 6e 20 60 74 73 63    2d 64 79 6e 27 2e 20 49 74 20 73 68 6f 75 6c 64  | irectly).on.`tsc-dyn'..It.should | 
| 10580 |  6e 27 74 20 64 65 70 65 6e 64 20 6f 6e 0a 3b 3b    20 60 74 72 65 65 2d 73 69 74 74 65 72 27 2e 0a  | n't.depend.on.;;.`tree-sitter'.. | 
| 105a0 |  0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 28 65 76 61    6c 2d 77 68 65 6e 2d 63 6f 6d 70 69 6c 65 0a 20  | .;;;.Code:..(eval-when-compile.. | 
| 105c0 |  20 28 72 65 71 75 69 72 65 20 27 73 75 62 72 2d    78 29 29 0a 0a 28 64 65 66 75 6e 20 74 72 65 65  | .(require.'subr-x))..(defun.tree | 
| 105e0 |  2d 73 69 74 74 65 72 2d 63 6c 69 2d 64 69 72 65    63 74 6f 72 79 20 28 29 0a 20 20 22 52 65 74 75  | -sitter-cli-directory.()..."Retu | 
| 10600 |  72 6e 20 74 72 65 65 2d 73 69 74 74 65 72 20 43    4c 49 27 73 20 64 69 72 65 63 74 6f 72 79 2c 20  | rn.tree-sitter.CLI's.directory,. | 
| 10620 |  69 6e 63 6c 75 64 69 6e 67 20 74 68 65 20 65 6e    64 69 6e 67 20 73 65 70 61 72 61 74 6f 72 2e 0a  | including.the.ending.separator.. | 
| 10640 |  54 68 69 73 20 69 73 20 74 68 65 20 64 69 72 65    63 74 6f 72 79 20 77 68 65 72 65 20 74 68 65 20  | This.is.the.directory.where.the. | 
| 10660 |  43 4c 49 20 74 6f 6f 6c 20 6b 65 65 70 73 20 63    6f 6d 70 69 6c 65 64 20 6c 61 6e 67 20 64 65 66  | CLI.tool.keeps.compiled.lang.def | 
| 10680 |  69 6e 69 74 69 6f 6e 73 2c 20 61 6d 6f 6e 67 0a    6f 74 68 65 72 20 64 61 74 61 2e 22 0a 20 20 28  | initions,.among.other.data."...( | 
| 106a0 |  66 69 6c 65 2d 6e 61 6d 65 2d 61 73 2d 64 69 72    65 63 74 6f 72 79 0a 20 20 20 28 65 78 70 61 6e  | file-name-as-directory....(expan | 
| 106c0 |  64 2d 66 69 6c 65 2d 6e 61 6d 65 0a 20 20 20 20    3b 3b 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75  | d-file-name.....;;.https://githu | 
| 106e0 |  62 2e 63 6f 6d 2f 74 72 65 65 2d 73 69 74 74 65    72 2f 74 72 65 65 2d 73 69 74 74 65 72 2f 62 6c  | b.com/tree-sitter/tree-sitter/bl | 
| 10700 |  6f 62 2f 31 62 61 64 36 64 63 2f 63 6c 69 2f 73    72 63 2f 63 6f 6e 66 69 67 2e 72 73 23 4c 32 30  | ob/1bad6dc/cli/src/config.rs#L20 | 
| 10720 |  0a 20 20 20 20 28 69 66 2d 6c 65 74 20 28 28 64    69 72 20 28 67 65 74 65 6e 76 20 22 54 52 45 45  | .....(if-let.((dir.(getenv."TREE | 
| 10740 |  5f 53 49 54 54 45 52 5f 44 49 52 22 29 29 29 0a    20 20 20 20 20 20 20 20 64 69 72 0a 20 20 20 20  | _SITTER_DIR"))).........dir..... | 
| 10760 |  20 20 22 7e 2f 2e 74 72 65 65 2d 73 69 74 74 65    72 22 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 74  | .."~/.tree-sitter"))))..(defun.t | 
| 10780 |  72 65 65 2d 73 69 74 74 65 72 2d 63 6c 69 2d 62    69 6e 2d 64 69 72 65 63 74 6f 72 79 20 28 29 0a  | ree-sitter-cli-bin-directory.(). | 
| 107a0 |  20 20 22 52 65 74 75 72 6e 20 74 68 65 20 64 69    72 65 63 74 6f 72 79 20 75 73 65 64 20 62 79 20  | .."Return.the.directory.used.by. | 
| 107c0 |  74 72 65 65 2d 73 69 74 74 65 72 20 43 4c 49 20    74 6f 20 73 74 6f 72 65 20 63 6f 6d 70 69 6c 65  | tree-sitter.CLI.to.store.compile | 
| 107e0 |  64 20 67 72 61 6d 6d 61 72 73 2e 22 0a 20 20 28    66 69 6c 65 2d 6e 61 6d 65 2d 61 73 2d 64 69 72  | d.grammars."...(file-name-as-dir | 
| 10800 |  65 63 74 6f 72 79 0a 20 20 20 28 63 6f 6e 63 61    74 20 28 74 72 65 65 2d 73 69 74 74 65 72 2d 63  | ectory....(concat.(tree-sitter-c | 
| 10820 |  6c 69 2d 64 69 72 65 63 74 6f 72 79 29 20 22 62    69 6e 22 29 29 29 0a 0a 28 70 72 6f 76 69 64 65  | li-directory)."bin")))..(provide | 
| 10840 |  20 27 74 72 65 65 2d 73 69 74 74 65 72 2d 63 6c    69 29 0a 3b 3b 3b 20 74 72 65 65 2d 73 69 74 74  | .'tree-sitter-cli).;;;.tree-sitt | 
| 10860 |  65 72 2d 63 6c 69 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  | er-cli.el.ends.here............. | 
| 10880 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 108a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 108c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 108e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 10900 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 10920 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 10940 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 10960 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 10980 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 109a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 109c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 109e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 10a00 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 10a20 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 10a40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 10a60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 10a80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 10aa0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 10ac0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 10ae0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 10b00 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 10b20 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 10b40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 10b60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 10b80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 10ba0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 10bc0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 10be0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 10c00 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 10c20 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 10c40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 10c60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 10c80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 10ca0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 10cc0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 10ce0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 10d00 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 10d20 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 10d40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 10d60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 10d80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 10da0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 10dc0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 10de0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 10e00 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 10e20 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 10e40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 10e60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 10e80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 10ea0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 10ec0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 10ee0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 10f00 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 10f20 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 10f40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 10f60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 10f80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 10fa0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 10fc0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 10fe0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 11000 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 11020 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 11040 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 11060 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 11080 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 110a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 110c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 110e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 11100 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 11120 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 11140 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 11160 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 11180 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 111a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 111c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 111e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 11200 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 11220 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 11240 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 11260 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 11280 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 112a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 112c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 112e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 11300 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 11320 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 11340 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 11360 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 11380 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 113a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 113c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 113e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 11400 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 11420 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 11440 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 11460 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 11480 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 114a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 114c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 114e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 11500 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 11520 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 11540 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 11560 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 11580 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 115a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 115c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 115e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 11600 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 11620 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 11640 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 11660 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 11680 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 116a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 116c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 116e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 11700 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 11720 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 11740 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 11760 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 11780 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 117a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 117c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 117e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ |