| ofs | hex dump | ascii | 
|---|
| 0000 | 70 72 6f 6a 65 63 74 69 6c 65 2d 32 2e 38 2e 30    2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | projectile-2.8.0/............... | 
| 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 32 33 32 30 00 20 35 00 00 00 | 0000000.00000000000.012320..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 | 70 72 6f 6a 65 63 74 69 6c 65 2d 32 2e 38 2e 30    2f 45 6c 64 65 76 00 00 00 00 00 00 00 00 00 00 | projectile-2.8.0/Eldev.......... | 
| 0220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0260 | 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30    30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 | ....0000644.0000000.0000000.0000 | 
| 0280 | 30 30 30 30 30 34 33 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 33 32 37 37 00 20 30 00 00 00 | 0000043.00000000000.013277..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 | 28 65 6c 64 65 76 2d 75 73 65 2d 70 61 63 6b 61    67 65 2d 61 72 63 68 69 76 65 20 27 6d 65 6c 70 | (eldev-use-package-archive.'melp | 
| 0420 | 61 29 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 | a).............................. | 
| 0440 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0460 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0480 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 04a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 04c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 04e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 05a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 05c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 05e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0600 | 70 72 6f 6a 65 63 74 69 6c 65 2d 32 2e 38 2e 30    2f 43 48 41 4e 47 45 4c 4f 47 2e 6d 64 00 00 00 | projectile-2.8.0/CHANGELOG.md... | 
| 0620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0660 | 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 | 
| 0680 | 30 31 31 36 37 33 36 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 34 31 34 37 00 20 30 00 00 00 | 0116736.00000000000.014147..0... | 
| 06a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 06c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 06e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0700 | 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................... | 
| 0720 | 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................... | 
| 0740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 07a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 07c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 07e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 0800 | 23 20 43 68 61 6e 67 65 6c 6f 67 0a 0a 23 23 20    6d 61 73 74 65 72 20 28 75 6e 72 65 6c 65 61 73 | #.Changelog..##.master.(unreleas | 
| 0820 | 65 64 29 0a 0a 23 23 20 32 2e 38 2e 30 20 28 32    30 32 33 2d 31 30 2d 31 33 29 0a 0a 23 23 23 20 | ed)..##.2.8.0.(2023-10-13)..###. | 
| 0840 | 4e 65 77 20 66 65 61 74 75 72 65 73 0a 0a 2a 20    5b 23 31 38 36 32 5d 28 68 74 74 70 73 3a 2f 2f | New.features..*.[#1862](https:// | 
| 0860 | 67 69 74 68 75 62 2e 63 6f 6d 2f 62 62 61 74 73    6f 76 2f 70 72 6f 6a 65 63 74 69 6c 65 2f 70 75 | github.com/bbatsov/projectile/pu | 
| 0880 | 6c 6c 2f 31 38 36 32 29 3a 20 41 64 64 20 70 72    6f 6a 65 63 74 20 74 79 70 65 73 20 22 79 61 72 | ll/1862):.Add.project.types."yar | 
| 08a0 | 6e 22 20 61 6e 64 20 22 70 6e 70 6d 22 20 73 65    70 61 72 61 74 65 20 66 72 6f 6d 20 22 6e 70 6d | n".and."pnpm".separate.from."npm | 
| 08c0 | 22 2e 0a 2a 20 5b 23 31 38 35 31 5d 28 68 74 74    70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f | "..*.[#1851](https://github.com/ | 
| 08e0 | 62 62 61 74 73 6f 76 2f 70 72 6f 6a 65 63 74 69    6c 65 2f 70 75 6c 6c 2f 31 38 35 31 29 3a 20 41 | bbatsov/projectile/pull/1851):.A | 
| 0900 | 64 64 20 72 69 70 67 72 65 70 20 74 6f 20 60 70    72 6f 6a 65 63 74 69 6c 65 2d 63 6f 6d 6d 61 6e | dd.ripgrep.to.`projectile-comman | 
| 0920 | 64 65 72 60 20 77 69 74 68 20 62 69 6e 64 69 6e    67 20 60 3f 70 60 2e 0a 2a 20 5b 23 31 38 33 33 | der`.with.binding.`?p`..*.[#1833 | 
| 0940 | 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62    2e 63 6f 6d 2f 62 62 61 74 73 6f 76 2f 70 72 6f | ](https://github.com/bbatsov/pro | 
| 0960 | 6a 65 63 74 69 6c 65 2f 70 75 6c 6c 2f 31 38 33    33 29 3a 20 41 64 64 20 4a 75 6c 69 61 20 70 72 | jectile/pull/1833):.Add.Julia.pr | 
| 0980 | 6f 6a 65 63 74 20 64 69 73 63 6f 76 65 72 79 2e    0a 2a 20 5b 23 31 38 32 38 5d 28 68 74 74 70 73 | oject.discovery..*.[#1828](https | 
| 09a0 | 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 62 62    61 74 73 6f 76 2f 70 72 6f 6a 65 63 74 69 6c 65 | ://github.com/bbatsov/projectile | 
| 09c0 | 2f 70 75 6c 6c 2f 31 38 32 38 29 3a 20 41 64 64    20 4e 69 6d 62 6c 65 2d 62 61 73 65 64 20 4e 69 | /pull/1828):.Add.Nimble-based.Ni | 
| 09e0 | 6d 20 70 72 6f 6a 65 63 74 20 64 69 73 63 6f 76    65 72 79 2e 0a 2a 20 41 64 64 20 65 6c 6d 20 70 | m.project.discovery..*.Add.elm.p | 
| 0a00 | 72 6f 6a 65 63 74 20 74 79 70 65 2e 0a 2a 20 5b    23 31 38 32 31 5d 28 68 74 74 70 73 3a 2f 2f 67 | roject.type..*.[#1821](https://g | 
| 0a20 | 69 74 68 75 62 2e 63 6f 6d 2f 62 62 61 74 73 6f    76 2f 70 72 6f 6a 65 63 74 69 6c 65 2f 70 75 6c | ithub.com/bbatsov/projectile/pul | 
| 0a40 | 6c 2f 31 38 32 31 29 3a 20 41 64 64 20 60 70 79    70 72 6f 6a 65 63 74 2e 74 6f 6d 6c 60 20 64 69 | l/1821):.Add.`pyproject.toml`.di | 
| 0a60 | 73 63 6f 76 65 72 79 20 66 6f 72 20 70 79 74 68    6f 6e 20 70 72 6f 6a 65 63 74 73 2e 0a 2a 20 5b | scovery.for.python.projects..*.[ | 
| 0a80 | 23 31 38 33 30 5d 28 68 74 74 70 73 3a 2f 2f 67    69 74 68 75 62 2e 63 6f 6d 2f 62 62 61 74 73 6f | #1830](https://github.com/bbatso | 
| 0aa0 | 76 2f 70 72 6f 6a 65 63 74 69 6c 65 2f 69 73 73    75 65 73 2f 31 38 33 30 29 3a 20 41 64 64 20 63 | v/projectile/issues/1830):.Add.c | 
| 0ac0 | 6f 6d 6d 61 6e 64 20 60 70 72 6f 6a 65 63 74 69    6c 65 2d 72 75 6e 2d 76 74 65 72 6d 2d 6f 74 68 | ommand.`projectile-run-vterm-oth | 
| 0ae0 | 65 72 2d 77 69 6e 64 6f 77 60 20 61 6e 64 20 62    69 6e 64 20 69 74 20 74 6f 20 60 78 20 34 20 76 | er-window`.and.bind.it.to.`x.4.v | 
| 0b00 | 60 2e 0a 0a 23 23 23 20 43 68 61 6e 67 65 73 0a    0a 2a 20 5b 23 31 38 33 39 5d 28 68 74 74 70 73 | `...###.Changes..*.[#1839](https | 
| 0b20 | 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 62 62    61 74 73 6f 76 2f 70 72 6f 6a 65 63 74 69 6c 65 | ://github.com/bbatsov/projectile | 
| 0b40 | 2f 69 73 73 75 65 73 2f 31 38 33 39 29 3a 20 45    6e 73 75 72 65 20 60 70 72 6f 6a 65 63 74 69 6c | /issues/1839):.Ensure.`projectil | 
| 0b60 | 65 2d 74 6f 67 67 6c 65 2d 62 65 74 77 65 65 6e    2d 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2d | e-toggle-between-implementation- | 
| 0b80 | 61 6e 64 2d 74 65 73 74 60 20 61 6c 73 6f 20 6f    62 65 79 73 20 60 70 72 6f 6a 65 63 74 69 6c 65 | and-test`.also.obeys.`projectile | 
| 0ba0 | 2d 70 72 6f 6a 65 63 74 2d 74 65 73 74 2d 64 69    72 60 20 61 6e 64 20 60 70 72 6f 6a 65 63 74 69 | -project-test-dir`.and.`projecti | 
| 0bc0 | 6c 65 2d 70 72 6f 6a 65 63 74 2d 73 72 63 2d 64    69 72 60 2e 0a 2a 20 5b 23 31 32 38 35 5d 28 68 | le-project-src-dir`..*.[#1285](h | 
| 0be0 | 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f    6d 2f 62 62 61 74 73 6f 76 2f 70 72 6f 6a 65 63 | ttps://github.com/bbatsov/projec | 
| 0c00 | 74 69 6c 65 2f 70 75 6c 6c 2f 31 38 32 35 29 3a    20 42 79 20 64 65 66 61 75 6c 74 2c 20 75 73 65 | tile/pull/1825):.By.default,.use | 
| 0c20 | 20 5b 66 64 5d 28 68 74 74 70 73 3a 2f 2f 67 69    74 68 75 62 2e 63 6f 6d 2f 73 68 61 72 6b 64 70 | .[fd](https://github.com/sharkdp | 
| 0c40 | 2f 66 64 29 20 69 6e 20 47 69 74 20 72 65 70 6f    73 69 74 6f 72 69 65 73 20 69 6e 73 74 65 61 64 | /fd).in.Git.repositories.instead | 
| 0c60 | 20 6f 66 20 60 67 69 74 20 6c 73 2d 66 69 6c 65    73 60 20 77 68 65 6e 20 69 74 20 69 73 20 69 6e | .of.`git.ls-files`.when.it.is.in | 
| 0c80 | 73 74 61 6c 6c 65 64 2c 20 69 6e 20 6f 72 64 65    72 20 74 6f 20 73 6f 6c 76 65 20 74 68 65 20 70 | stalled,.in.order.to.solve.the.p | 
| 0ca0 | 72 6f 62 6c 65 6d 20 77 68 65 72 65 20 64 65 6c    65 74 65 64 20 66 69 6c 65 73 20 77 65 72 65 20 | roblem.where.deleted.files.were. | 
| 0cc0 | 73 74 69 6c 6c 20 73 68 6f 77 6e 20 69 6e 20 60    70 72 6f 6a 65 63 74 69 6c 65 2d 66 69 6e 64 2d | still.shown.in.`projectile-find- | 
| 0ce0 | 66 69 6c 65 60 20 75 6e 74 69 6c 20 74 68 65 69    72 20 64 65 6c 65 74 69 6f 6e 73 20 77 65 72 65 | file`.until.their.deletions.were | 
| 0d00 | 20 73 74 61 67 65 64 2e 20 54 68 65 20 75 73 65    72 2d 66 61 63 69 6e 67 20 62 65 68 61 76 69 6f | .staged..The.user-facing.behavio | 
| 0d20 | 72 20 73 68 6f 75 6c 64 20 62 65 20 74 68 65 20    73 61 6d 65 2c 20 61 6c 74 68 6f 75 67 68 20 70 | r.should.be.the.same,.although.p | 
| 0d40 | 6f 74 65 6e 74 69 61 6c 6c 79 20 77 69 74 68 20    64 69 66 66 65 72 65 6e 74 20 70 65 72 66 6f 72 | otentially.with.different.perfor | 
| 0d60 | 6d 61 6e 63 65 20 63 68 61 72 61 63 74 65 72 69    73 74 69 63 73 20 69 6e 20 6c 61 72 67 65 20 47 | mance.characteristics.in.large.G | 
| 0d80 | 69 74 20 72 65 70 6f 73 69 74 6f 72 69 65 73 2e    20 54 68 65 20 6f 6c 64 20 62 65 68 61 76 69 6f | it.repositories..The.old.behavio | 
| 0da0 | 72 20 63 61 6e 20 62 65 20 72 65 63 6c 61 69 6d    65 64 20 62 79 20 73 65 74 74 69 6e 67 20 60 70 | r.can.be.reclaimed.by.setting.`p | 
| 0dc0 | 72 6f 6a 65 63 74 69 6c 65 2d 67 69 74 2d 75 73    65 2d 66 64 60 20 74 6f 20 6e 69 6c 2e 0a 2a 20 | rojectile-git-use-fd`.to.nil..*. | 
| 0de0 | 5b 23 31 38 33 31 5d 28 68 74 74 70 73 3a 2f 2f    67 69 74 68 75 62 2e 63 6f 6d 2f 62 62 61 74 73 | [#1831](https://github.com/bbats | 
| 0e00 | 6f 76 2f 70 72 6f 6a 65 63 74 69 6c 65 2f 69 73    73 75 65 73 2f 31 38 33 31 29 3a 20 45 6e 61 62 | ov/projectile/issues/1831):.Enab | 
| 0e20 | 6c 65 20 74 68 65 20 70 72 6f 6a 65 63 74 2e 65    6c 20 69 6e 74 65 67 72 61 74 69 6f 6e 20 6f 6e | le.the.project.el.integration.on | 
| 0e40 | 6c 79 20 77 68 65 6e 20 60 70 72 6f 6a 65 63 74    69 6c 65 2d 6d 6f 64 65 60 20 69 73 20 61 63 74 | ly.when.`projectile-mode`.is.act | 
| 0e60 | 69 76 65 2e 0a 2a 20 5b 23 31 38 34 37 5d 28 68    74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f | ive..*.[#1847](https://github.co | 
| 0e80 | 6d 2f 62 62 61 74 73 6f 76 2f 70 72 6f 6a 65 63    74 69 6c 65 2f 69 73 73 75 65 73 2f 31 38 34 37 | m/bbatsov/projectile/issues/1847 | 
| 0ea0 | 29 3a 20 55 73 65 20 6c 69 74 65 72 61 6c 20 64    69 72 65 63 74 6f 72 79 20 6e 61 6d 65 20 63 61 | ):.Use.literal.directory.name.ca | 
| 0ec0 | 73 69 6e 67 20 77 68 65 6e 20 74 6f 67 67 6c 69    6e 67 20 62 65 74 77 65 65 6e 20 69 6d 70 6c 20 | sing.when.toggling.between.impl. | 
| 0ee0 | 61 6e 64 20 74 65 73 74 2e 0a 0a 23 23 23 20 42    75 67 73 20 66 69 78 65 64 0a 0a 2a 20 46 69 78 | and.test...###.Bugs.fixed..*.Fix | 
| 0f00 | 20 60 66 64 60 20 69 6e 73 65 72 74 69 6e 67 20    63 6f 6c 6f 72 20 63 6f 6e 74 72 6f 6c 20 73 65 | .`fd`.inserting.color.control.se | 
| 0f20 | 71 75 65 6e 63 65 73 20 77 68 65 6e 20 75 73 65    64 20 6f 76 65 72 20 74 72 61 6d 70 2e 0a 2a 20 | quences.when.used.over.tramp..*. | 
| 0f40 | 5b 23 31 38 33 35 5d 28 68 74 74 70 73 3a 2f 2f    67 69 74 68 75 62 2e 63 6f 6d 2f 62 62 61 74 73 | [#1835](https://github.com/bbats | 
| 0f60 | 6f 76 2f 70 72 6f 6a 65 63 74 69 6c 65 2f 69 73    73 75 65 73 2f 31 38 33 35 29 3a 20 52 65 6f 70 | ov/projectile/issues/1835):.Reop | 
| 0f80 | 65 6e 69 6e 67 20 65 78 69 73 74 69 6e 67 20 76    74 65 72 6d 20 62 75 66 66 65 72 20 69 6e 20 6f | ening.existing.vterm.buffer.in.o | 
| 0fa0 | 74 68 65 72 20 77 69 6e 64 6f 77 0a 2a 20 5b 23    31 38 36 35 5d 28 68 74 74 70 73 3a 2f 2f 67 69 | ther.window.*.[#1865](https://gi | 
| 0fc0 | 74 68 75 62 2e 63 6f 6d 2f 62 62 61 74 73 6f 76    2f 70 72 6f 6a 65 63 74 69 6c 65 2f 70 75 6c 6c | thub.com/bbatsov/projectile/pull | 
| 0fe0 | 2f 31 38 36 35 29 3a 20 60 70 72 6f 6a 65 63 74    69 6c 65 2d 67 65 6e 65 72 69 63 2d 63 6f 6d 6d | /1865):.`projectile-generic-comm | 
| 1000 | 61 6e 64 60 20 73 68 6f 75 6c 64 20 75 73 65 20    60 70 72 6f 6a 65 63 74 69 6c 65 2d 66 64 2d 65 | and`.should.use.`projectile-fd-e | 
| 1020 | 78 65 63 75 74 61 62 6c 65 60 20 74 6f 20 66 69    6e 64 20 74 68 65 20 70 61 74 68 20 66 6f 72 20 | xecutable`.to.find.the.path.for. | 
| 1040 | 66 64 2e 0a 0a 23 23 20 32 2e 37 2e 30 20 28 32    30 32 32 2d 31 31 2d 32 32 29 0a 0a 23 23 23 20 | fd...##.2.7.0.(2022-11-22)..###. | 
| 1060 | 4e 65 77 20 66 65 61 74 75 72 65 73 0a 0a 2a 20    5b 23 31 35 39 31 5d 28 68 74 74 70 73 3a 2f 2f | New.features..*.[#1591](https:// | 
| 1080 | 67 69 74 68 75 62 2e 63 6f 6d 2f 62 62 61 74 73    6f 76 2f 70 72 6f 6a 65 63 74 69 6c 65 2f 69 73 | github.com/bbatsov/projectile/is | 
| 10a0 | 73 75 65 73 2f 31 35 39 31 29 3a 20 41 64 64 20    60 70 72 6f 6a 65 63 74 2e 65 6c 60 20 69 6e 74 | sues/1591):.Add.`project.el`.int | 
| 10c0 | 65 67 72 61 74 69 6f 6e 20 74 68 61 74 20 77 69    6c 6c 20 6d 61 6b 65 20 50 72 6f 6a 65 63 74 69 | egration.that.will.make.Projecti | 
| 10e0 | 6c 65 20 74 68 65 20 64 65 66 61 75 6c 74 20 70    72 6f 76 69 64 65 72 20 66 6f 72 20 70 72 6f 6a | le.the.default.provider.for.proj | 
| 1100 | 65 63 74 20 6c 6f 6f 6b 75 70 2e 0a 2a 20 41 64    64 20 6e 65 77 20 63 6f 6d 6d 61 6e 64 20 60 70 | ect.lookup..*.Add.new.command.`p | 
| 1120 | 72 6f 6a 65 63 74 69 6c 65 2d 66 69 6e 64 2d 72    65 66 65 72 65 6e 63 65 73 60 20 28 62 6f 75 6e | rojectile-find-references`.(boun | 
| 1140 | 64 20 74 6f 20 60 43 2d 63 20 43 2d 70 20 3f 60    20 61 6e 64 20 60 43 2d 63 20 43 2d 70 20 73 20 | d.to.`C-c.C-p.?`.and.`C-c.C-p.s. | 
| 1160 | 78 60 29 2e 0a 2a 20 5b 23 31 37 33 37 5d 28 68    74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f | x`)..*.[#1737](https://github.co | 
| 1180 | 6d 2f 62 62 61 74 73 6f 76 2f 70 72 6f 6a 65 63    74 69 6c 65 2f 70 75 6c 6c 2f 31 37 33 37 29 3a | m/bbatsov/projectile/pull/1737): | 
| 11a0 | 20 41 64 64 20 68 65 6c 70 65 72 73 20 66 6f 72    20 60 64 69 72 2d 6c 6f 63 61 6c 2d 76 61 72 69 | .Add.helpers.for.`dir-local-vari | 
| 11c0 | 61 62 6c 65 73 60 20 66 6f 72 20 33 72 64 20 70    61 72 74 79 20 75 73 65 2e 20 46 75 6e 63 74 69 | ables`.for.3rd.party.use..Functi | 
| 11e0 | 6f 6e 73 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d    61 64 64 2d 64 69 72 2d 6c 6f 63 61 6c 2d 76 61 | ons.`projectile-add-dir-local-va | 
| 1200 | 72 69 61 62 6c 65 60 20 61 6e 64 20 60 70 72 6f    6a 65 63 74 69 6c 65 2d 64 65 6c 65 74 65 2d 64 | riable`.and.`projectile-delete-d | 
| 1220 | 69 72 2d 6c 6f 63 61 6c 2d 76 61 72 69 61 62 6c    65 60 20 77 72 61 70 20 74 68 65 69 72 20 62 75 | ir-local-variable`.wrap.their.bu | 
| 1240 | 69 6c 74 2d 69 6e 20 63 6f 75 6e 74 65 72 70 61    72 74 73 2e 20 54 68 65 79 20 61 6c 77 61 79 73 | ilt-in.counterparts..They.always | 
| 1260 | 20 75 73 65 20 60 2e 64 69 72 2d 6c 6f 63 61 6c    73 2e 65 6c 60 20 66 72 6f 6d 20 74 68 65 20 72 | .use.`.dir-locals.el`.from.the.r | 
| 1280 | 6f 6f 74 20 6f 66 20 74 68 65 20 63 75 72 72 65    6e 74 20 50 72 6f 6a 65 63 74 69 6c 65 20 70 72 | oot.of.the.current.Projectile.pr | 
| 12a0 | 6f 6a 65 63 74 2e 0a 2a 20 41 64 64 20 61 20 6e    65 77 20 64 65 66 63 75 73 74 6f 6d 20 28 60 70 | oject..*.Add.a.new.defcustom.(`p | 
| 12c0 | 72 6f 6a 65 63 74 69 6c 65 2d 64 69 72 63 6f 6e    66 69 67 2d 66 69 6c 65 60 29 20 63 6f 6e 74 72 | rojectile-dirconfig-file`).contr | 
| 12e0 | 6f 6c 6c 69 6e 67 20 74 68 65 20 6e 61 6d 65 20    6f 66 20 74 68 65 20 66 69 6c 65 20 75 73 65 64 | olling.the.name.of.the.file.used | 
| 1300 | 20 61 73 20 50 72 6f 6a 65 63 74 69 6c 65 e2 80    99 73 20 72 6f 6f 74 20 6d 61 72 6b 65 72 20 61 | .as.Projectile...s.root.marker.a | 
| 1320 | 6e 64 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e    20 66 69 6c 65 2e 0a 2a 20 5b 23 31 38 31 33 5d | nd.configuration.file..*.[#1813] | 
| 1340 | 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e    63 6f 6d 2f 62 62 61 74 73 6f 76 2f 70 72 6f 6a | (https://github.com/bbatsov/proj | 
| 1360 | 65 63 74 69 6c 65 2f 70 75 6c 6c 2f 31 38 31 33    29 3a 20 41 6c 6c 6f 77 20 70 72 6f 6a 65 63 74 | ectile/pull/1813):.Allow.project | 
| 1380 | 2d 66 69 6c 65 73 20 74 6f 20 63 6f 6e 74 61 69    6e 20 77 69 6c 64 63 61 72 64 73 20 61 6e 64 20 | -files.to.contain.wildcards.and. | 
| 13a0 | 61 6c 6c 6f 77 20 6d 75 6c 74 69 70 6c 65 20 70    72 6f 6a 65 63 74 2d 66 69 6c 65 73 20 70 65 72 | allow.multiple.project-files.per | 
| 13c0 | 20 70 72 6f 6a 65 63 74 20 74 79 70 65 20 72 65    67 69 73 74 72 61 74 69 6f 6e 2e 20 41 64 64 20 | .project.type.registration..Add. | 
| 13e0 | 61 20 6e 65 77 20 70 72 6f 6a 65 63 74 2d 74 79    70 65 20 66 6f 72 20 2e 4e 45 54 20 73 6f 6c 75 | a.new.project-type.for..NET.solu | 
| 1400 | 74 69 6f 6e 73 2e 0a 0a 23 23 23 20 43 68 61 6e    67 65 73 0a 0a 2a 20 5b 23 31 38 31 32 5d 28 68 | tions...###.Changes..*.[#1812](h | 
| 1420 | 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f    6d 2f 62 62 61 74 73 6f 76 2f 70 72 6f 6a 65 63 | ttps://github.com/bbatsov/projec | 
| 1440 | 74 69 6c 65 2f 70 75 6c 6c 2f 31 38 31 32 29 3a    20 41 64 64 20 61 20 60 70 72 6f 6a 65 63 74 69 | tile/pull/1812):.Add.a.`projecti | 
| 1460 | 6c 65 2d 72 6f 6f 74 2d 6d 61 72 6b 65 64 60 20    66 75 6e 63 74 69 6f 6e 20 66 6f 72 20 66 69 6e | le-root-marked`.function.for.fin | 
| 1480 | 64 69 6e 67 20 72 6f 6f 74 73 20 6d 61 72 6b 65    64 20 62 79 20 60 2e 70 72 6f 6a 65 63 74 69 6c | ding.roots.marked.by.`.projectil | 
| 14a0 | 65 60 2e 20 50 72 69 6f 72 69 74 69 7a 65 20 60    2e 70 72 6f 6a 65 63 74 69 6c 65 60 20 61 62 6f | e`..Prioritize.`.projectile`.abo | 
| 14c0 | 76 65 20 6f 74 68 65 72 20 62 6f 74 74 6f 6d 2d    75 70 20 72 6f 6f 74 20 66 69 6c 65 73 2e 0a 0a | ve.other.bottom-up.root.files... | 
| 14e0 | 23 23 23 20 42 75 67 20 66 69 78 65 64 0a 0a 2a    20 5b 23 31 37 39 36 5d 28 68 74 74 70 73 3a 2f | ###.Bug.fixed..*.[#1796](https:/ | 
| 1500 | 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 62 62 61 74    73 6f 76 2f 70 72 6f 6a 65 63 74 69 6c 65 2f 69 | /github.com/bbatsov/projectile/i | 
| 1520 | 73 73 75 65 73 2f 31 37 39 36 29 3a 20 46 69 78    20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 72 6f 6f | ssues/1796):.Fix.`projectile-roo | 
| 1540 | 74 2d 62 6f 74 74 6f 6d 2d 75 70 60 20 64 6f 65    73 6e 27 74 20 61 6c 77 61 79 73 20 66 69 6e 64 | t-bottom-up`.doesn't.always.find | 
| 1560 | 20 62 6f 74 74 6f 6d 2d 6d 6f 73 74 20 66 69 6c    65 2e 0a 2a 20 5b 23 31 37 39 39 5d 28 68 74 74 | .bottom-most.file..*.[#1799](htt | 
| 1580 | 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f    62 62 61 74 73 6f 76 2f 70 72 6f 6a 65 63 74 69 | ps://github.com/bbatsov/projecti | 
| 15a0 | 6c 65 2f 70 75 6c 6c 2f 31 37 39 39 29 3a 20 46    69 78 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 6f | le/pull/1799):.Fix.`projectile-o | 
| 15c0 | 70 65 6e 2d 70 72 6f 6a 65 63 74 73 60 20 6c 69    73 74 73 20 70 72 6f 6a 65 63 74 73 20 66 6f 72 | pen-projects`.lists.projects.for | 
| 15e0 | 20 77 68 69 63 68 20 61 6c 6c 20 62 75 66 66 65    72 73 20 61 72 65 20 63 6c 6f 73 65 64 2e 0a 2a | .which.all.buffers.are.closed..* | 
| 1600 | 20 5b 23 31 38 30 36 5d 28 68 74 74 70 73 3a 2f    2f 67 69 74 68 75 62 2e 63 6f 6d 2f 62 62 61 74 | .[#1806](https://github.com/bbat | 
| 1620 | 73 6f 76 2f 70 72 6f 6a 65 63 74 69 6c 65 2f 70    75 6c 6c 2f 31 38 30 36 29 3a 20 46 69 78 20 60 | sov/projectile/pull/1806):.Fix.` | 
| 1640 | 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65    63 74 2d 74 79 70 65 60 20 74 6f 20 72 65 74 75 | projectile-project-type`.to.retu | 
| 1660 | 72 6e 20 74 68 65 20 63 6f 72 72 65 63 74 20 70    72 6f 6a 65 63 74 20 74 79 70 65 20 65 76 65 6e | rn.the.correct.project.type.even | 
| 1680 | 20 77 68 65 6e 20 77 65 20 70 61 73 73 20 69 74    20 74 68 65 20 44 49 52 20 61 72 67 2e 20 41 73 | .when.we.pass.it.the.DIR.arg..As | 
| 16a0 | 20 61 20 72 65 73 75 6c 74 20 6f 66 20 74 68 65    20 66 69 78 2c 0a 60 70 72 6f 6a 65 63 74 69 6c | .a.result.of.the.fix,.`projectil | 
| 16c0 | 65 2d 65 78 70 61 6e 64 2d 72 6f 6f 74 60 2c 20    60 70 72 6f 6a 65 63 74 69 6c 65 2d 64 65 74 65 | e-expand-root`,.`projectile-dete | 
| 16e0 | 63 74 2d 70 72 6f 6a 65 63 74 2d 74 79 70 65 60    2c 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 76 65 | ct-project-type`,.`projectile-ve | 
| 1700 | 72 69 66 79 2d 66 69 6c 65 73 60 20 2c 20 60 70    72 6f 6a 65 63 74 69 6c 65 2d 76 65 72 69 66 79 | rify-files`.,.`projectile-verify | 
| 1720 | 2d 66 69 6c 65 60 20 60 70 72 6f 6a 65 63 74 69    6c 65 2d 76 65 72 69 66 79 2d 66 69 6c 65 2d 77 | -file`.`projectile-verify-file-w | 
| 1740 | 69 6c 64 63 61 72 64 60 2c 20 60 70 72 6f 6a 65    63 74 69 6c 65 2d 63 61 62 61 6c 2d 70 72 6f 6a | ildcard`,.`projectile-cabal-proj | 
| 1760 | 65 63 74 2d 70 60 2c 0a 60 70 72 6f 6a 65 63 74    69 6c 65 2d 64 6f 74 6e 65 74 2d 70 72 6f 6a 65 | ect-p`,.`projectile-dotnet-proje | 
| 1780 | 63 74 2d 70 60 2c 20 60 70 72 6f 6a 65 63 74 69    6c 65 2d 67 6f 2d 70 72 6f 6a 65 63 74 2d 70 60 | ct-p`,.`projectile-go-project-p` | 
| 17a0 | 20 61 6e 64 20 74 68 65 20 6e 65 77 6c 79 20 66    61 63 74 6f 72 65 64 20 6f 75 74 20 60 70 72 6f | .and.the.newly.factored.out.`pro | 
| 17c0 | 6a 65 63 74 69 6c 65 2d 65 6c 64 65 76 2d 70 72    6f 6a 65 63 74 2d 70 60 20 6e 6f 77 20 61 6c 73 | jectile-eldev-project-p`.now.als | 
| 17e0 | 6f 20 74 61 6b 65 73 20 61 6e 20 26 6f 70 74 69    6f 6e 61 6c 20 44 49 52 20 61 72 67 20 74 6f 20 | o.takes.an.&optional.DIR.arg.to. | 
| 1800 | 73 70 65 63 69 66 79 20 74 68 65 20 64 69 72 65    63 74 6f 72 79 20 69 74 20 69 73 20 61 63 74 69 | specify.the.directory.it.is.acti | 
| 1820 | 6e 67 20 6f 6e 2e 0a 0a 23 23 20 32 2e 36 2e 30    20 28 32 30 32 32 2d 31 30 2d 32 35 29 0a 0a 23 | ng.on...##.2.6.0.(2022-10-25)..# | 
| 1840 | 23 23 20 4e 65 77 20 66 65 61 74 75 72 65 73 0a    0a 2a 20 5b 23 31 37 39 30 5d 28 68 74 74 70 73 | ##.New.features..*.[#1790](https | 
| 1860 | 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 62 62    61 74 73 6f 76 2f 70 72 6f 6a 65 63 74 69 6c 65 | ://github.com/bbatsov/projectile | 
| 1880 | 2f 70 75 6c 6c 2f 31 37 39 30 29 3a 20 41 64 64    20 60 73 72 63 2d 64 69 72 60 20 61 6e 64 20 60 | /pull/1790):.Add.`src-dir`.and.` | 
| 18a0 | 74 65 73 74 2d 64 69 72 60 20 70 72 6f 70 65 72    74 69 65 73 20 66 6f 72 20 74 68 65 20 6d 69 6c | test-dir`.properties.for.the.mil | 
| 18c0 | 6c 20 70 72 6f 6a 65 63 74 20 74 79 70 65 2e 0a    2a 20 5b 23 31 37 37 38 5d 28 68 74 74 70 73 3a | l.project.type..*.[#1778](https: | 
| 18e0 | 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 62 62 61    74 73 6f 76 2f 70 72 6f 6a 65 63 74 69 6c 65 2f | //github.com/bbatsov/projectile/ | 
| 1900 | 70 75 6c 6c 2f 31 37 37 38 29 3a 20 41 6c 6c 6f    77 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 72 65 | pull/1778):.Allow.`projectile-re | 
| 1920 | 70 6c 61 63 65 60 20 74 6f 20 73 65 6c 65 63 74    20 66 69 6c 65 20 65 78 74 65 6e 73 69 6f 6e 73 | place`.to.select.file.extensions | 
| 1940 | 20 77 68 65 6e 20 75 73 69 6e 67 20 70 72 65 66    69 78 20 61 72 67 20 28 60 43 2d 75 60 29 2e 0a | .when.using.prefix.arg.(`C-u`).. | 
| 1960 | 2a 20 5b 23 31 37 35 37 5d 28 68 74 74 70 73 3a    2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 62 62 61 | *.[#1757](https://github.com/bba | 
| 1980 | 74 73 6f 76 2f 70 72 6f 6a 65 63 74 69 6c 65 2f    70 75 6c 6c 2f 31 37 35 37 29 3a 20 41 64 64 20 | tsov/projectile/pull/1757):.Add. | 
| 19a0 | 73 75 70 70 6f 72 74 20 66 6f 72 20 74 68 65 20    50 69 6a 75 6c 20 56 43 53 2e 0a 2a 20 5b 23 31 | support.for.the.Pijul.VCS..*.[#1 | 
| 19c0 | 37 34 35 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74    68 75 62 2e 63 6f 6d 2f 62 62 61 74 73 6f 76 2f | 745](https://github.com/bbatsov/ | 
| 19e0 | 70 72 6f 6a 65 63 74 69 6c 65 2f 70 75 6c 6c 2f    31 37 34 35 29 3a 20 41 6c 6c 6f 77 20 60 70 72 | projectile/pull/1745):.Allow.`pr | 
| 1a00 | 6f 6a 65 63 74 69 6c 65 2d 75 70 64 61 74 65 2d    70 72 6f 6a 65 63 74 2d 74 79 70 65 60 20 74 6f | ojectile-update-project-type`.to | 
| 1a20 | 20 63 68 61 6e 67 65 20 70 72 6f 6a 65 63 74 20    74 79 70 65 20 70 72 65 63 65 64 65 6e 63 65 20 | .change.project.type.precedence. | 
| 1a40 | 61 6e 64 20 72 65 6d 6f 76 65 20 70 72 6f 6a 65    63 74 20 6f 70 74 69 6f 6e 73 2e 0a 2a 20 5b 23 | and.remove.project.options..*.[# | 
| 1a60 | 31 36 39 39 5d 28 68 74 74 70 73 3a 2f 2f 67 69    74 68 75 62 2e 63 6f 6d 2f 62 62 61 74 73 6f 76 | 1699](https://github.com/bbatsov | 
| 1a80 | 2f 70 72 6f 6a 65 63 74 69 6c 65 2f 70 75 6c 6c    2f 31 36 39 39 29 3a 20 60 70 72 6f 6a 65 63 74 | /projectile/pull/1699):.`project | 
| 1aa0 | 69 6c 65 2d 72 69 70 67 72 65 70 60 20 6e 6f 77    20 73 75 70 70 6f 72 74 73 20 5b 72 67 2e 65 6c | ile-ripgrep`.now.supports.[rg.el | 
| 1ac0 | 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62    2e 63 6f 6d 2f 64 61 6a 76 61 2f 72 67 2e 65 6c | ](https://github.com/dajva/rg.el | 
| 1ae0 | 29 2e 0a 2a 20 5b 23 31 37 31 32 5d 28 68 74 74    70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f | )..*.[#1712](https://github.com/ | 
| 1b00 | 62 62 61 74 73 6f 76 2f 70 72 6f 6a 65 63 74 69    6c 65 2f 69 73 73 75 65 73 2f 31 37 31 32 29 3a | bbatsov/projectile/issues/1712): | 
| 1b20 | 20 4d 61 6b 65 20 69 74 20 70 6f 73 73 69 62 6c    65 20 74 6f 20 68 69 64 65 20 50 72 6f 6a 65 63 | .Make.it.possible.to.hide.Projec | 
| 1b40 | 74 69 6c 65 27 73 20 6d 65 6e 75 2e 20 53 65 65    20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 73 68 6f | tile's.menu..See.`projectile-sho | 
| 1b60 | 77 2d 6d 65 6e 75 60 2e 0a 2a 20 5b 23 31 37 31    38 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 | w-menu`..*.[#1718](https://githu | 
| 1b80 | 62 2e 63 6f 6d 2f 62 62 61 74 73 6f 76 2f 70 72    6f 6a 65 63 74 69 6c 65 2f 69 73 73 75 65 73 2f | b.com/bbatsov/projectile/issues/ | 
| 1ba0 | 31 37 31 38 29 3a 20 41 64 64 20 61 20 70 72 6f    6a 65 63 74 20 74 79 70 65 20 64 65 66 69 6e 69 | 1718):.Add.a.project.type.defini | 
| 1bc0 | 74 69 6f 6e 20 66 6f 72 20 60 47 4e 55 4d 61 6b    65 66 69 6c 65 60 2e 0a 2a 20 5b 23 31 37 34 37 | tion.for.`GNUMakefile`..*.[#1747 | 
| 1be0 | 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62    2e 63 6f 6d 2f 62 62 61 74 73 6f 76 2f 70 72 6f | ](https://github.com/bbatsov/pro | 
| 1c00 | 6a 65 63 74 69 6c 65 2f 70 75 6c 6c 2f 31 37 34    37 29 3a 20 41 64 64 20 73 75 70 70 6f 72 74 20 | jectile/pull/1747):.Add.support. | 
| 1c20 | 66 6f 72 20 70 72 65 73 65 74 2d 62 61 73 65 64    20 69 6e 73 74 61 6c 6c 2d 63 6f 6d 6d 61 6e 64 | for.preset-based.install-command | 
| 1c40 | 73 20 66 6f 72 20 43 4d 61 6b 65 20 70 72 6f 6a    65 63 74 73 2e 0a 2a 20 5b 23 31 37 36 38 5d 28 | s.for.CMake.projects..*.[#1768]( | 
| 1c60 | 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63    6f 6d 2f 62 62 61 74 73 6f 76 2f 70 72 6f 6a 65 | https://github.com/bbatsov/proje | 
| 1c80 | 63 74 69 6c 65 2f 70 75 6c 6c 2f 31 37 36 38 29    3a 20 41 64 64 20 73 75 70 70 6f 72 74 20 66 6f | ctile/pull/1768):.Add.support.fo | 
| 1ca0 | 72 20 64 69 73 61 62 6c 69 6e 67 20 63 6f 6d 6d    61 6e 64 20 63 61 63 68 69 6e 67 20 6f 6e 20 61 | r.disabling.command.caching.on.a | 
| 1cc0 | 20 70 65 72 2d 70 72 6f 6a 65 63 74 20 62 61 73    69 73 2e 0a 2a 20 5b 23 31 37 39 37 5d 28 68 74 | .per-project.basis..*.[#1797](ht | 
| 1ce0 | 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d    2f 62 62 61 74 73 6f 76 2f 70 72 6f 6a 65 63 74 | tps://github.com/bbatsov/project | 
| 1d00 | 69 6c 65 2f 70 75 6c 6c 2f 31 37 39 37 29 3a 20    4d 61 6b 65 20 61 6c 6c 20 70 72 6f 6a 65 63 74 | ile/pull/1797):.Make.all.project | 
| 1d20 | 20 74 79 70 65 20 61 74 74 72 69 62 75 74 65 73    20 6c 6f 63 61 6c 6c 79 20 6f 76 65 72 72 69 64 | .type.attributes.locally.overrid | 
| 1d40 | 61 62 6c 65 2e 0a 2a 20 5b 23 31 38 30 33 5d 28    68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 | able..*.[#1803](https://github.c | 
| 1d60 | 6f 6d 2f 62 62 61 74 73 6f 76 2f 70 72 6f 6a 65    63 74 69 6c 65 2f 70 75 6c 6c 2f 31 38 30 33 29 | om/bbatsov/projectile/pull/1803) | 
| 1d80 | 3a 20 41 64 64 20 73 75 70 70 6f 72 74 20 67 6f    2d 74 61 73 6b 2f 74 61 73 6b 2e 0a 0a 0a 23 23 | :.Add.support.go-task/task....## | 
| 1da0 | 23 20 42 75 67 73 20 66 69 78 65 64 0a 0a 2a 20    5b 23 31 37 38 31 5d 28 68 74 74 70 73 3a 2f 2f | #.Bugs.fixed..*.[#1781](https:// | 
| 1dc0 | 67 69 74 68 75 62 2e 63 6f 6d 2f 62 62 61 74 73    6f 76 2f 70 72 6f 6a 65 63 74 69 6c 65 2f 70 75 | github.com/bbatsov/projectile/pu | 
| 1de0 | 6c 6c 2f 31 37 38 31 29 3a 20 46 69 78 20 60 72    61 69 6c 73 2d 72 73 70 65 63 60 20 61 6e 64 20 | ll/1781):.Fix.`rails-rspec`.and. | 
| 1e00 | 60 72 61 69 6c 73 2d 74 65 73 74 60 20 74 6f 20    75 73 65 20 60 61 70 70 60 20 69 6e 73 74 65 61 | `rails-test`.to.use.`app`.instea | 
| 1e20 | 64 20 6f 66 20 60 6c 69 62 60 20 61 73 20 60 73    72 63 2d 64 69 72 60 2e 0a 2a 20 5b 23 31 37 36 | d.of.`lib`.as.`src-dir`..*.[#176 | 
| 1e40 | 32 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75    62 2e 63 6f 6d 2f 62 62 61 74 73 6f 76 2f 70 72 | 2](https://github.com/bbatsov/pr | 
| 1e60 | 6f 6a 65 63 74 69 6c 65 2f 70 75 6c 6c 2f 31 37    36 32 29 3a 20 46 69 78 20 60 70 72 6f 6a 65 63 | ojectile/pull/1762):.Fix.`projec | 
| 1e80 | 74 69 6c 65 2d 67 6c 6f 62 61 6c 6c 79 2d 69 67    6e 6f 72 65 64 2d 64 69 72 65 63 74 6f 72 69 65 | tile-globally-ignored-directorie | 
| 1ea0 | 73 60 20 75 6e 65 73 63 61 70 65 64 20 72 65 67    65 78 2e 0a 2a 20 5b 23 31 37 31 33 5d 28 68 74 | s`.unescaped.regex..*.[#1713](ht | 
| 1ec0 | 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d    2f 62 62 61 74 73 6f 76 2f 70 72 6f 6a 65 63 74 | tps://github.com/bbatsov/project | 
| 1ee0 | 69 6c 65 2f 69 73 73 75 65 73 2f 31 37 33 31 29    3a 20 46 69 78 20 60 70 72 6f 6a 65 63 74 69 6c | ile/issues/1731):.Fix.`projectil | 
| 1f00 | 65 2d 64 69 73 63 6f 76 65 72 2d 70 72 6f 6a 65    63 74 73 2d 69 6e 2d 64 69 72 65 63 74 6f 72 79 | e-discover-projects-in-directory | 
| 1f20 | 60 20 72 65 6f 72 64 65 72 69 6e 67 20 6b 6e 6f    77 6e 20 70 72 6f 6a 65 63 74 73 2e 0a 2a 20 5b | `.reordering.known.projects..*.[ | 
| 1f40 | 23 31 35 31 34 5d 28 68 74 74 70 73 3a 2f 2f 67    69 74 68 75 62 2e 63 6f 6d 2f 62 62 61 74 73 6f | #1514](https://github.com/bbatso | 
| 1f60 | 76 2f 70 72 6f 6a 65 63 74 69 6c 65 2f 69 73 73    75 65 73 2f 31 35 31 34 29 3a 20 46 69 78 20 60 | v/projectile/issues/1514):.Fix.` | 
| 1f80 | 70 72 6f 6a 65 63 74 69 6c 65 2d 61 67 60 20 67    6c 6f 62 61 6c 20 69 67 6e 6f 72 65 73 20 6e 6f | projectile-ag`.global.ignores.no | 
| 1fa0 | 74 20 69 6e 20 65 66 66 65 63 74 2e 0a 2a 20 5b    23 31 37 31 34 5d 28 68 74 74 70 73 3a 2f 2f 67 | t.in.effect..*.[#1714](https://g | 
| 1fc0 | 69 74 68 75 62 2e 63 6f 6d 2f 62 62 61 74 73 6f    76 2f 70 72 6f 6a 65 63 74 69 6c 65 2f 69 73 73 | ithub.com/bbatsov/projectile/iss | 
| 1fe0 | 75 65 73 2f 31 37 31 34 29 3a 20 46 69 78 20 60    70 72 6f 6a 65 63 74 69 6c 65 2d 64 69 73 63 6f | ues/1714):.Fix.`projectile-disco | 
| 2000 | 76 65 72 2d 70 72 6f 6a 65 63 74 73 2d 69 6e 2d    64 69 72 65 63 74 6f 72 79 60 20 6e 6f 74 20 69 | ver-projects-in-directory`.not.i | 
| 2020 | 6e 74 65 72 61 63 74 69 76 65 2e 0a 2a 20 5b 23    31 37 33 34 5d 28 68 74 74 70 73 3a 2f 2f 67 69 | nteractive..*.[#1734](https://gi | 
| 2040 | 74 68 75 62 2e 63 6f 6d 2f 62 62 61 74 73 6f 76    2f 70 72 6f 6a 65 63 74 69 6c 65 2f 70 75 6c 6c | thub.com/bbatsov/projectile/pull | 
| 2060 | 2f 31 37 33 34 29 3a 20 4d 61 6b 65 20 60 70 72    6f 6a 65 63 74 69 6c 65 2d 2d 66 69 6e 64 2d 6d | /1734):.Make.`projectile--find-m | 
| 2080 | 61 74 63 68 69 6e 67 2d 74 65 73 74 60 20 75 73    65 20 60 73 72 63 2d 64 69 72 2f 74 65 73 74 2d | atching-test`.use.`src-dir/test- | 
| 20a0 | 64 69 72 60 20 70 72 6f 70 65 72 74 69 65 73 2e    0a 2a 20 5b 23 31 37 35 30 5d 28 68 74 74 70 73 | dir`.properties..*.[#1750](https | 
| 20c0 | 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 62 62    61 74 73 6f 76 2f 70 72 6f 6a 65 63 74 69 6c 65 | ://github.com/bbatsov/projectile | 
| 20e0 | 2f 69 73 73 75 65 73 2f 31 37 35 30 29 3a 20 46    69 78 20 73 6f 75 72 63 65 20 61 6e 64 20 74 65 | /issues/1750):.Fix.source.and.te | 
| 2100 | 73 74 20 64 69 72 65 63 74 6f 72 69 65 73 20 66    6f 72 20 4d 61 76 65 6e 20 70 72 6f 6a 65 63 74 | st.directories.for.Maven.project | 
| 2120 | 73 2e 0a 2a 20 5b 23 31 37 36 35 5d 28 68 74 74    70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f | s..*.[#1765](https://github.com/ | 
| 2140 | 62 62 61 74 73 6f 76 2f 70 72 6f 6a 65 63 74 69    6c 65 2f 69 73 73 75 65 73 2f 31 37 36 35 29 3a | bbatsov/projectile/issues/1765): | 
| 2160 | 20 46 69 78 20 60 73 72 63 2d 64 69 72 60 2f 60    74 65 73 74 2d 64 69 72 60 20 6e 6f 74 20 64 65 | .Fix.`src-dir`/`test-dir`.not.de | 
| 2180 | 66 61 75 6c 74 69 6e 67 20 74 6f 20 60 22 73 72    63 2f 22 60 20 61 6e 64 20 60 22 74 65 73 74 2f | faulting.to.`"src/"`.and.`"test/ | 
| 21a0 | 22 60 20 77 69 74 68 20 60 70 72 6f 6a 65 63 74    69 6c 65 2d 74 6f 67 67 6c 65 2d 62 65 74 77 65 | "`.with.`projectile-toggle-betwe | 
| 21c0 | 65 6e 2d 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f    6e 2d 61 6e 64 2d 74 65 73 74 60 2e 0a 2a 20 46 | en-implementation-and-test`..*.F | 
| 21e0 | 69 78 20 76 65 72 73 69 6f 6e 20 65 78 74 72 61    63 74 69 6f 6e 20 6c 6f 67 69 63 2e 0a 2a 20 5b | ix.version.extraction.logic..*.[ | 
| 2200 | 31 36 35 34 5d 28 68 74 74 70 73 3a 2f 2f 67 69    74 68 75 62 2e 63 6f 6d 2f 62 62 61 74 73 6f 76 | 1654](https://github.com/bbatsov | 
| 2220 | 2f 70 72 6f 6a 65 63 74 69 6c 65 2f 69 73 73 75    65 73 2f 31 36 35 34 29 20 46 69 78 20 63 6f 6e | /projectile/issues/1654).Fix.con | 
| 2240 | 73 65 63 75 74 69 76 65 20 64 75 70 6c 69 63 61    74 65 73 20 61 70 70 65 61 72 69 6e 67 20 69 6e | secutive.duplicates.appearing.in | 
| 2260 | 20 63 6f 6d 6d 61 6e 64 20 68 69 73 74 6f 72 79    2e 0a 2a 20 5b 23 31 37 35 35 5d 28 68 74 74 70 | .command.history..*.[#1755](http | 
| 2280 | 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 62    62 61 74 73 6f 76 2f 70 72 6f 6a 65 63 74 69 6c | s://github.com/bbatsov/projectil | 
| 22a0 | 65 2f 69 73 73 75 65 73 2f 31 37 35 35 29 20 43    61 63 68 65 20 66 61 69 6c 75 72 65 20 74 6f 20 | e/issues/1755).Cache.failure.to. | 
| 22c0 | 66 69 6e 64 20 70 72 6f 6a 65 63 74 20 72 6f 6f    74 2e 0a 0a 23 23 23 20 43 68 61 6e 67 65 73 0a | find.project.root...###.Changes. | 
| 22e0 | 0a 2a 20 5b 23 31 37 38 35 5d 28 68 74 74 70 73    3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 62 62 | .*.[#1785](https://github.com/bb | 
| 2300 | 61 74 73 6f 76 2f 70 72 6f 6a 65 63 74 69 6c 65    2f 70 75 6c 6c 2f 31 37 38 35 29 3a 20 47 69 76 | atsov/projectile/pull/1785):.Giv | 
| 2320 | 65 20 74 68 65 20 70 72 6f 6a 65 63 74 20 74 79    70 65 20 22 67 6f 22 20 68 69 67 68 65 72 20 70 | e.the.project.type."go".higher.p | 
| 2340 | 72 65 63 65 64 65 6e 63 65 20 74 68 61 6e 20 75    6e 69 76 65 72 73 61 6c 20 74 79 70 65 73 2c 20 | recedence.than.universal.types,. | 
| 2360 | 6e 61 6d 65 6c 79 20 22 6d 61 6b 65 22 2e 0a 2a    20 5b 23 31 34 34 37 5d 28 68 74 74 70 73 3a 2f | namely."make"..*.[#1447](https:/ | 
| 2380 | 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 62 62 61 74    73 6f 76 2f 70 72 6f 6a 65 63 74 69 6c 65 2f 69 | /github.com/bbatsov/projectile/i | 
| 23a0 | 73 73 75 65 73 2f 31 34 34 37 29 3a 20 52 65 73    74 72 75 63 74 75 72 65 20 74 68 65 20 6d 65 6e | ssues/1447):.Restructure.the.men | 
| 23c0 | 75 2e 0a 2a 20 5b 23 31 36 39 32 5d 28 68 74 74    70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f | u..*.[#1692](https://github.com/ | 
| 23e0 | 62 62 61 74 73 6f 76 2f 70 72 6f 6a 65 63 74 69    6c 65 2f 69 73 73 75 65 73 2f 31 36 39 32 29 3a | bbatsov/projectile/issues/1692): | 
| 2400 | 20 45 6e 61 62 6c 65 20 6d 69 6e 69 62 75 66 66    65 72 20 63 6f 6d 70 6c 65 74 69 6f 6e 73 20 77 | .Enable.minibuffer.completions.w | 
| 2420 | 68 65 6e 20 72 65 61 64 69 6e 67 20 73 68 65 6c    6c 2d 63 6f 6d 6d 61 6e 64 73 2e 0a 2a 20 43 68 | hen.reading.shell-commands..*.Ch | 
| 2440 | 61 6e 67 65 20 74 68 65 20 47 72 61 69 6c 73 20    70 72 6f 6a 65 63 74 20 6d 61 72 6b 65 72 20 74 | ange.the.Grails.project.marker.t | 
| 2460 | 6f 20 60 61 70 70 6c 69 63 61 74 69 6f 6e 2e 79    6d 6c 60 2e 0a 2a 20 5b 23 31 37 38 39 5d 28 68 | o.`application.yml`..*.[#1789](h | 
| 2480 | 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f    6d 2f 62 62 61 74 73 6f 76 2f 70 72 6f 6a 65 63 | ttps://github.com/bbatsov/projec | 
| 24a0 | 74 69 6c 65 2f 70 75 6c 6c 2f 31 37 38 39 29 3a    20 50 72 6f 67 72 65 73 73 20 72 65 70 6f 72 74 | tile/pull/1789):.Progress.report | 
| 24c0 | 65 72 20 66 6f 72 20 72 65 63 75 72 73 69 76 65    20 70 72 6f 67 72 65 73 73 20 64 69 73 63 6f 76 | er.for.recursive.progress.discov | 
| 24e0 | 65 72 79 2e 0a 2a 20 5b 23 31 37 30 38 5d 28 68    74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f | ery..*.[#1708](https://github.co | 
| 2500 | 6d 2f 62 62 61 74 73 6f 76 2f 70 72 6f 6a 65 63    74 69 6c 65 2f 69 73 73 75 65 73 2f 31 37 30 38 | m/bbatsov/projectile/issues/1708 | 
| 2520 | 29 3a 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 72    69 70 67 72 65 70 60 20 6e 6f 77 20 63 6f 6e 73 | ):.`projectile-ripgrep`.now.cons | 
| 2540 | 69 73 74 65 6e 74 6c 79 20 73 65 61 72 63 68 65    73 20 68 69 64 64 65 6e 20 66 69 6c 65 73 2e 0a | istently.searches.hidden.files.. | 
| 2560 | 0a 23 23 20 32 2e 35 2e 30 20 28 32 30 32 31 2d    30 38 2d 31 30 29 0a 0a 23 23 23 20 4e 65 77 20 | .##.2.5.0.(2021-08-10)..###.New. | 
| 2580 | 66 65 61 74 75 72 65 73 0a 0a 2a 20 5b 23 31 36    38 30 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 | features..*.[#1680](https://gith | 
| 25a0 | 75 62 2e 63 6f 6d 2f 62 62 61 74 73 6f 76 2f 70    72 6f 6a 65 63 74 69 6c 65 2f 70 75 6c 6c 2f 31 | ub.com/bbatsov/projectile/pull/1 | 
| 25c0 | 36 38 30 29 3a 20 41 64 64 20 73 75 70 70 6f 72    74 20 66 6f 72 20 72 65 63 75 72 73 69 76 65 20 | 680):.Add.support.for.recursive. | 
| 25e0 | 70 72 6f 6a 65 63 74 20 64 69 73 63 6f 76 65 72    79 2e 0a 2a 20 5b 23 31 36 37 31 5d 28 68 74 74 | project.discovery..*.[#1671](htt | 
| 2600 | 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f    62 62 61 74 73 6f 76 2f 70 72 6f 6a 65 63 74 69 | ps://github.com/bbatsov/projecti | 
| 2620 | 6c 65 2f 70 75 6c 6c 2f 31 36 37 31 29 2f 5b 23    31 36 37 39 5d 28 68 74 74 70 73 3a 2f 2f 67 69 | le/pull/1671)/[#1679](https://gi | 
| 2640 | 74 68 75 62 2e 63 6f 6d 2f 62 62 61 74 73 6f 76    2f 70 72 6f 6a 65 63 74 69 6c 65 2f 70 75 6c 6c | thub.com/bbatsov/projectile/pull | 
| 2660 | 2f 31 36 37 39 29 3a 20 41 6c 6c 6f 77 20 74 68    65 20 60 3a 74 65 73 74 2d 64 69 72 60 20 61 6e | /1679):.Allow.the.`:test-dir`.an | 
| 2680 | 64 20 60 3a 73 72 63 2d 64 69 72 60 20 6f 70 74    69 6f 6e 73 20 6f 66 20 61 20 70 72 6f 6a 65 63 | d.`:src-dir`.options.of.a.projec | 
| 26a0 | 74 20 74 6f 20 62 65 20 73 65 74 20 74 6f 20 66    75 6e 63 74 69 6f 6e 73 20 66 6f 72 20 6d 6f 72 | t.to.be.set.to.functions.for.mor | 
| 26c0 | 65 20 66 6c 65 78 69 62 6c 65 20 74 65 73 74 20    73 77 69 74 63 68 69 6e 67 2e 0a 2a 20 5b 23 31 | e.flexible.test.switching..*.[#1 | 
| 26e0 | 36 37 32 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74    68 75 62 2e 63 6f 6d 2f 62 62 61 74 73 6f 76 2f | 672](https://github.com/bbatsov/ | 
| 2700 | 70 72 6f 6a 65 63 74 69 6c 65 2f 70 75 6c 6c 2f    31 36 37 32 29 3a 20 41 64 64 20 60 70 72 6f 6a | projectile/pull/1672):.Add.`proj | 
| 2720 | 65 63 74 69 6c 65 2d 3c 63 6d 64 3e 2d 75 73 65    2d 63 6f 6d 69 6e 74 2d 6d 6f 64 65 60 20 76 61 | ectile-<cmd>-use-comint-mode`.va | 
| 2740 | 72 69 61 62 6c 65 73 20 28 77 68 65 72 65 20 60    3c 63 6d 64 3e 60 20 69 73 20 60 63 6f 6e 66 69 | riables.(where.`<cmd>`.is.`confi | 
| 2760 | 67 75 72 65 60 2c 20 60 63 6f 6d 70 69 6c 65 60    2c 20 60 74 65 73 74 60 2c 20 60 69 6e 73 74 61 | gure`,.`compile`,.`test`,.`insta | 
| 2780 | 6c 6c 60 2c 20 60 70 61 63 6b 61 67 65 60 2c 20    6f 72 20 60 72 75 6e 60 29 2e 20 54 68 65 73 65 | ll`,.`package`,.or.`run`)..These | 
| 27a0 | 20 65 6e 61 62 6c 65 20 69 6e 74 65 72 61 63 74    69 76 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 | .enable.interactive.compilation. | 
| 27c0 | 62 75 66 66 65 72 73 2e 0a 2a 20 5b 23 31 37 30    35 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 | buffers..*.[#1705](https://githu | 
| 27e0 | 62 2e 63 6f 6d 2f 62 62 61 74 73 6f 76 2f 70 72    6f 6a 65 63 74 69 6c 65 2f 70 75 6c 6c 2f 31 37 | b.com/bbatsov/projectile/pull/17 | 
| 2800 | 30 35 29 3a 20 41 64 64 20 70 72 6f 6a 65 63 74    20 64 65 74 65 63 74 69 6f 6e 20 66 6f 72 20 4e | 05):.Add.project.detection.for.N | 
| 2820 | 69 78 20 66 6c 61 6b 65 73 2e 0a 0a 23 23 23 20    42 75 67 73 20 66 69 78 65 64 0a 0a 2a 20 5b 23 | ix.flakes...###.Bugs.fixed..*.[# | 
| 2840 | 31 35 35 30 5d 28 68 74 74 70 73 3a 2f 2f 67 69    74 68 75 62 2e 63 6f 6d 2f 62 62 61 74 73 6f 76 | 1550](https://github.com/bbatsov | 
| 2860 | 2f 70 72 6f 6a 65 63 74 69 6c 65 2f 69 73 73 75    65 73 2f 31 35 35 30 29 3a 20 4d 61 6b 65 20 60 | /projectile/issues/1550):.Make.` | 
| 2880 | 70 72 6f 6a 65 63 74 69 6c 65 2d 72 65 67 65 6e    65 72 61 74 65 2d 74 61 67 73 60 20 74 72 61 6d | projectile-regenerate-tags`.tram | 
| 28a0 | 70 2d 61 77 61 72 65 2e 0a 2a 20 5b 23 31 36 37    33 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 | p-aware..*.[#1673](https://githu | 
| 28c0 | 62 2e 63 6f 6d 2f 62 62 61 74 73 6f 76 2f 70 72    6f 6a 65 63 74 69 6c 65 2f 69 73 73 75 65 73 2f | b.com/bbatsov/projectile/issues/ | 
| 28e0 | 31 36 37 33 29 3a 20 46 69 78 20 43 4d 61 6b 65    20 73 79 73 74 65 6d 2d 70 72 65 73 65 74 20 66 | 1673):.Fix.CMake.system-preset.f | 
| 2900 | 69 6c 65 6e 61 6d 65 2e 0a 2a 20 5b 23 31 36 39    31 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 | ilename..*.[#1691](https://githu | 
| 2920 | 62 2e 63 6f 6d 2f 62 62 61 74 73 6f 76 2f 70 72    6f 6a 65 63 74 69 6c 65 2f 70 75 6c 6c 2f 31 36 | b.com/bbatsov/projectile/pull/16 | 
| 2940 | 39 31 29 3a 20 46 69 78 20 60 63 6f 6d 70 69 6c    61 74 69 6f 6e 2d 66 69 6e 64 2d 66 69 6c 65 60 | 91):.Fix.`compilation-find-file` | 
| 2960 | 20 61 64 76 69 63 65 20 68 61 6e 64 6c 69 6e 67    20 6f 66 20 64 69 72 65 63 74 6f 72 79 2e 0a 0a | .advice.handling.of.directory... | 
| 2980 | 23 23 23 20 43 68 61 6e 67 65 73 0a 0a 2a 20 52    65 6d 6f 76 65 20 60 70 6b 67 2d 69 6e 66 6f 60 | ###.Changes..*.Remove.`pkg-info` | 
| 29a0 | 20 64 65 70 65 6e 64 65 6e 63 79 2e 0a 0a 23 23    20 32 2e 34 2e 30 20 28 32 30 32 31 2d 30 35 2d | .dependency...##.2.4.0.(2021-05- | 
| 29c0 | 32 37 29 0a 0a 23 23 23 20 4e 65 77 20 66 65 61    74 75 72 65 73 0a 0a 2a 20 41 64 64 20 60 70 72 | 27)..###.New.features..*.Add.`pr | 
| 29e0 | 6f 6a 65 63 74 69 6c 65 2d 75 70 64 61 74 65 2d    70 72 6f 6a 65 63 74 2d 74 79 70 65 60 20 66 75 | ojectile-update-project-type`.fu | 
| 2a00 | 6e 63 74 69 6f 6e 20 66 6f 72 20 75 70 64 61 74    69 6e 67 20 74 68 65 20 70 72 6f 70 65 72 74 69 | nction.for.updating.the.properti | 
| 2a20 | 65 73 20 6f 66 20 65 78 69 73 74 69 6e 67 20 70    72 6f 6a 65 63 74 20 74 79 70 65 73 2e 0a 2a 20 | es.of.existing.project.types..*. | 
| 2a40 | 5b 23 31 36 35 38 5d 28 68 74 74 70 73 3a 2f 2f    67 69 74 68 75 62 2e 63 6f 6d 2f 62 62 61 74 73 | [#1658](https://github.com/bbats | 
| 2a60 | 6f 76 2f 70 72 6f 6a 65 63 74 69 6c 65 2f 70 75    6c 6c 2f 31 36 35 38 29 3a 20 4e 65 77 20 63 6f | ov/projectile/pull/1658):.New.co | 
| 2a80 | 6d 6d 61 6e 64 20 60 70 72 6f 6a 65 63 74 69 6c    65 2d 72 65 73 65 74 2d 6b 6e 6f 77 6e 2d 70 72 | mmand.`projectile-reset-known-pr | 
| 2aa0 | 6f 6a 65 63 74 73 60 2e 0a 2a 20 5b 23 31 36 35    36 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 | ojects`..*.[#1656](https://githu | 
| 2ac0 | 62 2e 63 6f 6d 2f 62 62 61 74 73 6f 76 2f 70 72    6f 6a 65 63 74 69 6c 65 2f 70 75 6c 6c 2f 31 36 | b.com/bbatsov/projectile/pull/16 | 
| 2ae0 | 35 36 29 3a 20 41 64 64 20 73 75 70 70 6f 72 74    20 66 6f 72 20 43 4d 61 6b 65 20 63 6f 6e 66 69 | 56):.Add.support.for.CMake.confi | 
| 2b00 | 67 75 72 65 2c 20 62 75 69 6c 64 20 61 6e 64 20    74 65 73 74 20 70 72 65 73 65 74 73 2e 20 45 6e | gure,.build.and.test.presets..En | 
| 2b20 | 61 62 6c 65 64 20 62 79 20 73 65 74 74 69 6e 67    20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 63 6d 61 | abled.by.setting.`projectile-cma | 
| 2b40 | 6b 65 2d 70 72 65 73 65 74 73 60 20 74 6f 20 6e    6f 6e 2d 6e 69 6c 2c 20 64 69 73 61 62 6c 65 64 | ke-presets`.to.non-nil,.disabled | 
| 2b60 | 20 62 79 20 64 65 66 61 75 6c 74 2e 0a 2a 20 41    64 64 20 6f 70 74 69 6f 6e 61 6c 20 70 61 72 61 | .by.default..*.Add.optional.para | 
| 2b80 | 6d 65 74 65 72 73 20 74 6f 20 60 70 72 6f 6a 65    63 74 69 6c 65 2d 72 75 6e 2d 73 68 65 6c 6c 2d | meters.to.`projectile-run-shell- | 
| 2ba0 | 63 6f 6d 6d 61 6e 64 2d 69 6e 2d 72 6f 6f 74 60    20 61 6e 64 20 60 70 72 6f 6a 65 63 74 69 6c 65 | command-in-root`.and.`projectile | 
| 2bc0 | 2d 72 75 6e 2d 61 73 79 6e 63 2d 73 68 65 6c 6c    2d 63 6f 6d 6d 61 6e 64 2d 69 6e 2d 72 6f 6f 74 | -run-async-shell-command-in-root | 
| 2be0 | 60 0a 0a 23 23 23 20 43 68 61 6e 67 65 73 0a 0a    2a 20 41 64 64 20 60 70 72 6f 6a 65 63 74 60 20 | `..###.Changes..*.Add.`project`. | 
| 2c00 | 70 61 72 61 6d 20 74 6f 20 60 70 72 6f 6a 65 63    74 69 6c 65 2d 67 65 6e 65 72 61 74 65 2d 70 72 | param.to.`projectile-generate-pr | 
| 2c20 | 6f 63 65 73 73 2d 6e 61 6d 65 60 2e 0a 2a 20 5b    23 31 36 30 38 5d 28 68 74 74 70 73 3a 2f 2f 67 | ocess-name`..*.[#1608](https://g | 
| 2c40 | 69 74 68 75 62 2e 63 6f 6d 2f 62 62 61 74 73 6f    76 2f 70 72 6f 6a 65 63 74 69 6c 65 2f 70 75 6c | ithub.com/bbatsov/projectile/pul | 
| 2c60 | 6c 2f 31 36 30 38 29 3a 20 55 73 65 20 72 65 62    61 72 33 20 62 75 69 6c 64 20 73 79 73 74 65 6d | l/1608):.Use.rebar3.build.system | 
| 2c80 | 20 62 79 20 64 65 66 61 75 6c 74 20 66 6f 72 20    45 72 6c 61 6e 67 20 70 72 6f 6a 65 63 74 73 2e | .by.default.for.Erlang.projects. | 
| 2ca0 | 0a 2a 20 52 65 6e 61 6d 65 20 60 70 72 6f 6a 65    63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 72 6f | .*.Rename.`projectile-project-ro | 
| 2cc0 | 6f 74 2d 66 69 6c 65 73 2d 66 75 6e 63 74 69 6f    6e 73 60 20 74 6f 20 60 70 72 6f 6a 65 63 74 69 | ot-files-functions`.to.`projecti | 
| 2ce0 | 6c 65 2d 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 2d    66 75 6e 63 74 69 6f 6e 73 60 2e 0a 2a 20 5b 23 | le-project-root-functions`..*.[# | 
| 2d00 | 31 36 34 37 5d 28 68 74 74 70 73 3a 2f 2f 67 69    74 68 75 62 2e 63 6f 6d 2f 62 62 61 74 73 6f 76 | 1647](https://github.com/bbatsov | 
| 2d20 | 2f 70 72 6f 6a 65 63 74 69 6c 65 2f 69 73 73 75    65 73 2f 31 36 34 37 29 3a 20 55 73 65 20 22 2d | /projectile/issues/1647):.Use."- | 
| 2d40 | 42 22 20 69 6e 20 74 68 65 20 6d 76 6e 20 63 6f    6d 6d 61 6e 64 73 20 74 6f 20 61 76 6f 69 64 20 | B".in.the.mvn.commands.to.avoid. | 
| 2d60 | 41 4e 53 49 20 63 6f 6c 6f 72 69 6e 67 20 63 6c    75 74 74 65 72 20 69 6e 20 74 68 65 20 63 6f 6d | ANSI.coloring.clutter.in.the.com | 
| 2d80 | 70 69 6c 65 20 62 75 66 66 65 72 0a 2a 20 5b 23    31 36 35 37 5d 28 68 74 74 70 73 3a 2f 2f 67 69 | pile.buffer.*.[#1657](https://gi | 
| 2da0 | 74 68 75 62 2e 63 6f 6d 2f 62 62 61 74 73 6f 76    2f 70 72 6f 6a 65 63 74 69 6c 65 2f 70 75 6c 6c | thub.com/bbatsov/projectile/pull | 
| 2dc0 | 2f 31 36 35 37 29 3a 20 41 64 64 20 70 72 6f 6a    65 63 74 20 64 65 74 65 63 74 69 6f 6e 20 66 6f | /1657):.Add.project.detection.fo | 
| 2de0 | 72 20 44 65 62 69 61 6e 20 70 61 63 6b 61 67 69    6e 67 20 64 69 72 65 63 74 6f 72 69 65 73 2e 0a | r.Debian.packaging.directories.. | 
| 2e00 | 2a 20 5b 23 31 36 35 36 5d 28 68 74 74 70 73 3a    2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 62 62 61 | *.[#1656](https://github.com/bba | 
| 2e20 | 74 73 6f 76 2f 70 72 6f 6a 65 63 74 69 6c 65 2f    70 75 6c 6c 2f 31 36 35 36 29 3a 20 43 4d 61 6b | tsov/projectile/pull/1656):.CMak | 
| 2e40 | 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 2d 64 69    72 20 72 65 6d 6f 76 65 64 20 74 6f 20 61 63 63 | e.compilation-dir.removed.to.acc | 
| 2e60 | 6f 6d 6d 6f 64 61 74 65 20 70 72 65 73 65 74 20    73 75 70 70 6f 72 74 2c 20 63 6f 6d 6d 61 6e 64 | ommodate.preset.support,.command | 
| 2e80 | 73 20 61 64 6a 75 73 74 65 64 20 74 6f 20 72 75    6e 20 66 72 6f 6d 20 70 72 6f 6a 65 63 74 2d 72 | s.adjusted.to.run.from.project-r | 
| 2ea0 | 6f 6f 74 2c 20 77 69 74 68 20 22 62 75 69 6c 64    22 20 73 74 69 6c 6c 20 62 65 69 6e 67 20 74 68 | oot,.with."build".still.being.th | 
| 2ec0 | 65 20 64 65 66 61 75 6c 74 20 62 75 69 6c 64 2d    64 69 72 65 63 74 6f 72 79 2e 20 54 68 65 20 6e | e.default.build-directory..The.n | 
| 2ee0 | 6f 6e 2d 70 72 65 73 65 74 20 74 65 73 74 2d 63    6f 6d 6d 61 6e 64 20 6e 6f 77 20 75 73 65 73 20 | on-preset.test-command.now.uses. | 
| 2f00 | 22 63 6d 61 6b 65 22 20 77 69 74 68 20 22 2d 2d    74 61 72 67 65 74 20 74 65 73 74 22 20 69 6e 73 | "cmake".with."--target.test".ins | 
| 2f20 | 74 65 61 64 20 6f 66 20 22 63 74 65 73 74 22 2e    0a 0a 23 23 23 20 42 75 67 73 20 66 69 78 65 64 | tead.of."ctest"...###.Bugs.fixed | 
| 2f40 | 0a 0a 2a 20 5b 23 31 36 33 39 5d 28 68 74 74 70    73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 62 | ..*.[#1639](https://github.com/b | 
| 2f60 | 62 61 74 73 6f 76 2f 70 72 6f 6a 65 63 74 69 6c    65 2f 70 75 6c 6c 2f 31 36 33 39 29 3a 20 44 6f | batsov/projectile/pull/1639):.Do | 
| 2f80 | 20 6e 6f 74 20 61 73 6b 20 74 77 69 63 65 20 66    6f 72 20 70 72 6f 6a 65 63 74 20 72 75 6e 6e 69 | .not.ask.twice.for.project.runni | 
| 2fa0 | 6e 67 20 69 65 6c 6d 2c 20 74 65 72 6d 20 61 6e    64 20 76 74 65 72 6d 2e 0a 2a 20 5b 23 31 32 35 | ng.ielm,.term.and.vterm..*.[#125 | 
| 2fc0 | 30 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75    62 2e 63 6f 6d 2f 62 62 61 74 73 6f 76 2f 70 72 | 0](https://github.com/bbatsov/pr | 
| 2fe0 | 6f 6a 65 63 74 69 6c 65 2f 69 73 73 75 65 73 2f    31 32 35 30 29 3a 20 46 69 78 20 60 70 72 6f 6a | ojectile/issues/1250):.Fix.`proj | 
| 3000 | 65 63 74 69 6c 65 2d 67 6c 6f 62 61 6c 6c 79 2d    69 67 6e 6f 72 65 64 2d 64 69 72 65 63 74 6f 72 | ectile-globally-ignored-director | 
| 3020 | 69 65 73 60 20 6e 6f 74 20 77 6f 72 6b 69 6e 67    20 77 69 74 68 20 6e 61 74 69 76 65 20 69 6e 64 | ies`.not.working.with.native.ind | 
| 3040 | 65 78 69 6e 67 2e 0a 2a 20 5b 23 31 34 33 38 5d    28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e | exing..*.[#1438](https://github. | 
| 3060 | 63 6f 6d 2f 62 62 61 74 73 6f 76 2f 70 72 6f 6a    65 63 74 69 6c 65 2f 70 75 6c 6c 2f 31 34 33 38 | com/bbatsov/projectile/pull/1438 | 
| 3080 | 29 3a 20 4d 61 6b 65 20 73 75 72 65 20 60 70 72    6f 6a 65 63 74 69 6c 65 2d 66 69 6c 65 73 2d 76 | ):.Make.sure.`projectile-files-v | 
| 30a0 | 69 61 2d 65 78 74 2d 63 6f 6d 6d 61 6e 64 60 20    72 65 74 75 72 6e 73 20 66 69 6c 65 73 2c 20 6e | ia-ext-command`.returns.files,.n | 
| 30c0 | 6f 74 20 65 72 72 6f 72 73 2e 0a 2a 20 5b 23 31    34 35 30 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 | ot.errors..*.[#1450](https://git | 
| 30e0 | 68 75 62 2e 63 6f 6d 2f 62 62 61 74 73 6f 76 2f    70 72 6f 6a 65 63 74 69 6c 65 2f 70 75 6c 6c 2f | hub.com/bbatsov/projectile/pull/ | 
| 3100 | 31 34 35 30 29 3a 20 43 61 6c 6c 20 60 73 77 69    74 63 68 2d 70 72 6f 6a 65 63 74 2d 61 63 74 69 | 1450):.Call.`switch-project-acti | 
| 3120 | 6f 6e 60 20 77 69 74 68 69 6e 20 70 72 6f 6a 65    63 74 27 73 20 74 65 6d 70 20 62 75 66 66 65 72 | on`.within.project's.temp.buffer | 
| 3140 | 2e 0a 2a 20 5b 23 31 33 34 30 5d 28 68 74 74 70    73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 62 | ..*.[#1340](https://github.com/b | 
| 3160 | 62 61 74 73 6f 76 2f 70 72 6f 6a 65 63 74 69 6c    65 2f 70 75 6c 6c 2f 31 33 34 30 29 3a 20 46 69 | batsov/projectile/pull/1340):.Fi | 
| 3180 | 78 20 72 65 6d 6f 74 65 20 70 72 6f 6a 65 63 74    73 20 62 65 69 6e 67 20 72 65 6d 6f 76 65 64 20 | x.remote.projects.being.removed. | 
| 31a0 | 69 66 20 54 52 41 4d 50 20 63 61 6e 27 74 20 63    6f 6e 6e 65 63 74 2e 0a 2a 20 5b 23 31 36 35 35 | if.TRAMP.can't.connect..*.[#1655 | 
| 31c0 | 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62    2e 63 6f 6d 2f 62 62 61 74 73 6f 76 2f 70 72 6f | ](https://github.com/bbatsov/pro | 
| 31e0 | 6a 65 63 74 69 6c 65 2f 70 75 6c 6c 2f 31 36 35    35 29 3a 20 46 69 78 20 60 70 72 6f 6a 65 63 74 | jectile/pull/1655):.Fix.`project | 
| 3200 | 69 6c 65 2d 72 65 70 6c 61 63 65 2d 72 65 67 65    78 70 60 20 73 65 61 72 63 68 69 6e 67 20 74 68 | ile-replace-regexp`.searching.th | 
| 3220 | 65 20 77 72 6f 6e 67 20 66 69 6c 65 73 20 77 68    65 6e 20 63 61 6c 6c 65 64 20 77 69 74 68 20 70 | e.wrong.files.when.called.with.p | 
| 3240 | 72 65 66 69 78 20 61 72 67 2e 0a 2a 20 5b 23 31    36 35 39 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 | refix.arg..*.[#1659](https://git | 
| 3260 | 68 75 62 2e 63 6f 6d 2f 62 62 61 74 73 6f 76 2f    70 72 6f 6a 65 63 74 69 6c 65 2f 69 73 73 75 65 | hub.com/bbatsov/projectile/issue | 
| 3280 | 73 2f 31 36 35 39 29 3a 20 46 69 78 20 60 70 72    6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 | s/1659):.Fix.`projectile-project | 
| 32a0 | 2d 76 63 73 60 20 74 6f 20 77 6f 72 6b 20 6f 75    74 73 69 64 65 20 61 20 70 72 6f 6a 65 63 74 2e | -vcs`.to.work.outside.a.project. | 
| 32c0 | 0a 2a 20 5b 23 31 36 33 37 5d 28 68 74 74 70 73    3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 62 62 | .*.[#1637](https://github.com/bb | 
| 32e0 | 61 74 73 6f 76 2f 70 72 6f 6a 65 63 74 69 6c 65    2f 70 75 6c 6c 2f 31 36 36 31 29 3a 20 49 6e 74 | atsov/projectile/pull/1661):.Int | 
| 3300 | 65 67 72 61 74 65 20 77 69 74 68 20 73 61 76 65    68 69 73 74 2d 6d 6f 64 65 2e 0a 0a 23 23 20 32 | egrate.with.savehist-mode...##.2 | 
| 3320 | 2e 33 2e 30 20 28 32 30 32 30 2d 31 31 2d 32 37    29 0a 0a 23 23 23 20 4e 65 77 20 66 65 61 74 75 | .3.0.(2020-11-27)..###.New.featu | 
| 3340 | 72 65 73 0a 0a 2a 20 5b 23 31 35 31 37 5d 28 68    74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f | res..*.[#1517](https://github.co | 
| 3360 | 6d 2f 62 62 61 74 73 6f 76 2f 70 72 6f 6a 65 63    74 69 6c 65 2f 69 73 73 75 65 73 2f 31 35 31 37 | m/bbatsov/projectile/issues/1517 | 
| 3380 | 29 3a 20 41 64 64 20 70 72 6f 6a 65 63 74 2d 73    70 65 63 69 66 69 63 20 63 6f 6d 70 69 6c 61 74 | ):.Add.project-specific.compilat | 
| 33a0 | 69 6f 6e 20 62 75 66 66 65 72 73 20 61 6e 64 20    6f 6e 6c 79 20 61 73 6b 20 74 6f 20 73 61 76 65 | ion.buffers.and.only.ask.to.save | 
| 33c0 | 20 66 69 6c 65 73 20 69 6e 20 74 68 65 20 70 72    6f 6a 65 63 74 20 77 68 65 6e 20 63 6f 6d 70 69 | .files.in.the.project.when.compi | 
| 33e0 | 6c 69 6e 67 2e 0a 2a 20 4e 65 77 20 66 75 6e 63    74 69 6f 6e 73 20 60 70 72 6f 6a 65 63 74 69 6c | ling..*.New.functions.`projectil | 
| 3400 | 65 2d 61 63 71 75 69 72 65 2d 72 6f 6f 74 60 20    61 6e 64 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d | e-acquire-root`.and.`projectile- | 
| 3420 | 70 72 6f 63 65 73 73 2d 63 75 72 72 65 6e 74 2d    70 72 6f 6a 65 63 74 2d 62 75 66 66 65 72 73 2d | process-current-project-buffers- | 
| 3440 | 63 75 72 72 65 6e 74 60 0a 2a 20 4e 65 77 20 70    72 6f 6a 65 63 74 20 63 6f 6d 6d 61 6e 64 73 20 | current`.*.New.project.commands. | 
| 3460 | 60 70 72 6f 6a 65 63 74 69 6c 65 2d 70 61 63 6b    61 67 65 2d 70 72 6f 6a 65 63 74 60 2c 20 60 70 | `projectile-package-project`,.`p | 
| 3480 | 72 6f 6a 65 63 74 69 6c 65 2d 69 6e 73 74 61 6c    6c 2d 70 72 6f 6a 65 63 74 60 2e 0a 2a 20 5b 23 | rojectile-install-project`..*.[# | 
| 34a0 | 31 35 33 39 5d 28 68 74 74 70 73 3a 2f 2f 67 69    74 68 75 62 2e 63 6f 6d 2f 62 62 61 74 73 6f 76 | 1539](https://github.com/bbatsov | 
| 34c0 | 2f 70 72 6f 6a 65 63 74 69 6c 65 2f 70 75 6c 6c    2f 31 35 33 39 29 3a 20 4e 65 77 20 64 65 66 63 | /projectile/pull/1539):.New.defc | 
| 34e0 | 75 73 74 6f 6d 20 60 70 72 6f 6a 65 63 74 69 6c    65 2d 61 75 74 6f 2d 64 69 73 63 6f 76 65 72 60 | ustom.`projectile-auto-discover` | 
| 3500 | 20 63 6f 6e 74 72 6f 6c 6c 69 6e 67 20 77 68 65    74 68 65 72 20 74 6f 20 61 75 74 6f 6d 61 74 69 | .controlling.whether.to.automati | 
| 3520 | 63 61 6c 6c 79 20 64 69 73 63 6f 76 65 72 20 70    72 6f 6a 65 63 74 73 20 69 6e 20 74 68 65 20 73 | cally.discover.projects.in.the.s | 
| 3540 | 65 61 72 63 68 20 70 61 74 68 20 77 68 65 6e 20    60 70 72 6f 6a 65 63 74 69 6c 65 2d 6d 6f 64 65 | earch.path.when.`projectile-mode | 
| 3560 | 60 20 61 63 74 69 76 61 74 65 73 2e 0a 2a 20 41    64 64 20 5b 65 6d 61 63 73 2d 65 6c 64 65 76 5d | `.activates..*.Add.[emacs-eldev] | 
| 3580 | 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e    63 6f 6d 2f 64 6f 75 62 6c 65 70 2f 65 6c 64 65 | (https://github.com/doublep/elde | 
| 35a0 | 76 29 20 70 72 6f 6a 65 63 74 20 74 79 70 65 2e    0a 2a 20 41 64 64 20 44 61 72 74 20 70 72 6f 6a | v).project.type..*.Add.Dart.proj | 
| 35c0 | 65 63 74 20 74 79 70 65 2e 0a 2a 20 5b 23 31 35    35 35 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 | ect.type..*.[#1555](https://gith | 
| 35e0 | 75 62 2e 63 6f 6d 2f 62 62 61 74 73 6f 76 2f 70    72 6f 6a 65 63 74 69 6c 65 2f 70 75 6c 6c 2f 31 | ub.com/bbatsov/projectile/pull/1 | 
| 3600 | 35 35 35 29 3a 20 41 64 64 20 73 65 61 72 63 68    20 77 69 74 68 20 72 69 70 67 72 65 70 2e 0a 2a | 555):.Add.search.with.ripgrep..* | 
| 3620 | 20 41 64 64 20 50 79 74 68 6f 6e 2d 70 6f 65 74    72 79 20 70 72 6f 6a 65 63 74 20 74 79 70 65 2e | .Add.Python-poetry.project.type. | 
| 3640 | 0a 2a 20 5b 23 31 35 37 36 5d 28 68 74 74 70 73    3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 62 62 | .*.[#1576](https://github.com/bb | 
| 3660 | 61 74 73 6f 76 2f 70 72 6f 6a 65 63 74 69 6c 65    2f 70 75 6c 6c 2f 31 35 37 36 29 3a 20 41 64 64 | atsov/projectile/pull/1576):.Add | 
| 3680 | 20 4f 43 61 6d 6c 20 5b 44 75 6e 65 5d 28 68 74    74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d | .OCaml.[Dune](https://github.com | 
| 36a0 | 2f 6f 63 61 6d 6c 2f 64 75 6e 65 29 20 70 72 6f    6a 65 63 74 20 74 79 70 65 2e 0a 2a 20 41 64 64 | /ocaml/dune).project.type..*.Add | 
| 36c0 | 20 5b 4d 69 6c 6c 5d 28 68 74 74 70 3a 2f 2f 77    77 77 2e 6c 69 68 61 6f 79 69 2e 63 6f 6d 2f 6d | .[Mill](http://www.lihaoyi.com/m | 
| 36e0 | 69 6c 6c 2f 29 20 70 72 6f 6a 65 63 74 20 74 79    70 65 2e 0a 2a 20 41 75 74 6f 2d 64 65 74 65 63 | ill/).project.type..*.Auto-detec | 
| 3700 | 74 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 73 79 73    74 65 6d 2c 20 73 75 70 70 6f 72 74 69 6e 67 20 | t.completion.system,.supporting. | 
| 3720 | 60 69 64 6f 60 2c 20 60 69 76 79 60 2c 20 60 68    65 6c 6d 60 20 61 6e 64 20 74 68 65 20 64 65 66 | `ido`,.`ivy`,.`helm`.and.the.def | 
| 3740 | 61 75 6c 74 20 63 6f 6d 70 6c 65 74 69 6f 6e 20    73 79 73 74 65 6d 2e 0a 0a 23 23 23 20 43 68 61 | ault.completion.system...###.Cha | 
| 3760 | 6e 67 65 73 0a 0a 2a 20 5b 23 31 35 34 30 5d 28    68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 | nges..*.[#1540](https://github.c | 
| 3780 | 6f 6d 2f 62 62 61 74 73 6f 76 2f 70 72 6f 6a 65    63 74 69 6c 65 2f 70 75 6c 6c 2f 31 35 34 30 29 | om/bbatsov/projectile/pull/1540) | 
| 37a0 | 3a 20 41 64 64 20 64 65 66 61 75 6c 74 20 60 74    65 73 74 2d 73 75 66 66 69 78 60 20 74 6f 20 41 | :.Add.default.`test-suffix`.to.A | 
| 37c0 | 6e 67 75 6c 61 72 20 70 72 6f 6a 65 63 74 73 2e    0a 2a 20 41 64 64 20 61 20 60 3a 70 72 6f 6a 65 | ngular.projects..*.Add.a.`:proje | 
| 37e0 | 63 74 2d 66 69 6c 65 60 20 70 61 72 61 6d 20 74    6f 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 72 65 | ct-file`.param.to.`projectile-re | 
| 3800 | 67 69 73 74 65 72 2d 70 72 6f 6a 65 63 74 2d 74    79 70 65 60 2e 0a 2a 20 5b 23 31 35 38 38 5d 28 | gister-project-type`..*.[#1588]( | 
| 3820 | 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63    6f 6d 2f 62 62 61 74 73 6f 76 2f 70 72 6f 6a 65 | https://github.com/bbatsov/proje | 
| 3840 | 63 74 69 6c 65 2f 70 75 6c 6c 2f 31 35 38 38 29    3a 20 49 6d 70 72 6f 76 65 20 70 65 72 66 6f 72 | ctile/pull/1588):.Improve.perfor | 
| 3860 | 6d 61 6e 63 65 20 6f 66 20 60 70 72 6f 6a 65 63    74 69 6c 65 2d 69 62 75 66 66 65 72 60 20 77 69 | mance.of.`projectile-ibuffer`.wi | 
| 3880 | 74 68 20 6d 61 6e 79 20 62 75 66 66 65 72 73 20    6e 6f 74 20 69 6e 20 70 72 6f 6a 65 63 74 2e 0a | th.many.buffers.not.in.project.. | 
| 38a0 | 2a 20 5b 23 31 36 30 31 5d 28 68 74 74 70 73 3a    2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 62 62 61 | *.[#1601](https://github.com/bba | 
| 38c0 | 74 73 6f 76 2f 70 72 6f 6a 65 63 74 69 6c 65 2f    70 75 6c 6c 2f 31 36 30 31 29 3a 20 49 6d 70 6c | tsov/projectile/pull/1601):.Impl | 
| 38e0 | 65 6d 65 6e 74 20 73 65 70 61 72 61 74 65 20 63    6f 6d 70 69 6c 61 74 69 6f 6e 20 63 6f 6d 6d 61 | ement.separate.compilation.comma | 
| 3900 | 6e 64 20 68 69 73 74 6f 72 79 20 66 6f 72 20 65    61 63 68 20 70 72 6f 6a 65 63 74 2e 0a 0a 23 23 | nd.history.for.each.project...## | 
| 3920 | 23 20 42 75 67 73 20 66 69 78 65 64 0a 0a 2a 20    5b 23 31 33 37 37 5d 28 68 74 74 70 73 3a 2f 2f | #.Bugs.fixed..*.[#1377](https:// | 
| 3940 | 67 69 74 68 75 62 2e 63 6f 6d 2f 62 62 61 74 73    6f 76 2f 70 72 6f 6a 65 63 74 69 6c 65 2f 69 73 | github.com/bbatsov/projectile/is | 
| 3960 | 73 75 65 73 2f 31 33 37 37 29 3a 20 46 69 78 20    60 70 72 6f 6a 65 63 74 69 6c 65 2d 72 65 67 65 | sues/1377):.Fix.`projectile-rege | 
| 3980 | 6e 65 72 61 74 65 2d 74 61 67 73 60 20 64 69 72    65 63 74 6f 72 79 2e 0a 0a 23 23 20 32 2e 32 2e | nerate-tags`.directory...##.2.2. | 
| 39a0 | 30 20 28 32 30 32 30 2d 30 36 2d 31 30 29 0a 0a    23 23 23 20 4e 65 77 20 66 65 61 74 75 72 65 73 | 0.(2020-06-10)..###.New.features | 
| 39c0 | 0a 0a 2a 20 5b 23 31 35 32 33 5d 28 68 74 74 70    73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 62 | ..*.[#1523](https://github.com/b | 
| 39e0 | 62 61 74 73 6f 76 2f 70 72 6f 6a 65 63 74 69 6c    65 2f 69 73 73 75 65 73 2f 31 35 32 33 29 3a 20 | batsov/projectile/issues/1523):. | 
| 3a00 | 41 64 64 20 61 20 6e 65 77 20 64 65 66 63 75 73    74 6f 6d 20 28 60 70 72 6f 6a 65 63 74 69 6c 65 | Add.a.new.defcustom.(`projectile | 
| 3a20 | 2d 6d 61 78 2d 66 69 6c 65 2d 62 75 66 66 65 72    2d 63 6f 75 6e 74 60 29 20 63 6f 6e 74 72 6f 6c | -max-file-buffer-count`).control | 
| 3a40 | 6c 69 6e 67 20 68 6f 77 20 6d 61 6e 79 20 6f 70    65 6e 65 64 20 66 69 6c 65 20 62 75 66 66 65 72 | ling.how.many.opened.file.buffer | 
| 3a60 | 73 20 73 68 6f 75 6c 64 20 50 72 6f 6a 65 63 74    69 6c 65 20 6d 61 69 6e 74 61 69 6e 20 70 65 72 | s.should.Projectile.maintain.per | 
| 3a80 | 20 70 72 6f 6a 65 63 74 2e 0a 2a 20 4f 70 74 69    6f 6e 61 6c 20 73 75 70 70 6f 72 74 20 66 6f 72 | .project..*.Optional.support.for | 
| 3aa0 | 20 63 6f 6d 6d 65 6e 74 73 20 69 6e 20 2e 70 72    6f 6a 65 63 74 69 6c 65 20 64 69 72 63 6f 6e 66 | .comments.in..projectile.dirconf | 
| 3ac0 | 69 67 20 66 69 6c 65 73 20 75 73 69 6e 67 20 60    70 72 6f 6a 65 63 74 69 6c 65 2d 64 69 72 63 6f | ig.files.using.`projectile-dirco | 
| 3ae0 | 6e 66 69 67 2d 63 6f 6d 6d 65 6e 74 2d 70 72 65    66 69 78 60 2e 0a 2a 20 5b 23 31 34 39 37 5d 28 | nfig-comment-prefix`..*.[#1497]( | 
| 3b00 | 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63    6f 6d 2f 62 62 61 74 73 6f 76 2f 70 72 6f 6a 65 | https://github.com/bbatsov/proje | 
| 3b20 | 63 74 69 6c 65 2f 70 75 6c 6c 2f 31 34 39 37 29    3a 20 4e 65 77 20 63 6f 6d 6d 61 6e 64 20 60 70 | ctile/pull/1497):.New.command.`p | 
| 3b40 | 72 6f 6a 65 63 74 69 6c 65 2d 72 75 6e 2d 67 64    62 60 20 28 3c 6b 62 64 3e 78 20 67 3c 2f 6b 62 | rojectile-run-gdb`.(<kbd>x.g</kb | 
| 3b60 | 64 3e 20 69 6e 20 60 70 72 6f 6a 65 63 74 69 6c    65 2d 63 6f 6d 6d 61 6e 64 2d 6d 61 70 60 29 2e | d>.in.`projectile-command-map`). | 
| 3b80 | 0a 2a 20 41 64 64 20 5b 42 61 7a 65 6c 5d 28 68    74 74 70 73 3a 2f 2f 62 61 7a 65 6c 2e 62 75 69 | .*.Add.[Bazel](https://bazel.bui | 
| 3ba0 | 6c 64 29 20 70 72 6f 6a 65 63 74 20 74 79 70 65    2e 0a 0a 23 23 23 20 42 75 67 73 20 66 69 78 65 | ld).project.type...###.Bugs.fixe | 
| 3bc0 | 64 0a 0a 2a 20 5b 23 31 35 30 33 5d 28 68 74 74    70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f | d..*.[#1503](https://github.com/ | 
| 3be0 | 62 62 61 74 73 6f 76 2f 70 72 6f 6a 65 63 74 69    6c 65 2f 70 75 6c 6c 2f 31 35 30 33 29 3a 20 4c | bbatsov/projectile/pull/1503):.L | 
| 3c00 | 65 61 76 65 20 61 72 63 68 69 76 65 20 62 65 66    6f 72 65 20 73 65 61 72 63 68 69 6e 67 20 66 6f | eave.archive.before.searching.fo | 
| 3c20 | 72 20 74 68 65 20 70 72 6f 6a 65 63 74 20 72 6f    6f 74 2e 0a 0a 23 23 23 20 43 68 61 6e 67 65 73 | r.the.project.root...###.Changes | 
| 3c40 | 0a 0a 2a 20 5b 23 31 35 32 38 5d 28 68 74 74 70    73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 62 | ..*.[#1528](https://github.com/b | 
| 3c60 | 62 61 74 73 6f 76 2f 70 72 6f 6a 65 63 74 69 6c    65 2f 70 75 6c 6c 2f 31 35 32 38 29 3a 20 49 6d | batsov/projectile/pull/1528):.Im | 
| 3c80 | 70 72 6f 76 65 20 6d 61 73 73 69 76 65 6c 79 20    74 68 65 20 70 65 72 66 6f 72 6d 61 6e 63 65 20 | prove.massively.the.performance. | 
| 3ca0 | 6f 66 20 6e 61 74 69 76 65 20 69 6e 64 65 78 69    6e 67 20 28 69 74 27 73 20 61 72 6f 75 6e 64 20 | of.native.indexing.(it's.around. | 
| 3cc0 | 31 30 78 20 66 61 73 74 65 72 20 6e 6f 77 29 2e    0a 0a 23 23 20 32 2e 31 2e 30 20 28 32 30 32 30 | 10x.faster.now)...##.2.1.0.(2020 | 
| 3ce0 | 2d 30 32 2d 30 34 29 0a 0a 23 23 23 20 4e 65 77    20 66 65 61 74 75 72 65 73 0a 0a 2a 20 5b 23 31 | -02-04)..###.New.features..*.[#1 | 
| 3d00 | 34 38 36 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74    68 75 62 2e 63 6f 6d 2f 62 62 61 74 73 6f 76 2f | 486](https://github.com/bbatsov/ | 
| 3d20 | 70 72 6f 6a 65 63 74 69 6c 65 2f 70 75 6c 6c 2f    31 34 38 36 29 20 41 6c 6c 6f 77 20 60 70 72 6f | projectile/pull/1486).Allow.`pro | 
| 3d40 | 6a 65 63 74 69 6c 65 2d 72 75 6e 2d 73 68 65 6c    6c 2f 65 73 68 65 6c 6c 2f 74 65 72 6d 2f 76 74 | jectile-run-shell/eshell/term/vt | 
| 3d60 | 65 72 6d 2f 69 65 6c 6d 60 20 74 6f 20 73 74 61    72 74 20 65 78 74 72 61 20 70 72 6f 63 65 73 73 | erm/ielm`.to.start.extra.process | 
| 3d80 | 65 73 20 69 66 20 69 6e 76 6f 6b 65 64 20 77 69    74 68 20 74 68 65 20 70 72 65 66 69 78 20 61 72 | es.if.invoked.with.the.prefix.ar | 
| 3da0 | 67 75 6d 65 6e 74 2e 0a 2a 20 4e 65 77 20 63 6f    6d 6d 61 6e 64 20 60 70 72 6f 6a 65 63 74 69 6c | gument..*.New.command.`projectil | 
| 3dc0 | 65 2d 72 75 6e 2d 76 74 65 72 6d 60 20 28 3c 6b    62 64 3e 78 20 76 3c 2f 6b 62 64 3e 20 69 6e 20 | e-run-vterm`.(<kbd>x.v</kbd>.in. | 
| 3de0 | 60 70 72 6f 6a 65 63 74 69 6c 65 2d 63 6f 6d 6d    61 6e 64 2d 6d 61 70 60 29 2e 0a 2a 20 41 64 64 | `projectile-command-map`)..*.Add | 
| 3e00 | 20 60 72 65 6c 61 74 65 64 2d 66 69 6c 65 73 2d    66 6e 60 20 6f 70 74 69 6f 6e 20 74 6f 20 75 73 | .`related-files-fn`.option.to.us | 
| 3e20 | 65 20 63 75 73 74 6f 6d 20 66 75 6e 63 74 69 6f    6e 20 74 6f 20 66 69 6e 64 20 74 65 73 74 2f 69 | e.custom.function.to.find.test/i | 
| 3e40 | 6d 70 6c 2f 6f 74 68 65 72 20 66 69 6c 65 73 2e    0a 2a 20 5b 23 31 30 31 39 5d 28 68 74 74 70 73 | mpl/other.files..*.[#1019](https | 
| 3e60 | 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 62 62    61 74 73 6f 76 2f 70 72 6f 6a 65 63 74 69 6c 65 | ://github.com/bbatsov/projectile | 
| 3e80 | 2f 69 73 73 75 65 73 2f 31 30 31 39 29 3a 20 4a    75 6d 70 20 74 6f 20 61 20 74 65 73 74 20 6e 61 | /issues/1019):.Jump.to.a.test.na | 
| 3ea0 | 6d 65 64 20 74 68 65 20 73 61 6d 65 20 77 61 79    20 62 75 74 20 69 6e 20 61 20 64 69 66 66 65 72 | med.the.same.way.but.in.a.differ | 
| 3ec0 | 65 6e 74 20 64 69 72 65 63 74 6f 72 79 2e 0a 2a    20 5b 23 39 38 32 5d 28 68 74 74 70 73 3a 2f 2f | ent.directory..*.[#982](https:// | 
| 3ee0 | 67 69 74 68 75 62 2e 63 6f 6d 2f 62 62 61 74 73    6f 76 2f 70 72 6f 6a 65 63 74 69 6c 65 2f 69 73 | github.com/bbatsov/projectile/is | 
| 3f00 | 73 75 65 73 2f 39 38 32 29 3a 20 41 64 64 20 68    65 75 72 69 73 74 69 63 20 66 6f 72 20 70 72 6f | sues/982):.Add.heuristic.for.pro | 
| 3f20 | 6a 65 63 74 69 6c 65 2d 66 69 6e 64 2d 6d 61 74    63 68 69 6e 67 2d 74 65 73 74 2e 0a 2a 20 53 75 | jectile-find-matching-test..*.Su | 
| 3f40 | 70 70 6f 72 74 20 61 20 6c 69 73 74 20 6f 66 20    66 75 6e 63 74 69 6f 6e 73 20 66 6f 72 20 60 72 | pport.a.list.of.functions.for.`r | 
| 3f60 | 65 6c 61 74 65 64 2d 66 69 6c 65 73 2d 66 6e 60    20 6f 70 74 69 6f 6e 73 20 61 6e 64 20 68 65 6c | elated-files-fn`.options.and.hel | 
| 3f80 | 70 65 72 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 2a    20 5b 23 31 34 30 35 5d 28 68 74 74 70 73 3a 2f | per.functions..*.[#1405](https:/ | 
| 3fa0 | 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 62 62 61 74    73 6f 76 2f 70 72 6f 6a 65 63 74 69 6c 65 2f 70 | /github.com/bbatsov/projectile/p | 
| 3fc0 | 75 6c 6c 2f 31 34 30 35 29 3a 20 41 64 64 20 42    6c 6f 6f 70 20 53 63 61 6c 61 20 62 75 69 6c 64 | ull/1405):.Add.Bloop.Scala.build | 
| 3fe0 | 20 73 65 72 76 65 72 20 70 72 6f 6a 65 63 74 20    64 65 74 65 63 74 69 6f 6e 2e 0a 2a 20 5b 23 31 | .server.project.detection..*.[#1 | 
| 4000 | 34 31 38 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74    68 75 62 2e 63 6f 6d 2f 62 62 61 74 73 6f 76 2f | 418](https://github.com/bbatsov/ | 
| 4020 | 70 72 6f 6a 65 63 74 69 6c 65 2f 70 75 6c 6c 2f    31 34 31 38 29 3a 20 54 68 65 20 70 72 65 73 65 | projectile/pull/1418):.The.prese | 
| 4040 | 6e 63 65 20 6f 66 20 61 20 60 67 6f 2e 6d 6f 64    60 20 66 69 6c 65 20 69 6d 70 6c 69 65 73 20 61 | nce.of.a.`go.mod`.file.implies.a | 
| 4060 | 20 67 6f 20 70 72 6f 6a 65 63 74 2e 0a 2a 20 5b    23 31 34 31 39 5d 28 68 74 74 70 73 3a 2f 2f 67 | .go.project..*.[#1419](https://g | 
| 4080 | 69 74 68 75 62 2e 63 6f 6d 2f 62 62 61 74 73 6f    76 2f 70 72 6f 6a 65 63 74 69 6c 65 2f 70 75 6c | ithub.com/bbatsov/projectile/pul | 
| 40a0 | 6c 2f 31 34 31 39 29 3a 20 57 68 65 6e 20 70 6f    73 73 69 62 6c 65 2c 20 75 73 65 20 5b 66 64 5d | l/1419):.When.possible,.use.[fd] | 
| 40c0 | 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e    63 6f 6d 2f 73 68 61 72 6b 64 70 2f 66 64 29 20 | (https://github.com/sharkdp/fd). | 
| 40e0 | 69 6e 73 74 65 61 64 0a 6f 66 20 60 66 69 6e 64    60 20 74 6f 20 6c 69 73 74 20 74 68 65 20 66 69 | instead.of.`find`.to.list.the.fi | 
| 4100 | 6c 65 73 20 6f 66 20 61 20 6e 6f 6e 2d 56 43 53    20 70 72 6f 6a 65 63 74 2e 20 54 68 69 73 20 73 | les.of.a.non-VCS.project..This.s | 
| 4120 | 68 6f 75 6c 64 20 62 65 20 6d 75 63 68 20 66 61    73 74 65 72 2e 0a 0a 23 23 23 20 42 75 67 73 20 | hould.be.much.faster...###.Bugs. | 
| 4140 | 66 69 78 65 64 0a 0a 2a 20 5b 23 36 37 35 5d 28    68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 | fixed..*.[#675](https://github.c | 
| 4160 | 6f 6d 2f 62 62 61 74 73 6f 76 2f 70 72 6f 6a 65    63 74 69 6c 65 2f 69 73 73 75 65 73 2f 36 37 35 | om/bbatsov/projectile/issues/675 | 
| 4180 | 29 3a 20 50 65 72 66 6f 72 6d 61 6e 63 65 20 69    6d 70 72 6f 76 65 6d 65 6e 74 20 66 6f 72 20 6e | ):.Performance.improvement.for.n | 
| 41a0 | 61 74 69 76 65 20 70 72 6f 6a 65 63 74 20 69 6e    64 65 78 69 6e 67 20 73 74 72 61 74 65 67 79 2e | ative.project.indexing.strategy. | 
| 41c0 | 0a 2a 20 5b 23 39 37 5d 28 68 74 74 70 73 3a 2f    2f 67 69 74 68 75 62 2e 63 6f 6d 2f 62 62 61 74 | .*.[#97](https://github.com/bbat | 
| 41e0 | 73 6f 76 2f 70 72 6f 6a 65 63 74 69 6c 65 2f 69    73 73 75 65 73 2f 39 37 29 3a 20 52 65 73 70 65 | sov/projectile/issues/97):.Respe | 
| 4200 | 63 74 20 60 2e 70 72 6f 6a 65 63 74 69 6c 65 60    20 69 67 6e 6f 72 65 73 20 77 68 69 63 68 20 61 | ct.`.projectile`.ignores.which.a | 
| 4220 | 72 65 20 70 61 74 68 73 20 74 6f 20 66 69 6c 65    73 20 61 6e 64 20 70 61 74 74 65 72 6e 73 20 77 | re.paths.to.files.and.patterns.w | 
| 4240 | 68 65 6e 20 75 73 69 6e 67 20 60 70 72 6f 6a 65    63 74 69 6c 65 2d 67 72 65 70 60 2e 0a 2a 20 5b | hen.using.`projectile-grep`..*.[ | 
| 4260 | 23 31 33 39 31 5d 28 68 74 74 70 73 3a 2f 2f 67    69 74 68 75 62 2e 63 6f 6d 2f 62 62 61 74 73 6f | #1391](https://github.com/bbatso | 
| 4280 | 76 2f 70 72 6f 6a 65 63 74 69 6c 65 2f 69 73 73    75 65 73 2f 31 33 39 31 29 3a 20 41 20 60 2e 63 | v/projectile/issues/1391):.A.`.c | 
| 42a0 | 61 62 61 6c 60 20 73 75 62 2d 64 69 72 65 63 74    6f 72 79 20 69 73 20 6e 6f 20 6c 6f 6e 67 65 72 | abal`.sub-directory.is.no.longer | 
| 42c0 | 20 63 6f 6e 73 69 64 65 72 65 64 20 70 72 6f 6a    65 63 74 20 69 6e 64 69 63 61 74 6f 72 2e 0a 2a | .considered.project.indicator..* | 
| 42e0 | 20 5b 23 31 33 38 35 5d 28 68 74 74 70 73 3a 2f    2f 67 69 74 68 75 62 2e 63 6f 6d 2f 62 62 61 74 | .[#1385](https://github.com/bbat | 
| 4300 | 73 6f 76 2f 70 72 6f 6a 65 63 74 69 6c 65 2f 69    73 73 75 65 73 2f 31 33 38 35 29 3a 20 55 70 64 | sov/projectile/issues/1385):.Upd | 
| 4320 | 61 74 65 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d    72 65 70 6c 61 63 65 60 20 66 6f 72 20 45 6d 61 | ate.`projectile-replace`.for.Ema | 
| 4340 | 63 73 20 32 37 2e 0a 2a 20 5b 23 31 34 33 32 5d    28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e | cs.27..*.[#1432](https://github. | 
| 4360 | 63 6f 6d 2f 62 62 61 74 73 6f 76 2f 70 72 6f 6a    65 63 74 69 6c 65 2f 69 73 73 75 65 73 2f 31 34 | com/bbatsov/projectile/issues/14 | 
| 4380 | 33 32 29 3a 20 53 75 70 70 6f 72 74 20 2e 4e 45    54 20 70 72 6f 6a 65 63 74 2e 0a 2a 20 5b 23 31 | 32):.Support..NET.project..*.[#1 | 
| 43a0 | 32 37 30 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74    68 75 62 2e 63 6f 6d 2f 62 62 61 74 73 6f 76 2f | 270](https://github.com/bbatsov/ | 
| 43c0 | 70 72 6f 6a 65 63 74 69 6c 65 2f 69 73 73 75 65    73 2f 31 32 37 30 29 3a 20 46 69 78 20 72 75 6e | projectile/issues/1270):.Fix.run | 
| 43e0 | 6e 69 6e 67 20 63 6f 6d 6d 61 6e 64 73 20 74 68    61 74 20 64 6f 6e 27 74 20 68 61 76 65 20 61 20 | ning.commands.that.don't.have.a. | 
| 4400 | 64 65 66 61 75 6c 74 20 76 61 6c 75 65 2e 0a 2a    20 5b 23 31 34 37 35 5d 28 68 74 74 70 73 3a 2f | default.value..*.[#1475](https:/ | 
| 4420 | 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 62 62 61 74    73 6f 76 2f 70 72 6f 6a 65 63 74 69 6c 65 2f 69 | /github.com/bbatsov/projectile/i | 
| 4440 | 73 73 75 65 73 2f 31 34 37 35 29 3a 20 46 69 78    20 64 69 72 65 63 74 6f 72 69 65 73 20 62 65 69 | ssues/1475):.Fix.directories.bei | 
| 4460 | 6e 67 20 69 67 6e 6f 72 65 64 20 77 69 74 68 20    68 79 62 72 69 64 20 6d 6f 64 65 20 64 65 73 70 | ng.ignored.with.hybrid.mode.desp | 
| 4480 | 69 74 65 20 62 65 69 6e 67 20 65 78 70 6c 69 63    69 74 6c 79 20 75 6e 69 67 6e 6f 72 65 64 2e 0a | ite.being.explicitly.unignored.. | 
| 44a0 | 2a 20 5b 23 31 34 38 32 5d 28 68 74 74 70 73 3a    2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 62 62 61 | *.[#1482](https://github.com/bba | 
| 44c0 | 74 73 6f 76 2f 70 72 6f 6a 65 63 74 69 6c 65 2f    69 73 73 75 65 73 2f 31 34 38 32 29 3a 20 52 75 | tsov/projectile/issues/1482):.Ru | 
| 44e0 | 6e 20 61 20 73 65 70 61 72 61 74 65 20 67 72 65    70 20 62 75 66 66 65 72 20 70 65 72 20 70 72 6f | n.a.separate.grep.buffer.per.pro | 
| 4500 | 6a 65 63 74 20 72 6f 6f 74 2e 0a 2a 20 5b 23 31    34 38 38 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 | ject.root..*.[#1488](https://git | 
| 4520 | 68 75 62 2e 63 6f 6d 2f 62 62 61 74 73 6f 76 2f    70 72 6f 6a 65 63 74 69 6c 65 2f 69 73 73 75 65 | hub.com/bbatsov/projectile/issue | 
| 4540 | 73 2f 31 34 38 38 29 3a 20 46 69 78 20 60 70 72    6f 6a 65 63 74 69 6c 65 2d 66 69 6e 64 2d 66 69 | s/1488):.Fix.`projectile-find-fi | 
| 4560 | 6c 65 2d 69 6e 2d 64 69 72 65 63 74 6f 72 79 60    20 77 68 65 6e 20 69 6e 20 61 20 73 75 62 64 69 | le-in-directory`.when.in.a.subdi | 
| 4580 | 72 20 6f 66 20 60 70 72 6f 6a 65 63 74 69 6c 65    2d 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 60 2e 0a | r.of.`projectile-project-root`.. | 
| 45a0 | 0a 23 23 20 32 2e 30 2e 30 20 28 32 30 31 39 2d    30 31 2d 30 31 29 0a 0a 23 23 23 20 4e 65 77 20 | .##.2.0.0.(2019-01-01)..###.New. | 
| 45c0 | 66 65 61 74 75 72 65 73 0a 0a 2a 20 5b 23 39 37    32 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 | features..*.[#972](https://githu | 
| 45e0 | 62 2e 63 6f 6d 2f 62 62 61 74 73 6f 76 2f 70 72    6f 6a 65 63 74 69 6c 65 2f 69 73 73 75 65 73 2f | b.com/bbatsov/projectile/issues/ | 
| 4600 | 39 37 32 29 3a 20 41 64 64 20 74 6f 67 67 6c 65    20 66 6f 72 20 70 72 6f 6a 65 63 74 20 72 65 61 | 972):.Add.toggle.for.project.rea | 
| 4620 | 64 20 6f 6e 6c 79 20 6d 6f 64 65 3a 20 60 70 72    6f 6a 65 63 74 69 6c 65 2d 74 6f 67 67 6c 65 2d | d.only.mode:.`projectile-toggle- | 
| 4640 | 70 72 6f 6a 65 63 74 2d 72 65 61 64 2d 6f 6e 6c    79 60 2e 0a 2a 20 4e 65 77 20 69 6e 74 65 72 61 | project-read-only`..*.New.intera | 
| 4660 | 63 74 69 76 65 20 63 6f 6d 6d 61 6e 64 20 60 70    72 6f 6a 65 63 74 69 6c 65 2d 72 75 6e 2d 69 65 | ctive.command.`projectile-run-ie | 
| 4680 | 6c 6d 60 2e 0a 2a 20 41 64 64 20 5b 63 72 79 73    74 61 6c 5d 28 68 74 74 70 73 3a 2f 2f 63 72 79 | lm`..*.Add.[crystal](https://cry | 
| 46a0 | 73 74 61 6c 2d 6c 61 6e 67 2e 6f 72 67 29 20 70    72 6f 6a 65 63 74 20 74 79 70 65 2e 0a 2a 20 5b | stal-lang.org).project.type..*.[ | 
| 46c0 | 23 38 35 30 5d 28 68 74 74 70 73 3a 2f 2f 67 69    74 68 75 62 2e 63 6f 6d 2f 62 62 61 74 73 6f 76 | #850](https://github.com/bbatsov | 
| 46e0 | 2f 70 72 6f 6a 65 63 74 69 6c 65 2f 69 73 73 75    65 73 2f 38 35 30 29 3a 20 4d 61 6b 65 20 69 74 | /projectile/issues/850):.Make.it | 
| 4700 | 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 70 72 6f    6d 70 74 20 66 6f 72 20 61 20 70 72 6f 6a 65 63 | .possible.to.prompt.for.a.projec | 
| 4720 | 74 2c 20 77 68 65 6e 20 79 6f 75 27 72 65 20 6e    6f 74 20 69 6e 20 61 20 70 72 6f 6a 65 63 74 2c | t,.when.you're.not.in.a.project, | 
| 4740 | 20 69 6e 73 74 65 61 64 20 6f 66 20 72 61 69 73    69 6e 67 20 61 6e 20 65 72 72 6f 72 2e 20 28 73 | .instead.of.raising.an.error..(s | 
| 4760 | 65 65 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 72    65 71 75 69 72 65 2d 70 72 6f 6a 65 63 74 2d 72 | ee.`projectile-require-project-r | 
| 4780 | 6f 6f 74 60 29 2e 0a 2a 20 5b 23 31 31 34 37 5d    28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e | oot`)..*.[#1147](https://github. | 
| 47a0 | 63 6f 6d 2f 62 62 61 74 73 6f 76 2f 70 72 6f 6a    65 63 74 69 6c 65 2f 69 73 73 75 65 73 2f 31 31 | com/bbatsov/projectile/issues/11 | 
| 47c0 | 34 37 29 3a 20 49 6e 74 72 6f 64 75 63 65 20 61    20 6e 65 77 20 69 6e 64 65 78 69 6e 67 20 6d 65 | 47):.Introduce.a.new.indexing.me | 
| 47e0 | 74 68 6f 64 20 63 61 6c 6c 65 64 20 60 68 79 62    72 69 64 60 20 77 68 69 63 68 20 62 65 68 61 76 | thod.called.`hybrid`.which.behav | 
| 4800 | 65 73 20 6c 69 6b 65 20 74 68 65 20 6f 6c 64 20    60 61 6c 69 65 6e 60 2e 0a 2a 20 5b 23 38 39 36 | es.like.the.old.`alien`..*.[#896 | 
| 4820 | 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62    2e 63 6f 6d 2f 62 62 61 74 73 6f 76 2f 70 72 6f | ](https://github.com/bbatsov/pro | 
| 4840 | 6a 65 63 74 69 6c 65 2f 69 73 73 75 65 73 2f 38    39 36 29 20 41 64 64 20 63 6f 6d 6d 61 6e 64 73 | jectile/issues/896).Add.commands | 
| 4860 | 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 65    76 69 6f 75 73 2d 70 72 6f 6a 65 63 74 2d 62 75 | .`projectile-previous-project-bu | 
| 4880 | 66 66 65 72 20 60 20 61 6e 64 0a 60 70 72 6f 6a    65 63 74 69 6c 65 2d 6e 65 78 74 2d 70 72 6f 6a | ffer.`.and.`projectile-next-proj | 
| 48a0 | 65 63 74 2d 62 75 66 66 65 72 60 20 74 6f 20 73    77 69 74 63 68 20 74 6f 20 6f 74 68 65 72 20 62 | ect-buffer`.to.switch.to.other.b | 
| 48c0 | 75 66 66 65 72 20 69 6e 20 74 68 65 20 70 72 6f    6a 65 63 74 2e 0a 2a 20 5b 23 31 30 31 36 5d 28 | uffer.in.the.project..*.[#1016]( | 
| 48e0 | 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63    6f 6d 2f 62 62 61 74 73 6f 76 2f 70 72 6f 6a 65 | https://github.com/bbatsov/proje | 
| 4900 | 63 74 69 6c 65 2f 69 73 73 75 65 73 2f 31 30 31    36 29 3a 20 41 64 64 20 61 20 6e 65 77 20 64 65 | ctile/issues/1016):.Add.a.new.de | 
| 4920 | 66 63 75 73 74 6f 6d 20 28 60 70 72 6f 6a 65 63    74 69 6c 65 2d 63 75 72 72 65 6e 74 2d 70 72 6f | fcustom.(`projectile-current-pro | 
| 4940 | 6a 65 63 74 2d 6f 6e 2d 73 77 69 74 63 68 60 29    20 63 6f 6e 74 72 6f 6c 6c 69 6e 67 20 77 68 61 | ject-on-switch`).controlling.wha | 
| 4960 | 74 20 74 6f 20 64 6f 20 77 69 74 68 20 74 68 65    20 63 75 72 72 65 6e 74 20 70 72 6f 6a 65 63 74 | t.to.do.with.the.current.project | 
| 4980 | 20 6f 6e 20 73 77 69 74 63 68 2e 0a 2a 20 5b 23    31 32 33 33 5d 28 68 74 74 70 73 3a 2f 2f 67 69 | .on.switch..*.[#1233](https://gi | 
| 49a0 | 74 68 75 62 2e 63 6f 6d 2f 62 62 61 74 73 6f 76    2f 70 72 6f 6a 65 63 74 69 6c 65 2f 69 73 73 75 | thub.com/bbatsov/projectile/issu | 
| 49c0 | 65 73 2f 31 32 33 33 29 3a 20 41 64 64 20 61 20    6e 65 77 20 64 65 66 63 75 73 74 6f 6d 20 28 60 | es/1233):.Add.a.new.defcustom.(` | 
| 49e0 | 70 72 6f 6a 65 63 74 69 6c 65 2d 6b 69 6c 6c 2d    62 75 66 66 65 72 73 2d 66 69 6c 74 65 72 60 29 | projectile-kill-buffers-filter`) | 
| 4a00 | 20 63 6f 6e 74 72 6f 6c 6c 69 6e 67 20 77 68 69    63 68 20 62 75 66 66 65 72 73 20 61 72 65 20 6b | .controlling.which.buffers.are.k | 
| 4a20 | 69 6c 6c 65 64 20 62 79 20 60 70 72 6f 6a 65 63    74 69 6c 65 2d 6b 69 6c 6c 2d 62 75 66 66 65 72 | illed.by.`projectile-kill-buffer | 
| 4a40 | 73 60 2e 0a 2a 20 5b 23 31 32 37 39 5d 28 68 74    74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d | s`..*.[#1279](https://github.com | 
| 4a60 | 2f 62 62 61 74 73 6f 76 2f 70 72 6f 6a 65 63 74    69 6c 65 2f 69 73 73 75 65 73 2f 31 32 37 39 29 | /bbatsov/projectile/issues/1279) | 
| 4a80 | 3a 20 41 64 64 20 63 6f 6d 6d 61 6e 64 20 60 70    72 6f 6a 65 63 74 69 6c 65 2d 72 65 70 65 61 74 | :.Add.command.`projectile-repeat | 
| 4aa0 | 2d 6c 61 73 74 2d 63 6f 6d 6d 61 6e 64 60 20 74    6f 20 72 65 2d 65 78 65 63 75 74 65 20 74 68 65 | -last-command`.to.re-execute.the | 
| 4ac0 | 20 6c 61 73 74 20 65 78 74 65 72 6e 61 6c 20 63    6f 6d 6d 61 6e 64 20 69 6e 20 61 20 70 72 6f 6a | .last.external.command.in.a.proj | 
| 4ae0 | 65 63 74 2e 0a 0a 23 23 23 20 43 68 61 6e 67 65    73 0a 0a 2a 20 2a 2a 28 42 72 65 61 6b 69 6e 67 | ect...###.Changes..*.**(Breaking | 
| 4b00 | 29 2a 2a 20 5b 23 31 31 34 37 5d 28 68 74 74 70    73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 62 | )**.[#1147](https://github.com/b | 
| 4b20 | 62 61 74 73 6f 76 2f 70 72 6f 6a 65 63 74 69 6c    65 2f 69 73 73 75 65 73 2f 31 31 34 37 29 3a 20 | batsov/projectile/issues/1147):. | 
| 4b40 | 52 65 6d 6f 76 65 20 61 6e 79 20 70 6f 73 74 2d    70 72 6f 63 65 73 73 69 6e 67 20 66 72 6f 6d 20 | Remove.any.post-processing.from. | 
| 4b60 | 74 68 65 20 60 61 6c 69 65 6e 60 20 69 6e 64 65    78 69 6e 67 20 6d 65 74 68 6f 64 2e 0a 2a 20 53 | the.`alien`.indexing.method..*.S | 
| 4b80 | 70 65 63 69 66 79 20 70 72 6f 6a 65 63 74 20 70    61 74 68 20 66 6f 72 20 60 70 72 6f 6a 65 63 74 | pecify.project.path.for.`project | 
| 4ba0 | 69 6c 65 2d 72 65 67 65 6e 65 72 61 74 65 2d 74    61 67 73 60 2e 0a 2a 20 48 61 6e 64 6c 65 20 66 | ile-regenerate-tags`..*.Handle.f | 
| 4bc0 | 69 6c 65 73 20 77 69 74 68 20 73 70 65 63 69 61    6c 20 63 68 61 72 61 63 74 65 72 73 20 69 6e 20 | iles.with.special.characters.in. | 
| 4be0 | 60 70 72 6f 6a 65 63 74 69 6c 65 2d 67 65 74 2d    6f 74 68 65 72 2d 66 69 6c 65 73 60 2e 0a 2a 20 | `projectile-get-other-files`..*. | 
| 4c00 | 5b 23 31 32 36 30 5d 28 68 74 74 70 73 3a 2f 2f    67 69 74 68 75 62 2e 63 6f 6d 2f 62 62 61 74 73 | [#1260](https://github.com/bbats | 
| 4c20 | 6f 76 2f 70 72 6f 6a 65 63 74 69 6c 65 2f 70 75    6c 6c 2f 31 32 36 30 29 3a 20 69 67 6e 6f 72 65 | ov/projectile/pull/1260):.ignore | 
| 4c40 | 64 2d 2a 2d 70 3a 20 4e 6f 77 20 74 68 65 79 20    6d 61 74 63 68 20 61 67 61 69 6e 73 74 20 72 65 | d-*-p:.Now.they.match.against.re | 
| 4c60 | 67 75 6c 61 72 20 65 78 70 72 65 73 73 69 6f 6e    73 2e 0a 2a 20 2a 2a 28 42 72 65 61 6b 69 6e 67 | gular.expressions..*.**(Breaking | 
| 4c80 | 29 2a 2a 20 52 65 6d 6f 76 65 20 74 68 65 20 64    65 66 61 75 6c 74 20 70 72 65 66 69 78 20 6b 65 | )**.Remove.the.default.prefix.ke | 
| 4ca0 | 79 20 28 60 43 2d 63 20 70 60 29 20 66 6f 72 20    50 72 6f 6a 65 63 74 69 6c 65 2e 20 55 73 65 72 | y.(`C-c.p`).for.Projectile..User | 
| 4cc0 | 73 20 6e 6f 77 20 68 61 76 65 20 74 6f 20 70 69    63 6b 20 6f 6e 65 20 74 68 65 6d 73 65 6c 76 65 | s.now.have.to.pick.one.themselve | 
| 4ce0 | 73 2e 0a 2a 20 44 65 70 72 65 63 61 74 65 20 60    70 72 6f 6a 65 63 74 69 6c 65 2d 6b 65 79 6d 61 | s..*.Deprecate.`projectile-keyma | 
| 4d00 | 70 2d 70 72 65 66 69 78 60 2e 0a 2a 20 41 76 6f    69 64 20 22 4e 6f 20 70 72 6f 6a 65 63 74 73 20 | p-prefix`..*.Avoid."No.projects. | 
| 4d20 | 6e 65 65 64 65 64 20 74 6f 20 62 65 20 72 65 6d    6f 76 65 64 2e 22 20 6d 65 73 73 61 67 65 73 20 | needed.to.be.removed.".messages. | 
| 4d40 | 69 6e 20 67 6c 6f 62 61 6c 20 6d 6f 64 65 2e 0a    2a 20 5b 23 31 32 37 38 5d 28 68 74 74 70 73 3a | in.global.mode..*.[#1278](https: | 
| 4d60 | 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 62 62 61    74 73 6f 76 2f 70 72 6f 6a 65 63 74 69 6c 65 2f | //github.com/bbatsov/projectile/ | 
| 4d80 | 69 73 73 75 65 73 2f 31 32 37 38 29 3a 20 41 64    64 20 64 65 66 61 75 6c 74 20 60 74 65 73 74 2d | issues/1278):.Add.default.`test- | 
| 4da0 | 73 75 66 66 69 78 60 20 74 6f 20 60 6e 70 6d 60    20 70 72 6f 6a 65 63 74 2e 0a 2a 20 5b 23 31 32 | suffix`.to.`npm`.project..*.[#12 | 
| 4dc0 | 38 35 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68    75 62 2e 63 6f 6d 2f 62 62 61 74 73 6f 76 2f 70 | 85](https://github.com/bbatsov/p | 
| 4de0 | 72 6f 6a 65 63 74 69 6c 65 2f 70 75 6c 6c 2f 31    32 38 35 29 3a 20 41 64 64 20 64 65 66 61 75 6c | rojectile/pull/1285):.Add.defaul | 
| 4e00 | 74 20 60 74 65 73 74 2d 73 75 66 66 69 78 60 20    74 6f 20 50 79 74 68 6f 6e 20 70 72 6f 6a 65 63 | t.`test-suffix`.to.Python.projec | 
| 4e20 | 74 73 2e 0a 2a 20 5b 23 31 32 38 35 5d 28 68 74    74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d | ts..*.[#1285](https://github.com | 
| 4e40 | 2f 62 62 61 74 73 6f 76 2f 70 72 6f 6a 65 63 74    69 6c 65 2f 70 75 6c 6c 2f 31 32 38 35 29 3a 20 | /bbatsov/projectile/pull/1285):. | 
| 4e60 | 41 64 64 20 73 75 70 70 6f 72 74 20 66 6f 72 20    50 69 70 65 6e 76 2d 6d 61 6e 61 67 65 64 20 50 | Add.support.for.Pipenv-managed.P | 
| 4e80 | 79 74 68 6f 6e 20 70 72 6f 6a 65 63 74 73 2e 0a    2a 20 5b 23 31 32 33 32 5d 28 68 74 74 70 73 3a | ython.projects..*.[#1232](https: | 
| 4ea0 | 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 62 62 61    74 73 6f 76 2f 70 72 6f 6a 65 63 74 69 6c 65 2f | //github.com/bbatsov/projectile/ | 
| 4ec0 | 69 73 73 75 65 73 2f 31 32 33 32 29 3a 20 53 74    6f 70 20 65 76 61 6c 75 61 74 69 6e 67 20 63 6f | issues/1232):.Stop.evaluating.co | 
| 4ee0 | 64 65 20 64 79 6e 61 6d 69 63 61 6c 6c 79 20 69    6e 20 74 68 65 20 6d 6f 64 65 2d 6c 69 6e 65 20 | de.dynamically.in.the.mode-line. | 
| 4f00 | 61 6e 64 20 73 77 69 74 63 68 20 74 6f 20 61 20    73 69 6d 70 6c 65 72 20 73 63 68 65 6d 65 20 77 | and.switch.to.a.simpler.scheme.w | 
| 4f20 | 68 65 72 65 20 74 68 65 20 6d 6f 64 65 2d 6c 69    6e 65 20 69 73 20 75 70 64 61 74 65 64 20 6a 75 | here.the.mode-line.is.updated.ju | 
| 4f40 | 73 74 20 6f 6e 63 65 20 75 73 69 6e 67 20 60 66    69 6e 64 2d 66 69 6c 65 2d 68 6f 6f 6b 60 2e 0a | st.once.using.`find-file-hook`.. | 
| 4f60 | 2a 20 4d 61 6b 65 20 74 68 65 20 6d 6f 64 65 20    6c 69 6e 65 20 63 6f 6e 66 69 67 75 72 61 62 6c | *.Make.the.mode.line.configurabl | 
| 4f80 | 65 20 76 69 61 20 60 70 72 6f 6a 65 63 74 69 6c    65 2d 64 79 6e 61 6d 69 63 2d 6d 6f 64 65 2d 6c | e.via.`projectile-dynamic-mode-l | 
| 4fa0 | 69 6e 65 60 20 61 6e 64 20 60 70 72 6f 6a 65 63    74 69 6c 65 2d 6d 6f 64 65 2d 6c 69 6e 65 2d 66 | ine`.and.`projectile-mode-line-f | 
| 4fc0 | 75 6e 63 74 69 6f 6e 60 2e 0a 2a 20 5b 23 31 32    30 35 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 | unction`..*.[#1205](https://gith | 
| 4fe0 | 75 62 2e 63 6f 6d 2f 62 62 61 74 73 6f 76 2f 70    72 6f 6a 65 63 74 69 6c 65 2f 69 73 73 75 65 73 | ub.com/bbatsov/projectile/issues | 
| 5000 | 2f 31 32 30 35 29 3a 20 43 68 65 63 6b 20 74 68    61 74 20 70 72 6f 6a 65 63 74 20 64 69 72 65 63 | /1205):.Check.that.project.direc | 
| 5020 | 74 6f 72 79 20 65 78 69 73 74 73 20 77 68 65 6e    20 73 77 69 74 63 68 69 6e 67 20 70 72 6f 6a 65 | tory.exists.when.switching.proje | 
| 5040 | 63 74 73 2e 0a 2a 20 4d 6f 76 65 20 50 72 6f 6a    65 63 74 69 6c 65 27 73 20 6d 65 6e 75 20 6f 75 | cts..*.Move.Projectile's.menu.ou | 
| 5060 | 74 20 6f 66 20 74 68 65 20 22 54 6f 6f 6c 73 22    20 6d 65 6e 75 2e 0a 2a 20 5b 41 50 49 5d 20 2a | t.of.the."Tools".menu..*.[API].* | 
| 5080 | 2a 28 42 72 65 61 6b 69 6e 67 29 2a 2a 20 53 74    6f 70 20 72 61 69 73 69 6e 67 20 65 72 72 6f 72 | *(Breaking)**.Stop.raising.error | 
| 50a0 | 73 20 66 72 6f 6d 20 60 70 72 6f 6a 65 63 74 69    6c 65 2d 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 60 | s.from.`projectile-project-root` | 
| 50c0 | 20 69 66 20 6e 6f 74 20 69 6e 76 6f 6b 65 64 20    77 69 74 68 69 6e 20 61 20 70 72 6f 6a 65 63 74 | .if.not.invoked.within.a.project | 
| 50e0 | 2e 20 4e 6f 77 20 69 74 20 77 69 6c 6c 20 73 69    6d 70 6c 79 20 72 65 74 75 72 6e 20 6e 69 6c 2e | ..Now.it.will.simply.return.nil. | 
| 5100 | 20 55 73 65 20 69 74 20 74 6f 67 65 74 68 65 72    20 77 69 74 68 20 60 70 72 6f 6a 65 63 74 69 6c | .Use.it.together.with.`projectil | 
| 5120 | 65 2d 65 6e 73 75 72 65 2d 70 72 6f 6a 65 63 74    60 20 74 6f 20 65 6d 75 6c 61 74 65 20 74 68 65 | e-ensure-project`.to.emulate.the | 
| 5140 | 20 6f 6c 64 20 62 65 68 61 76 69 6f 72 2e 0a 0a    23 23 23 20 42 75 67 73 20 66 69 78 65 64 0a 0a | .old.behavior...###.Bugs.fixed.. | 
| 5160 | 2a 20 5b 23 31 33 31 35 5d 28 68 74 74 70 73 3a    2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 62 62 61 | *.[#1315](https://github.com/bba | 
| 5180 | 74 73 6f 76 2f 70 72 6f 6a 65 63 74 69 6c 65 2f    69 73 73 75 65 73 2f 31 33 31 35 29 3a 20 47 69 | tsov/projectile/issues/1315):.Gi | 
| 51a0 | 76 65 20 70 72 65 66 65 72 65 6e 63 65 20 74 6f    20 74 68 65 20 70 72 6f 6a 65 63 74 20 74 79 70 | ve.preference.to.the.project.typ | 
| 51c0 | 65 73 20 74 68 61 74 20 77 65 72 65 20 72 65 67    69 73 74 65 72 65 64 20 6c 61 73 74 2e 0a 2a 20 | es.that.were.registered.last..*. | 
| 51e0 | 5b 23 31 33 36 37 5d 28 68 74 74 70 73 3a 2f 2f    67 69 74 68 75 62 2e 63 6f 6d 2f 62 62 61 74 73 | [#1367](https://github.com/bbats | 
| 5200 | 6f 76 2f 70 72 6f 6a 65 63 74 69 6c 65 2f 69 73    73 75 65 73 2f 31 33 36 37 29 3a 20 46 69 78 20 | ov/projectile/issues/1367):.Fix. | 
| 5220 | 74 68 65 20 4d 61 6b 65 66 69 6c 65 20 73 6f 20    74 68 61 74 20 77 65 20 63 61 6e 20 63 6f 6d 70 | the.Makefile.so.that.we.can.comp | 
| 5240 | 69 6c 65 20 70 72 6f 6a 65 63 74 69 6c 65 20 2d    20 75 73 65 20 60 6d 61 6b 65 60 2e 0a 0a 23 23 | ile.projectile.-.use.`make`...## | 
| 5260 | 20 31 2e 30 2e 30 20 28 32 30 31 38 2d 30 37 2d    32 31 29 0a 0a 23 23 23 20 4e 65 77 20 46 65 61 | .1.0.0.(2018-07-21)..###.New.Fea | 
| 5280 | 74 75 72 65 73 0a 0a 2a 20 5b 23 31 32 35 35 5d    28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e | tures..*.[#1255](https://github. | 
| 52a0 | 63 6f 6d 2f 62 62 61 74 73 6f 76 2f 70 72 6f 6a    65 63 74 69 6c 65 2f 70 75 6c 6c 2f 31 32 35 35 | com/bbatsov/projectile/pull/1255 | 
| 52c0 | 29 3a 20 41 64 64 20 73 75 70 70 6f 72 74 20 66    6f 72 20 66 75 6e 63 74 69 6f 6e 20 73 79 6d 62 | ):.Add.support.for.function.symb | 
| 52e0 | 6f 6c 73 20 61 73 20 70 72 6f 6a 65 63 74 20 64    65 66 61 75 6c 74 20 63 6f 6d 6d 61 6e 64 73 0a | ols.as.project.default.commands. | 
| 5300 | 2a 20 5b 23 31 32 34 33 5d 28 68 74 74 70 73 3a    2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 62 62 61 | *.[#1243](https://github.com/bba | 
| 5320 | 74 73 6f 76 2f 70 72 6f 6a 65 63 74 69 6c 65 2f    70 75 6c 6c 2f 31 32 34 33 29 3a 20 41 64 64 20 | tsov/projectile/pull/1243):.Add. | 
| 5340 | 5b 61 6e 67 75 6c 61 72 5d 28 68 74 74 70 73 3a    2f 2f 61 6e 67 75 6c 61 72 2e 69 6f 29 20 70 72 | [angular](https://angular.io).pr | 
| 5360 | 6f 6a 65 63 74 20 73 75 70 70 6f 72 74 2e 0a 2a    20 5b 23 31 32 32 38 5d 28 68 74 74 70 73 3a 2f | oject.support..*.[#1228](https:/ | 
| 5380 | 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 62 62 61 74    73 6f 76 2f 70 72 6f 6a 65 63 74 69 6c 65 2f 70 | /github.com/bbatsov/projectile/p | 
| 53a0 | 75 6c 6c 2f 31 32 32 38 29 3a 20 41 64 64 20 73    75 70 70 6f 72 74 20 66 6f 72 20 61 20 70 72 65 | ull/1228):.Add.support.for.a.pre | 
| 53c0 | 66 69 78 20 61 72 67 75 6d 65 6e 74 20 74 6f 20    60 70 72 6f 6a 65 63 74 69 6c 65 2d 76 63 60 2e | fix.argument.to.`projectile-vc`. | 
| 53e0 | 0a 2a 20 5b 23 31 32 32 31 5d 28 68 74 74 70 73    3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 62 62 | .*.[#1221](https://github.com/bb | 
| 5400 | 61 74 73 6f 76 2f 70 72 6f 6a 65 63 74 69 6c 65    2f 70 75 6c 6c 2f 31 32 32 31 29 3a 20 4d 6f 64 | atsov/projectile/pull/1221):.Mod | 
| 5420 | 69 66 79 20 52 75 62 79 20 61 6e 64 20 45 6c 69    78 69 72 20 70 72 6f 6a 65 63 74 20 73 65 74 74 | ify.Ruby.and.Elixir.project.sett | 
| 5440 | 69 6e 67 73 2e 0a 2a 20 5b 23 31 31 37 35 5d 28    68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 | ings..*.[#1175](https://github.c | 
| 5460 | 6f 6d 2f 62 62 61 74 73 6f 76 2f 70 72 6f 6a 65    63 74 69 6c 65 2f 70 75 6c 6c 2f 31 31 37 35 29 | om/bbatsov/projectile/pull/1175) | 
| 5480 | 3a 20 41 64 64 20 61 20 63 6f 6d 6d 61 6e 64 20    60 70 72 6f 6a 65 63 74 69 6c 65 2d 63 6f 6e 66 | :.Add.a.command.`projectile-conf | 
| 54a0 | 69 67 75 72 65 2d 63 6f 6d 6d 61 6e 64 60 20 66    6f 72 20 72 75 6e 6e 69 6e 67 20 61 20 63 6f 6e | igure-command`.for.running.a.con | 
| 54c0 | 66 69 67 75 72 61 74 69 6f 6e 20 66 6f 72 20 62    75 69 6c 64 20 73 79 73 74 65 6d 73 20 74 68 61 | figuration.for.build.systems.tha | 
| 54e0 | 74 20 6e 65 65 64 20 74 68 61 74 2e 0a 2a 20 5b    23 31 31 36 38 5d 28 68 74 74 70 73 3a 2f 2f 67 | t.need.that..*.[#1168](https://g | 
| 5500 | 69 74 68 75 62 2e 63 6f 6d 2f 62 62 61 74 73 6f    76 2f 70 72 6f 6a 65 63 74 69 6c 65 2f 70 75 6c | ithub.com/bbatsov/projectile/pul | 
| 5520 | 6c 2f 31 31 36 38 29 3a 20 41 64 64 20 43 4d 61    6b 65 20 61 6e 64 20 4d 65 73 6f 6e 20 70 72 6f | l/1168):.Add.CMake.and.Meson.pro | 
| 5540 | 6a 65 63 74 20 73 75 70 70 6f 72 74 2e 0a 2a 20    5b 23 31 31 35 39 5d 28 68 74 74 70 73 3a 2f 2f | ject.support..*.[#1159](https:// | 
| 5560 | 67 69 74 68 75 62 2e 63 6f 6d 2f 62 62 61 74 73    6f 76 2f 70 72 6f 6a 65 63 74 69 6c 65 2f 70 75 | github.com/bbatsov/projectile/pu | 
| 5580 | 6c 6c 2f 31 31 35 39 29 20 41 64 64 20 5b 6e 69    78 5d 28 68 74 74 70 3a 2f 2f 6e 69 78 6f 73 2e | ll/1159).Add.[nix](http://nixos. | 
| 55a0 | 6f 72 67 29 20 70 72 6f 6a 65 63 74 20 73 75 70    70 6f 72 74 2e 0a 2a 20 5b 23 31 31 36 36 5d 28 | org).project.support..*.[#1166]( | 
| 55c0 | 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63    6f 6d 2f 62 62 61 74 73 6f 76 2f 70 72 6f 6a 65 | https://github.com/bbatsov/proje | 
| 55e0 | 63 74 69 6c 65 2f 70 75 6c 6c 2f 31 31 36 36 29    3a 20 41 64 64 20 60 2d 6f 74 68 65 72 2d 66 72 | ctile/pull/1166):.Add.`-other-fr | 
| 5600 | 61 6d 65 60 20 76 65 72 73 69 6f 6e 73 20 6f 66    20 63 6f 6d 6d 61 6e 64 73 20 74 68 61 74 20 68 | ame`.versions.of.commands.that.h | 
| 5620 | 61 64 20 60 2d 6f 74 68 65 72 2d 77 69 6e 64 6f    77 60 20 76 65 72 73 69 6f 6e 73 2e 0a 2a 20 43 | ad.`-other-window`.versions..*.C | 
| 5640 | 6f 6e 73 69 64 65 72 20 45 6e 73 69 6d 65 20 63    6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 66 69 6c | onsider.Ensime.configuration.fil | 
| 5660 | 65 20 61 73 20 72 6f 6f 74 20 6d 61 72 6b 65 72    2c 20 60 2e 65 6e 73 69 6d 65 60 2e 0a 2a 20 5b | e.as.root.marker,.`.ensime`..*.[ | 
| 5680 | 23 31 30 35 37 5d 28 68 74 74 70 73 3a 2f 2f 67    69 74 68 75 62 2e 63 6f 6d 2f 62 62 61 74 73 6f | #1057](https://github.com/bbatso | 
| 56a0 | 76 2f 70 72 6f 6a 65 63 74 69 6c 65 2f 69 73 73    75 65 73 2f 31 30 35 37 29 3a 20 4d 61 6b 65 20 | v/projectile/issues/1057):.Make. | 
| 56c0 | 69 74 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 64    69 73 61 62 6c 65 20 61 75 74 6f 6d 61 74 69 63 | it.possible.to.disable.automatic | 
| 56e0 | 20 70 72 6f 6a 65 63 74 20 74 72 61 63 6b 69 6e    67 20 76 69 61 20 60 70 72 6f 6a 65 63 74 69 6c | .project.tracking.via.`projectil | 
| 5700 | 65 2d 74 72 61 63 6b 2d 6b 6e 6f 77 6e 2d 70 72    6f 6a 65 63 74 73 2d 61 75 74 6f 6d 61 74 69 63 | e-track-known-projects-automatic | 
| 5720 | 61 6c 6c 79 60 2e 0a 2a 20 41 64 64 65 64 20 61    62 69 6c 69 74 79 20 74 6f 20 73 70 65 63 69 66 | ally`..*.Added.ability.to.specif | 
| 5740 | 79 20 74 65 73 74 20 66 69 6c 65 73 20 73 75 66    66 69 78 20 61 6e 64 20 70 72 65 66 69 78 20 61 | y.test.files.suffix.and.prefix.a | 
| 5760 | 74 20 74 68 65 20 70 72 6f 6a 65 63 74 20 72 65    67 69 73 74 72 61 74 69 6f 6e 2e 0a 2a 20 5b 23 | t.the.project.registration..*.[# | 
| 5780 | 31 31 35 34 5d 28 68 74 74 70 73 3a 2f 2f 67 69    74 68 75 62 2e 63 6f 6d 2f 62 62 61 74 73 6f 76 | 1154](https://github.com/bbatsov | 
| 57a0 | 2f 70 72 6f 6a 65 63 74 69 6c 65 2f 70 75 6c 6c    2f 31 31 35 34 29 20 55 73 65 20 6e 70 6d 20 69 | /projectile/pull/1154).Use.npm.i | 
| 57c0 | 6e 73 74 61 6c 6c 20 69 6e 73 74 65 61 64 20 6f    66 20 62 75 69 6c 64 2e 0a 2a 20 41 64 64 65 64 | nstall.instead.of.build..*.Added | 
| 57e0 | 20 74 68 65 20 61 62 69 6c 69 74 79 20 74 6f 20    65 78 70 69 72 65 20 6f 6c 64 20 66 69 6c 65 73 | .the.ability.to.expire.old.files | 
| 5800 | 20 6c 69 73 74 20 63 61 63 68 65 73 20 76 69 61    20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f | .list.caches.via.`projectile-pro | 
| 5820 | 6a 65 63 74 69 6c 65 2d 66 69 6c 65 73 2d 63 61    63 68 65 2d 65 78 70 69 72 65 60 2e 0a 2a 20 5b | jectile-files-cache-expire`..*.[ | 
| 5840 | 23 31 32 30 34 5d 28 68 74 74 70 73 3a 2f 2f 67    69 74 68 75 62 2e 63 6f 6d 2f 62 62 61 74 73 6f | #1204](https://github.com/bbatso | 
| 5860 | 76 2f 70 72 6f 6a 65 63 74 69 6c 65 2f 70 75 6c    6c 2f 31 32 30 34 29 3a 20 60 70 72 6f 6a 65 63 | v/projectile/pull/1204):.`projec | 
| 5880 | 74 69 6c 65 2d 72 65 67 69 73 74 65 72 2d 70 72    6f 6a 65 63 74 2d 74 79 70 65 60 20 63 61 6e 20 | tile-register-project-type`.can. | 
| 58a0 | 6e 6f 77 20 62 65 20 75 73 65 20 74 6f 20 63 75    73 74 6f 6d 69 7a 65 20 74 68 65 20 73 6f 75 72 | now.be.use.to.customize.the.sour | 
| 58c0 | 63 65 20 61 6e 64 20 74 65 73 74 20 64 69 72 65    63 74 6f 72 79 20 76 69 61 20 60 3a 73 72 63 2d | ce.and.test.directory.via.`:src- | 
| 58e0 | 64 69 72 60 20 61 6e 64 20 60 3a 74 65 73 74 2d    64 69 72 60 20 66 6f 72 20 70 72 6f 6a 65 63 74 | dir`.and.`:test-dir`.for.project | 
| 5900 | 73 20 77 69 74 68 20 63 75 73 74 6f 6d 20 6e 65    65 64 73 20 28 65 67 2e 20 6d 61 76 65 6e 29 2e | s.with.custom.needs.(eg..maven). | 
| 5920 | 0a 2a 20 5b 23 31 32 34 30 5d 28 68 74 74 70 73    3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 62 62 | .*.[#1240](https://github.com/bb | 
| 5940 | 61 74 73 6f 76 2f 70 72 6f 6a 65 63 74 69 6c 65    2f 70 75 6c 6c 2f 31 32 34 30 29 3a 20 41 64 64 | atsov/projectile/pull/1240):.Add | 
| 5960 | 20 73 6f 6d 65 20 69 6e 74 65 67 72 61 74 69 6f    6e 20 77 69 74 68 20 72 69 67 67 72 65 70 2e 0a | .some.integration.with.riggrep.. | 
| 5980 | 2a 20 41 64 64 20 60 70 72 6f 6a 65 63 74 69 6c    65 2d 70 72 6f 6a 65 63 74 2d 73 65 61 72 63 68 | *.Add.`projectile-project-search | 
| 59a0 | 2d 70 61 74 68 60 2c 20 77 68 69 63 68 20 69 73    20 61 75 74 6f 2d 73 65 61 72 63 68 65 64 20 66 | -path`,.which.is.auto-searched.f | 
| 59c0 | 6f 72 20 70 72 6f 6a 65 63 74 73 20 77 68 65 6e    20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 6d 6f 64 | or.projects.when.`projectile-mod | 
| 59e0 | 65 60 20 73 74 61 72 74 73 2e 0a 2a 20 41 64 64    20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 64 69 73 | e`.starts..*.Add.`projectile-dis | 
| 5a00 | 63 6f 76 65 72 2d 70 72 6f 6a 65 63 74 73 2d 69    6e 2d 73 65 61 72 63 68 2d 70 61 74 68 60 20 63 | cover-projects-in-search-path`.c | 
| 5a20 | 6f 6d 6d 61 6e 64 20 77 68 69 63 68 20 73 65 61    72 63 68 65 73 20 66 6f 72 20 70 72 6f 6a 65 63 | ommand.which.searches.for.projec | 
| 5a40 | 74 73 20 69 6e 20 60 70 72 6f 6a 65 63 74 69 6c    65 2d 70 72 6f 6a 65 63 74 2d 73 65 61 72 63 68 | ts.in.`projectile-project-search | 
| 5a60 | 2d 70 61 74 68 60 2e 0a 2a 20 41 75 74 6f 2d 63    6c 65 61 6e 75 70 20 6d 69 73 73 69 6e 67 20 6b | -path`..*.Auto-cleanup.missing.k | 
| 5a80 | 6e 6f 77 6e 2d 70 72 6f 6a 65 63 74 73 20 6f 6e    20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 6d 6f 64 | nown-projects.on.`projectile-mod | 
| 5aa0 | 65 60 20 73 74 61 72 74 2e 0a 0a 23 23 23 20 43    68 61 6e 67 65 73 0a 0a 2a 20 5b 23 31 32 31 33 | e`.start...###.Changes..*.[#1213 | 
| 5ac0 | 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62    2e 63 6f 6d 2f 62 62 61 74 73 6f 76 2f 70 72 6f | ](https://github.com/bbatsov/pro | 
| 5ae0 | 6a 65 63 74 69 6c 65 2f 70 75 6c 6c 2f 31 32 31    33 29 3a 20 43 61 63 68 65 20 70 72 6f 6a 65 63 | jectile/pull/1213):.Cache.projec | 
| 5b00 | 74 20 72 6f 6f 74 20 69 6e 20 6e 6f 6e 2d 66 69    6c 65 64 2d 62 61 63 6b 65 64 20 62 75 66 66 65 | t.root.in.non-filed-backed.buffe | 
| 5b20 | 72 73 2e 0a 2a 20 5b 23 31 31 37 35 5d 28 68 74    74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d | rs..*.[#1175](https://github.com | 
| 5b40 | 2f 62 62 61 74 73 6f 76 2f 70 72 6f 6a 65 63 74    69 6c 65 2f 70 75 6c 6c 2f 31 31 37 35 29 3a 20 | /bbatsov/projectile/pull/1175):. | 
| 5b60 | 60 70 72 6f 6a 65 63 74 69 6c 65 2d 72 65 67 69    73 74 65 72 2d 70 72 6f 6a 65 63 74 2d 74 79 70 | `projectile-register-project-typ | 
| 5b80 | 65 60 20 63 61 6e 20 6e 6f 77 20 73 65 74 20 61    20 64 65 66 61 75 6c 74 20 63 6f 6d 70 69 6c 61 | e`.can.now.set.a.default.compila | 
| 5ba0 | 74 69 6f 6e 20 64 69 72 65 63 74 6f 72 79 20 66    6f 72 20 62 75 69 6c 64 20 73 79 73 74 65 6d 73 | tion.directory.for.build.systems | 
| 5bc0 | 20 74 68 61 74 20 6e 65 65 64 73 20 74 6f 20 62    75 69 6c 64 20 6f 75 74 2d 6f 66 2d 74 72 65 65 | .that.needs.to.build.out-of-tree | 
| 5be0 | 20 28 65 67 2e 20 6d 65 73 6f 6e 29 2e 0a 2a 20    5b 23 31 31 37 35 5d 28 68 74 74 70 73 3a 2f 2f | .(eg..meson)..*.[#1175](https:// | 
| 5c00 | 67 69 74 68 75 62 2e 63 6f 6d 2f 62 62 61 74 73    6f 76 2f 70 72 6f 6a 65 63 74 69 6c 65 2f 70 75 | github.com/bbatsov/projectile/pu | 
| 5c20 | 6c 6c 2f 31 31 37 35 29 3a 20 60 70 72 6f 6a 65    63 74 69 6c 65 2d 7b 74 65 73 74 2c 72 75 6e 7d | ll/1175):.`projectile-{test,run} | 
| 5c40 | 2d 70 72 6f 6a 65 63 74 60 20 6e 6f 77 20 72 75    6e 20 69 6e 73 69 64 65 20 60 28 70 72 6f 6a 65 | -project`.now.run.inside.`(proje | 
| 5c60 | 63 74 69 6c 65 2d 63 6f 6d 70 69 6c 61 74 69 6f    6e 2d 64 69 72 29 60 2c 20 6a 75 73 74 20 6c 69 | ctile-compilation-dir)`,.just.li | 
| 5c80 | 6b 65 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 63    6f 6d 70 69 6c 65 2d 70 72 6f 6a 65 63 74 60 2e | ke.`projectile-compile-project`. | 
| 5ca0 | 0a 2a 20 5b 23 31 31 37 35 5d 28 68 74 74 70 73    3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 62 62 | .*.[#1175](https://github.com/bb | 
| 5cc0 | 61 74 73 6f 76 2f 70 72 6f 6a 65 63 74 69 6c 65    2f 70 75 6c 6c 2f 31 31 37 35 29 3a 20 60 70 72 | atsov/projectile/pull/1175):.`pr | 
| 5ce0 | 6f 6a 65 63 74 69 6c 65 2d 7b 74 65 73 74 2c 72    75 6e 7d 2d 70 72 6f 6a 65 63 74 60 20 6e 6f 77 | ojectile-{test,run}-project`.now | 
| 5d00 | 20 73 74 6f 72 65 73 20 74 68 65 20 64 65 66 61    75 6c 74 20 63 6f 6d 6d 61 6e 64 20 70 65 72 20 | .stores.the.default.command.per. | 
| 5d20 | 64 69 72 65 63 74 6f 72 79 20 69 6e 73 74 65 61    64 20 6f 66 20 70 65 72 20 70 72 6f 6a 65 63 74 | directory.instead.of.per.project | 
| 5d40 | 2c 20 6a 75 73 74 20 6c 69 6b 65 20 60 70 72 6f    6a 65 63 74 69 6c 65 2d 63 6f 6d 70 69 6c 65 2d | ,.just.like.`projectile-compile- | 
| 5d60 | 70 72 6f 6a 65 63 74 60 2e 0a 2a 20 43 61 63 68    65 20 74 68 65 20 72 6f 6f 74 20 6f 66 20 74 68 | project`..*.Cache.the.root.of.th | 
| 5d80 | 65 20 63 75 72 72 65 6e 74 20 70 72 6f 6a 65 63    74 20 74 6f 20 69 6e 63 72 65 61 73 65 20 70 65 | e.current.project.to.increase.pe | 
| 5da0 | 72 66 6f 72 6d 61 6e 63 65 0a 2a 20 5b 23 31 31    32 39 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 | rformance.*.[#1129](https://gith | 
| 5dc0 | 75 62 2e 63 6f 6d 2f 62 62 61 74 73 6f 76 2f 70    72 6f 6a 65 63 74 69 6c 65 2f 70 75 6c 6c 2f 31 | ub.com/bbatsov/projectile/pull/1 | 
| 5de0 | 31 32 39 29 3a 20 46 69 78 20 54 52 41 4d 50 20    69 73 73 75 65 73 2e 0a 2a 20 41 64 64 20 52 20 | 129):.Fix.TRAMP.issues..*.Add.R. | 
| 5e00 | 44 45 53 43 52 49 50 54 49 4f 4e 20 66 69 6c 65    20 74 6f 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d | DESCRIPTION.file.to.`projectile- | 
| 5e20 | 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 2d 66 69 6c    65 73 60 2e 0a 2a 20 49 67 6e 6f 72 65 20 62 61 | project-root-files`..*.Ignore.ba | 
| 5e40 | 63 6b 75 70 20 66 69 6c 65 73 20 69 6e 20 60 70    72 6f 6a 65 63 74 69 6c 65 2d 67 65 74 2d 6f 74 | ckup.files.in.`projectile-get-ot | 
| 5e60 | 68 65 72 2d 66 69 6c 65 73 60 2e 0a 2a 20 49 67    6e 6f 72 65 20 45 6e 73 69 6d 65 20 63 61 63 68 | her-files`..*.Ignore.Ensime.cach | 
| 5e80 | 65 20 64 69 72 65 63 74 6f 72 79 2c 20 60 2e 65    6e 73 69 6d 65 5f 63 61 63 68 65 60 2e 0a 2a 20 | e.directory,.`.ensime_cache`..*. | 
| 5ea0 | 5b 23 33 36 34 5d 28 68 74 74 70 73 3a 2f 2f 67    69 74 68 75 62 2e 63 6f 6d 2f 62 62 61 74 73 6f | [#364](https://github.com/bbatso | 
| 5ec0 | 76 2f 70 72 6f 6a 65 63 74 69 6c 65 2f 69 73 73    75 65 73 2f 33 36 34 29 3a 20 60 70 72 6f 6a 65 | v/projectile/issues/364):.`proje | 
| 5ee0 | 63 74 69 6c 65 2d 61 64 64 2d 6b 6e 6f 77 6e 2d    70 72 6f 6a 65 63 74 60 20 63 61 6e 20 6e 6f 77 | ctile-add-known-project`.can.now | 
| 5f00 | 20 62 65 20 75 73 65 64 20 69 6e 74 65 72 61 63    74 69 76 65 6c 79 2e 0a 2a 20 60 70 72 6f 6a 65 | .be.used.interactively..*.`proje | 
| 5f20 | 63 74 69 6c 65 2d 6d 6f 64 65 60 20 69 73 20 6e    6f 77 20 61 20 67 6c 6f 62 61 6c 20 6d 6f 64 65 | ctile-mode`.is.now.a.global.mode | 
| 5f40 | 2e 0a 2a 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d    66 69 6e 64 2d 74 61 67 60 20 6e 6f 77 20 64 65 | ..*.`projectile-find-tag`.now.de | 
| 5f60 | 66 61 75 6c 74 73 20 74 6f 20 78 72 65 66 20 6f    6e 20 45 6d 61 63 73 20 32 35 2e 31 2b 2e 0a 2a | faults.to.xref.on.Emacs.25.1+..* | 
| 5f80 | 20 41 64 64 20 72 65 6c 61 74 69 6f 6e 20 62 65    74 77 65 65 6e 20 60 2e 68 60 20 61 6e 64 20 60 | .Add.relation.between.`.h`.and.` | 
| 5fa0 | 2e 63 63 60 20 66 69 6c 65 73 20 69 6e 20 60 70    72 6f 6a 65 63 74 69 6c 65 2d 6f 74 68 65 72 2d | .cc`.files.in.`projectile-other- | 
| 5fc0 | 66 69 6c 65 2d 61 6c 69 73 74 60 2e 0a 2a 20 43    61 63 68 65 20 74 68 65 20 6e 61 6d 65 20 6f 66 | file-alist`..*.Cache.the.name.of | 
| 5fe0 | 20 74 68 65 20 63 75 72 72 65 6e 74 20 70 72 6f    6a 65 63 74 20 66 6f 72 20 6d 6f 64 65 2d 6c 69 | .the.current.project.for.mode-li | 
| 6000 | 6e 65 20 64 69 73 70 6c 61 79 20 6f 66 20 74 68    65 20 70 72 6f 6a 65 63 74 20 6e 61 6d 65 2e 0a | ne.display.of.the.project.name.. | 
| 6020 | 2a 20 5b 23 31 30 37 38 5d 28 68 74 74 70 73 3a    2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 62 62 61 | *.[#1078](https://github.com/bba | 
| 6040 | 74 73 6f 76 2f 70 72 6f 6a 65 63 74 69 6c 65 2f    69 73 73 75 65 73 2f 31 30 37 38 29 3a 20 46 6f | tsov/projectile/issues/1078):.Fo | 
| 6060 | 72 20 70 72 6f 6a 65 63 74 69 6c 65 2d 67 72 65    70 2f 61 67 20 75 73 65 20 64 65 66 61 75 6c 74 | r.projectile-grep/ag.use.default | 
| 6080 | 20 76 61 6c 75 65 20 6c 69 6b 65 20 67 72 65 70    2f 72 67 72 65 70 2f 61 67 2e 0a 2a 20 44 6f 6e | .value.like.grep/rgrep/ag..*.Don | 
| 60a0 | 27 74 20 74 72 65 61 74 20 60 70 61 63 6b 61 67    65 2e 6a 73 6f 6e 60 20 61 73 20 61 20 70 72 6f | 't.treat.`package.json`.as.a.pro | 
| 60c0 | 6a 65 63 74 20 6d 61 72 6b 65 72 2e 0a 2a 20 5b    23 39 38 37 5d 28 68 74 74 70 73 3a 2f 2f 67 69 | ject.marker..*.[#987](https://gi | 
| 60e0 | 74 68 75 62 2e 63 6f 6d 2f 62 62 61 74 73 6f 76    2f 70 72 6f 6a 65 63 74 69 6c 65 2f 69 73 73 75 | thub.com/bbatsov/projectile/issu | 
| 6100 | 65 73 2f 39 38 37 29 3a 20 70 72 6f 6a 65 63 74    69 6c 65 2d 61 67 20 69 67 6e 6f 72 65 73 20 61 | es/987):.projectile-ag.ignores.a | 
| 6120 | 67 2d 69 67 6e 6f 72 65 2d 6c 69 73 74 20 77 68    65 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 | g-ignore-list.when.projectile-pr | 
| 6140 | 6f 6a 65 63 74 2d 76 63 73 20 69 73 20 67 69 74    0a 2a 20 5b 23 31 31 31 39 5d 28 68 74 74 70 73 | oject-vcs.is.git.*.[#1119](https | 
| 6160 | 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 62 62    61 74 73 6f 76 2f 70 72 6f 6a 65 63 74 69 6c 65 | ://github.com/bbatsov/projectile | 
| 6180 | 2f 69 73 73 75 65 73 2f 31 31 31 39 29 3a 20 46    69 6c 65 20 73 65 61 72 63 68 20 69 67 6e 6f 72 | /issues/1119):.File.search.ignor | 
| 61a0 | 65 73 20 6e 6f 6e 2d 72 6f 6f 74 20 64 69 72 73    20 69 66 20 70 72 65 66 69 78 65 64 20 77 69 74 | es.non-root.dirs.if.prefixed.wit | 
| 61c0 | 68 20 22 2a 22 0a 2a 20 54 72 65 61 74 20 6d 65    6d 62 65 72 73 20 6f 66 20 60 70 72 6f 6a 65 63 | h."*".*.Treat.members.of.`projec | 
| 61e0 | 74 69 6c 65 2d 67 6c 6f 62 61 6c 6c 79 2d 69 67    6e 6f 72 65 64 2d 66 69 6c 65 2d 73 75 66 66 69 | tile-globally-ignored-file-suffi | 
| 6200 | 78 65 73 60 20 61 73 20 66 69 6c 65 20 6e 61 6d    65 20 73 75 66 66 69 78 65 73 20 28 70 72 65 76 | xes`.as.file.name.suffixes.(prev | 
| 6220 | 69 6f 75 73 20 74 72 65 61 74 20 61 73 20 66 69    6c 65 20 65 78 74 65 6e 73 69 6f 6e 73 29 2e 0a | ious.treat.as.file.extensions).. | 
| 6240 | 2a 20 45 6e 73 75 72 65 20 70 72 6f 6a 65 63 74    20 72 6f 6f 74 73 20 61 72 65 20 61 64 64 65 64 | *.Ensure.project.roots.are.added | 
| 6260 | 20 61 73 20 64 69 72 65 63 74 6f 72 79 20 6e 61    6d 65 73 20 74 6f 20 61 76 6f 69 64 20 6e 65 61 | .as.directory.names.to.avoid.nea | 
| 6280 | 72 2d 64 75 70 6c 69 63 61 74 65 20 70 72 6f 6a    65 63 74 73 2c 20 65 2e 67 2e 20 22 7e 2f 70 72 | r-duplicate.projects,.e.g.."~/pr | 
| 62a0 | 6f 6a 65 63 74 2f 22 20 61 6e 64 20 22 7e 2f 70    72 6f 6a 65 63 74 22 2e 0a 2a 20 44 6f 6e 27 74 | oject/".and."~/project"..*.Don't | 
| 62c0 | 20 61 75 74 6f 6c 6f 61 64 20 64 65 66 63 75 73    74 6f 6d 73 2e 0a 2a 20 2a 2a 28 42 72 65 61 6b | .autoload.defcustoms..*.**(Break | 
| 62e0 | 69 6e 67 29 2a 2a 20 52 65 71 75 69 72 65 20 45    6d 61 63 73 20 32 35 2e 31 2e 0a 2a 20 52 65 6d | ing)**.Require.Emacs.25.1..*.Rem | 
| 6300 | 6f 76 65 20 74 68 65 20 73 75 70 70 6f 72 74 20    66 6f 72 20 67 72 69 7a 7a 6c 2e 0a 0a 23 23 23 | ove.the.support.for.grizzl...### | 
| 6320 | 20 42 75 67 73 20 66 69 78 65 64 0a 0a 2a 20 5b    23 31 32 32 32 5d 28 68 74 74 70 73 3a 2f 2f 67 | .Bugs.fixed..*.[#1222](https://g | 
| 6340 | 69 74 68 75 62 2e 63 6f 6d 2f 62 62 61 74 73 6f    76 2f 70 72 6f 6a 65 63 74 69 6c 65 2f 69 73 73 | ithub.com/bbatsov/projectile/iss | 
| 6360 | 75 65 73 2f 31 32 32 32 29 3a 20 60 70 72 6f 6a    65 63 74 69 6c 65 2d 63 6f 6e 66 69 67 75 72 65 | ues/1222):.`projectile-configure | 
| 6380 | 2d 70 72 6f 6a 65 63 74 60 20 66 61 69 6c 73 20    66 6f 72 20 67 65 6e 65 72 69 63 20 70 72 6f 6a | -project`.fails.for.generic.proj | 
| 63a0 | 65 63 74 20 74 79 70 65 0a 2a 20 5b 23 31 31 36    32 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 | ect.type.*.[#1162](https://githu | 
| 63c0 | 62 2e 63 6f 6d 2f 62 62 61 74 73 6f 76 2f 70 72    6f 6a 65 63 74 69 6c 65 2f 69 73 73 75 65 73 2f | b.com/bbatsov/projectile/issues/ | 
| 63e0 | 31 31 36 32 29 3a 20 60 70 72 6f 6a 65 63 74 69    6c 65 2d 61 67 60 20 63 61 75 73 65 73 20 22 41 | 1162):.`projectile-ag`.causes."A | 
| 6400 | 74 74 65 6d 70 74 20 74 6f 20 6d 6f 64 69 66 79    20 72 65 61 64 2d 6f 6e 6c 79 20 6f 62 6a 65 63 | ttempt.to.modify.read-only.objec | 
| 6420 | 74 22 20 65 72 72 6f 72 2e 0a 2a 20 5b 23 31 31    36 39 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 | t".error..*.[#1169](https://gith | 
| 6440 | 75 62 2e 63 6f 6d 2f 62 62 61 74 73 6f 76 2f 70    72 6f 6a 65 63 74 69 6c 65 2f 69 73 73 75 65 73 | ub.com/bbatsov/projectile/issues | 
| 6460 | 2f 31 31 36 39 29 3a 20 60 70 72 6f 6a 65 63 74    69 6c 65 2d 63 6f 6d 70 69 6c 65 2d 70 72 6f 6a | /1169):.`projectile-compile-proj | 
| 6480 | 65 63 74 60 20 64 6f 65 73 20 6e 6f 74 20 70 72    6f 6d 70 74 20 66 6f 72 20 63 6f 6d 70 69 6c 61 | ect`.does.not.prompt.for.compila | 
| 64a0 | 74 69 6f 6e 20 63 6f 6d 6d 61 6e 64 2e 0a 2a 20    5b 23 31 30 37 32 5d 28 68 74 74 70 73 3a 2f 2f | tion.command..*.[#1072](https:// | 
| 64c0 | 67 69 74 68 75 62 2e 63 6f 6d 2f 62 62 61 74 73    6f 76 2f 70 72 6f 6a 65 63 74 69 6c 65 2f 69 73 | github.com/bbatsov/projectile/is | 
| 64e0 | 73 75 65 73 2f 31 30 37 32 29 3a 20 43 72 65 61    74 65 20 74 65 73 74 20 66 69 6c 65 73 20 6f 6e | sues/1072):.Create.test.files.on | 
| 6500 | 6c 79 20 77 69 74 68 69 6e 20 74 68 65 20 70 72    6f 6a 65 63 74 2e 0a 2a 20 5b 23 31 30 36 33 5d | ly.within.the.project..*.[#1063] | 
| 6520 | 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e    63 6f 6d 2f 62 62 61 74 73 6f 76 2f 70 72 6f 6a | (https://github.com/bbatsov/proj | 
| 6540 | 65 63 74 69 6c 65 2f 69 73 73 75 65 73 2f 31 30    36 33 29 3a 20 53 75 70 70 6f 72 74 20 46 6f 73 | ectile/issues/1063):.Support.Fos | 
| 6560 | 73 69 6c 20 63 68 65 63 6b 6f 75 74 73 20 6f 6e    20 57 69 6e 64 6f 77 73 2e 0a 2a 20 5b 23 31 30 | sil.checkouts.on.Windows..*.[#10 | 
| 6580 | 32 34 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68    75 62 2e 63 6f 6d 2f 62 62 61 74 73 6f 76 2f 70 | 24](https://github.com/bbatsov/p | 
| 65a0 | 72 6f 6a 65 63 74 69 6c 65 2f 69 73 73 75 65 73    2f 31 30 32 34 29 3a 20 44 6f 20 6e 6f 74 20 63 | rojectile/issues/1024):.Do.not.c | 
| 65c0 | 61 63 68 65 20 69 67 6e 6f 72 65 64 20 70 72 6f    6a 65 63 74 20 66 69 6c 65 73 2e 0a 2a 20 5b 23 | ache.ignored.project.files..*.[# | 
| 65e0 | 31 30 32 32 5d 28 68 74 74 70 73 3a 2f 2f 67 69    74 68 75 62 2e 63 6f 6d 2f 62 62 61 74 73 6f 76 | 1022](https://github.com/bbatsov | 
| 6600 | 2f 70 72 6f 6a 65 63 74 69 6c 65 2f 69 73 73 75    65 73 2f 31 30 32 32 29 3a 20 53 63 61 6e 20 66 | /projectile/issues/1022):.Scan.f | 
| 6620 | 6f 72 20 46 6f 73 73 69 6c 27 73 20 63 68 65 63    6b 6f 75 74 20 44 42 2c 20 6e 6f 74 20 69 74 73 | or.Fossil's.checkout.DB,.not.its | 
| 6640 | 20 63 6f 6e 66 69 67 20 44 42 2e 0a 2a 20 5b 23    31 30 30 37 5d 28 68 74 74 70 73 3a 2f 2f 67 69 | .config.DB..*.[#1007](https://gi | 
| 6660 | 74 68 75 62 2e 63 6f 6d 2f 62 62 61 74 73 6f 76    2f 70 72 6f 6a 65 63 74 69 6c 65 2f 69 73 73 75 | thub.com/bbatsov/projectile/issu | 
| 6680 | 65 73 2f 31 30 30 37 29 3a 20 4d 61 6b 65 20 75    73 65 20 6f 66 20 60 70 72 6f 6a 65 63 74 69 6c | es/1007):.Make.use.of.`projectil | 
| 66a0 | 65 2d 67 6f 2d 66 75 6e 63 74 69 6f 6e 60 2e 0a    2a 20 5b 23 31 30 31 31 5d 28 68 74 74 70 73 3a | e-go-function`..*.[#1011](https: | 
| 66c0 | 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 62 62 61    74 73 6f 76 2f 70 72 6f 6a 65 63 74 69 6c 65 2f | //github.com/bbatsov/projectile/ | 
| 66e0 | 69 73 73 75 65 73 2f 31 30 31 31 29 3a 20 53 61    76 65 20 70 72 6f 6a 65 63 74 20 66 69 6c 65 73 | issues/1011):.Save.project.files | 
| 6700 | 20 62 65 66 6f 72 65 20 72 75 6e 6e 69 6e 67 20    70 72 6f 6a 65 63 74 20 74 65 73 74 73 2e 0a 2a | .before.running.project.tests..* | 
| 6720 | 20 5b 23 31 30 39 39 5d 28 68 74 74 70 73 3a 2f    2f 67 69 74 68 75 62 2e 63 6f 6d 2f 62 62 61 74 | .[#1099](https://github.com/bbat | 
| 6740 | 73 6f 76 2f 70 72 6f 6a 65 63 74 69 6c 65 2f 69    73 73 75 65 73 2f 31 30 39 39 29 3a 20 46 69 78 | sov/projectile/issues/1099):.Fix | 
| 6760 | 20 74 68 65 20 62 65 68 61 76 69 6f 75 72 20 6f    66 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 70 75 | .the.behaviour.of.`projectile-pu | 
| 6780 | 72 67 65 2d 64 69 72 2d 66 72 6f 6d 2d 63 61 63    68 65 60 2e 0a 2a 20 5b 23 31 30 36 37 5d 28 68 | rge-dir-from-cache`..*.[#1067](h | 
| 67a0 | 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f    6d 2f 62 62 61 74 73 6f 76 2f 70 72 6f 6a 65 63 | ttps://github.com/bbatsov/projec | 
| 67c0 | 74 69 6c 65 2f 69 73 73 75 65 73 2f 31 30 36 37    29 3a 20 44 6f 6e 27 74 20 6d 65 73 73 20 75 70 | tile/issues/1067):.Don't.mess.up | 
| 67e0 | 20 60 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74    6f 72 79 60 20 61 66 74 65 72 20 73 77 69 74 63 | .`default-directory`.after.switc | 
| 6800 | 68 69 6e 67 20 70 72 6f 6a 65 63 74 73 2e 0a 2a    20 5b 23 31 32 34 36 5d 28 68 74 74 70 73 3a 2f | hing.projects..*.[#1246](https:/ | 
| 6820 | 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 62 62 61 74    73 6f 76 2f 70 72 6f 6a 65 63 74 69 6c 65 2f 69 | /github.com/bbatsov/projectile/i | 
| 6840 | 73 73 75 65 73 2f 31 32 34 36 29 3a 20 44 6f 6e    27 74 20 62 6c 6f 77 20 61 77 61 79 20 72 65 61 | ssues/1246):.Don't.blow.away.rea | 
| 6860 | 6c 20 70 72 6f 6a 65 63 74 20 66 69 6c 65 20 64    75 72 69 6e 67 20 74 65 73 74 73 2e 0a 0a 23 23 | l.project.file.during.tests...## | 
| 6880 | 20 30 2e 31 34 2e 30 20 28 32 30 31 36 2d 30 37    2d 30 38 29 0a 0a 23 23 23 20 4e 65 77 20 66 65 | .0.14.0.(2016-07-08)..###.New.fe | 
| 68a0 | 61 74 75 72 65 73 0a 0a 2a 20 41 64 64 20 5b 65    6c 69 78 69 72 5d 28 68 74 74 70 3a 2f 2f 65 6c | atures..*.Add.[elixir](http://el | 
| 68c0 | 69 78 69 72 2d 6c 61 6e 67 2e 6f 72 67 29 20 70    72 6f 6a 65 63 74 20 74 79 70 65 2e 0a 2a 20 41 | ixir-lang.org).project.type..*.A | 
| 68e0 | 64 64 20 5b 65 6d 61 63 73 2d 63 61 73 6b 5d 28    68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 | dd.[emacs-cask](https://github.c | 
| 6900 | 6f 6d 2f 63 61 73 6b 2f 63 61 73 6b 29 20 70 72    6f 6a 65 63 74 20 74 79 70 65 2e 0a 2a 20 41 64 | om/cask/cask).project.type..*.Ad | 
| 6920 | 64 20 5b 62 6f 6f 74 2d 63 6c 6a 5d 28 68 74 74    70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f | d.[boot-clj](https://github.com/ | 
| 6940 | 62 6f 6f 74 2d 63 6c 6a 2f 62 6f 6f 74 29 20 70    72 6f 6a 65 63 74 20 74 79 70 65 2e 0a 2a 20 41 | boot-clj/boot).project.type..*.A | 
| 6960 | 64 64 20 5b 72 61 63 6b 65 74 5d 28 68 74 74 70    3a 2f 2f 72 61 63 6b 65 74 2d 6c 61 6e 67 2e 6f | dd.[racket](http://racket-lang.o | 
| 6980 | 72 67 29 20 70 72 6f 6a 65 63 74 20 74 79 70 65    2e 0a 2a 20 41 64 64 20 73 75 70 70 6f 72 74 20 | rg).project.type..*.Add.support. | 
| 69a0 | 66 6f 72 20 70 72 6f 6a 65 63 74 73 20 75 73 69    6e 67 20 67 72 61 64 6c 65 77 20 73 63 72 69 70 | for.projects.using.gradlew.scrip | 
| 69c0 | 74 2e 0a 2a 20 50 72 65 66 65 72 20 48 61 73 6b    65 6c 6c 20 73 74 61 63 6b 20 70 72 6f 6a 65 63 | t..*.Prefer.Haskell.stack.projec | 
| 69e0 | 74 73 20 6f 76 65 72 20 63 61 62 61 6c 20 70 72    6f 6a 65 63 74 73 2e 0a 2a 20 41 64 64 20 61 62 | ts.over.cabal.projects..*.Add.ab | 
| 6a00 | 69 6c 69 74 79 20 74 6f 20 75 73 65 20 65 6c 69    73 70 20 66 75 6e 63 74 69 6f 6e 73 20 66 6f 72 | ility.to.use.elisp.functions.for | 
| 6a20 | 20 74 65 73 74 2c 20 63 6f 6d 70 69 6c 65 20 61    6e 64 20 72 75 6e 20 63 6f 6d 6d 61 6e 64 73 2e | .test,.compile.and.run.commands. | 
| 6a40 | 0a 2a 20 43 6f 6e 73 69 64 65 72 20 60 54 41 47    53 60 20 61 6e 64 20 60 47 54 41 47 53 60 20 72 | .*.Consider.`TAGS`.and.`GTAGS`.r | 
| 6a60 | 6f 6f 74 20 6d 61 72 6b 65 72 73 2e 0a 2a 20 41    64 64 20 72 65 6c 61 74 69 6f 6e 20 62 65 74 77 | oot.markers..*.Add.relation.betw | 
| 6a80 | 65 65 6e 20 74 68 65 20 60 2e 68 60 2c 20 60 2e    63 78 78 60 2c 20 60 2e 69 78 78 60 20 61 6e 64 | een.the.`.h`,.`.cxx`,.`.ixx`.and | 
| 6aa0 | 20 60 2e 68 78 78 60 20 66 69 6c 65 73 20 69 6e    20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 6f 74 68 | .`.hxx`.files.in.`projectile-oth | 
| 6ac0 | 65 72 2d 66 69 6c 65 2d 61 6c 69 73 74 60 2e 0a    2a 20 41 64 64 20 72 65 6c 61 74 69 6f 6e 20 62 | er-file-alist`..*.Add.relation.b | 
| 6ae0 | 65 74 77 65 65 6e 20 74 68 65 20 60 2e 68 70 70    60 20 61 6e 64 20 60 2e 63 63 60 20 66 69 6c 65 | etween.the.`.hpp`.and.`.cc`.file | 
| 6b00 | 73 20 69 6e 20 60 70 72 6f 6a 65 63 74 69 6c 65    2d 6f 74 68 65 72 2d 66 69 6c 65 2d 61 6c 69 73 | s.in.`projectile-other-file-alis | 
| 6b20 | 74 60 2e 0a 2a 20 41 64 64 20 73 75 70 70 6f 72    74 20 74 6f 20 73 70 65 63 69 66 79 20 70 72 6f | t`..*.Add.support.to.specify.pro | 
| 6b40 | 6a 65 63 74 20 6e 61 6d 65 20 65 69 74 68 65 72    20 76 69 61 20 60 2e 64 69 72 2d 6c 6f 63 61 6c | ject.name.either.via.`.dir-local | 
| 6b60 | 73 2e 65 6c 60 20 6f 72 20 62 79 20 70 72 6f 76    69 64 69 6e 67 20 61 20 63 75 73 74 6f 6d 69 7a | s.el`.or.by.providing.a.customiz | 
| 6b80 | 65 64 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 70    72 6f 6a 65 63 74 2d 6e 61 6d 65 2d 66 75 6e 63 | ed.`projectile-project-name-func | 
| 6ba0 | 74 69 6f 6e 60 2e 0a 2a 20 41 64 64 20 61 20 63    6f 6d 6d 61 6e 64 20 74 6f 20 73 77 69 74 63 68 | tion`..*.Add.a.command.to.switch | 
| 6bc0 | 20 62 65 74 77 65 65 6e 20 6f 70 65 6e 20 70 72    6f 6a 65 63 74 73 20 28 60 70 72 6f 6a 65 63 74 | .between.open.projects.(`project | 
| 6be0 | 69 6c 65 2d 73 77 69 74 63 68 2d 6f 70 65 6e 2d    70 72 6f 6a 65 63 74 60 29 2e 0a 2a 20 41 64 64 | ile-switch-open-project`)..*.Add | 
| 6c00 | 20 61 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 65 64    69 74 20 74 68 65 20 2e 64 69 72 2d 6c 6f 63 61 | .a.command.to.edit.the..dir-loca | 
| 6c20 | 6c 73 2e 65 6c 20 66 69 6c 65 20 6f 66 20 74 68    65 20 70 72 6f 6a 65 63 74 20 28 60 70 72 6f 6a | ls.el.file.of.the.project.(`proj | 
| 6c40 | 65 63 74 69 6c 65 2d 65 64 69 74 2d 64 69 72 2d    6c 6f 63 61 6c 73 60 29 2e 0a 2a 20 41 64 64 20 | ectile-edit-dir-locals`)..*.Add. | 
| 6c60 | 66 69 6c 65 20 6c 6f 63 61 6c 20 76 61 72 69 61    62 6c 65 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d | file.local.variable.`projectile- | 
| 6c80 | 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 60 2c 20 77    68 69 63 68 20 61 6c 6c 6f 77 73 20 6f 76 65 72 | project-root`,.which.allows.over | 
| 6ca0 | 72 69 64 69 6e 67 20 74 68 65 20 70 72 6f 6a 65    63 74 20 72 6f 6f 74 20 6f 6e 20 61 20 70 65 72 | riding.the.project.root.on.a.per | 
| 6cc0 | 2d 66 69 6c 65 20 62 61 73 69 73 2e 20 54 68 69    73 20 61 6c 6c 6f 77 73 20 6e 61 76 69 67 61 74 | -file.basis..This.allows.navigat | 
| 6ce0 | 69 6e 67 20 61 20 64 69 66 66 65 72 65 6e 74 20    70 72 6f 6a 65 63 74 20 66 72 6f 6d 2c 20 73 61 | ing.a.different.project.from,.sa | 
| 6d00 | 79 2c 20 61 6e 20 6f 72 67 20 66 69 6c 65 20 69    6e 20 61 20 61 6e 6f 74 68 65 72 20 67 69 74 20 | y,.an.org.file.in.a.another.git. | 
| 6d20 | 72 65 70 6f 73 69 74 6f 72 79 2e 0a 2a 20 41 64    64 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 67 72 | repository..*.Add.`projectile-gr | 
| 6d40 | 65 70 2d 66 69 6e 69 73 68 65 64 2d 68 6f 6f 6b    60 2e 0a 2a 20 49 67 6e 6f 72 65 20 66 69 6c 65 | ep-finished-hook`..*.Ignore.file | 
| 6d60 | 20 73 75 66 66 69 78 65 73 20 6c 69 73 74 65 64    20 69 6e 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d | .suffixes.listed.in.`projectile- | 
| 6d80 | 67 6c 6f 62 61 6c 6c 79 2d 69 67 6e 6f 72 65 64    2d 66 69 6c 65 2d 73 75 66 66 69 78 65 73 60 20 | globally-ignored-file-suffixes`. | 
| 6da0 | 77 68 65 6e 20 75 73 69 6e 67 20 60 70 72 6f 6a    65 63 74 69 6c 65 2d 67 72 65 70 60 20 61 6e 64 | when.using.`projectile-grep`.and | 
| 6dc0 | 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 61 67 60    2e 0a 2a 20 41 64 64 20 60 70 72 6f 6a 65 63 74 | .`projectile-ag`..*.Add.`project | 
| 6de0 | 69 6c 65 2d 72 65 70 6c 61 63 65 2d 72 65 67 65    78 70 60 2c 20 77 68 69 63 68 20 73 75 70 70 6f | ile-replace-regexp`,.which.suppo | 
| 6e00 | 72 74 73 20 72 65 70 6c 61 63 65 6d 65 6e 74 20    62 79 20 72 65 67 65 78 70 20 77 69 74 68 69 6e | rts.replacement.by.regexp.within | 
| 6e20 | 20 61 20 70 72 6f 6a 65 63 74 2e 20 60 70 72 6f    6a 65 63 74 69 6c 65 2d 72 65 70 6c 61 63 65 60 | .a.project..`projectile-replace` | 
| 6e40 | 20 69 73 20 6e 6f 77 20 75 73 65 64 20 73 6f 6c    65 6c 79 20 66 6f 72 20 6c 69 74 65 72 61 6c 20 | .is.now.used.solely.for.literal. | 
| 6e60 | 72 65 70 6c 61 63 65 6d 65 6e 74 73 2e 0a 2a 20    4e 65 77 20 63 6f 6d 6d 61 6e 64 20 60 70 72 6f | replacements..*.New.command.`pro | 
| 6e80 | 6a 65 63 74 69 6c 65 2d 72 75 6e 2d 73 68 65 6c    6c 60 20 28 3c 6b 62 64 3e 43 2d 63 20 70 20 78 | jectile-run-shell`.(<kbd>C-c.p.x | 
| 6ea0 | 20 73 3c 2f 6b 62 64 3e 29 2e 0a 2a 20 4e 65 77    20 63 6f 6d 6d 61 6e 64 20 60 70 72 6f 6a 65 63 | .s</kbd>)..*.New.command.`projec | 
| 6ec0 | 74 69 6c 65 2d 72 75 6e 2d 65 73 68 65 6c 6c 60    20 28 3c 6b 62 64 3e 43 2d 63 20 70 20 78 20 65 | tile-run-eshell`.(<kbd>C-c.p.x.e | 
| 6ee0 | 3c 2f 6b 62 64 3e 29 2e 0a 2a 20 4e 65 77 20 63    6f 6d 6d 61 6e 64 20 60 70 72 6f 6a 65 63 74 69 | </kbd>)..*.New.command.`projecti | 
| 6f00 | 6c 65 2d 72 75 6e 2d 74 65 72 6d 60 20 28 3c 6b    62 64 3e 43 2d 63 20 70 20 78 20 74 3c 2f 6b 62 | le-run-term`.(<kbd>C-c.p.x.t</kb | 
| 6f20 | 64 3e 29 2e 0a 2a 20 4c 65 74 20 75 73 65 72 20    75 6e 69 67 6e 6f 72 65 20 66 69 6c 65 73 20 69 | d>)..*.Let.user.unignore.files.i | 
| 6f40 | 6e 20 60 2e 70 72 6f 6a 65 63 74 69 6c 65 60 20    77 69 74 68 20 74 68 65 20 21 20 70 72 65 66 69 | n.`.projectile`.with.the.!.prefi | 
| 6f60 | 78 2e 0a 2a 20 41 64 64 20 61 20 63 6f 6d 6d 61    6e 64 20 74 6f 20 61 64 64 20 61 6c 6c 20 70 72 | x..*.Add.a.command.to.add.all.pr | 
| 6f80 | 6f 6a 65 63 74 73 20 69 6e 20 61 20 64 69 72 65    63 74 6f 72 79 20 74 6f 20 74 68 65 20 63 61 63 | ojects.in.a.directory.to.the.cac | 
| 6fa0 | 68 65 20 28 60 70 72 6f 6a 65 63 74 69 6c 65 2d    64 69 73 63 6f 76 65 72 2d 70 72 6f 6a 65 63 74 | he.(`projectile-discover-project | 
| 6fc0 | 73 2d 69 6e 2d 64 69 72 65 63 74 6f 72 79 60 29    2e 0a 2a 20 41 64 64 20 61 20 63 6f 6d 6d 61 6e | s-in-directory`)..*.Add.a.comman | 
| 6fe0 | 64 20 74 6f 20 6c 69 73 74 20 64 69 72 74 79 20    76 65 72 73 69 6f 6e 20 63 6f 6e 74 72 6f 6c 6c | d.to.list.dirty.version.controll | 
| 7000 | 65 64 20 70 72 6f 6a 65 63 74 73 20 28 60 70 72    6f 6a 65 63 74 69 6c 65 2d 62 72 6f 77 73 65 2d | ed.projects.(`projectile-browse- | 
| 7020 | 64 69 72 74 79 2d 70 72 6f 6a 65 63 74 73 60 29    2e 0a 0a 23 23 23 20 43 68 61 6e 67 65 73 0a 0a | dirty-projects`)...###.Changes.. | 
| 7040 | 2a 20 50 72 65 66 65 72 20 61 67 27 73 20 69 6e    74 65 72 6e 61 6c 20 2e 67 69 74 69 67 6e 6f 72 | *.Prefer.ag's.internal..gitignor | 
| 7060 | 65 20 70 61 72 73 69 6e 67 2e 0a 2a 20 41 64 64    65 64 20 76 61 72 69 61 62 6c 65 20 74 6f 20 63 | e.parsing..*.Added.variable.to.c | 
| 7080 | 6f 6e 74 72 6f 6c 20 75 73 65 20 6f 66 20 65 78    74 65 72 6e 61 6c 20 66 69 6e 64 2d 74 61 67 20 | ontrol.use.of.external.find-tag. | 
| 70a0 | 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 73 2e    0a 2a 20 53 70 65 63 69 66 79 20 60 2d 2d 77 69 | implementations..*.Specify.`--wi | 
| 70c0 | 74 68 2d 6b 65 65 70 2e 73 6f 75 72 63 65 60 20    61 72 67 75 6d 65 6e 74 20 77 68 65 6e 20 69 6e | th-keep.source`.argument.when.in | 
| 70e0 | 73 74 61 6c 6c 69 6e 67 20 52 20 70 72 6f 6a 65    63 74 73 0a 0a 23 23 23 20 42 75 67 73 20 66 69 | stalling.R.projects..###.Bugs.fi | 
| 7100 | 78 65 64 0a 0a 2a 20 5b 23 38 37 31 5d 28 68 74    74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d | xed..*.[#871](https://github.com | 
| 7120 | 2f 62 62 61 74 73 6f 76 2f 70 72 6f 6a 65 63 74    69 6c 65 2f 69 73 73 75 65 73 2f 38 37 31 29 3a | /bbatsov/projectile/issues/871): | 
| 7140 | 20 53 74 6f 70 20 61 64 76 69 63 65 20 66 6f 72    20 60 63 6f 6d 70 69 6c 61 74 69 6f 6e 2d 66 69 | .Stop.advice.for.`compilation-fi | 
| 7160 | 6e 64 2d 66 69 6c 65 60 20 74 6f 20 6f 76 65 72    72 69 64 65 20 6f 74 68 65 72 20 61 64 76 69 63 | nd-file`.to.override.other.advic | 
| 7180 | 65 73 2e 0a 2a 20 5b 23 35 35 37 5d 28 68 74 74    70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f | es..*.[#557](https://github.com/ | 
| 71a0 | 62 62 61 74 73 6f 76 2f 70 72 6f 6a 65 63 74 69    6c 65 2f 69 73 73 75 65 73 2f 35 35 37 29 3a 20 | bbatsov/projectile/issues/557):. | 
| 71c0 | 73 74 61 63 6b 20 6f 76 65 72 66 6c 6f 77 20 69    6e 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 66 69 | stack.overflow.in.`projectile-fi | 
| 71e0 | 6e 64 2d 74 61 67 60 2e 0a 2a 20 5b 23 39 35 35    5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 | nd-tag`..*.[#955](https://github | 
| 7200 | 2e 63 6f 6d 2f 62 62 61 74 73 6f 76 2f 70 72 6f    6a 65 63 74 69 6c 65 2f 69 73 73 75 65 73 2f 39 | .com/bbatsov/projectile/issues/9 | 
| 7220 | 35 35 29 3a 20 45 72 72 6f 72 20 77 68 69 6c 65    20 74 6f 67 67 6c 69 6e 67 20 62 65 74 77 65 65 | 55):.Error.while.toggling.betwee | 
| 7240 | 6e 20 74 65 73 74 20 61 6e 64 20 73 6f 75 72 63    65 20 66 69 6c 65 2e 0a 2a 20 5b 23 39 35 32 5d | n.test.and.source.file..*.[#952] | 
| 7260 | 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e    63 6f 6d 2f 62 62 61 74 73 6f 76 2f 70 72 6f 6a | (https://github.com/bbatsov/proj | 
| 7280 | 65 63 74 69 6c 65 2f 69 73 73 75 65 73 2f 39 35    32 29 3a 20 56 43 53 20 73 75 62 6d 6f 64 75 6c | ectile/issues/952):.VCS.submodul | 
| 72a0 | 65 73 20 62 72 6f 75 67 68 74 20 69 6e 20 65 76    65 6e 20 74 68 6f 75 67 68 74 20 6e 6f 74 20 64 | es.brought.in.even.thought.not.d | 
| 72c0 | 65 73 63 65 6e 64 65 6e 74 20 6f 66 20 70 72 6f    6a 65 63 74 20 72 6f 6f 74 2e 0a 2a 20 5b 23 35 | escendent.of.project.root..*.[#5 | 
| 72e0 | 37 36 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68    75 62 2e 63 6f 6d 2f 62 62 61 74 73 6f 76 2f 70 | 76](https://github.com/bbatsov/p | 
| 7300 | 72 6f 6a 65 63 74 69 6c 65 2f 69 73 73 75 65 73    2f 35 37 36 29 3a 20 60 70 72 6f 6a 65 63 74 69 | rojectile/issues/576):.`projecti | 
| 7320 | 6c 65 2d 72 65 70 6c 61 63 65 60 20 73 74 6f 6d    70 73 20 72 65 67 75 6c 61 72 20 65 78 70 72 65 | le-replace`.stomps.regular.expre | 
| 7340 | 73 73 69 6f 6e 73 2e 0a 2a 20 5b 23 39 35 37 5d    28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e | ssions..*.[#957](https://github. | 
| 7360 | 63 6f 6d 2f 62 62 61 74 73 6f 76 2f 70 72 6f 6a    65 63 74 69 6c 65 2f 70 75 6c 6c 2f 39 35 37 29 | com/bbatsov/projectile/pull/957) | 
| 7380 | 3a 20 57 68 65 6e 20 6f 70 65 6e 69 6e 67 20 61    20 73 70 65 63 69 66 69 65 64 20 66 69 6c 65 20 | :.When.opening.a.specified.file. | 
| 73a0 | 66 72 6f 6d 20 74 68 65 20 74 65 72 6d 69 6e 61    6c 2c 20 64 6f 20 6e 6f 74 20 65 72 72 6f 72 20 | from.the.terminal,.do.not.error. | 
| 73c0 | 69 6e 73 69 64 65 20 6f 66 20 60 70 72 6f 6a 65    63 74 69 6c 65 2d 63 61 63 68 65 2d 63 75 72 72 | inside.of.`projectile-cache-curr | 
| 73e0 | 65 6e 74 2d 66 69 6c 65 60 2e 0a 2a 20 5b 23 39    38 34 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 | ent-file`..*.[#984](https://gith | 
| 7400 | 75 62 2e 63 6f 6d 2f 62 62 61 74 73 6f 76 2f 70    72 6f 6a 65 63 74 69 6c 65 2f 70 75 6c 6c 2f 39 | ub.com/bbatsov/projectile/pull/9 | 
| 7420 | 38 34 29 3a 20 45 72 72 6f 72 20 77 68 65 6e 20    61 20 70 72 6f 6a 65 63 74 20 69 73 20 61 20 73 | 84):.Error.when.a.project.is.a.s | 
| 7440 | 79 6d 6c 69 6e 6b 20 74 68 61 74 20 63 68 61 6e    67 65 73 20 74 61 72 67 65 74 2e 0a 2a 20 5b 23 | ymlink.that.changes.target..*.[# | 
| 7460 | 31 30 31 33 5d 28 68 74 74 70 73 3a 2f 2f 67 69    74 68 75 62 2e 63 6f 6d 2f 62 62 61 74 73 6f 76 | 1013](https://github.com/bbatsov | 
| 7480 | 2f 70 72 6f 6a 65 63 74 69 6c 65 2f 69 73 73 75    65 73 2f 31 30 31 33 29 3a 20 60 70 72 6f 6a 65 | /projectile/issues/1013):.`proje | 
| 74a0 | 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 62 75    66 66 65 72 2d 70 60 20 6d 61 79 20 72 65 74 75 | ctile-project-buffer-p`.may.retu | 
| 74c0 | 72 6e 20 69 6e 63 6f 72 72 65 63 74 20 72 65 73    75 6c 74 20 6f 6e 20 57 69 6e 64 6f 77 73 2e 0a | rn.incorrect.result.on.Windows.. | 
| 74e0 | 0a 23 23 20 30 2e 31 33 2e 30 20 28 32 30 31 35    2d 31 30 2d 32 31 29 0a 0a 23 23 23 20 4e 65 77 | .##.0.13.0.(2015-10-21)..###.New | 
| 7500 | 20 66 65 61 74 75 72 65 73 0a 0a 2a 20 41 64 64    20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 62 65 66 | .features..*.Add.`projectile-bef | 
| 7520 | 6f 72 65 2d 73 77 69 74 63 68 2d 70 72 6f 6a 65    63 74 2d 68 6f 6f 6b 60 2e 0a 2a 20 41 64 64 20 | ore-switch-project-hook`..*.Add. | 
| 7540 | 74 68 65 20 61 62 69 6c 69 74 79 20 74 6f 20 73    70 65 63 69 66 79 20 74 68 65 20 70 72 6f 6a 65 | the.ability.to.specify.the.proje | 
| 7560 | 63 74 20 74 79 70 65 20 76 69 61 20 60 2e 64 69    72 2d 6c 6f 63 61 6c 73 2e 65 6c 60 2e 0a 2a 20 | ct.type.via.`.dir-locals.el`..*. | 
| 7580 | 41 64 64 20 73 75 70 70 6f 72 74 20 66 6f 72 20    70 72 6f 6a 65 63 74 73 20 75 73 69 6e 67 20 4d | Add.support.for.projects.using.M | 
| 75a0 | 69 64 6a 65 2e 0a 2a 20 41 64 64 20 74 68 65 20    61 62 69 6c 69 74 79 20 74 6f 20 63 72 65 61 74 | idje..*.Add.the.ability.to.creat | 
| 75c0 | 65 20 6d 69 73 73 69 6e 67 20 74 65 73 74 73 20    61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 28 63 | e.missing.tests.automatically.(c | 
| 75e0 | 6f 6e 74 72 6f 6c 6c 65 64 20 76 69 61 20 74 68    65 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 63 72 | ontrolled.via.the.`projectile-cr | 
| 7600 | 65 61 74 65 2d 6d 69 73 73 69 6e 67 2d 74 65 73    74 2d 66 69 6c 65 73 60 20 64 65 66 63 75 73 74 | eate-missing-test-files`.defcust | 
| 7620 | 6f 6d 29 2e 0a 2a 20 41 64 64 20 74 68 65 20 61    62 69 6c 69 74 79 20 74 6f 20 64 79 6e 61 6d 69 | om)..*.Add.the.ability.to.dynami | 
| 7640 | 63 61 6c 6c 79 20 64 65 63 69 64 65 20 69 66 20    61 20 70 72 6f 6a 65 63 74 20 73 68 6f 75 6c 64 | cally.decide.if.a.project.should | 
| 7660 | 20 62 65 20 61 64 64 65 64 20 74 6f 20 60 70 72    6f 6a 65 63 74 69 6c 65 2d 6b 6e 6f 77 6e 2d 70 | .be.added.to.`projectile-known-p | 
| 7680 | 72 6f 6a 65 63 74 73 60 20 28 76 69 61 20 6e 65    77 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 69 67 | rojects`.(via.new.`projectile-ig | 
| 76a0 | 6e 6f 72 65 64 2d 70 72 6f 6a 65 63 74 2d 66 75    6e 63 74 69 6f 6e 60 20 64 65 66 63 75 73 74 6f | nored-project-function`.defcusto | 
| 76c0 | 6d 29 2e 0a 2a 20 41 64 64 20 74 68 65 20 61 62    69 6c 69 74 79 20 74 6f 20 72 65 67 69 73 74 65 | m)..*.Add.the.ability.to.registe | 
| 76e0 | 72 20 6e 65 77 20 70 72 6f 6a 65 63 74 20 74 79    70 65 73 20 64 79 6e 61 6d 69 63 61 6c 6c 79 20 | r.new.project.types.dynamically. | 
| 7700 | 77 69 74 68 20 60 70 72 6f 6a 65 63 74 69 6c 65    2d 72 65 67 69 73 74 65 72 2d 70 72 6f 6a 65 63 | with.`projectile-register-projec | 
| 7720 | 74 2d 74 79 70 65 60 2e 0a 2a 20 41 64 64 20 74    68 65 20 61 62 69 6c 69 74 79 20 74 6f 20 73 70 | t-type`..*.Add.the.ability.to.sp | 
| 7740 | 65 63 69 66 79 20 61 20 70 72 6f 6a 65 63 74 20    63 6f 6d 70 69 6c 61 74 69 6f 6e 20 61 6e 64 20 | ecify.a.project.compilation.and. | 
| 7760 | 74 65 73 74 20 63 6f 6d 6d 61 6e 64 73 20 76 69    61 20 60 2e 64 69 72 2d 6c 6f 63 61 6c 73 2e 65 | test.commands.via.`.dir-locals.e | 
| 7780 | 6c 60 2e 0a 54 68 69 73 20 69 73 20 64 6f 6e 65    20 76 69 61 20 74 68 65 20 76 61 72 69 61 62 6c | l`..This.is.done.via.the.variabl | 
| 77a0 | 65 73 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 70    72 6f 6a 65 63 74 2d 63 6f 6d 70 69 6c 61 74 69 | es.`projectile-project-compilati | 
| 77c0 | 6f 6e 2d 63 6d 64 60 20 61 6e 64 20 60 70 72 6f    6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d | on-cmd`.and.`projectile-project- | 
| 77e0 | 74 65 73 74 2d 63 6d 64 60 2e 0a 2a 20 5b 23 34    38 39 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 | test-cmd`..*.[#489](https://gith | 
| 7800 | 75 62 2e 63 6f 6d 2f 62 62 61 74 73 6f 76 2f 70    72 6f 6a 65 63 74 69 6c 65 2f 69 73 73 75 65 73 | ub.com/bbatsov/projectile/issues | 
| 7820 | 2f 34 38 39 29 3a 20 4e 65 77 20 69 6e 74 65 72    61 63 74 69 76 65 20 63 6f 6d 6d 61 6e 64 20 60 | /489):.New.interactive.command.` | 
| 7840 | 70 72 6f 6a 65 63 74 69 6c 65 2d 72 75 6e 2d 70    72 6f 6a 65 63 74 60 2e 0a 2a 20 4f 70 74 69 6f | projectile-run-project`..*.Optio | 
| 7860 | 6e 61 6c 6c 79 20 72 75 6e 20 5b 6d 6f 6e 6b 79    5d 28 68 74 74 70 3a 2f 2f 61 6e 61 6e 74 68 61 | nally.run.[monky](http://anantha | 
| 7880 | 6b 75 6d 61 72 61 6e 2e 69 6e 2f 6d 6f 6e 6b 79    2f 29 20 6f 6e 20 4d 65 72 63 75 72 69 61 6c 20 | kumaran.in/monky/).on.Mercurial. | 
| 78a0 | 70 72 6f 6a 65 63 74 73 2e 0a 2a 20 41 64 64 20    74 68 65 20 61 62 69 6c 69 74 79 20 74 6f 20 73 | projects..*.Add.the.ability.to.s | 
| 78c0 | 70 65 63 69 66 79 20 61 20 70 72 6f 6a 65 63 74    20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 64 69 72 | pecify.a.project.compilation.dir | 
| 78e0 | 65 63 74 6f 72 79 20 72 65 6c 61 74 69 76 65 20    74 6f 20 74 68 65 20 72 6f 6f 74 20 64 69 72 65 | ectory.relative.to.the.root.dire | 
| 7900 | 63 74 6f 72 79 20 76 69 61 20 60 2e 64 69 72 2d    6c 6f 63 61 6c 73 2e 65 6c 60 20 77 69 74 68 20 | ctory.via.`.dir-locals.el`.with. | 
| 7920 | 74 68 65 20 76 61 72 69 61 62 6c 65 20 60 70 72    6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 | the.variable.`projectile-project | 
| 7940 | 2d 63 6f 6d 70 69 6c 61 74 69 6f 6e 2d 64 69 72    60 2e 0a 2a 20 57 68 65 6e 20 74 68 65 72 65 20 | -compilation-dir`..*.When.there. | 
| 7960 | 69 73 20 61 20 73 65 6c 65 63 74 65 64 20 72 65    67 69 6f 6e 2c 20 70 72 6f 6a 65 63 74 69 6c 65 | is.a.selected.region,.projectile | 
| 7980 | 2d 61 67 2c 20 70 72 6f 6a 65 63 74 69 6c 65 2d    67 72 65 70 2c 20 70 72 6f 6a 65 63 74 69 6c 65 | -ag,.projectile-grep,.projectile | 
| 79a0 | 2d 72 65 70 6c 61 63 65 20 61 6e 64 20 70 72 6f    6a 65 63 74 69 6c 65 2d 66 69 6e 64 2d 74 61 67 | -replace.and.projectile-find-tag | 
| 79c0 | 20 75 73 65 73 20 69 74 27 73 20 63 6f 6e 74 65    6e 74 20 61 73 20 61 20 73 65 61 72 63 68 20 74 | .uses.it's.content.as.a.search.t | 
| 79e0 | 65 72 6d 20 69 6e 73 74 65 61 64 20 6f 66 20 73    79 6d 62 6f 6c 20 61 74 20 70 6f 69 6e 74 2e 0a | erm.instead.of.symbol.at.point.. | 
| 7a00 | 0a 23 23 23 20 43 68 61 6e 67 65 73 0a 0a 2a 20    52 65 6e 61 6d 65 20 60 70 72 6f 6a 65 63 74 69 | .###.Changes..*.Rename.`projecti | 
| 7a20 | 6c 65 2d 73 77 69 74 63 68 2d 70 72 6f 6a 65 63    74 2d 68 6f 6f 6b 60 20 74 6f 20 60 70 72 6f 6a | le-switch-project-hook`.to.`proj | 
| 7a40 | 65 63 74 69 6c 65 2d 61 66 74 65 72 2d 73 77 69    74 63 68 2d 70 72 6f 6a 65 63 74 2d 68 6f 6f 6b | ectile-after-switch-project-hook | 
| 7a60 | 60 2e 0a 2a 20 60 70 72 6f 6a 65 63 74 69 6c 65    2d 63 6f 6d 70 69 6c 65 2d 70 72 6f 6a 65 63 74 | `..*.`projectile-compile-project | 
| 7a80 | 60 20 6e 6f 77 20 6f 66 66 65 72 73 20 61 70 70    72 6f 70 72 69 61 74 65 20 63 6f 6d 70 6c 65 74 | `.now.offers.appropriate.complet | 
| 7aa0 | 69 6f 6e 0a 74 61 72 67 65 74 73 20 65 76 65 6e    20 77 68 65 6e 20 63 61 6c 6c 65 64 20 66 72 6f | ion.targets.even.when.called.fro | 
| 7ac0 | 6d 20 61 20 73 75 62 64 69 72 65 63 74 6f 72 79    2e 0a 2a 20 41 64 64 20 61 6e 20 61 72 67 75 6d | m.a.subdirectory..*.Add.an.argum | 
| 7ae0 | 65 6e 74 20 73 70 65 63 69 66 79 69 6e 67 20 74    68 65 20 72 65 67 65 78 70 20 74 6f 20 73 65 61 | ent.specifying.the.regexp.to.sea | 
| 7b00 | 72 63 68 20 74 6f 20 60 70 72 6f 6a 65 63 74 69    6c 65 2d 67 72 65 70 60 2e 0a 2a 20 55 73 65 20 | rch.to.`projectile-grep`..*.Use. | 
| 7b20 | 60 68 65 6c 70 2d 70 72 6f 6a 65 63 74 69 6c 65    2d 67 72 65 70 60 20 69 6e 73 74 65 61 64 20 6f | `help-projectile-grep`.instead.o | 
| 7b40 | 66 20 60 68 65 6c 6d 2d 66 69 6e 64 2d 66 69 6c    65 60 20 77 68 65 6e 20 73 65 6c 65 63 74 69 6e | f.`helm-find-file`.when.selectin | 
| 7b60 | 67 20 61 20 70 72 6f 6a 65 63 74 2e 0a 2a 20 4f    6d 69 74 20 63 75 72 72 65 6e 74 20 62 75 66 66 | g.a.project..*.Omit.current.buff | 
| 7b80 | 65 72 20 66 72 6f 6d 20 60 70 72 6f 6a 65 63 74    69 6c 65 2d 73 77 69 74 63 68 2d 74 6f 2d 62 75 | er.from.`projectile-switch-to-bu | 
| 7ba0 | 66 66 65 72 60 20 61 6e 64 20 60 70 72 6f 6a 65    63 74 69 6c 65 2d 73 77 69 74 63 68 2d 74 6f 2d | ffer`.and.`projectile-switch-to- | 
| 7bc0 | 62 75 66 66 65 72 2d 6f 74 68 65 72 2d 77 69 6e    64 6f 77 60 20 63 68 6f 69 63 65 73 2e 0a 0a 23 | buffer-other-window`.choices...# | 
| 7be0 | 23 23 20 42 75 67 73 20 66 69 78 65 64 0a 0a 2a    20 5b 23 37 32 31 5d 28 68 74 74 70 73 3a 2f 2f | ##.Bugs.fixed..*.[#721](https:// | 
| 7c00 | 67 69 74 68 75 62 2e 63 6f 6d 2f 62 62 61 74 73    6f 76 2f 70 72 6f 6a 65 63 74 69 6c 65 2f 69 73 | github.com/bbatsov/projectile/is | 
| 7c20 | 73 75 65 73 2f 37 32 31 23 69 73 73 75 65 63 6f    6d 6d 65 6e 74 2d 31 30 30 38 33 30 35 30 37 29 | sues/721#issuecomment-100830507) | 
| 7c40 | 3a 20 52 65 6d 6f 76 65 20 63 75 72 72 65 6e 74    20 62 75 66 66 65 72 20 66 72 6f 6d 20 60 68 65 | :.Remove.current.buffer.from.`he | 
| 7c60 | 6c 6d 2d 70 72 6f 6a 65 63 74 69 6c 65 2d 73 77    69 74 63 68 2d 70 72 6f 6a 65 63 74 60 2e 0a 2a | lm-projectile-switch-project`..* | 
| 7c80 | 20 5b 23 36 36 37 5d 28 68 74 74 70 73 3a 2f 2f    67 69 74 68 75 62 2e 63 6f 6d 2f 62 62 61 74 73 | .[#667](https://github.com/bbats | 
| 7ca0 | 6f 76 2f 70 72 6f 6a 65 63 74 69 6c 65 2f 69 73    73 75 65 73 2f 36 36 37 29 20 55 73 65 20 60 66 | ov/projectile/issues/667).Use.`f | 
| 7cc0 | 69 6c 65 2d 74 72 75 65 6e 61 6d 65 60 20 77 68    65 6e 20 63 61 63 68 69 6e 67 20 66 69 6c 65 6e | ile-truename`.when.caching.filen | 
| 7ce0 | 61 6d 65 73 20 74 6f 20 70 72 65 76 65 6e 74 20    64 75 70 6c 69 63 61 74 65 2f 73 79 6d 6c 69 6e | ames.to.prevent.duplicate/symlin | 
| 7d00 | 6b 65 64 20 66 69 6c 65 70 61 74 68 73 20 66 72    6f 6d 20 61 70 70 65 61 72 69 6e 67 20 77 68 65 | ked.filepaths.from.appearing.whe | 
| 7d20 | 6e 20 6f 70 65 6e 69 6e 67 20 61 20 70 72 6f 6a    65 63 74 20 66 69 6c 65 2e 0a 2a 20 5b 23 36 32 | n.opening.a.project.file..*.[#62 | 
| 7d40 | 35 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75    62 2e 63 6f 6d 2f 62 62 61 74 73 6f 76 2f 70 72 | 5](https://github.com/bbatsov/pr | 
| 7d60 | 6f 6a 65 63 74 69 6c 65 2f 69 73 73 75 65 73 2f    36 32 35 29 3a 20 45 6e 73 75 72 65 20 74 68 65 | ojectile/issues/625):.Ensure.the | 
| 7d80 | 20 64 69 72 65 63 74 6f 72 79 20 68 61 73 20 61    20 74 72 61 69 6c 69 6e 67 20 73 6c 61 73 68 20 | .directory.has.a.trailing.slash. | 
| 7da0 | 77 68 69 6c 65 20 73 65 61 72 63 68 69 6e 67 20    66 6f 72 20 69 74 2e 0a 2a 20 5b 23 37 36 33 5d | while.searching.for.it..*.[#763] | 
| 7dc0 | 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e    63 6f 6d 2f 62 62 61 74 73 6f 76 2f 70 72 6f 6a | (https://github.com/bbatsov/proj | 
| 7de0 | 65 63 74 69 6c 65 2f 69 73 73 75 65 73 2f 37 36    33 29 3a 20 43 68 65 63 6b 20 66 6f 72 20 60 70 | ectile/issues/763):.Check.for.`p | 
| 7e00 | 72 6f 6a 65 63 74 69 6c 65 2d 75 73 65 2d 67 69    74 2d 67 72 65 70 60 20 69 6e 20 60 68 65 6c 6d | rojectile-use-git-grep`.in.`helm | 
| 7e20 | 2d 70 72 6f 6a 65 63 74 69 6c 65 2d 67 72 65 70    60 0a 2a 20 46 69 78 20 60 70 72 6f 6a 65 63 74 | -projectile-grep`.*.Fix.`project | 
| 7e40 | 69 6c 65 2d 70 61 72 73 65 2d 64 69 72 63 6f 6e    66 69 67 2d 66 69 6c 65 60 20 74 6f 20 70 61 72 | ile-parse-dirconfig-file`.to.par | 
| 7e60 | 73 65 20 6e 6f 6e 2d 41 53 43 49 49 20 63 68 61    72 61 63 74 65 72 73 20 70 72 6f 70 65 72 6c 79 | se.non-ASCII.characters.properly | 
| 7e80 | 2e 0a 0a 23 23 20 30 2e 31 32 2e 30 20 28 32 30    31 35 2d 30 33 2d 32 39 29 0a 0a 23 23 23 20 4e | ...##.0.12.0.(2015-03-29)..###.N | 
| 7ea0 | 65 77 20 66 65 61 74 75 72 65 73 0a 0a 2a 20 52    65 70 6c 61 63 65 20 48 65 6c 6d 20 65 71 75 69 | ew.features..*.Replace.Helm.equi | 
| 7ec0 | 76 61 6c 65 6e 74 20 63 6f 6d 6d 61 6e 64 73 20    69 6e 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 63 | valent.commands.in.`projectile-c | 
| 7ee0 | 6f 6d 6d 61 6e 64 65 72 60 20 77 68 65 6e 20 75    73 69 6e 67 20 48 65 6c 6d 2e 0a 2a 20 41 64 64 | ommander`.when.using.Helm..*.Add | 
| 7f00 | 20 72 65 70 6c 61 63 65 6d 65 6e 74 20 63 6f 6d    6d 61 6e 64 73 20 70 72 6f 6a 65 63 74 69 6c 65 | .replacement.commands.projectile | 
| 7f20 | 2d 67 72 65 70 2c 20 70 72 6f 6a 65 63 74 69 6c    65 2d 61 63 6b 20 61 6e 64 20 70 72 6f 6a 65 63 | -grep,.projectile-ack.and.projec | 
| 7f40 | 74 69 6c 65 2d 61 67 20 77 69 74 68 20 69 74 73    20 48 65 6c 6d 20 76 65 72 73 69 6f 6e 2e 0a 2a | tile-ag.with.its.Helm.version..* | 
| 7f60 | 20 41 64 64 20 76 69 72 74 75 61 6c 20 64 69 72    65 63 74 6f 72 79 20 6d 61 6e 61 67 65 72 20 74 | .Add.virtual.directory.manager.t | 
| 7f80 | 68 61 74 20 61 6c 6c 6f 77 73 20 74 6f 20 63 72    65 61 74 65 2f 75 70 64 61 74 65 20 28 61 64 64 | hat.allows.to.create/update.(add | 
| 7fa0 | 20 6f 72 20 64 65 6c 65 74 65 20 66 69 6c 65 73    29 20 61 20 44 69 72 65 64 20 62 75 66 66 65 72 | .or.delete.files).a.Dired.buffer | 
| 7fc0 | 20 62 61 73 65 64 20 6f 6e 20 50 72 6f 6a 65 63    74 69 6c 65 20 66 69 6c 65 73 2e 0a 2a 20 41 64 | .based.on.Projectile.files..*.Ad | 
| 7fe0 | 64 20 61 20 6e 65 77 20 48 65 6c 6d 20 63 6f 6d    6d 61 6e 64 3a 20 60 68 65 6c 6d 2d 70 72 6f 6a | d.a.new.Helm.command:.`helm-proj | 
| 8000 | 65 63 74 69 6c 65 2d 66 69 6e 64 2d 66 69 6c 65    2d 69 6e 2d 6b 6e 6f 77 6e 2d 70 72 6f 6a 65 63 | ectile-find-file-in-known-projec | 
| 8020 | 74 73 60 20 74 68 61 74 20 6f 70 65 6e 73 20 61    6c 6c 20 66 69 6c 65 73 20 69 6e 20 61 6c 6c 20 | ts`.that.opens.all.files.in.all. | 
| 8040 | 6b 6e 6f 77 6e 20 70 72 6f 6a 65 63 74 73 2e 0a    2a 20 41 64 64 20 61 6e 20 61 63 74 69 6f 6e 20 | known.projects..*.Add.an.action. | 
| 8060 | 66 6f 72 20 60 68 65 6c 6d 2d 70 72 6f 6a 65 63    74 69 6c 65 2d 73 77 69 74 63 68 2d 70 72 6f 6a | for.`helm-projectile-switch-proj | 
| 8080 | 65 63 74 60 20 74 6f 20 64 65 6c 65 74 65 20 6d    75 6c 74 69 70 6c 65 20 6d 61 72 6b 65 64 20 70 | ect`.to.delete.multiple.marked.p | 
| 80a0 | 72 6f 6a 65 63 74 73 2e 0a 2a 20 41 64 64 20 74    68 65 20 61 62 69 6c 69 74 79 20 74 6f 20 72 65 | rojects..*.Add.the.ability.to.re | 
| 80c0 | 74 72 69 65 76 65 20 66 69 6c 65 73 20 69 6e 20    61 6c 6c 20 73 75 62 2d 70 72 6f 6a 65 63 74 73 | trieve.files.in.all.sub-projects | 
| 80e0 | 20 75 6e 64 65 72 20 61 20 70 72 6f 6a 65 63 74    20 72 6f 6f 74 2e 0a 2a 20 41 64 64 20 60 70 72 | .under.a.project.root..*.Add.`pr | 
| 8100 | 6f 6a 65 63 74 69 6c 65 2d 66 69 6e 64 2d 66 69    6c 65 2d 64 77 69 6d 60 20 61 6e 64 20 60 68 65 | ojectile-find-file-dwim`.and.`he | 
| 8120 | 6c 6d 2d 70 72 6f 6a 65 63 74 69 6c 65 2d 66 69    6e 64 2d 66 69 6c 65 2d 64 77 69 6d 60 20 63 6f | lm-projectile-find-file-dwim`.co | 
| 8140 | 6d 6d 61 6e 64 73 2e 0a 2a 20 50 72 6f 76 69 64    65 20 61 63 74 75 61 6c 20 48 65 6c 6d 20 63 6f | mmands..*.Provide.actual.Helm.co | 
| 8160 | 6d 6d 61 6e 64 73 20 66 6f 72 20 63 6f 6d 6d 6f    6e 20 50 72 6f 6a 65 63 74 69 6c 65 20 63 6f 6d | mmands.for.common.Projectile.com | 
| 8180 | 6d 61 6e 64 73 2e 0a 2a 20 55 73 65 20 65 78 69    73 74 69 6e 67 20 48 65 6c 6d 20 61 63 74 69 6f | mands..*.Use.existing.Helm.actio | 
| 81a0 | 6e 73 20 61 6e 64 20 6d 61 70 20 69 6e 20 60 68    65 6c 6d 2d 66 69 6e 64 2d 66 69 6c 65 73 60 20 | ns.and.map.in.`helm-find-files`. | 
| 81c0 | 74 68 61 74 20 61 6c 6c 6f 77 73 20 60 68 65 6c    6d 2d 73 6f 75 72 63 65 2d 70 72 6f 6a 65 63 74 | that.allows.`helm-source-project | 
| 81e0 | 69 6c 65 2d 66 69 6c 65 73 2d 6c 69 73 74 60 0a    74 6f 20 62 65 68 61 76 65 20 6c 69 6b 65 20 60 | ile-files-list`.to.behave.like.` | 
| 8200 | 68 65 6c 6d 2d 66 69 6e 64 2d 66 69 6c 65 73 60    2c 20 73 75 63 68 20 61 73 20 6d 75 6c 74 69 66 | helm-find-files`,.such.as.multif | 
| 8220 | 69 6c 65 20 73 65 6c 65 63 74 69 6f 6e 20 61 6e    64 20 6f 70 65 6e 69 6e 67 20 6f 72 20 64 65 6c | ile.selection.and.opening.or.del | 
| 8240 | 65 74 65 20 6f 6e 20 73 65 6c 65 63 74 65 64 20    66 69 6c 65 73 2e 0a 2a 20 41 64 64 20 63 6f 6d | ete.on.selected.files..*.Add.com | 
| 8260 | 70 69 6c 65 20 61 63 74 69 6f 6e 20 74 6f 20 60    68 65 6c 6d 2d 70 72 6f 6a 65 63 74 69 6c 65 60 | pile.action.to.`helm-projectile` | 
| 8280 | 2e 0a 2a 20 41 6c 6c 6f 77 73 20 75 73 69 6e 67    20 45 73 68 65 6c 6c 20 61 6e 64 20 4d 61 67 69 | ..*.Allows.using.Eshell.and.Magi | 
| 82a0 | 74 20 6f 75 74 73 69 64 65 20 6f 66 20 61 20 70    72 6f 6a 65 63 74 20 69 6e 20 60 68 65 6c 6d 2d | t.outside.of.a.project.in.`helm- | 
| 82c0 | 70 72 6f 6a 65 63 74 69 6c 65 60 2e 0a 2a 20 41    64 64 20 48 65 6c 6d 20 61 63 74 69 6f 6e 20 66 | projectile`..*.Add.Helm.action.f | 
| 82e0 | 6f 72 20 69 6e 63 72 65 6d 65 6e 74 61 6c 20 67    72 65 70 20 69 6e 20 74 68 65 20 73 65 6c 65 63 | or.incremental.grep.in.the.selec | 
| 8300 | 74 65 64 20 70 72 6f 6a 65 63 74 73 2e 0a 2a 20    41 64 64 20 63 6f 6d 6d 61 6e 64 20 70 72 6f 6a | ted.projects..*.Add.command.proj | 
| 8320 | 65 63 74 69 6c 65 2d 66 69 6e 64 2d 6f 74 68 65    72 2d 66 69 6c 65 20 20 53 77 69 74 63 68 20 62 | ectile-find-other-file..Switch.b | 
| 8340 | 65 74 77 65 65 6e 20 66 69 6c 65 73 20 77 69 74    68 0a 74 68 65 20 73 61 6d 65 20 20 6e 61 6d 65 | etween.files.with.the.same..name | 
| 8360 | 20 62 75 74 20 64 69 66 66 65 72 65 6e 74 20 65    78 74 65 6e 73 69 6f 6e 73 2e 0a 2a 20 41 64 64 | .but.different.extensions..*.Add | 
| 8380 | 20 48 65 6c 6d 20 69 6e 74 65 72 66 61 63 65 20    74 6f 20 73 77 69 74 63 68 20 70 72 6f 6a 65 63 | .Helm.interface.to.switch.projec | 
| 83a0 | 74 2e 20 46 6f 72 20 6d 6f 72 65 20 64 65 74 61    69 6c 73 20 63 68 65 63 6b 6f 75 74 20 74 68 65 | t..For.more.details.checkout.the | 
| 83c0 | 20 66 69 6c 65 0a 52 45 41 44 4d 45 2e 6d 64 2e    0a 2a 20 4d 61 6b 65 20 74 68 65 20 6d 6f 64 65 | .file.README.md..*.Make.the.mode | 
| 83e0 | 20 6c 69 6e 65 20 66 6f 72 6d 61 74 20 63 75 73    74 6f 6d 69 7a 61 62 6c 65 20 77 69 74 68 20 60 | .line.format.customizable.with.` | 
| 8400 | 70 72 6f 6a 65 63 74 69 6c 65 2d 6d 6f 64 65 2d    6c 69 6e 65 60 0a 2a 20 41 64 64 20 73 75 70 70 | projectile-mode-line`.*.Add.supp | 
| 8420 | 6f 72 74 20 66 6f 72 20 60 63 61 72 67 6f 2e 74    6f 6d 6c 60 20 70 72 6f 6a 65 63 74 73 0a 2a 20 | ort.for.`cargo.toml`.projects.*. | 
| 8440 | 54 72 79 20 74 6f 20 75 73 65 20 70 72 6f 6a 65    63 74 69 6c 65 20 74 6f 20 66 69 6e 64 20 66 69 | Try.to.use.projectile.to.find.fi | 
| 8460 | 6c 65 73 20 69 6e 20 63 6f 6d 70 69 6c 61 74 69    6f 6e 20 62 75 66 66 65 72 73 0a 2a 20 53 75 70 | les.in.compilation.buffers.*.Sup | 
| 8480 | 70 6f 72 74 20 60 68 65 6c 6d 60 20 61 73 20 61    20 63 6f 6d 70 6c 65 74 69 6f 6e 20 73 79 73 74 | port.`helm`.as.a.completion.syst | 
| 84a0 | 65 6d 0a 2a 20 4e 65 77 20 63 6f 6d 6d 61 6e 64    20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f | em.*.New.command.`projectile-pro | 
| 84c0 | 6a 65 63 74 2d 69 6e 66 6f 60 20 64 69 73 70 6c    61 79 73 20 62 61 73 69 63 20 69 6e 66 6f 20 61 | ject-info`.displays.basic.info.a | 
| 84e0 | 62 6f 75 74 20 74 68 65 20 63 75 72 72 65 6e 74    20 70 72 6f 6a 65 63 74 2e 0a 2a 20 4e 65 77 20 | bout.the.current.project..*.New. | 
| 8500 | 60 64 65 66 63 75 73 74 6f 6d 60 20 60 70 72 6f    6a 65 63 74 69 6c 65 2d 67 6c 6f 62 61 6c 6c 79 | `defcustom`.`projectile-globally | 
| 8520 | 2d 69 67 6e 6f 72 65 64 2d 62 75 66 66 65 72 73    60 20 61 6c 6c 6f 77 73 20 79 6f 75 20 74 6f 20 | -ignored-buffers`.allows.you.to. | 
| 8540 | 69 67 6e 6f 72 65 0a 62 75 66 66 65 72 73 20 62    79 20 6e 61 6d 65 0a 2a 20 4e 65 77 20 60 64 65 | ignore.buffers.by.name.*.New.`de | 
| 8560 | 66 63 75 73 74 6f 6d 60 20 60 70 72 6f 6a 65 63    74 69 6c 65 2d 67 6c 6f 62 61 6c 6c 79 2d 69 67 | fcustom`.`projectile-globally-ig | 
| 8580 | 6e 6f 72 65 64 2d 66 69 6c 65 2d 73 75 66 66 69    78 65 73 60 20 61 6c 6c 6f 77 73 0a 79 6f 75 20 | nored-file-suffixes`.allows.you. | 
| 85a0 | 74 6f 20 67 6c 6f 62 61 6c 6c 79 20 69 67 6e 6f    72 65 20 66 69 6c 65 73 20 77 69 74 68 20 70 61 | to.globally.ignore.files.with.pa | 
| 85c0 | 72 74 69 63 75 6c 61 72 20 65 78 74 65 6e 73 69    6f 6e 73 0a 0a 23 23 23 20 43 68 61 6e 67 65 73 | rticular.extensions..###.Changes | 
| 85e0 | 0a 0a 2a 20 67 65 74 2d 6f 74 68 65 72 2d 66 69    6c 65 73 20 72 65 74 75 72 6e 73 20 6d 6f 72 65 | ..*.get-other-files.returns.more | 
| 8600 | 20 61 63 63 75 72 61 74 65 20 72 65 73 75 6c 74    73 20 66 6f 72 20 66 69 6c 65 73 20 77 69 74 68 | .accurate.results.for.files.with | 
| 8620 | 20 74 68 65 20 73 61 6d 65 20 6e 61 6d 65 20 70    6c 61 63 65 64 20 75 6e 64 65 72 20 64 69 66 66 | .the.same.name.placed.under.diff | 
| 8640 | 65 72 65 6e 74 20 64 69 72 65 63 74 6f 72 69 65    73 0a 2a 20 43 6f 6c 6c 65 63 74 20 73 65 61 72 | erent.directories.*.Collect.sear | 
| 8660 | 63 68 20 74 6f 6f 6c 20 28 60 67 72 65 70 60 2c    20 60 61 67 60 2c 20 60 61 63 6b 60 29 20 6b 65 | ch.tool.(`grep`,.`ag`,.`ack`).ke | 
| 8680 | 79 62 69 6e 64 69 6e 67 73 20 75 6e 64 65 72 20    61 20 63 6f 6d 6d 6f 6e 20 6b 65 79 6d 61 70 20 | ybindings.under.a.common.keymap. | 
| 86a0 | 70 72 65 66 69 78 20 28 60 43 2d 63 20 70 20 73    60 29 0a 2a 20 52 65 6d 6f 76 65 20 60 64 65 66 | prefix.(`C-c.p.s`).*.Remove.`def | 
| 86c0 | 63 75 73 74 6f 6d 60 20 60 70 72 6f 6a 65 63 74    69 6c 65 2d 72 65 6d 65 6d 62 65 72 2d 77 69 6e | custom`.`projectile-remember-win | 
| 86e0 | 64 6f 77 2d 63 6f 6e 66 69 67 73 60 20 69 6e 20    66 61 76 6f 72 20 6f 66 0a 60 70 65 72 73 70 2d | dow-configs`.in.favor.of.`persp- | 
| 8700 | 70 72 6f 6a 65 63 74 69 6c 65 2e 65 6c 60 2e 0a    2a 20 50 72 6f 67 72 65 73 73 20 72 65 70 6f 72 | projectile.el`..*.Progress.repor | 
| 8720 | 74 65 72 20 66 6f 72 20 74 68 65 20 6e 61 74 69    76 65 20 69 6e 64 65 78 69 6e 67 20 6d 65 74 68 | ter.for.the.native.indexing.meth | 
| 8740 | 6f 64 2e 0a 0a 23 23 23 20 42 75 67 73 20 66 69    78 65 64 0a 0a 2a 20 46 69 78 20 60 70 72 6f 6a | od...###.Bugs.fixed..*.Fix.`proj | 
| 8760 | 65 63 74 69 6c 65 2d 72 65 67 65 6e 65 72 61 74    65 2d 74 61 67 73 60 20 74 6f 20 77 6f 72 6b 20 | ectile-regenerate-tags`.to.work. | 
| 8780 | 69 6e 20 64 69 72 65 63 74 6f 72 69 65 73 20 74    68 61 74 20 69 6e 63 6c 75 64 65 20 73 70 61 63 | in.directories.that.include.spac | 
| 87a0 | 65 73 2e 0a 2a 20 50 72 65 76 65 6e 74 20 60 70    72 6f 6a 65 63 74 69 6c 65 2d 6b 69 6c 6c 2d 62 | es..*.Prevent.`projectile-kill-b | 
| 87c0 | 75 66 66 65 72 73 60 20 66 72 6f 6d 20 74 72 79    69 6e 67 20 74 6f 20 6b 69 6c 6c 20 69 6e 64 69 | uffers`.from.trying.to.kill.indi | 
| 87e0 | 72 65 63 74 0a 62 75 66 66 65 72 73 2e 0a 2a 20    5b 23 34 31 32 5d 28 68 74 74 70 73 3a 2f 2f 67 | rect.buffers..*.[#412](https://g | 
| 8800 | 69 74 68 75 62 2e 63 6f 6d 2f 62 62 61 74 73 6f    76 2f 70 72 6f 6a 65 63 74 69 6c 65 2f 69 73 73 | ithub.com/bbatsov/projectile/iss | 
| 8820 | 75 65 73 2f 34 31 32 29 3a 20 48 61 6e 64 6c 65    20 6d 75 6c 74 69 70 6c 65 20 70 6f 73 73 69 62 | ues/412):.Handle.multiple.possib | 
| 8840 | 6c 65 20 74 61 72 67 65 74 73 20 69 6e 20 60 70    72 6f 6a 65 63 74 69 6c 65 2d 74 6f 67 67 6c 65 | le.targets.in.`projectile-toggle | 
| 8860 | 2d 62 65 74 77 65 65 6e 2d 69 6d 70 6c 65 6d 65    6e 74 61 74 69 6f 6e 2d 6f 72 2d 74 65 73 74 60 | -between-implementation-or-test` | 
| 8880 | 2e 0a 0a 23 23 20 30 2e 31 31 2e 30 20 28 32 30    31 34 2d 30 35 2d 32 37 29 0a 0a 23 23 23 20 4e | ...##.0.11.0.(2014-05-27)..###.N | 
| 88a0 | 65 77 20 66 65 61 74 75 72 65 73 0a 0a 2a 20 41    64 64 65 64 20 73 75 70 70 6f 72 74 20 66 6f 72 | ew.features..*.Added.support.for | 
| 88c0 | 20 64 65 66 61 75 6c 74 20 66 69 6c 65 20 67 6c    6f 62 20 70 61 74 74 65 72 6e 20 74 6f 20 60 70 | .default.file.glob.pattern.to.`p | 
| 88e0 | 72 6f 6a 65 63 74 69 6c 65 2d 67 72 65 70 60 0a    2a 20 61 64 64 65 64 20 66 69 6c 65 20 65 78 69 | rojectile-grep`.*.added.file.exi | 
| 8900 | 73 74 65 6e 63 65 20 63 61 63 68 65 20 77 69 74    68 20 64 65 66 63 75 73 74 6f 6d 73 0a 60 70 72 | stence.cache.with.defcustoms.`pr | 
| 8920 | 6f 6a 65 63 74 69 6c 65 2d 66 69 6c 65 2d 65 78    69 73 74 73 2d 72 65 6d 6f 74 65 2d 63 61 63 68 | ojectile-file-exists-remote-cach | 
| 8940 | 65 2d 65 78 70 69 72 65 60 20 61 6e 64 0a 60 70    72 6f 6a 65 63 74 69 6c 65 2d 66 69 6c 65 2d 65 | e-expire`.and.`projectile-file-e | 
| 8960 | 78 69 73 74 73 2d 6c 6f 63 61 6c 2d 63 61 63 68    65 2d 65 78 70 69 72 65 60 2e 0a 2a 20 61 64 64 | xists-local-cache-expire`..*.add | 
| 8980 | 65 64 20 6e 65 77 20 64 65 66 63 75 73 74 6f 6d    73 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 | ed.new.defcustoms.`projectile-pr | 
| 89a0 | 6f 6a 65 63 74 2d 72 6f 6f 74 2d 66 69 6c 65 73    2d 74 6f 70 2d 64 6f 77 6e 2d 72 65 63 75 72 72 | oject-root-files-top-down-recurr | 
| 89c0 | 69 6e 67 60 2c 0a 60 70 72 6f 6a 65 63 74 69 6c    65 2d 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 2d 66 | ing`,.`projectile-project-root-f | 
| 89e0 | 69 6c 65 73 2d 62 6f 74 74 6f 6d 2d 75 70 60 20    61 6e 64 0a 60 70 72 6f 6a 65 63 74 69 6c 65 2d | iles-bottom-up`.and.`projectile- | 
| 8a00 | 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 2d 66 69 6c    65 73 2d 66 75 6e 63 74 69 6f 6e 73 60 2e 0a 2a | project-root-files-functions`..* | 
| 8a20 | 20 41 64 64 65 64 20 6e 65 77 20 63 6f 6d 6d 61    6e 64 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 73 | .Added.new.command.`projectile-s | 
| 8a40 | 61 76 65 2d 70 72 6f 6a 65 63 74 2d 62 75 66 66    65 72 73 60 2e 0a 2a 20 41 64 64 65 64 20 6e 65 | ave-project-buffers`..*.Added.ne | 
| 8a60 | 77 20 63 6f 6d 6d 61 6e 64 20 60 70 72 6f 6a 65    63 74 69 6c 65 2d 63 6c 65 61 6e 75 70 2d 6b 6e | w.command.`projectile-cleanup-kn | 
| 8a80 | 6f 77 6e 2d 70 72 6f 6a 65 63 74 73 60 2e 0a 2a    20 41 64 64 65 64 20 6e 65 77 20 63 6f 6d 6d 61 | own-projects`..*.Added.new.comma | 
| 8aa0 | 6e 64 73 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d    64 69 73 70 6c 61 79 2d 62 75 66 66 65 72 60 0a | nds.`projectile-display-buffer`. | 
| 8ac0 | 61 6e 64 60 70 72 6f 6a 65 63 74 69 6c 65 2d 66    69 6e 64 2d 64 69 72 2d 6f 74 68 65 72 2d 77 69 | and`projectile-find-dir-other-wi | 
| 8ae0 | 6e 64 6f 77 60 2e 0a 2a 20 41 64 64 65 64 20 6e    65 77 20 69 6e 74 65 72 61 63 74 69 76 65 20 66 | ndow`..*.Added.new.interactive.f | 
| 8b00 | 75 6e 63 74 69 6f 6e 20 60 70 72 6f 6a 65 63 74    69 6c 65 2d 70 72 6f 6a 65 63 74 2d 62 75 66 66 | unction.`projectile-project-buff | 
| 8b20 | 65 72 73 2d 6f 74 68 65 72 2d 62 75 66 66 65 72    60 0a 77 68 69 63 68 20 72 75 6e 73 20 6e 65 77 | ers-other-buffer`.which.runs.new | 
| 8b40 | 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f    6a 65 63 74 2d 62 75 66 66 65 72 73 2d 6e 6f 6e | .`projectile-project-buffers-non | 
| 8b60 | 2d 76 69 73 69 62 6c 65 60 20 66 75 6e 63 74 69    6f 6e 2c 20 74 68 65 20 66 6f 72 6d 65 72 0a 69 | -visible`.function,.the.former.i | 
| 8b80 | 73 20 62 6f 75 6e 64 20 74 6f 20 60 43 2d 63 20    70 20 45 53 43 60 2e 0a 2a 20 4e 65 77 20 76 61 | s.bound.to.`C-c.p.ESC`..*.New.va | 
| 8ba0 | 72 69 61 62 6c 65 20 60 70 72 6f 6a 65 63 74 69    6c 65 2d 65 6e 61 62 6c 65 2d 69 64 6c 65 2d 74 | riable.`projectile-enable-idle-t | 
| 8bc0 | 69 6d 65 72 60 20 74 75 72 6e 73 20 6f 6e 20 61    6e 20 69 64 6c 65 20 74 69 6d 65 72 0a 77 68 69 | imer`.turns.on.an.idle.timer.whi | 
| 8be0 | 63 68 20 72 75 6e 73 20 74 68 65 20 68 6f 6f 6b    20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 69 64 6c | ch.runs.the.hook.`projectile-idl | 
| 8c00 | 65 2d 74 69 6d 65 72 2d 68 6f 6f 6b 60 20 65 76    65 72 79 0a 60 70 72 6f 6a 65 63 74 69 6c 65 2d | e-timer-hook`.every.`projectile- | 
| 8c20 | 69 64 6c 65 2d 74 69 6d 65 72 2d 73 65 63 6f 6e    64 73 60 20 73 65 63 6f 6e 64 73 20 77 68 65 6e | idle-timer-seconds`.seconds.when | 
| 8c40 | 20 6e 6f 6e 2d 6e 69 6c 2e 0a 2a 20 4e 65 77 20    64 65 66 63 75 73 74 6f 6d 20 60 70 72 6f 6a 65 | .non-nil..*.New.defcustom.`proje | 
| 8c60 | 63 74 69 6c 65 2d 72 65 6d 65 6d 62 65 72 2d 77    69 6e 64 6f 77 2d 63 6f 6e 66 69 67 73 60 20 77 | ctile-remember-window-configs`.w | 
| 8c80 | 69 6c 6c 20 6d 61 6b 65 0a 60 70 72 6f 6a 65 63    74 69 6c 65 2d 73 77 69 74 63 68 2d 70 72 6f 6a | ill.make.`projectile-switch-proj | 
| 8ca0 | 65 63 74 60 20 72 65 73 74 6f 72 65 20 74 68 65    20 6d 6f 73 74 20 72 65 63 65 6e 74 20 77 69 6e | ect`.restore.the.most.recent.win | 
| 8cc0 | 64 6f 77 20 63 6f 6e 66 69 67 75 72 61 74 69 6f    6e 20 28 69 66 0a 61 6e 79 29 20 6f 66 20 74 68 | dow.configuration.(if.any).of.th | 
| 8ce0 | 65 20 74 61 72 67 65 74 20 70 72 6f 6a 65 63 74    2e 0a 2a 20 4e 65 77 20 63 6f 6d 6d 61 6e 64 20 | e.target.project..*.New.command. | 
| 8d00 | 60 70 72 6f 6a 65 63 74 69 6c 65 2d 72 75 6e 2d    63 6f 6d 6d 61 6e 64 2d 69 6e 2d 72 6f 6f 74 60 | `projectile-run-command-in-root` | 
| 8d20 | 2e 0a 2a 20 4e 65 77 20 63 6f 6d 6d 61 6e 64 20    60 70 72 6f 6a 65 63 74 69 6c 65 2d 72 75 6e 2d | ..*.New.command.`projectile-run- | 
| 8d40 | 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 69 6e    2d 72 6f 6f 74 60 2e 0a 2a 20 4e 65 77 20 63 6f | shell-command-in-root`..*.New.co | 
| 8d60 | 6d 6d 61 6e 64 20 60 70 72 6f 6a 65 63 74 69 6c    65 2d 72 75 6e 2d 61 73 79 6e 63 2d 73 68 65 6c | mmand.`projectile-run-async-shel | 
| 8d80 | 6c 2d 63 6f 6d 6d 61 6e 64 2d 69 6e 2d 72 6f 6f    74 60 2e 0a 2a 20 4e 65 77 20 64 65 66 63 75 73 | l-command-in-root`..*.New.defcus | 
| 8da0 | 74 6f 6d 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d    75 73 65 2d 67 69 74 2d 67 72 65 70 60 20 77 69 | tom.`projectile-use-git-grep`.wi | 
| 8dc0 | 6c 6c 20 6d 61 6b 65 20 60 70 72 6f 6a 65 63 74    69 6c 65 2d 67 72 65 70 60 20 75 73 65 20 60 67 | ll.make.`projectile-grep`.use.`g | 
| 8de0 | 69 74 20 67 72 65 70 60 0a 66 6f 72 20 67 69 74    20 70 72 6f 6a 65 63 74 73 2e 0a 2a 20 41 64 64 | it.grep`.for.git.projects..*.Add | 
| 8e00 | 65 64 20 6e 65 77 20 60 70 72 6f 6a 65 63 74 69    6c 65 2d 63 6f 6d 6d 61 6e 64 65 72 60 20 6d 65 | ed.new.`projectile-commander`.me | 
| 8e20 | 74 68 6f 64 73 20 3f 76 20 61 6e 64 20 3f 52 20    77 68 69 63 68 20 72 75 6e 0a 60 70 72 6f 6a 65 | thods.?v.and.?R.which.run.`proje | 
| 8e40 | 63 74 69 6c 65 2d 76 63 60 20 61 6e 64 20 60 70    72 6f 6a 65 63 74 69 6c 65 2d 72 65 67 65 6e 65 | ctile-vc`.and.`projectile-regene | 
| 8e60 | 72 61 74 65 2d 74 61 67 73 60 2c 20 72 65 73 70    65 63 74 69 76 65 6c 79 2e 0a 2a 20 60 70 72 6f | rate-tags`,.respectively..*.`pro | 
| 8e80 | 6a 65 63 74 69 6c 65 2d 76 63 60 20 77 69 6c 6c    20 75 73 65 20 60 6d 61 67 69 74 2d 73 74 61 74 | jectile-vc`.will.use.`magit-stat | 
| 8ea0 | 75 73 60 20 69 66 20 61 76 61 69 6c 61 62 6c 65    2e 0a 2a 20 4e 65 77 20 66 75 6e 63 74 69 6f 6e | us`.if.available..*.New.function | 
| 8ec0 | 73 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 66 69    6e 64 2d 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f | s.`projectile-find-implementatio | 
| 8ee0 | 6e 2d 6f 72 2d 74 65 73 74 60 20 61 6e 64 0a 60    70 72 6f 6a 65 63 74 69 6c 65 2d 66 69 6e 64 2d | n-or-test`.and.`projectile-find- | 
| 8f00 | 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2d 6f    72 2d 74 65 73 74 2d 6f 74 68 65 72 2d 77 69 6e | implementation-or-test-other-win | 
| 8f20 | 64 6f 77 60 2c 20 74 68 65 20 6c 61 74 65 72 20    69 73 0a 62 6f 75 6e 64 20 74 6f 20 60 43 2d 63 | dow`,.the.later.is.bound.to.`C-c | 
| 8f40 | 20 70 20 34 20 74 60 2e 0a 2a 20 4e 65 77 20 64    65 66 63 75 73 74 6f 6d 73 20 60 70 72 6f 6a 65 | .p.4.t`..*.New.defcustoms.`proje | 
| 8f60 | 63 74 69 6c 65 2d 74 65 73 74 2d 70 72 65 66 69    78 2d 66 75 6e 63 74 69 6f 6e 60 20 61 6e 64 20 | ctile-test-prefix-function`.and. | 
| 8f80 | 60 70 72 6f 6a 65 63 74 69 6c 65 2d 74 65 73 74    2d 73 75 66 66 69 78 2d 66 75 6e 63 74 69 6f 6e | `projectile-test-suffix-function | 
| 8fa0 | 60 0a 61 6c 6c 6f 77 20 75 73 65 72 73 20 74 6f    20 63 75 73 74 6f 6d 69 7a 65 20 68 6f 77 20 70 | `.allow.users.to.customize.how.p | 
| 8fc0 | 72 6f 6a 65 63 74 69 6c 65 20 69 64 65 6e 74 69    66 69 65 73 20 74 65 73 74 20 66 69 6c 65 73 20 | rojectile.identifies.test.files. | 
| 8fe0 | 62 79 20 70 72 6f 6a 65 63 74 20 74 79 70 65 2e    0a 2a 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 67 | by.project.type..*.`projectile-g | 
| 9000 | 72 65 70 60 20 77 69 6c 6c 20 61 73 6b 20 66 6f    72 20 61 20 66 69 6c 65 20 70 61 74 74 65 72 6e | rep`.will.ask.for.a.file.pattern | 
| 9020 | 20 69 66 20 69 6e 76 6f 6b 65 64 20 77 69 74 68    20 61 0a 70 72 65 66 69 78 20 61 72 67 75 6d 65 | .if.invoked.with.a.prefix.argume | 
| 9040 | 6e 74 2e 0a 2a 20 53 75 62 76 65 72 73 69 6f 6e    20 63 68 65 63 6b 6f 75 74 73 20 61 72 65 20 6e | nt..*.Subversion.checkouts.are.n | 
| 9060 | 6f 77 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79    20 64 65 74 65 63 74 65 64 2e 0a 2a 20 43 56 53 | ow.automatically.detected..*.CVS | 
| 9080 | 20 63 68 65 63 6b 6f 75 74 73 20 61 72 65 20 6e    6f 77 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 | .checkouts.are.now.automatically | 
| 90a0 | 20 64 65 74 65 63 74 65 64 2e 0a 2a 20 61 64 64    65 64 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 70 | .detected..*.added.`projectile-p | 
| 90c0 | 65 72 73 70 2d 73 77 69 74 63 68 2d 70 72 6f 6a    65 63 74 60 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 | ersp-switch-project`.command.to. | 
| 90e0 | 6d 61 6b 65 20 70 65 72 73 70 65 63 74 69 76 65    0a 6d 6f 64 65 20 77 6f 72 6b 20 61 6c 6f 6e 67 | make.perspective.mode.work.along | 
| 9100 | 20 77 69 74 68 20 70 72 6f 6a 65 63 74 69 6c 65    2e 0a 2a 20 43 68 61 6e 67 65 64 20 60 70 72 6f | .with.projectile..*.Changed.`pro | 
| 9120 | 6a 65 63 74 69 6c 65 2d 6d 6f 64 65 2d 6c 69 6e    65 2d 6c 69 67 68 74 65 72 60 20 74 6f 20 61 20 | jectile-mode-line-lighter`.to.a. | 
| 9140 | 64 65 66 63 75 73 74 6f 6d 20 76 61 72 69 61 62    6c 65 20 74 6f 20 6d 61 6b 65 0a 6d 6f 64 65 20 | defcustom.variable.to.make.mode. | 
| 9160 | 6c 69 6e 65 20 69 6e 64 69 63 61 74 6f 72 20 70    72 65 66 69 78 20 63 75 73 74 6f 6d 69 7a 61 62 | line.indicator.prefix.customizab | 
| 9180 | 6c 65 2e 0a 2a 20 4e 65 77 20 63 6f 6d 6d 61 6e    64 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 66 69 | le..*.New.command.`projectile-fi | 
| 91a0 | 6e 64 2d 66 69 6c 65 2d 69 6e 2d 6b 6e 6f 77 6e    2d 70 72 6f 6a 65 63 74 73 60 2e 0a 2a 20 4e 65 | nd-file-in-known-projects`..*.Ne | 
| 91c0 | 77 20 64 65 66 63 75 73 74 6f 6d 20 60 70 72 6f    6a 65 63 74 69 6c 65 2d 69 67 6e 6f 72 65 64 2d | w.defcustom.`projectile-ignored- | 
| 91e0 | 70 72 6f 6a 65 63 74 73 60 20 61 6c 6c 6f 77 73    20 79 6f 75 20 74 6f 20 73 70 65 63 69 66 79 20 | projects`.allows.you.to.specify. | 
| 9200 | 70 72 6f 6a 65 63 74 73 0a 74 68 61 74 20 73 68    6f 75 6c 64 6e 27 74 20 62 65 20 61 64 64 65 64 | projects.that.shouldn't.be.added | 
| 9220 | 20 74 6f 20 74 68 65 20 6b 6e 6f 77 6e 20 70 72    6f 6a 65 63 74 73 20 6c 69 73 74 2e 0a 2a 20 4e | .to.the.known.projects.list..*.N | 
| 9240 | 65 77 20 63 6f 6d 6d 61 6e 64 20 60 70 72 6f 6a    65 63 74 69 6c 65 2d 72 65 6d 6f 76 65 2d 63 75 | ew.command.`projectile-remove-cu | 
| 9260 | 72 72 65 6e 74 2d 70 72 6f 6a 65 63 74 2d 66 72    6f 6d 2d 6b 6e 6f 77 6e 2d 70 72 6f 6a 65 63 74 | rrent-project-from-known-project | 
| 9280 | 73 60 2e 0a 2a 20 4e 65 77 20 64 65 66 63 75 73    74 6f 6d 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d | s`..*.New.defcustom.`projectile- | 
| 92a0 | 62 75 66 66 65 72 73 2d 66 69 6c 74 65 72 2d 66    75 6e 63 74 69 6f 6e 60 2e 0a 2a 20 4e 65 77 20 | buffers-filter-function`..*.New. | 
| 92c0 | 64 65 66 63 75 73 74 6f 6d 20 60 70 72 6f 6a 65    63 74 69 6c 65 2d 73 6f 72 74 2d 6f 72 64 65 72 | defcustom.`projectile-sort-order | 
| 92e0 | 60 2e 0a 2a 20 4e 65 77 20 66 75 6e 63 74 69 6f    6e 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 | `..*.New.function.`projectile-pr | 
| 9300 | 6f 63 65 73 73 2d 63 75 72 72 65 6e 74 2d 70 72    6f 6a 65 63 74 2d 62 75 66 66 65 72 73 60 2e 0a | ocess-current-project-buffers`.. | 
| 9320 | 2a 20 4e 65 77 20 66 75 6e 63 74 69 6f 6e 20 60    70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 63 65 | *.New.function.`projectile-proce | 
| 9340 | 73 73 2d 63 75 72 72 65 6e 74 2d 70 72 6f 6a 65    63 74 2d 66 69 6c 65 73 60 2e 0a 0a 23 23 23 20 | ss-current-project-files`...###. | 
| 9360 | 43 68 61 6e 67 65 73 0a 0a 2a 20 54 68 65 20 70    72 65 73 65 6e 63 65 20 6f 66 20 61 20 60 4d 61 | Changes..*.The.presence.of.a.`Ma | 
| 9380 | 6b 65 66 69 6c 65 60 20 69 73 20 6e 6f 20 6c 6f    6e 67 65 72 20 74 61 6b 65 6e 20 61 73 20 61 6e | kefile`.is.no.longer.taken.as.an | 
| 93a0 | 20 69 6e 64 69 63 61 74 6f 72 0a 6f 66 20 74 68    65 20 70 72 6f 6a 65 63 74 20 72 6f 6f 74 20 62 | .indicator.of.the.project.root.b | 
| 93c0 | 79 20 64 65 66 61 75 6c 74 2c 20 73 69 6e 63 65    20 72 65 63 75 72 73 69 76 65 20 6d 61 6b 65 20 | y.default,.since.recursive.make. | 
| 93e0 | 69 73 20 75 6e 66 6f 72 74 75 6e 61 74 65 6c 79    0a 61 20 63 6f 6d 6d 6f 6e 20 6f 63 63 75 72 72 | is.unfortunately.a.common.occurr | 
| 9400 | 65 6e 63 65 20 28 61 66 66 65 63 74 73 20 60 70    72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 | ence.(affects.`projectile-projec | 
| 9420 | 74 2d 72 6f 6f 74 2d 66 69 6c 65 73 60 29 2e 0a    2a 20 50 72 6f 6a 65 63 74 69 6c 65 20 69 73 20 | t-root-files`)..*.Projectile.is. | 
| 9440 | 6e 6f 77 20 61 62 6c 65 20 74 6f 20 66 69 6e 64    20 74 68 65 20 70 72 6f 6a 65 63 74 20 70 65 72 | now.able.to.find.the.project.per | 
| 9460 | 74 61 69 6e 69 6e 67 20 74 6f 20 61 20 73 79 6d    6c 69 6e 6b 0a 70 6f 69 6e 74 69 6e 67 20 74 6f | taining.to.a.symlink.pointing.to | 
| 9480 | 20 61 20 76 65 72 73 69 6f 6e 2d 63 6f 6e 74 72    6f 6c 6c 65 64 20 66 69 6c 65 2e 0a 2a 20 44 72 | .a.version-controlled.file..*.Dr | 
| 94a0 | 6f 70 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 61    63 6b 2d 66 75 6e 63 74 69 6f 6e 60 20 64 65 66 | op.`projectile-ack-function`.def | 
| 94c0 | 63 75 73 74 6f 6d 2e 0a 2a 20 60 70 72 6f 6a 65    63 74 69 6c 65 2d 63 6f 6d 6d 61 6e 64 2d 6d 61 | custom..*.`projectile-command-ma | 
| 94e0 | 70 60 20 69 73 20 6e 6f 77 20 74 68 65 20 6b 65    79 6d 61 70 20 72 65 66 65 72 65 6e 63 65 64 20 | p`.is.now.the.keymap.referenced. | 
| 9500 | 62 79 20 74 68 65 0a 60 70 72 6f 6a 65 63 74 69    6c 65 2d 6b 65 79 6d 61 70 2d 70 72 65 66 69 78 | by.the.`projectile-keymap-prefix | 
| 9520 | 60 20 69 6e 20 60 70 72 6f 6a 65 63 74 69 6c 65    2d 6d 6f 64 65 2d 6d 61 70 60 2e 20 54 68 69 73 | `.in.`projectile-mode-map`..This | 
| 9540 | 20 61 6c 6c 6f 77 73 0a 6d 6f 64 69 66 69 63 61    74 69 6f 6e 20 6f 66 20 74 68 65 20 69 6e 6e 65 | .allows.modification.of.the.inne | 
| 9560 | 72 20 6d 61 70 2c 20 61 6e 64 20 61 6c 6c 6f 77    73 20 61 64 64 69 74 69 6f 6e 61 6c 20 70 72 65 | r.map,.and.allows.additional.pre | 
| 9580 | 66 69 78 20 6b 65 79 73 20 74 6f 0a 72 65 66 65    72 65 6e 63 65 20 69 74 2e 0a 0a 23 23 23 20 42 | fix.keys.to.reference.it...###.B | 
| 95a0 | 75 67 73 20 66 69 78 65 64 0a 0a 2a 20 4d 6f 64    69 66 69 65 64 20 60 70 72 6f 6a 65 63 74 69 6c | ugs.fixed..*.Modified.`projectil | 
| 95c0 | 65 2d 61 63 6b 60 20 74 6f 20 61 70 70 65 6e 64    20 74 6f 20 60 61 63 6b 2d 61 6e 64 2d 61 2d 68 | e-ack`.to.append.to.`ack-and-a-h | 
| 95e0 | 61 6c 66 2d 61 72 67 75 6d 65 6e 74 73 60 0a 69    6e 73 74 65 61 64 20 6f 66 20 6f 76 65 72 72 69 | alf-arguments`.instead.of.overri | 
| 9600 | 64 69 6e 67 20 74 68 65 6d 2e 0a 2a 20 5b 23 32    32 39 5d 20 46 69 78 20 60 70 72 6f 6a 65 63 74 | ding.them..*.[#229].Fix.`project | 
| 9620 | 69 6c 65 2d 66 69 6e 64 2d 66 69 6c 65 2d 69 6e    2d 64 69 72 65 63 74 6f 72 79 60 27 73 20 62 65 | ile-find-file-in-directory`'s.be | 
| 9640 | 68 61 76 69 6f 72 20 66 6f 72 20 70 72 6f 6a 65    63 74 20 64 69 72 65 63 74 6f 72 69 65 73 0a 2a | havior.for.project.directories.* | 
| 9660 | 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 74 6f 67    67 6c 65 2d 62 65 74 77 65 65 6e 2d 69 6d 70 6c | .`projectile-toggle-between-impl | 
| 9680 | 65 6d 65 6e 74 61 74 69 6f 6e 2d 6f 72 2d 74 65    73 74 60 20 73 68 6f 77 73 0a 75 6e 64 65 72 73 | ementation-or-test`.shows.unders | 
| 96a0 | 74 61 6e 64 61 62 6c 65 20 65 72 72 6f 72 20 69    66 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 | tandable.error.if.current.buffer | 
| 96c0 | 20 69 73 20 6e 6f 74 20 76 69 73 69 74 69 6e 67    20 61 20 66 69 6c 65 2e 0a 2a 20 5b 23 32 34 34 | .is.not.visiting.a.file..*.[#244 | 
| 96e0 | 5d 20 43 6f 72 72 65 63 74 20 66 6f 6c 64 65 72    20 70 69 63 6b 65 64 20 75 70 20 62 79 20 60 70 | ].Correct.folder.picked.up.by.`p | 
| 9700 | 72 6f 6a 65 63 74 69 6c 65 2d 61 63 6b 60 20 61    66 74 65 72 20 70 72 6f 6a 65 63 74 2d 73 77 69 | rojectile-ack`.after.project-swi | 
| 9720 | 74 63 68 2e 0a 2a 20 5b 23 31 38 32 5d 20 49 6e    76 61 6c 69 64 61 74 65 20 70 72 6f 6a 65 63 74 | tch..*.[#182].Invalidate.project | 
| 9740 | 20 63 61 63 68 65 20 69 66 20 2e 70 72 6f 6a 65    63 74 69 6c 65 20 69 73 20 6d 6f 64 69 66 69 65 | .cache.if..projectile.is.modifie | 
| 9760 | 64 2e 0a 0a 23 23 20 30 2e 31 30 2e 30 20 28 32    30 31 33 2d 31 32 2d 30 39 29 0a 0a 23 23 23 20 | d...##.0.10.0.(2013-12-09)..###. | 
| 9780 | 4e 65 77 20 66 65 61 74 75 72 65 73 0a 0a 2a 20    41 64 64 65 64 20 6e 65 77 20 63 6f 6d 6d 61 6e | New.features..*.Added.new.comman | 
| 97a0 | 64 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 66 69    6e 64 2d 66 69 6c 65 2d 6f 74 68 65 72 2d 77 69 | d.`projectile-find-file-other-wi | 
| 97c0 | 6e 64 6f 77 60 2e 0a 2a 20 41 64 64 65 64 20 6e    65 77 20 63 6f 6d 6d 61 6e 64 20 60 70 72 6f 6a | ndow`..*.Added.new.command.`proj | 
| 97e0 | 65 63 74 69 6c 65 2d 73 77 69 74 63 68 2d 74 6f    2d 62 75 66 66 65 72 2d 6f 74 68 65 72 2d 77 69 | ectile-switch-to-buffer-other-wi | 
| 9800 | 6e 64 6f 77 60 2e 0a 2a 20 41 64 64 65 64 20 6e    65 77 20 63 6f 6d 6d 61 6e 64 20 60 70 72 6f 6a | ndow`..*.Added.new.command.`proj | 
| 9820 | 65 63 74 69 6c 65 2d 66 69 6e 64 2d 66 69 6c 65    2d 69 6e 2d 64 69 72 65 63 74 6f 72 79 60 20 74 | ectile-find-file-in-directory`.t | 
| 9840 | 68 61 74 20 61 6c 6c 6f 77 73 0a 79 6f 75 20 74    6f 20 6a 75 6d 70 20 74 6f 20 66 69 6c 65 73 20 | hat.allows.you.to.jump.to.files. | 
| 9860 | 69 6e 20 61 6e 79 20 64 69 72 65 63 74 6f 72 79    2e 0a 2a 20 60 2e 70 72 6f 6a 65 63 74 69 6c 65 | in.any.directory..*.`.projectile | 
| 9880 | 60 20 69 73 20 6e 6f 77 20 61 6c 77 61 79 73 20    74 61 6b 65 6e 20 69 6e 74 6f 20 61 63 63 6f 75 | `.is.now.always.taken.into.accou | 
| 98a0 | 6e 74 2e 0a 2a 20 60 70 72 6f 6a 65 63 74 69 6c    65 2d 73 77 69 74 63 68 2d 70 72 6f 6a 65 63 74 | nt..*.`projectile-switch-project | 
| 98c0 | 60 27 73 20 62 65 68 61 76 69 6f 72 20 69 73 20    6e 6f 77 20 63 75 73 74 6f 6d 69 7a 61 62 6c 65 | `'s.behavior.is.now.customizable | 
| 98e0 | 20 76 69 61 0a 60 70 72 6f 6a 65 63 74 69 6c 65    2d 73 77 69 74 63 68 2d 70 72 6f 6a 65 63 74 2d | .via.`projectile-switch-project- | 
| 9900 | 61 63 74 69 6f 6e 60 2e 0a 2a 20 41 64 64 65 64    20 73 75 70 70 6f 72 74 20 66 6f 72 20 47 72 61 | action`..*.Added.support.for.Gra | 
| 9920 | 64 6c 65 20 70 72 6f 6a 65 63 74 73 2e 0a 2a 20    41 64 64 65 64 20 73 75 70 70 6f 72 74 20 66 6f | dle.projects..*.Added.support.fo | 
| 9940 | 72 20 60 41 67 60 2e 0a 2a 20 41 64 64 65 64 20    6e 65 77 20 63 6f 6d 6d 61 6e 64 20 60 70 72 6f | r.`Ag`..*.Added.new.command.`pro | 
| 9960 | 6a 65 63 74 69 6c 65 2d 70 75 72 67 65 2d 66 69    6c 65 2d 66 72 6f 6d 2d 63 61 63 68 65 60 2e 0a | jectile-purge-file-from-cache`.. | 
| 9980 | 2a 20 41 64 64 65 64 20 6e 65 77 20 63 6f 6d 6d    61 6e 64 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d | *.Added.new.command.`projectile- | 
| 99a0 | 70 75 72 67 65 2d 64 69 72 2d 66 72 6f 6d 2d 63    61 63 68 65 60 2e 0a 2a 20 41 64 64 65 64 20 6e | purge-dir-from-cache`..*.Added.n | 
| 99c0 | 65 77 20 63 6f 6d 6d 61 6e 64 20 60 70 72 6f 6a    65 63 74 69 6c 65 2d 66 69 6e 64 2d 74 61 67 60 | ew.command.`projectile-find-tag` | 
| 99e0 | 2e 0a 2a 20 41 64 64 65 64 20 6e 65 77 20 63 6f    6d 6d 61 6e 64 20 60 70 72 6f 6a 65 63 74 69 6c | ..*.Added.new.command.`projectil | 
| 9a00 | 65 2d 63 6f 6d 6d 61 6e 64 65 72 60 2e 20 49 74    20 61 6c 6c 6f 77 73 20 79 6f 75 20 74 6f 20 71 | e-commander`..It.allows.you.to.q | 
| 9a20 | 75 69 63 6b 6c 79 0a 72 75 6e 20 6d 61 6e 79 20    50 72 6f 6a 65 63 74 69 6c 65 20 63 6f 6d 6d 61 | uickly.run.many.Projectile.comma | 
| 9a40 | 6e 64 73 20 77 69 74 68 20 61 20 73 69 6e 67 6c    65 20 6b 65 79 2e 20 56 65 72 79 20 75 73 65 66 | nds.with.a.single.key..Very.usef | 
| 9a60 | 75 6c 20 61 73 20 61 0a 70 72 6f 6a 65 63 74 2d    73 77 69 74 63 68 69 6e 67 20 61 63 74 69 6f 6e | ul.as.a.project-switching.action | 
| 9a80 | 2e 0a 2a 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d    73 77 69 74 63 68 2d 70 72 6f 6a 65 63 74 60 20 | ..*.`projectile-switch-project`. | 
| 9aa0 | 6e 6f 77 20 73 75 70 70 6f 72 74 73 20 61 20 70    72 65 66 69 78 20 61 72 67 75 6d 65 6e 74 2e 20 | now.supports.a.prefix.argument.. | 
| 9ac0 | 57 68 65 6e 20 69 74 27 73 20 70 72 65 73 65 6e    74 0a 74 68 65 20 73 77 69 74 63 68 20 61 63 74 | When.it's.present.the.switch.act | 
| 9ae0 | 69 6f 6e 20 69 73 20 60 70 72 6f 6a 65 63 74 69    6c 65 2d 63 6f 6d 6d 61 6e 64 65 72 60 2e 0a 0a | ion.is.`projectile-commander`... | 
| 9b00 | 23 23 23 20 43 68 61 6e 67 65 73 0a 0a 2a 20 52    65 70 6c 61 63 65 64 20 76 61 72 69 61 62 6c 65 | ###.Changes..*.Replaced.variable | 
| 9b20 | 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 75 73 65    2d 6e 61 74 69 76 65 2d 69 6e 64 65 78 69 6e 67 | .`projectile-use-native-indexing | 
| 9b40 | 60 20 77 69 74 68 20 60 70 72 6f 6a 65 63 74 69    6c 65 2d 69 6e 64 65 78 69 6e 67 2d 6d 65 74 68 | `.with.`projectile-indexing-meth | 
| 9b60 | 6f 64 60 2e 0a 2a 20 43 6f 72 72 65 63 74 65 64    20 67 72 61 6d 6d 61 72 20 6f 6e 20 65 72 72 6f | od`..*.Corrected.grammar.on.erro | 
| 9b80 | 72 20 6d 65 73 73 61 67 65 20 66 6f 72 20 6e 6f    74 20 62 65 69 6e 67 20 69 6e 20 61 20 70 72 6f | r.message.for.not.being.in.a.pro | 
| 9ba0 | 6a 65 63 74 2e 0a 0a 23 23 23 20 42 75 67 20 66    69 78 65 73 0a 0a 2a 20 60 70 72 6f 6a 65 63 74 | ject...###.Bug.fixes..*.`project | 
| 9bc0 | 69 6c 65 2d 66 69 6e 64 2d 74 65 73 74 2d 66 69    6c 65 60 20 6e 6f 77 20 70 72 6f 70 65 72 6c 79 | ile-find-test-file`.now.properly | 
| 9be0 | 20 64 69 73 70 6c 61 79 73 20 6f 6e 6c 79 20 74    65 73 74 20 66 69 6c 65 73 20 28 23 31 34 35 29 | .displays.only.test.files.(#145) | 
| 9c00 | 2e 0a 0a 23 23 20 30 2e 39 2e 32 20 28 32 30 31    33 2d 30 37 2d 31 36 29 0a 0a 23 23 23 20 4e 65 | ...##.0.9.2.(2013-07-16)..###.Ne | 
| 9c20 | 77 20 66 65 61 74 75 72 65 73 0a 0a 2a 20 60 70    72 6f 6a 65 63 74 69 6c 65 2d 69 6e 76 61 6c 69 | w.features..*.`projectile-invali | 
| 9c40 | 64 61 74 65 2d 63 61 63 68 65 60 20 6e 6f 77 20    61 63 63 65 70 74 73 20 61 20 70 72 65 66 69 78 | date-cache`.now.accepts.a.prefix | 
| 9c60 | 20 61 72 67 75 6d 65 6e 74 2e 20 57 68 65 6e 0a    70 72 65 73 65 6e 74 20 79 6f 75 27 6c 6c 20 62 | .argument..When.present.you'll.b | 
| 9c80 | 65 20 70 72 6f 6d 70 74 65 64 20 66 6f 72 20 74    68 65 20 70 72 6f 6a 65 63 74 20 77 68 6f 73 65 | e.prompted.for.the.project.whose | 
| 9ca0 | 20 63 61 63 68 65 20 74 6f 0a 69 6e 76 61 6c 69    64 61 74 65 2e 0a 2a 20 4e 65 77 20 63 6f 6d 6d | .cache.to.invalidate..*.New.comm | 
| 9cc0 | 61 6e 64 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d    66 69 6e 64 2d 64 69 72 60 20 77 6f 72 6b 73 20 | and.`projectile-find-dir`.works. | 
| 9ce0 | 73 69 6d 69 6c 61 72 20 74 6f 0a 60 70 72 6f 6a    65 63 74 69 6c 65 2d 66 69 6e 64 2d 66 69 6c 65 | similar.to.`projectile-find-file | 
| 9d00 | 60 20 2d 20 64 69 73 70 6c 61 79 73 20 74 68 65    20 70 72 6f 6a 65 63 74 27 73 20 64 69 72 73 20 | `.-.displays.the.project's.dirs. | 
| 9d20 | 61 6e 64 20 6f 70 65 6e 73 20 74 68 65 6d 0a 77    69 74 68 20 60 64 69 72 65 64 60 2e 20 49 74 27 | and.opens.them.with.`dired`..It' | 
| 9d40 | 73 20 62 6f 75 6e 64 20 74 6f 20 60 43 2d 63 20    70 20 64 60 2e 0a 2a 20 41 64 64 65 64 20 73 75 | s.bound.to.`C-c.p.d`..*.Added.su | 
| 9d60 | 70 70 6f 72 74 20 66 6f 72 20 60 67 72 69 7a 7a    6c 60 20 61 73 20 61 20 63 6f 6d 70 6c 65 74 69 | pport.for.`grizzl`.as.a.completi | 
| 9d80 | 6f 6e 20 73 79 73 74 65 6d 2e 0a 2a 20 41 64 64    65 64 20 73 75 70 70 6f 72 74 20 66 6f 72 20 60 | on.system..*.Added.support.for.` | 
| 9da0 | 66 6f 73 73 69 6c 60 20 70 72 6f 6a 65 63 74 73    2e 0a 2a 20 41 64 64 65 64 20 73 75 70 70 6f 72 | fossil`.projects..*.Added.suppor | 
| 9dc0 | 74 20 66 6f 72 20 60 53 79 6d 66 6f 6e 79 20 32    60 20 70 72 6f 6a 65 63 74 2e 0a 2a 20 4e 65 77 | t.for.`Symfony.2`.project..*.New | 
| 9de0 | 20 63 6f 6d 6d 61 6e 64 20 60 70 72 6f 6a 65 63    74 69 6c 65 2d 63 6c 65 61 72 2d 6b 6e 6f 77 6e | .command.`projectile-clear-known | 
| 9e00 | 2d 70 72 6f 6a 65 63 74 73 60 20 72 65 6d 6f 76    65 73 20 61 6c 6c 20 6b 6e 6f 77 6e 20 70 72 6f | -projects`.removes.all.known.pro | 
| 9e20 | 6a 65 63 74 73 2e 0a 2a 20 4e 65 77 20 63 6f 6d    6d 61 6e 64 20 60 70 72 6f 6a 65 63 74 69 6c 65 | jects..*.New.command.`projectile | 
| 9e40 | 2d 72 65 6d 6f 76 65 2d 6b 6e 6f 77 6e 2d 70 72    6f 6a 65 63 74 60 20 70 72 6f 6d 70 74 73 20 79 | -remove-known-project`.prompts.y | 
| 9e60 | 6f 75 20 66 6f 72 20 61 20 6b 6e 6f 77 6e 20 70    72 6f 6a 65 63 74 20 74 6f 20 72 65 6d 6f 76 65 | ou.for.a.known.project.to.remove | 
| 9e80 | 2e 0a 0a 23 23 23 20 42 75 67 73 20 66 69 78 65    64 0a 0a 2a 20 46 69 78 65 64 20 60 70 72 6f 6a | ...###.Bugs.fixed..*.Fixed.`proj | 
| 9ea0 | 65 63 74 69 6c 65 2d 72 65 70 6c 61 63 65 60 2c    20 77 68 69 63 68 20 77 61 73 20 62 72 6f 6b 65 | ectile-replace`,.which.was.broke | 
| 9ec0 | 6e 20 66 72 6f 6d 20 74 68 65 20 75 73 65 20 6f    66 20 72 65 6c 61 74 69 76 65 20 70 61 74 68 73 | n.from.the.use.of.relative.paths | 
| 9ee0 | 0a 2a 20 23 31 30 33 20 2d 20 60 70 72 6f 6a 65    63 74 69 6c 65 2d 73 77 69 74 63 68 2d 70 72 6f | .*.#103.-.`projectile-switch-pro | 
| 9f00 | 6a 65 63 74 60 20 64 6f 65 73 20 6e 6f 74 20 72    65 71 75 69 72 65 20 61 20 70 72 6f 6a 65 63 74 | ject`.does.not.require.a.project | 
| 9f20 | 20 74 6f 20 77 6f 72 6b 0a 2a 20 44 6f 6e 27 74    20 73 68 6f 77 20 68 69 64 64 65 6e 20 62 75 66 | .to.work.*.Don't.show.hidden.buf | 
| 9f40 | 66 65 72 73 20 69 6e 20 70 72 6f 6a 65 63 74 69    6c 65 2d 70 72 6f 6a 65 63 74 2d 62 75 66 66 65 | fers.in.projectile-project-buffe | 
| 9f60 | 72 73 0a 0a 23 23 23 20 43 68 61 6e 67 65 73 0a    0a 2a 20 52 65 62 6f 75 6e 64 20 60 70 72 6f 6a | rs..###.Changes..*.Rebound.`proj | 
| 9f80 | 65 63 74 69 6c 65 2d 63 6f 6d 70 69 6c 65 2d 70    72 6f 6a 65 63 74 60 20 74 6f 20 3c 6b 62 64 3e | ectile-compile-project`.to.<kbd> | 
| 9fa0 | 43 2d 63 20 70 20 63 3c 2f 6b 62 64 3e 0a 2a 20    52 65 62 6f 75 6e 64 20 60 70 72 6f 6a 65 63 74 | C-c.p.c</kbd>.*.Rebound.`project | 
| 9fc0 | 69 6c 65 2d 64 69 72 65 64 60 20 74 6f 20 3c 6b    62 64 3e 43 2d 63 20 70 20 44 3c 2f 6b 62 64 3e | ile-dired`.to.<kbd>C-c.p.D</kbd> | 
| 9fe0 | 0a 2a 20 52 65 77 6f 72 6b 65 64 20 60 70 72 6f    6a 65 63 74 69 6c 65 2d 63 6f 6d 70 69 6c 65 2d | .*.Reworked.`projectile-compile- | 
| a000 | 70 72 6f 6a 65 63 74 60 20 61 6e 64 20 60 70 72    6f 6a 65 63 74 69 6c 65 2d 74 65 73 74 2d 70 72 | project`.and.`projectile-test-pr | 
| a020 | 6f 6a 65 63 74 60 0a 74 6f 20 62 65 20 73 6d 61    72 74 65 72 2c 20 6d 6f 72 65 20 63 6f 6e 66 69 | oject`.to.be.smarter,.more.confi | 
| a040 | 67 75 72 61 62 6c 65 20 61 6e 64 20 63 6c 6f 73    65 72 20 69 6e 20 62 65 68 61 76 69 6f 72 20 74 | gurable.and.closer.in.behavior.t | 
| a060 | 6f 20 74 68 65 20 73 74 6f 63 6b 0a 60 63 6f 6d    70 69 6c 65 60 20 63 6f 6d 6d 61 6e 64 0a 2a 20 | o.the.stock.`compile`.command.*. | 
| a080 | 60 70 72 6f 6a 65 63 74 69 6c 65 2d 73 77 69 74    63 68 2d 70 72 6f 6a 65 63 74 60 20 28 3c 6b 62 | `projectile-switch-project`.(<kb | 
| a0a0 | 64 3e 43 2d 63 20 70 20 73 3c 2f 6b 62 64 3e 29    20 6e 6f 77 20 72 75 6e 73 20 60 70 72 6f 6a 65 | d>C-c.p.s</kbd>).now.runs.`proje | 
| a0c0 | 63 74 69 6c 65 2d 66 69 6e 64 2d 66 69 6c 65 60    20 69 6e 73 74 65 61 64 20 6f 66 20 60 64 69 72 | ctile-find-file`.instead.of.`dir | 
| a0e0 | 65 64 60 2e 0a 0a 23 23 20 30 2e 39 2e 31 20 28    32 30 31 33 2d 30 34 2d 32 36 29 0a 0a 23 23 23 | ed`...##.0.9.1.(2013-04-26)..### | 
| a100 | 20 4e 65 77 20 66 65 61 74 75 72 65 73 0a 0a 2a    20 44 69 73 70 6c 61 79 20 72 65 63 65 6e 74 66 | .New.features..*.Display.recentf | 
| a120 | 20 66 69 6c 65 73 20 69 6e 20 68 65 6c 6d 2d 70    72 6f 6a 65 63 74 69 6c 65 2e 0a 0a 23 23 23 20 | .files.in.helm-projectile...###. | 
| a140 | 42 75 67 73 20 66 69 78 65 64 0a 0a 2a 20 23 39    35 20 2d 20 68 61 6e 64 6c 65 20 70 72 6f 70 65 | Bugs.fixed..*.#95.-.handle.prope | 
| a160 | 72 6c 79 20 6d 69 73 73 69 6e 67 20 70 72 6f 6a    65 63 74 20 72 6f 6f 74 0a 0a 23 23 20 30 2e 39 | rly.missing.project.root..##.0.9 | 
| a180 | 2e 30 20 28 32 30 31 33 2d 30 34 2d 32 34 29 0a    0a 23 23 23 20 4e 65 77 20 66 65 61 74 75 72 65 | .0.(2013-04-24)..###.New.feature | 
| a1a0 | 73 0a 0a 2a 20 55 73 65 20 66 61 73 74 20 65 78    74 65 72 6e 61 6c 20 74 6f 6f 6c 73 20 74 6f 20 | s..*.Use.fast.external.tools.to. | 
| a1c0 | 66 69 6e 64 20 70 72 6f 6a 65 63 74 20 66 69 6c    65 73 20 77 68 65 6e 20 70 6f 73 73 69 62 6c 65 | find.project.files.when.possible | 
| a1e0 | 2e 20 54 68 69 73 20 69 73 20 74 68 65 20 64 65    66 61 75 6c 74 20 6f 70 74 69 6f 6e 20 6f 6e 20 | ..This.is.the.default.option.on. | 
| a200 | 61 6c 6c 20 55 6e 69 63 65 73 2e 0a 2a 20 52 65    6d 6f 76 65 64 20 6f 62 73 6f 6c 65 74 65 20 63 | all.Unices..*.Removed.obsolete.c | 
| a220 | 6f 6d 6d 61 6e 64 20 60 70 72 6f 6a 65 63 74 69    6c 65 2d 72 65 69 6e 64 65 78 2d 70 72 6f 6a 65 | ommand.`projectile-reindex-proje | 
| a240 | 63 74 60 2e 0a 2a 20 52 65 6d 6f 76 65 64 20 6f    62 73 6f 6c 65 74 65 20 63 6f 6d 6d 61 6e 64 20 | ct`..*.Removed.obsolete.command. | 
| a260 | 60 70 72 6f 6a 65 63 74 69 6c 65 2d 6f 70 65 6e    60 2e 0a 2a 20 49 6e 74 72 6f 64 75 63 65 64 20 | `projectile-open`..*.Introduced. | 
| a280 | 73 75 70 70 6f 72 74 20 66 6f 72 20 66 69 6e 64    69 6e 67 20 74 65 73 74 73 20 61 6e 64 20 73 77 | support.for.finding.tests.and.sw | 
| a2a0 | 69 74 63 68 69 6e 67 20 62 65 74 77 65 65 6e 20    63 6f 64 65 20 61 6e 64 20 74 65 73 74 73 2e 0a | itching.between.code.and.tests.. | 
| a2c0 | 2a 20 49 6d 70 6c 65 6d 65 6e 74 20 62 61 73 69    63 20 70 72 6f 6a 65 63 74 20 74 79 70 65 20 64 | *.Implement.basic.project.type.d | 
| a2e0 | 65 74 65 63 74 69 6f 6e 2e 0a 2a 20 41 64 64 20    61 20 73 69 6d 70 6c 65 20 76 65 72 73 69 6f 6e | etection..*.Add.a.simple.version | 
| a300 | 20 72 65 70 6f 72 74 69 6e 67 20 63 6f 6d 6d 61    6e 64 20 70 72 6f 6a 65 63 74 69 6c 65 2d 76 65 | .reporting.command.projectile-ve | 
| a320 | 72 73 69 6f 6e 2e 0a 2a 20 44 69 73 70 6c 61 79    20 72 65 6c 61 74 69 76 65 20 70 61 74 68 73 20 | rsion..*.Display.relative.paths. | 
| a340 | 74 6f 20 70 72 6f 6a 65 63 74 20 66 69 6c 65 73    20 69 6e 73 74 65 61 64 20 6f 66 20 64 69 73 61 | to.project.files.instead.of.disa | 
| a360 | 6d 62 69 67 75 61 74 65 64 20 66 69 6c 65 6e 61    6d 65 73 2e 0a 2a 20 44 69 72 65 63 74 6f 72 69 | mbiguated.filenames..*.Directori | 
| a380 | 65 73 20 6c 69 73 74 65 64 20 69 6e 20 2e 70 72    6f 6a 65 63 74 69 6c 65 20 66 69 6c 65 20 61 72 | es.listed.in..projectile.file.ar | 
| a3a0 | 65 20 65 78 63 6c 75 64 65 64 20 77 68 65 6e 20    74 61 67 73 20 61 72 65 20 67 65 6e 65 72 61 74 | e.excluded.when.tags.are.generat | 
| a3c0 | 65 64 2e 0a 2a 20 52 65 6d 65 6d 62 65 72 73 20    76 69 73 69 74 65 64 20 70 72 6f 6a 65 63 74 73 | ed..*.Remembers.visited.projects | 
| a3e0 | 20 61 6e 64 20 6d 61 79 20 73 77 69 74 63 68 20    62 65 74 77 65 65 6e 20 74 68 65 6d 20 77 69 74 | .and.may.switch.between.them.wit | 
| a400 | 68 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 73 77    69 74 63 68 2d 70 72 6f 6a 65 63 74 60 2e 0a 2a | h.`projectile-switch-project`..* | 
| a420 | 20 53 75 70 70 6f 72 74 73 20 60 6c 65 69 6e 20    7b 63 6f 6d 70 69 6c 65 7c 74 65 73 74 7d 60 20 | .Supports.`lein.{compile|test}`. | 
| a440 | 69 6e 20 43 6c 6f 6a 75 72 65 20 70 72 6f 6a 65    63 74 73 2e 0a 2a 20 53 75 70 70 6f 72 74 20 70 | in.Clojure.projects..*.Support.p | 
| a460 | 72 6f 6a 65 63 74 73 20 6f 6e 6c 79 20 66 6f 72    20 73 75 62 64 69 72 73 20 6f 66 20 74 68 65 20 | rojects.only.for.subdirs.of.the. | 
| a480 | 70 72 6f 6a 65 63 74 20 72 6f 6f 74 2e 0a 2a 20    41 64 64 20 74 68 65 20 61 62 69 6c 69 74 79 20 | project.root..*.Add.the.ability. | 
| a4a0 | 74 6f 20 6d 61 6e 75 61 6c 6c 79 20 63 61 63 68    65 20 66 69 6c 65 73 2e 0a 0a 23 23 23 20 42 75 | to.manually.cache.files...###.Bu | 
| a4c0 | 67 73 20 66 69 78 65 64 0a 0a 2a 20 23 35 37 20    2d 20 70 72 6f 70 65 72 6c 79 20 73 65 74 20 74 | gs.fixed..*.#57.-.properly.set.t | 
| a4e0 | 68 65 20 63 75 72 72 65 6e 74 20 77 6f 72 6b 69    6e 67 20 64 69 72 2c 20 62 65 66 6f 72 65 20 69 | he.current.working.dir,.before.i | 
| a500 | 6e 76 6f 6b 69 6e 67 20 73 68 65 6c 6c 20 63 6f    6d 6d 61 6e 64 73 0a 2a 20 23 37 31 20 2d 20 63 | nvoking.shell.commands.*.#71.-.c | 
| a520 | 6f 72 72 65 63 74 20 72 65 67 65 6e 65 72 61 74    65 20 74 61 67 73 20 6b 65 79 62 69 6e 64 69 6e | orrect.regenerate.tags.keybindin | 
| a540 | 67 20 69 6e 20 74 68 65 20 52 45 41 44 4d 45 0a    0a 23 23 23 20 4d 69 73 63 0a 0a 2a 20 4d 6f 76 | g.in.the.README..###.Misc..*.Mov | 
| a560 | 65 20 6d 65 6e 75 20 65 6e 74 72 79 20 75 6e 64    65 72 20 60 54 6f 6f 6c 73 60 0a 2a 20 53 68 6f | e.menu.entry.under.`Tools`.*.Sho | 
| a580 | 77 20 69 6e 64 65 78 69 6e 67 20 6d 65 73 73 61    67 65 20 6f 6e 6c 79 20 77 68 65 6e 20 64 6f 69 | w.indexing.message.only.when.doi | 
| a5a0 | 6e 67 20 6e 61 74 69 76 65 20 70 72 6f 6a 65 63    74 20 69 6e 64 65 78 69 6e 67 0a 2a 20 4d 61 73 | ng.native.project.indexing.*.Mas | 
| a5c0 | 73 69 76 65 20 70 65 72 66 6f 72 6d 61 6e 63 65    20 69 6d 70 72 6f 76 65 6d 65 6e 74 73 0a 00 00 | sive.performance.improvements... | 
| a5e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| a600 | 70 72 6f 6a 65 63 74 69 6c 65 2d 32 2e 38 2e 30    2f 2e 67 69 74 68 75 62 2f 00 00 00 00 00 00 00 | projectile-2.8.0/.github/....... | 
| a620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| a640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| a660 | 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 | 
| a680 | 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 33 36 36 30 00 20 35 00 00 00 | 0000000.00000000000.013660..5... | 
| a6a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| a6c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| a6e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| a700 | 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................... | 
| a720 | 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................... | 
| a740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| a760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| a780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| a7a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| a7c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| a7e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| a800 | 70 72 6f 6a 65 63 74 69 6c 65 2d 32 2e 38 2e 30    2f 2e 67 69 74 68 75 62 2f 77 6f 72 6b 66 6c 6f | projectile-2.8.0/.github/workflo | 
| a820 | 77 73 2f 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ws/............................. | 
| a840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| a860 | 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 | 
| a880 | 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 35 37 31 35 00 20 35 00 00 00 | 0000000.00000000000.015715..5... | 
| a8a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| a8c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| a8e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| a900 | 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................... | 
| a920 | 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................... | 
| a940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| a960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| a980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| a9a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| a9c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| a9e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| aa00 | 70 72 6f 6a 65 63 74 69 6c 65 2d 32 2e 38 2e 30    2f 2e 67 69 74 68 75 62 2f 77 6f 72 6b 66 6c 6f | projectile-2.8.0/.github/workflo | 
| aa20 | 77 73 2f 74 65 73 74 2e 79 6d 6c 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ws/test.yml..................... | 
| aa40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| aa60 | 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 | 
| aa80 | 30 30 30 31 35 33 33 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 37 34 32 31 00 20 30 00 00 00 | 0001533.00000000000.017421..0... | 
| aaa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| aac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| aae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| ab00 | 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................... | 
| ab20 | 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................... | 
| ab40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| ab60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| ab80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| aba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| abc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| abe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| ac00 | 6e 61 6d 65 3a 20 43 49 0a 0a 6f 6e 3a 0a 20 20    70 75 73 68 3a 0a 20 20 20 20 70 61 74 68 73 2d | name:.CI..on:...push:.....paths- | 
| ac20 | 69 67 6e 6f 72 65 3a 20 5b 27 2a 2a 2e 6d 64 27    2c 20 27 2a 2a 2e 61 64 6f 63 27 5d 0a 20 20 70 | ignore:.['**.md',.'**.adoc']...p | 
| ac40 | 75 6c 6c 5f 72 65 71 75 65 73 74 3a 0a 20 20 20    20 70 61 74 68 73 2d 69 67 6e 6f 72 65 3a 20 5b | ull_request:.....paths-ignore:.[ | 
| ac60 | 27 2a 2a 2e 6d 64 27 2c 20 27 2a 2a 2e 61 64 6f    63 27 5d 0a 0a 6a 6f 62 73 3a 0a 20 20 74 65 73 | '**.md',.'**.adoc']..jobs:...tes | 
| ac80 | 74 3a 0a 20 20 20 20 72 75 6e 73 2d 6f 6e 3a 20    75 62 75 6e 74 75 2d 6c 61 74 65 73 74 0a 20 20 | t:.....runs-on:.ubuntu-latest... | 
| aca0 | 20 20 63 6f 6e 74 69 6e 75 65 2d 6f 6e 2d 65 72    72 6f 72 3a 20 24 7b 7b 6d 61 74 72 69 78 2e 65 | ..continue-on-error:.${{matrix.e | 
| acc0 | 6d 61 63 73 5f 76 65 72 73 69 6f 6e 20 3d 3d 20    27 73 6e 61 70 73 68 6f 74 27 7d 7d 0a 0a 20 20 | macs_version.==.'snapshot'}}.... | 
| ace0 | 20 20 73 74 72 61 74 65 67 79 3a 0a 20 20 20 20    20 20 6d 61 74 72 69 78 3a 0a 20 20 20 20 20 20 | ..strategy:.......matrix:....... | 
| ad00 | 20 20 23 20 45 61 72 6c 69 65 73 74 20 73 75 70    70 6f 72 74 65 64 20 2b 20 6c 61 74 65 73 74 20 | ..#.Earliest.supported.+.latest. | 
| ad20 | 69 6e 20 65 61 63 68 20 73 74 61 62 6c 65 20 62    72 61 6e 63 68 20 2b 20 73 6e 61 70 73 68 6f 74 | in.each.stable.branch.+.snapshot | 
| ad40 | 2e 0a 20 20 20 20 20 20 20 20 65 6d 61 63 73 5f    76 65 72 73 69 6f 6e 3a 20 5b 27 32 35 2e 31 27 | ..........emacs_version:.['25.1' | 
| ad60 | 2c 20 27 32 35 2e 33 27 2c 20 27 32 36 2e 33 27    2c 20 27 32 37 2e 31 27 2c 20 27 32 38 2e 31 27 | ,.'25.3',.'26.3',.'27.1',.'28.1' | 
| ad80 | 2c 20 27 73 6e 61 70 73 68 6f 74 27 5d 0a 0a 20    20 20 20 73 74 65 70 73 3a 0a 20 20 20 20 2d 20 | ,.'snapshot']......steps:.....-. | 
| ada0 | 6e 61 6d 65 3a 20 53 65 74 20 75 70 20 45 6d 61    63 73 0a 20 20 20 20 20 20 75 73 65 73 3a 20 70 | name:.Set.up.Emacs.......uses:.p | 
| adc0 | 75 72 63 65 6c 6c 2f 73 65 74 75 70 2d 65 6d 61    63 73 40 6d 61 73 74 65 72 0a 20 20 20 20 20 20 | urcell/setup-emacs@master....... | 
| ade0 | 77 69 74 68 3a 0a 20 20 20 20 20 20 20 20 76 65    72 73 69 6f 6e 3a 20 24 7b 7b 6d 61 74 72 69 78 | with:.........version:.${{matrix | 
| ae00 | 2e 65 6d 61 63 73 5f 76 65 72 73 69 6f 6e 7d 7d    0a 0a 20 20 20 20 2d 20 6e 61 6d 65 3a 20 49 6e | .emacs_version}}......-.name:.In | 
| ae20 | 73 74 61 6c 6c 20 45 6c 64 65 76 0a 20 20 20 20    20 20 72 75 6e 3a 20 63 75 72 6c 20 2d 66 73 53 | stall.Eldev.......run:.curl.-fsS | 
| ae40 | 4c 20 68 74 74 70 73 3a 2f 2f 72 61 77 2e 67 69    74 68 75 62 2e 63 6f 6d 2f 64 6f 75 62 6c 65 70 | L.https://raw.github.com/doublep | 
| ae60 | 2f 65 6c 64 65 76 2f 6d 61 73 74 65 72 2f 77 65    62 69 6e 73 74 61 6c 6c 2f 67 69 74 68 75 62 2d | /eldev/master/webinstall/github- | 
| ae80 | 65 6c 64 65 76 20 7c 20 73 68 0a 0a 20 20 20 20    2d 20 6e 61 6d 65 3a 20 43 68 65 63 6b 20 6f 75 | eldev.|.sh......-.name:.Check.ou | 
| aea0 | 74 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64    65 0a 20 20 20 20 20 20 75 73 65 73 3a 20 61 63 | t.the.source.code.......uses:.ac | 
| aec0 | 74 69 6f 6e 73 2f 63 68 65 63 6b 6f 75 74 40 76    32 0a 0a 20 20 20 20 2d 20 6e 61 6d 65 3a 20 54 | tions/checkout@v2......-.name:.T | 
| aee0 | 65 73 74 20 74 68 65 20 70 72 6f 6a 65 63 74 0a    20 20 20 20 20 20 72 75 6e 3a 20 7c 0a 20 20 20 | est.the.project.......run:.|.... | 
| af00 | 20 20 20 20 20 65 6c 64 65 76 20 2d 70 20 2d 64    74 54 20 2d 43 20 74 65 73 74 20 2d 2d 65 78 70 | .....eldev.-p.-dtT.-C.test.--exp | 
| af20 | 65 63 74 20 31 30 30 0a 20 20 20 20 20 20 20 20    65 6c 64 65 76 20 2d 64 74 54 20 2d 43 20 63 6f | ect.100.........eldev.-dtT.-C.co | 
| af40 | 6d 70 69 6c 65 20 2d 2d 77 61 72 6e 69 6e 67 73    2d 61 73 2d 65 72 72 6f 72 73 0a 00 00 00 00 00 | mpile.--warnings-as-errors...... | 
| af60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| af80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| afa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| afc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| afe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| b000 | 70 72 6f 6a 65 63 74 69 6c 65 2d 32 2e 38 2e 30    2f 2e 67 69 74 68 75 62 2f 73 74 61 6c 65 2e 79 | projectile-2.8.0/.github/stale.y | 
| b020 | 6d 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ml.............................. | 
| b040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| b060 | 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 | 
| b080 | 30 30 30 34 30 36 35 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 35 35 32 30 00 20 30 00 00 00 | 0004065.00000000000.015520..0... | 
| b0a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| b0c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| b0e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| b100 | 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................... | 
| b120 | 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................... | 
| b140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| b160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| b180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| b1a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| b1c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| b1e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| b200 | 23 20 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20    66 6f 72 20 70 72 6f 62 6f 74 2d 73 74 61 6c 65 | #.Configuration.for.probot-stale | 
| b220 | 20 2d 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75    62 2e 63 6f 6d 2f 70 72 6f 62 6f 74 2f 73 74 61 | .-.https://github.com/probot/sta | 
| b240 | 6c 65 0a 0a 23 20 4e 75 6d 62 65 72 20 6f 66 20    64 61 79 73 20 6f 66 20 69 6e 61 63 74 69 76 69 | le..#.Number.of.days.of.inactivi | 
| b260 | 74 79 20 62 65 66 6f 72 65 20 61 6e 20 49 73 73    75 65 20 6f 72 20 50 75 6c 6c 20 52 65 71 75 65 | ty.before.an.Issue.or.Pull.Reque | 
| b280 | 73 74 20 62 65 63 6f 6d 65 73 20 73 74 61 6c 65    0a 64 61 79 73 55 6e 74 69 6c 53 74 61 6c 65 3a | st.becomes.stale.daysUntilStale: | 
| b2a0 | 20 31 38 30 0a 0a 23 20 4e 75 6d 62 65 72 20 6f    66 20 64 61 79 73 20 6f 66 20 69 6e 61 63 74 69 | .180..#.Number.of.days.of.inacti | 
| b2c0 | 76 69 74 79 20 62 65 66 6f 72 65 20 61 6e 20 49    73 73 75 65 20 6f 72 20 50 75 6c 6c 20 52 65 71 | vity.before.an.Issue.or.Pull.Req | 
| b2e0 | 75 65 73 74 20 77 69 74 68 20 74 68 65 20 73 74    61 6c 65 20 6c 61 62 65 6c 20 69 73 20 63 6c 6f | uest.with.the.stale.label.is.clo | 
| b300 | 73 65 64 2e 0a 23 20 53 65 74 20 74 6f 20 66 61    6c 73 65 20 74 6f 20 64 69 73 61 62 6c 65 2e 20 | sed..#.Set.to.false.to.disable.. | 
| b320 | 49 66 20 64 69 73 61 62 6c 65 64 2c 20 69 73 73    75 65 73 20 73 74 69 6c 6c 20 6e 65 65 64 20 74 | If.disabled,.issues.still.need.t | 
| b340 | 6f 20 62 65 20 63 6c 6f 73 65 64 20 6d 61 6e 75    61 6c 6c 79 2c 20 62 75 74 20 77 69 6c 6c 20 72 | o.be.closed.manually,.but.will.r | 
| b360 | 65 6d 61 69 6e 20 6d 61 72 6b 65 64 20 61 73 20    73 74 61 6c 65 2e 0a 64 61 79 73 55 6e 74 69 6c | emain.marked.as.stale..daysUntil | 
| b380 | 43 6c 6f 73 65 3a 20 39 30 0a 0a 23 20 4f 6e 6c    79 20 69 73 73 75 65 73 20 6f 72 20 70 75 6c 6c | Close:.90..#.Only.issues.or.pull | 
| b3a0 | 20 72 65 71 75 65 73 74 73 20 77 69 74 68 20 61    6c 6c 20 6f 66 20 74 68 65 73 65 20 6c 61 62 65 | .requests.with.all.of.these.labe | 
| b3c0 | 6c 73 20 61 72 65 20 63 68 65 63 6b 20 69 66 20    73 74 61 6c 65 2e 20 44 65 66 61 75 6c 74 73 20 | ls.are.check.if.stale..Defaults. | 
| b3e0 | 74 6f 20 60 5b 5d 60 20 28 64 69 73 61 62 6c 65    64 29 0a 6f 6e 6c 79 4c 61 62 65 6c 73 3a 20 5b | to.`[]`.(disabled).onlyLabels:.[ | 
| b400 | 5d 0a 0a 23 20 49 73 73 75 65 73 20 6f 72 20 50    75 6c 6c 20 52 65 71 75 65 73 74 73 20 77 69 74 | ]..#.Issues.or.Pull.Requests.wit | 
| b420 | 68 20 74 68 65 73 65 20 6c 61 62 65 6c 73 20 77    69 6c 6c 20 6e 65 76 65 72 20 62 65 20 63 6f 6e | h.these.labels.will.never.be.con | 
| b440 | 73 69 64 65 72 65 64 20 73 74 61 6c 65 2e 20 53    65 74 20 74 6f 20 60 5b 5d 60 20 74 6f 20 64 69 | sidered.stale..Set.to.`[]`.to.di | 
| b460 | 73 61 62 6c 65 0a 65 78 65 6d 70 74 4c 61 62 65    6c 73 3a 0a 20 20 2d 20 22 48 69 67 68 20 50 72 | sable.exemptLabels:...-."High.Pr | 
| b480 | 69 6f 72 69 74 79 22 0a 20 20 2d 20 22 47 6f 6f    64 20 46 69 72 73 74 20 49 73 73 75 65 22 0a 20 | iority"...-."Good.First.Issue".. | 
| b4a0 | 20 2d 20 22 50 69 6e 6e 65 64 22 0a 0a 23 20 53    65 74 20 74 6f 20 74 72 75 65 20 74 6f 20 69 67 | .-."Pinned"..#.Set.to.true.to.ig | 
| b4c0 | 6e 6f 72 65 20 69 73 73 75 65 73 20 69 6e 20 61    20 70 72 6f 6a 65 63 74 20 28 64 65 66 61 75 6c | nore.issues.in.a.project.(defaul | 
| b4e0 | 74 73 20 74 6f 20 66 61 6c 73 65 29 0a 65 78 65    6d 70 74 50 72 6f 6a 65 63 74 73 3a 20 66 61 6c | ts.to.false).exemptProjects:.fal | 
| b500 | 73 65 0a 0a 23 20 53 65 74 20 74 6f 20 74 72 75    65 20 74 6f 20 69 67 6e 6f 72 65 20 69 73 73 75 | se..#.Set.to.true.to.ignore.issu | 
| b520 | 65 73 20 69 6e 20 61 20 6d 69 6c 65 73 74 6f 6e    65 20 28 64 65 66 61 75 6c 74 73 20 74 6f 20 66 | es.in.a.milestone.(defaults.to.f | 
| b540 | 61 6c 73 65 29 0a 65 78 65 6d 70 74 4d 69 6c 65    73 74 6f 6e 65 73 3a 20 74 72 75 65 0a 0a 23 20 | alse).exemptMilestones:.true..#. | 
| b560 | 53 65 74 20 74 6f 20 74 72 75 65 20 74 6f 20 69    67 6e 6f 72 65 20 69 73 73 75 65 73 20 77 69 74 | Set.to.true.to.ignore.issues.wit | 
| b580 | 68 20 61 6e 20 61 73 73 69 67 6e 65 65 20 28 64    65 66 61 75 6c 74 73 20 74 6f 20 66 61 6c 73 65 | h.an.assignee.(defaults.to.false | 
| b5a0 | 29 0a 65 78 65 6d 70 74 41 73 73 69 67 6e 65 65    73 3a 20 74 72 75 65 0a 0a 23 20 4c 61 62 65 6c | ).exemptAssignees:.true..#.Label | 
| b5c0 | 20 74 6f 20 75 73 65 20 77 68 65 6e 20 6d 61 72    6b 69 6e 67 20 61 73 20 73 74 61 6c 65 0a 73 74 | .to.use.when.marking.as.stale.st | 
| b5e0 | 61 6c 65 4c 61 62 65 6c 3a 20 53 74 61 6c 65 0a    0a 23 20 43 6f 6d 6d 65 6e 74 20 74 6f 20 70 6f | aleLabel:.Stale..#.Comment.to.po | 
| b600 | 73 74 20 77 68 65 6e 20 6d 61 72 6b 69 6e 67 20    61 73 20 73 74 61 6c 65 2e 20 53 65 74 20 74 6f | st.when.marking.as.stale..Set.to | 
| b620 | 20 60 66 61 6c 73 65 60 20 74 6f 20 64 69 73 61    62 6c 65 0a 6d 61 72 6b 43 6f 6d 6d 65 6e 74 3a | .`false`.to.disable.markComment: | 
| b640 | 20 3e 0a 20 20 54 68 69 73 20 69 73 73 75 65 20    68 61 73 20 62 65 65 6e 20 61 75 74 6f 6d 61 74 | .>...This.issue.has.been.automat | 
| b660 | 69 63 61 6c 6c 79 20 6d 61 72 6b 65 64 20 61 73    20 73 74 61 6c 65 20 62 65 63 61 75 73 65 20 69 | ically.marked.as.stale.because.i | 
| b680 | 74 20 68 61 73 20 6e 6f 74 20 68 61 64 0a 20 20    72 65 63 65 6e 74 20 61 63 74 69 76 69 74 79 2e | t.has.not.had...recent.activity. | 
| b6a0 | 20 49 74 20 77 69 6c 6c 20 62 65 20 63 6c 6f 73    65 64 20 69 66 20 6e 6f 20 66 75 72 74 68 65 72 | .It.will.be.closed.if.no.further | 
| b6c0 | 20 61 63 74 69 76 69 74 79 20 6f 63 63 75 72 73    2e 20 54 68 61 6e 6b 20 79 6f 75 0a 20 20 66 6f | .activity.occurs..Thank.you...fo | 
| b6e0 | 72 20 79 6f 75 72 20 63 6f 6e 74 72 69 62 75 74    69 6f 6e 20 61 6e 64 20 75 6e 64 65 72 73 74 61 | r.your.contribution.and.understa | 
| b700 | 6e 64 69 6e 67 21 0a 0a 23 20 43 6f 6d 6d 65 6e    74 20 74 6f 20 70 6f 73 74 20 77 68 65 6e 20 72 | nding!..#.Comment.to.post.when.r | 
| b720 | 65 6d 6f 76 69 6e 67 20 74 68 65 20 73 74 61 6c    65 20 6c 61 62 65 6c 2e 0a 23 20 75 6e 6d 61 72 | emoving.the.stale.label..#.unmar | 
| b740 | 6b 43 6f 6d 6d 65 6e 74 3a 20 3e 0a 23 20 20 20    59 6f 75 72 20 63 6f 6d 6d 65 6e 74 20 68 65 72 | kComment:.>.#...Your.comment.her | 
| b760 | 65 2e 0a 0a 23 20 43 6f 6d 6d 65 6e 74 20 74 6f    20 70 6f 73 74 20 77 68 65 6e 20 63 6c 6f 73 69 | e...#.Comment.to.post.when.closi | 
| b780 | 6e 67 20 61 20 73 74 61 6c 65 20 49 73 73 75 65    20 6f 72 20 50 75 6c 6c 20 52 65 71 75 65 73 74 | ng.a.stale.Issue.or.Pull.Request | 
| b7a0 | 2e 0a 63 6c 6f 73 65 43 6f 6d 6d 65 6e 74 3a 20    3e 0a 20 20 54 68 69 73 20 69 73 73 75 65 73 20 | ..closeComment:.>...This.issues. | 
| b7c0 | 62 65 65 6e 20 61 75 74 6f 6d 61 74 69 63 61 6c    6c 79 20 63 6c 6f 73 65 64 20 64 75 65 20 74 6f | been.automatically.closed.due.to | 
| b7e0 | 20 6c 61 63 6b 20 6f 66 20 61 63 74 69 76 69 74    79 2e 20 46 65 65 6c 20 66 72 65 65 20 74 6f 20 | .lack.of.activity..Feel.free.to. | 
| b800 | 72 65 2d 6f 70 65 6e 20 69 74 0a 20 20 69 66 20    79 6f 75 20 65 76 65 72 20 63 6f 6d 65 20 62 61 | re-open.it...if.you.ever.come.ba | 
| b820 | 63 6b 20 74 6f 20 69 74 2e 0a 0a 23 20 4c 69 6d    69 74 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 | ck.to.it...#.Limit.the.number.of | 
| b840 | 20 61 63 74 69 6f 6e 73 20 70 65 72 20 68 6f 75    72 2c 20 66 72 6f 6d 20 31 2d 33 30 2e 20 44 65 | .actions.per.hour,.from.1-30..De | 
| b860 | 66 61 75 6c 74 20 69 73 20 33 30 0a 6c 69 6d 69    74 50 65 72 52 75 6e 3a 20 33 30 0a 0a 23 20 4c | fault.is.30.limitPerRun:.30..#.L | 
| b880 | 69 6d 69 74 20 74 6f 20 6f 6e 6c 79 20 60 69 73    73 75 65 73 60 20 6f 72 20 60 70 75 6c 6c 73 60 | imit.to.only.`issues`.or.`pulls` | 
| b8a0 | 0a 23 20 6f 6e 6c 79 3a 20 69 73 73 75 65 73 0a    0a 23 20 4f 70 74 69 6f 6e 61 6c 6c 79 2c 20 73 | .#.only:.issues..#.Optionally,.s | 
| b8c0 | 70 65 63 69 66 79 20 63 6f 6e 66 69 67 75 72 61    74 69 6f 6e 20 73 65 74 74 69 6e 67 73 20 74 68 | pecify.configuration.settings.th | 
| b8e0 | 61 74 20 61 72 65 20 73 70 65 63 69 66 69 63 20    74 6f 20 6a 75 73 74 20 27 69 73 73 75 65 73 27 | at.are.specific.to.just.'issues' | 
| b900 | 20 6f 72 20 27 70 75 6c 6c 73 27 3a 0a 23 20 70    75 6c 6c 73 3a 0a 23 20 20 20 64 61 79 73 55 6e | .or.'pulls':.#.pulls:.#...daysUn | 
| b920 | 74 69 6c 53 74 61 6c 65 3a 20 33 30 0a 23 20 20    20 6d 61 72 6b 43 6f 6d 6d 65 6e 74 3a 20 3e 0a | tilStale:.30.#...markComment:.>. | 
| b940 | 23 20 20 20 20 20 54 68 69 73 20 70 75 6c 6c 20    72 65 71 75 65 73 74 20 68 61 73 20 62 65 65 6e | #.....This.pull.request.has.been | 
| b960 | 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 6d    61 72 6b 65 64 20 61 73 20 73 74 61 6c 65 20 62 | .automatically.marked.as.stale.b | 
| b980 | 65 63 61 75 73 65 20 69 74 20 68 61 73 20 6e 6f    74 20 68 61 64 0a 23 20 20 20 20 20 72 65 63 65 | ecause.it.has.not.had.#.....rece | 
| b9a0 | 6e 74 20 61 63 74 69 76 69 74 79 2e 20 49 74 20    77 69 6c 6c 20 62 65 20 63 6c 6f 73 65 64 20 69 | nt.activity..It.will.be.closed.i | 
| b9c0 | 66 20 6e 6f 20 66 75 72 74 68 65 72 20 61 63 74    69 76 69 74 79 20 6f 63 63 75 72 73 2e 20 54 68 | f.no.further.activity.occurs..Th | 
| b9e0 | 61 6e 6b 20 79 6f 75 0a 23 20 20 20 20 20 66 6f    72 20 79 6f 75 72 20 63 6f 6e 74 72 69 62 75 74 | ank.you.#.....for.your.contribut | 
| ba00 | 69 6f 6e 73 2e 0a 0a 23 20 69 73 73 75 65 73 3a    0a 23 20 20 20 65 78 65 6d 70 74 4c 61 62 65 6c | ions...#.issues:.#...exemptLabel | 
| ba20 | 73 3a 0a 23 20 20 20 20 20 2d 20 63 6f 6e 66 69    72 6d 65 64 0a 00 00 00 00 00 00 00 00 00 00 00 | s:.#.....-.confirmed............ | 
| ba40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| ba60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| ba80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| baa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| bac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| bae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| bb00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| bb20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| bb40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| bb60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| bb80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| bba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| bbc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| bbe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| bc00 | 70 72 6f 6a 65 63 74 69 6c 65 2d 32 2e 38 2e 30    2f 2e 67 69 74 68 75 62 2f 49 53 53 55 45 5f 54 | projectile-2.8.0/.github/ISSUE_T | 
| bc20 | 45 4d 50 4c 41 54 45 2e 6d 64 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | EMPLATE.md...................... | 
| bc40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| bc60 | 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 | 
| bc80 | 30 30 30 31 34 30 31 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 36 33 36 31 00 20 30 00 00 00 | 0001401.00000000000.016361..0... | 
| bca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| bcc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| bce0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| bd00 | 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................... | 
| bd20 | 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................... | 
| bd40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| bd60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| bd80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| bda0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| bdc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| bde0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| be00 | 2a 55 73 65 20 74 68 65 20 74 65 6d 70 6c 61 74    65 20 62 65 6c 6f 77 20 77 68 65 6e 20 72 65 70 | *Use.the.template.below.when.rep | 
| be20 | 6f 72 74 69 6e 67 20 62 75 67 73 2e 20 50 6c 65    61 73 65 2c 20 6d 61 6b 65 20 73 75 72 65 20 74 | orting.bugs..Please,.make.sure.t | 
| be40 | 68 61 74 0a 79 6f 75 27 72 65 20 72 75 6e 6e 69    6e 67 20 74 68 65 20 6c 61 74 65 73 74 20 73 74 | hat.you're.running.the.latest.st | 
| be60 | 61 62 6c 65 20 50 72 6f 6a 65 63 74 69 6c 65 20    61 6e 64 20 74 68 61 74 20 74 68 65 20 70 72 6f | able.Projectile.and.that.the.pro | 
| be80 | 62 6c 65 6d 20 79 6f 75 27 72 65 20 72 65 70 6f    72 74 69 6e 67 0a 68 61 73 6e 27 74 20 62 65 65 | blem.you're.reporting.hasn't.bee | 
| bea0 | 6e 20 72 65 70 6f 72 74 65 64 20 28 61 6e 64 20    70 6f 74 65 6e 74 69 61 6c 6c 79 20 66 69 78 65 | n.reported.(and.potentially.fixe | 
| bec0 | 64 29 20 61 6c 72 65 61 64 79 2e 2a 0a 0a 2a 2a    52 65 6d 6f 76 65 20 61 6c 6c 20 6f 66 20 74 68 | d).already.*..**Remove.all.of.th | 
| bee0 | 65 20 70 6c 61 63 65 68 6f 6c 64 65 72 20 74 65    78 74 20 69 6e 20 79 6f 75 72 20 66 69 6e 61 6c | e.placeholder.text.in.your.final | 
| bf00 | 20 72 65 70 6f 72 74 21 2a 2a 0a 0a 23 23 20 45    78 70 65 63 74 65 64 20 62 65 68 61 76 69 6f 72 | .report!**..##.Expected.behavior | 
| bf20 | 0a 0a 23 23 20 41 63 74 75 61 6c 20 62 65 68 61    76 69 6f 72 0a 0a 23 23 20 53 74 65 70 73 20 74 | ..##.Actual.behavior..##.Steps.t | 
| bf40 | 6f 20 72 65 70 72 6f 64 75 63 65 20 74 68 65 20    70 72 6f 62 6c 65 6d 0a 0a 2a 54 68 69 73 20 69 | o.reproduce.the.problem..*This.i | 
| bf60 | 73 20 65 78 74 72 65 6d 65 6c 79 20 69 6d 70 6f    72 74 61 6e 74 21 20 50 72 6f 76 69 64 69 6e 67 | s.extremely.important!.Providing | 
| bf80 | 20 75 73 20 77 69 74 68 20 61 20 72 65 6c 69 61    62 6c 65 20 77 61 79 20 74 6f 20 72 65 70 72 6f | .us.with.a.reliable.way.to.repro | 
| bfa0 | 64 75 63 65 0a 61 20 70 72 6f 62 6c 65 6d 20 77    69 6c 6c 20 65 78 70 65 64 69 74 65 20 69 74 73 | duce.a.problem.will.expedite.its | 
| bfc0 | 20 73 6f 6c 75 74 69 6f 6e 2e 2a 0a 0a 23 23 20    45 6e 76 69 72 6f 6e 6d 65 6e 74 20 26 20 56 65 | .solution.*..##.Environment.&.Ve | 
| bfe0 | 72 73 69 6f 6e 20 69 6e 66 6f 72 6d 61 74 69 6f    6e 0a 0a 23 23 23 20 50 72 6f 6a 65 63 74 69 6c | rsion.information..###.Projectil | 
| c000 | 65 20 76 65 72 73 69 6f 6e 20 69 6e 66 6f 72 6d    61 74 69 6f 6e 0a 0a 2a 49 6e 63 6c 75 64 65 20 | e.version.information..*Include. | 
| c020 | 68 65 72 65 20 74 68 65 20 76 65 72 73 69 6f 6e    20 73 74 72 69 6e 67 20 64 69 73 70 6c 61 79 65 | here.the.version.string.displaye | 
| c040 | 64 20 62 79 20 60 4d 2d 78 0a 70 72 6f 6a 65 63    74 69 6c 65 2d 76 65 72 73 69 6f 6e 60 2e 20 48 | d.by.`M-x.projectile-version`..H | 
| c060 | 65 72 65 27 73 20 61 6e 20 65 78 61 6d 70 6c 65    3a 2a 0a 0a 60 60 60 0a 50 72 6f 6a 65 63 74 69 | ere's.an.example:*..```.Projecti | 
| c080 | 6c 65 20 76 65 72 73 69 6f 6e 3a 20 30 2e 31 33    0a 60 60 60 0a 0a 23 23 23 20 45 6d 61 63 73 20 | le.version:.0.13.```..###.Emacs. | 
| c0a0 | 76 65 72 73 69 6f 6e 0a 0a 2a 45 2e 67 2e 20 32    34 2e 35 2a 20 28 75 73 65 20 3c 6b 62 64 3e 43 | version..*E.g..24.5*.(use.<kbd>C | 
| c0c0 | 2d 68 20 43 2d 61 3c 2f 6b 62 64 3e 20 74 6f 20    73 65 65 20 69 74 29 0a 0a 23 23 23 20 4f 70 65 | -h.C-a</kbd>.to.see.it)..###.Ope | 
| c0e0 | 72 61 74 69 6e 67 20 73 79 73 74 65 6d 0a 0a 2a    45 2e 67 2e 20 57 69 6e 64 6f 77 73 20 31 30 2a | rating.system..*E.g..Windows.10* | 
| c100 | 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 00 00 | ................................ | 
| c120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| c140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| c160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| c180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| c1a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| c1c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| c1e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| c200 | 70 72 6f 6a 65 63 74 69 6c 65 2d 32 2e 38 2e 30    2f 2e 67 69 74 68 75 62 2f 50 55 4c 4c 5f 52 45 | projectile-2.8.0/.github/PULL_RE | 
| c220 | 51 55 45 53 54 5f 54 45 4d 50 4c 41 54 45 2e 6d    64 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | QUEST_TEMPLATE.md............... | 
| c240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| c260 | 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 | 
| c280 | 30 30 30 31 34 31 32 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 37 34 35 37 00 20 30 00 00 00 | 0001412.00000000000.017457..0... | 
| c2a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| c2c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| c2e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| c300 | 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................... | 
| c320 | 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................... | 
| c340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| c360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| c380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| c3a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| c3c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| c3e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| c400 | 2a 2a 52 65 70 6c 61 63 65 20 74 68 69 73 20 70    6c 61 63 65 68 6f 6c 64 65 72 20 74 65 78 74 20 | **Replace.this.placeholder.text. | 
| c420 | 77 69 74 68 20 61 20 73 75 6d 6d 61 72 79 20 6f    66 20 74 68 65 20 63 68 61 6e 67 65 73 20 69 6e | with.a.summary.of.the.changes.in | 
| c440 | 20 79 6f 75 72 20 50 52 2e 0a 54 68 65 20 6d 6f    72 65 20 64 65 74 61 69 6c 65 64 20 79 6f 75 20 | .your.PR..The.more.detailed.you. | 
| c460 | 61 72 65 2c 20 74 68 65 20 62 65 74 74 65 72 2e    2a 2a 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | are,.the.better.**..------------ | 
| c480 | 2d 2d 2d 2d 2d 0a 0a 42 65 66 6f 72 65 20 73 75    62 6d 69 74 74 69 6e 67 20 61 20 50 52 20 6d 61 | -----..Before.submitting.a.PR.ma | 
| c4a0 | 6b 65 20 73 75 72 65 20 74 68 65 20 66 6f 6c 6c    6f 77 69 6e 67 20 74 68 69 6e 67 73 20 68 61 76 | ke.sure.the.following.things.hav | 
| c4c0 | 65 20 62 65 65 6e 20 64 6f 6e 65 20 28 61 6e 64    20 64 65 6e 6f 74 65 20 74 68 69 73 0a 62 79 20 | e.been.done.(and.denote.this.by. | 
| c4e0 | 63 68 65 63 6b 69 6e 67 20 74 68 65 20 72 65 6c    65 76 61 6e 74 20 63 68 65 63 6b 62 6f 78 65 73 | checking.the.relevant.checkboxes | 
| c500 | 29 3a 0a 0a 2d 20 5b 20 5d 20 54 68 65 20 63 6f    6d 6d 69 74 73 20 61 72 65 20 63 6f 6e 73 69 73 | ):..-.[.].The.commits.are.consis | 
| c520 | 74 65 6e 74 20 77 69 74 68 20 6f 75 72 20 5b 63    6f 6e 74 72 69 62 75 74 69 6f 6e 20 67 75 69 64 | tent.with.our.[contribution.guid | 
| c540 | 65 6c 69 6e 65 73 5d 28 2e 2e 2f 62 6c 6f 62 2f    6d 61 73 74 65 72 2f 43 4f 4e 54 52 49 42 55 54 | elines](../blob/master/CONTRIBUT | 
| c560 | 49 4e 47 2e 6d 64 29 0a 2d 20 5b 20 5d 20 59 6f    75 27 76 65 20 61 64 64 65 64 20 74 65 73 74 73 | ING.md).-.[.].You've.added.tests | 
| c580 | 20 28 69 66 20 70 6f 73 73 69 62 6c 65 29 20 74    6f 20 63 6f 76 65 72 20 79 6f 75 72 20 63 68 61 | .(if.possible).to.cover.your.cha | 
| c5a0 | 6e 67 65 28 73 29 0a 2d 20 5b 20 5d 20 41 6c 6c    20 74 65 73 74 73 20 61 72 65 20 70 61 73 73 69 | nge(s).-.[.].All.tests.are.passi | 
| c5c0 | 6e 67 20 28 5b 60 65 6c 64 65 76 20 74 65 73 74    60 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 | ng.([`eldev.test`](https://githu | 
| c5e0 | 62 2e 63 6f 6d 2f 64 6f 75 62 6c 65 70 2f 65 6c    64 65 76 29 29 0a 2d 20 5b 20 5d 20 54 68 65 20 | b.com/doublep/eldev)).-.[.].The. | 
| c600 | 6e 65 77 20 63 6f 64 65 20 69 73 20 6e 6f 74 20    67 65 6e 65 72 61 74 69 6e 67 20 62 79 74 65 63 | new.code.is.not.generating.bytec | 
| c620 | 6f 64 65 20 6f 72 20 60 4d 2d 78 20 63 68 65 63    6b 64 6f 63 60 20 77 61 72 6e 69 6e 67 73 0a 2d | ode.or.`M-x.checkdoc`.warnings.- | 
| c640 | 20 5b 20 5d 20 59 6f 75 27 76 65 20 75 70 64 61    74 65 64 20 74 68 65 20 5b 63 68 61 6e 67 65 6c | .[.].You've.updated.the.[changel | 
| c660 | 6f 67 5d 28 2e 2e 2f 62 6c 6f 62 2f 6d 61 73 74    65 72 2f 43 48 41 4e 47 45 4c 4f 47 2e 6d 64 29 | og](../blob/master/CHANGELOG.md) | 
| c680 | 20 28 69 66 20 61 64 64 69 6e 67 2f 63 68 61 6e    67 69 6e 67 20 75 73 65 72 2d 76 69 73 69 62 6c | .(if.adding/changing.user-visibl | 
| c6a0 | 65 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79 29    0a 2d 20 5b 20 5d 20 59 6f 75 27 76 65 20 75 70 | e.functionality).-.[.].You've.up | 
| c6c0 | 64 61 74 65 64 20 74 68 65 20 72 65 61 64 6d 65    20 28 69 66 20 61 64 64 69 6e 67 2f 63 68 61 6e | dated.the.readme.(if.adding/chan | 
| c6e0 | 67 69 6e 67 20 75 73 65 72 2d 76 69 73 69 62 6c    65 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79 29 | ging.user-visible.functionality) | 
| c700 | 0a 0a 54 68 61 6e 6b 73 21 0a 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ..Thanks!....................... | 
| c720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| c740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| c760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| c780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| c7a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| c7c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| c7e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| c800 | 70 72 6f 6a 65 63 74 69 6c 65 2d 32 2e 38 2e 30    2f 2e 67 69 74 68 75 62 2f 46 55 4e 44 49 4e 47 | projectile-2.8.0/.github/FUNDING | 
| c820 | 2e 79 6d 6c 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .yml............................ | 
| c840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| c860 | 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 | 
| c880 | 30 30 30 30 32 33 30 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 35 34 37 30 00 20 30 00 00 00 | 0000230.00000000000.015470..0... | 
| c8a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| c8c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| c8e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| c900 | 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................... | 
| c920 | 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................... | 
| c940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| c960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| c980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| c9a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| c9c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| c9e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| ca00 | 23 20 54 68 65 73 65 20 61 72 65 20 73 75 70 70    6f 72 74 65 64 20 66 75 6e 64 69 6e 67 20 6d 6f | #.These.are.supported.funding.mo | 
| ca20 | 64 65 6c 20 70 6c 61 74 66 6f 72 6d 73 0a 0a 67    69 74 68 75 62 3a 20 62 62 61 74 73 6f 76 0a 70 | del.platforms..github:.bbatsov.p | 
| ca40 | 61 74 72 65 6f 6e 3a 20 62 62 61 74 73 6f 76 0a    6b 6f 5f 66 69 3a 20 62 62 61 74 73 6f 76 0a 6c | atreon:.bbatsov.ko_fi:.bbatsov.l | 
| ca60 | 69 62 65 72 61 70 61 79 3a 20 62 62 61 74 73 6f    76 0a 63 75 73 74 6f 6d 3a 20 68 74 74 70 73 3a | iberapay:.bbatsov.custom:.https: | 
| ca80 | 2f 2f 77 77 77 2e 70 61 79 70 61 6c 2e 6d 65 2f    62 62 61 74 73 6f 76 0a 00 00 00 00 00 00 00 00 | //www.paypal.me/bbatsov......... | 
| caa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| cac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| cae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| cb00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| cb20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| cb40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| cb60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| cb80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| cba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| cbc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| cbe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| cc00 | 70 72 6f 6a 65 63 74 69 6c 65 2d 32 2e 38 2e 30    2f 70 72 6f 6a 65 63 74 69 6c 65 2e 65 6c 00 00 | projectile-2.8.0/projectile.el.. | 
| cc20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| cc40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| cc60 | 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 | 
| cc80 | 31 30 32 31 33 33 36 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 35 30 31 30 00 20 30 00 00 00 | 1021336.00000000000.015010..0... | 
| cca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| ccc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| cce0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| cd00 | 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................... | 
| cd20 | 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................... | 
| cd40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| cd60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| cd80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| cda0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| cdc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| cde0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| ce00 | 3b 3b 3b 20 70 72 6f 6a 65 63 74 69 6c 65 2e 65    6c 20 2d 2d 2d 20 4d 61 6e 61 67 65 20 61 6e 64 | ;;;.projectile.el.---.Manage.and | 
| ce20 | 20 6e 61 76 69 67 61 74 65 20 70 72 6f 6a 65 63    74 73 20 69 6e 20 45 6d 61 63 73 20 65 61 73 69 | .navigate.projects.in.Emacs.easi | 
| ce40 | 6c 79 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62    69 6e 64 69 6e 67 3a 20 74 20 2d 2a 2d 0a 0a 3b | ly.-*-.lexical-binding:.t.-*-..; | 
| ce60 | 3b 20 43 6f 70 79 72 69 67 68 74 20 c2 a9 20 32    30 31 31 2d 32 30 32 33 20 42 6f 7a 68 69 64 61 | ;.Copyright....2011-2023.Bozhida | 
| ce80 | 72 20 42 61 74 73 6f 76 20 3c 62 6f 7a 68 69 64    61 72 40 62 61 74 73 6f 76 2e 64 65 76 3e 0a 0a | r.Batsov.<bozhidar@batsov.dev>.. | 
| cea0 | 3b 3b 20 41 75 74 68 6f 72 3a 20 42 6f 7a 68 69    64 61 72 20 42 61 74 73 6f 76 20 3c 62 6f 7a 68 | ;;.Author:.Bozhidar.Batsov.<bozh | 
| cec0 | 69 64 61 72 40 62 61 74 73 6f 76 2e 64 65 76 3e    0a 3b 3b 20 55 52 4c 3a 20 68 74 74 70 73 3a 2f | idar@batsov.dev>.;;.URL:.https:/ | 
| cee0 | 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 62 62 61 74    73 6f 76 2f 70 72 6f 6a 65 63 74 69 6c 65 0a 3b | /github.com/bbatsov/projectile.; | 
| cf00 | 3b 20 4b 65 79 77 6f 72 64 73 3a 20 70 72 6f 6a    65 63 74 2c 20 63 6f 6e 76 65 6e 69 65 6e 63 65 | ;.Keywords:.project,.convenience | 
| cf20 | 0a 3b 3b 20 56 65 72 73 69 6f 6e 3a 20 32 2e 38    2e 30 0a 3b 3b 20 50 61 63 6b 61 67 65 2d 52 65 | .;;.Version:.2.8.0.;;.Package-Re | 
| cf40 | 71 75 69 72 65 73 3a 20 28 28 65 6d 61 63 73 20    22 32 35 2e 31 22 29 29 0a 0a 3b 3b 20 54 68 69 | quires:.((emacs."25.1"))..;;.Thi | 
| cf60 | 73 20 66 69 6c 65 20 69 73 20 4e 4f 54 20 70 61    72 74 20 6f 66 20 47 4e 55 20 45 6d 61 63 73 2e | s.file.is.NOT.part.of.GNU.Emacs. | 
| cf80 | 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61    6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 | ..;;.This.program.is.free.softwa | 
| cfa0 | 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 64 69    73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f | re;.you.can.redistribute.it.and/ | 
| cfc0 | 6f 72 20 6d 6f 64 69 66 79 0a 3b 3b 20 69 74 20    75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 | or.modify.;;.it.under.the.terms. | 
| cfe0 | 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72    61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 | of.the.GNU.General.Public.Licens | 
| d000 | 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62    79 0a 3b 3b 20 74 68 65 20 46 72 65 65 20 53 6f | e.as.published.by.;;.the.Free.So | 
| d020 | 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f    6e 3b 20 65 69 74 68 65 72 20 76 65 72 73 69 6f | ftware.Foundation;.either.versio | 
| d040 | 6e 20 33 2c 20 6f 72 20 28 61 74 20 79 6f 75 72    20 6f 70 74 69 6f 6e 29 0a 3b 3b 20 61 6e 79 20 | n.3,.or.(at.your.option).;;.any. | 
| d060 | 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 3b    3b 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 | later.version..;;.;;.This.progra | 
| d080 | 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64    20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 | m.is.distributed.in.the.hope.tha | 
| d0a0 | 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65    66 75 6c 2c 0a 3b 3b 20 62 75 74 20 57 49 54 48 | t.it.will.be.useful,.;;.but.WITH | 
| d0c0 | 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59    3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 | OUT.ANY.WARRANTY;.without.even.t | 
| d0e0 | 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61    6e 74 79 20 6f 66 0a 3b 3b 20 4d 45 52 43 48 41 | he.implied.warranty.of.;;.MERCHA | 
| d100 | 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54    4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 | NTABILITY.or.FITNESS.FOR.A.PARTI | 
| d120 | 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20    53 65 65 20 74 68 65 0a 3b 3b 20 47 4e 55 20 47 | CULAR.PURPOSE...See.the.;;.GNU.G | 
| d140 | 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69    63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 | eneral.Public.License.for.more.d | 
| d160 | 65 74 61 69 6c 73 2e 0a 3b 3b 0a 3b 3b 20 59 6f    75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 | etails..;;.;;.You.should.have.re | 
| d180 | 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66    20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c | ceived.a.copy.of.the.GNU.General | 
| d1a0 | 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a    3b 3b 20 61 6c 6f 6e 67 20 77 69 74 68 20 47 4e | .Public.License.;;.along.with.GN | 
| d1c0 | 55 20 45 6d 61 63 73 3b 20 73 65 65 20 74 68 65    20 66 69 6c 65 20 43 4f 50 59 49 4e 47 2e 20 20 | U.Emacs;.see.the.file.COPYING... | 
| d1e0 | 49 66 20 6e 6f 74 2c 20 77 72 69 74 65 20 74 6f    20 74 68 65 0a 3b 3b 20 46 72 65 65 20 53 6f 66 | If.not,.write.to.the.;;.Free.Sof | 
| d200 | 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e    2c 20 49 6e 63 2e 2c 20 35 31 20 46 72 61 6e 6b | tware.Foundation,.Inc.,.51.Frank | 
| d220 | 6c 69 6e 20 53 74 72 65 65 74 2c 20 46 69 66 74    68 20 46 6c 6f 6f 72 2c 0a 3b 3b 20 42 6f 73 74 | lin.Street,.Fifth.Floor,.;;.Bost | 
| d240 | 6f 6e 2c 20 4d 41 20 30 32 31 31 30 2d 31 33 30    31 2c 20 55 53 41 2e 0a 0a 3b 3b 3b 20 43 6f 6d | on,.MA.02110-1301,.USA...;;;.Com | 
| d260 | 6d 65 6e 74 61 72 79 3a 0a 3b 3b 0a 3b 3b 20 54    68 69 73 20 6c 69 62 72 61 72 79 20 70 72 6f 76 | mentary:.;;.;;.This.library.prov | 
| d280 | 69 64 65 73 20 65 61 73 79 20 70 72 6f 6a 65 63    74 20 6d 61 6e 61 67 65 6d 65 6e 74 20 61 6e 64 | ides.easy.project.management.and | 
| d2a0 | 20 6e 61 76 69 67 61 74 69 6f 6e 2e 20 20 54 68    65 0a 3b 3b 20 63 6f 6e 63 65 70 74 20 6f 66 20 | .navigation...The.;;.concept.of. | 
| d2c0 | 61 20 70 72 6f 6a 65 63 74 20 69 73 20 70 72 65    74 74 79 20 62 61 73 69 63 20 2d 20 6a 75 73 74 | a.project.is.pretty.basic.-.just | 
| d2e0 | 20 61 20 66 6f 6c 64 65 72 20 63 6f 6e 74 61 69    6e 69 6e 67 0a 3b 3b 20 73 70 65 63 69 61 6c 20 | .a.folder.containing.;;.special. | 
| d300 | 66 69 6c 65 2e 20 20 43 75 72 72 65 6e 74 6c 79    20 67 69 74 2c 20 6d 65 72 63 75 72 69 61 6c 20 | file...Currently.git,.mercurial. | 
| d320 | 61 6e 64 20 62 61 7a 61 61 72 20 72 65 70 6f 73    20 61 72 65 0a 3b 3b 20 63 6f 6e 73 69 64 65 72 | and.bazaar.repos.are.;;.consider | 
| d340 | 65 64 20 70 72 6f 6a 65 63 74 73 20 62 79 20 64    65 66 61 75 6c 74 2e 20 20 49 66 20 79 6f 75 20 | ed.projects.by.default...If.you. | 
| d360 | 77 61 6e 74 20 74 6f 20 6d 61 72 6b 20 61 20 66    6f 6c 64 65 72 0a 3b 3b 20 6d 61 6e 75 61 6c 6c | want.to.mark.a.folder.;;.manuall | 
| d380 | 79 20 61 73 20 61 20 70 72 6f 6a 65 63 74 20 6a    75 73 74 20 63 72 65 61 74 65 20 61 6e 20 65 6d | y.as.a.project.just.create.an.em | 
| d3a0 | 70 74 79 20 2e 70 72 6f 6a 65 63 74 69 6c 65 20    66 69 6c 65 20 69 6e 0a 3b 3b 20 69 74 2e 20 20 | pty..projectile.file.in.;;.it... | 
| d3c0 | 53 65 65 20 74 68 65 20 52 45 41 44 4d 45 20 66    6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e | See.the.README.for.more.details. | 
| d3e0 | 0a 3b 3b 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 28    72 65 71 75 69 72 65 20 27 63 6c 2d 6c 69 62 29 | .;;.;;;.Code:..(require.'cl-lib) | 
| d400 | 0a 28 72 65 71 75 69 72 65 20 27 74 68 69 6e 67    61 74 70 74 29 0a 28 72 65 71 75 69 72 65 20 27 | .(require.'thingatpt).(require.' | 
| d420 | 69 62 75 66 66 65 72 29 0a 28 72 65 71 75 69 72    65 20 27 69 62 75 66 2d 65 78 74 29 0a 28 72 65 | ibuffer).(require.'ibuf-ext).(re | 
| d440 | 71 75 69 72 65 20 27 63 6f 6d 70 69 6c 65 29 0a    28 72 65 71 75 69 72 65 20 27 67 72 65 70 29 0a | quire.'compile).(require.'grep). | 
| d460 | 28 72 65 71 75 69 72 65 20 27 6c 69 73 70 2d 6d    6e 74 29 0a 28 65 76 61 6c 2d 77 68 65 6e 2d 63 | (require.'lisp-mnt).(eval-when-c | 
| d480 | 6f 6d 70 69 6c 65 0a 20 20 28 72 65 71 75 69 72    65 20 27 66 69 6e 64 2d 64 69 72 65 64 29 0a 20 | ompile...(require.'find-dired).. | 
| d4a0 | 20 28 72 65 71 75 69 72 65 20 27 73 75 62 72 2d    78 29 29 0a 0a 3b 3b 3b 20 44 65 63 6c 61 72 61 | .(require.'subr-x))..;;;.Declara | 
| d4c0 | 74 69 6f 6e 73 0a 3b 3b 0a 3b 3b 20 41 20 62 75    6e 63 68 20 6f 66 20 76 61 72 69 61 62 6c 65 20 | tions.;;.;;.A.bunch.of.variable. | 
| d4e0 | 61 6e 64 20 66 75 6e 63 74 69 6f 6e 20 64 65 63    6c 61 72 61 74 69 6f 6e 73 0a 3b 3b 20 6e 65 65 | and.function.declarations.;;.nee | 
| d500 | 64 65 64 20 74 6f 20 61 70 70 65 61 73 65 20 74    68 65 20 62 79 74 65 2d 63 6f 6d 70 69 6c 65 72 | ded.to.appease.the.byte-compiler | 
| d520 | 2e 0a 28 64 65 66 76 61 72 20 69 64 6f 2d 6d 6f    64 65 29 0a 28 64 65 66 76 61 72 20 69 76 79 2d | ..(defvar.ido-mode).(defvar.ivy- | 
| d540 | 6d 6f 64 65 29 0a 28 64 65 66 76 61 72 20 68 65    6c 6d 2d 6d 6f 64 65 29 0a 28 64 65 66 76 61 72 | mode).(defvar.helm-mode).(defvar | 
| d560 | 20 61 67 2d 69 67 6e 6f 72 65 2d 6c 69 73 74 29    0a 28 64 65 66 76 61 72 20 67 67 74 61 67 73 2d | .ag-ignore-list).(defvar.ggtags- | 
| d580 | 63 6f 6d 70 6c 65 74 69 6f 6e 2d 74 61 62 6c 65    29 0a 28 64 65 66 76 61 72 20 74 61 67 73 2d 63 | completion-table).(defvar.tags-c | 
| d5a0 | 6f 6d 70 6c 65 74 69 6f 6e 2d 74 61 62 6c 65 29    0a 28 64 65 66 76 61 72 20 74 61 67 73 2d 6c 6f | ompletion-table).(defvar.tags-lo | 
| d5c0 | 6f 70 2d 73 63 61 6e 29 0a 28 64 65 66 76 61 72    20 74 61 67 73 2d 6c 6f 6f 70 2d 6f 70 65 72 61 | op-scan).(defvar.tags-loop-opera | 
| d5e0 | 74 65 29 0a 28 64 65 66 76 61 72 20 65 73 68 65    6c 6c 2d 62 75 66 66 65 72 2d 6e 61 6d 65 29 0a | te).(defvar.eshell-buffer-name). | 
| d600 | 28 64 65 66 76 61 72 20 65 78 70 6c 69 63 69 74    2d 73 68 65 6c 6c 2d 66 69 6c 65 2d 6e 61 6d 65 | (defvar.explicit-shell-file-name | 
| d620 | 29 0a 28 64 65 66 76 61 72 20 67 72 65 70 2d 66    69 6c 65 73 2d 61 6c 69 61 73 65 73 29 0a 28 64 | ).(defvar.grep-files-aliases).(d | 
| d640 | 65 66 76 61 72 20 67 72 65 70 2d 66 69 6e 64 2d    69 67 6e 6f 72 65 64 2d 64 69 72 65 63 74 6f 72 | efvar.grep-find-ignored-director | 
| d660 | 69 65 73 29 0a 28 64 65 66 76 61 72 20 67 72 65    70 2d 66 69 6e 64 2d 69 67 6e 6f 72 65 64 2d 66 | ies).(defvar.grep-find-ignored-f | 
| d680 | 69 6c 65 73 29 0a 0a 28 64 65 63 6c 61 72 65 2d    66 75 6e 63 74 69 6f 6e 20 74 61 67 73 2d 63 6f | iles)..(declare-function.tags-co | 
| d6a0 | 6d 70 6c 65 74 69 6f 6e 2d 74 61 62 6c 65 20 22    65 74 61 67 73 22 29 0a 28 64 65 63 6c 61 72 65 | mpletion-table."etags").(declare | 
| d6c0 | 2d 66 75 6e 63 74 69 6f 6e 20 6d 61 6b 65 2d 74    65 72 6d 20 22 74 65 72 6d 22 29 0a 28 64 65 63 | -function.make-term."term").(dec | 
| d6e0 | 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 74 65    72 6d 2d 6d 6f 64 65 20 22 74 65 72 6d 22 29 0a | lare-function.term-mode."term"). | 
| d700 | 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f    6e 20 74 65 72 6d 2d 63 68 61 72 2d 6d 6f 64 65 | (declare-function.term-char-mode | 
| d720 | 20 22 74 65 72 6d 22 29 0a 28 64 65 63 6c 61 72    65 2d 66 75 6e 63 74 69 6f 6e 20 74 65 72 6d 2d | ."term").(declare-function.term- | 
| d740 | 61 6e 73 69 2d 6d 61 6b 65 2d 74 65 72 6d 20 22    74 65 72 6d 22 29 0a 28 64 65 63 6c 61 72 65 2d | ansi-make-term."term").(declare- | 
| d760 | 66 75 6e 63 74 69 6f 6e 20 65 73 68 65 6c 6c 2d    73 65 61 72 63 68 2d 70 61 74 68 20 22 65 73 68 | function.eshell-search-path."esh | 
| d780 | 2d 65 78 74 22 29 0a 28 64 65 63 6c 61 72 65 2d    66 75 6e 63 74 69 6f 6e 20 76 63 2d 64 69 72 20 | -ext").(declare-function.vc-dir. | 
| d7a0 | 22 76 63 2d 64 69 72 22 29 0a 28 64 65 63 6c 61    72 65 2d 66 75 6e 63 74 69 6f 6e 20 76 63 2d 64 | "vc-dir").(declare-function.vc-d | 
| d7c0 | 69 72 2d 62 75 73 79 20 22 76 63 2d 64 69 72 22    29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 | ir-busy."vc-dir").(declare-funct | 
| d7e0 | 69 6f 6e 20 73 74 72 69 6e 67 2d 74 72 69 6d 20    22 73 75 62 72 2d 78 22 29 0a 28 64 65 63 6c 61 | ion.string-trim."subr-x").(decla | 
| d800 | 72 65 2d 66 75 6e 63 74 69 6f 6e 20 66 69 6c 65    6c 6f 6f 70 2d 63 6f 6e 74 69 6e 75 65 20 22 66 | re-function.fileloop-continue."f | 
| d820 | 69 6c 65 6c 6f 6f 70 22 29 0a 28 64 65 63 6c 61    72 65 2d 66 75 6e 63 74 69 6f 6e 20 66 69 6c 65 | ileloop").(declare-function.file | 
| d840 | 6c 6f 6f 70 2d 69 6e 69 74 69 61 6c 69 7a 65 2d    72 65 70 6c 61 63 65 20 22 66 69 6c 65 6c 6f 6f | loop-initialize-replace."fileloo | 
| d860 | 70 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e    63 74 69 6f 6e 20 74 72 61 6d 70 2d 61 72 63 68 | p").(declare-function.tramp-arch | 
| d880 | 69 76 65 2d 66 69 6c 65 2d 6e 61 6d 65 2d 70 20    22 74 72 61 6d 70 2d 61 72 63 68 69 76 65 22 29 | ive-file-name-p."tramp-archive") | 
| d8a0 | 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69    6f 6e 20 68 65 6c 6d 2d 67 72 65 70 2d 67 65 74 | .(declare-function.helm-grep-get | 
| d8c0 | 2d 66 69 6c 65 2d 65 78 74 65 6e 73 69 6f 6e 73    20 22 68 65 6c 6d 2d 67 72 65 70 22 29 0a 0a 28 | -file-extensions."helm-grep")..( | 
| d8e0 | 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e    20 67 67 74 61 67 73 2d 65 6e 73 75 72 65 2d 70 | declare-function.ggtags-ensure-p | 
| d900 | 72 6f 6a 65 63 74 20 22 65 78 74 3a 67 67 74 61    67 73 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 | roject."ext:ggtags").(declare-fu | 
| d920 | 6e 63 74 69 6f 6e 20 67 67 74 61 67 73 2d 75 70    64 61 74 65 2d 74 61 67 73 20 22 65 78 74 3a 67 | nction.ggtags-update-tags."ext:g | 
| d940 | 67 74 61 67 73 22 29 0a 28 64 65 63 6c 61 72 65    2d 66 75 6e 63 74 69 6f 6e 20 72 69 70 67 72 65 | gtags").(declare-function.ripgre | 
| d960 | 70 2d 72 65 67 65 78 70 20 22 65 78 74 3a 72 69    70 67 72 65 70 22 29 0a 28 64 65 63 6c 61 72 65 | p-regexp."ext:ripgrep").(declare | 
| d980 | 2d 66 75 6e 63 74 69 6f 6e 20 72 67 2d 72 75 6e    20 22 65 78 74 3a 72 67 22 29 0a 28 64 65 63 6c | -function.rg-run."ext:rg").(decl | 
| d9a0 | 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 76 74 65    72 6d 20 22 65 78 74 3a 76 74 65 72 6d 22 29 0a | are-function.vterm."ext:vterm"). | 
| d9c0 | 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f    6e 20 76 74 65 72 6d 2d 6f 74 68 65 72 2d 77 69 | (declare-function.vterm-other-wi | 
| d9e0 | 6e 64 6f 77 20 22 65 78 74 3a 76 74 65 72 6d 22    29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 | ndow."ext:vterm").(declare-funct | 
| da00 | 69 6f 6e 20 76 74 65 72 6d 2d 73 65 6e 64 2d 72    65 74 75 72 6e 20 22 65 78 74 3a 76 74 65 72 6d | ion.vterm-send-return."ext:vterm | 
| da20 | 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63    74 69 6f 6e 20 76 74 65 72 6d 2d 73 65 6e 64 2d | ").(declare-function.vterm-send- | 
| da40 | 73 74 72 69 6e 67 20 22 65 78 74 3a 76 74 65 72    6d 22 29 0a 0a 0c 0a 3b 3b 3b 20 43 75 73 74 6f | string."ext:vterm")....;;;.Custo | 
| da60 | 6d 69 7a 61 74 69 6f 6e 0a 28 64 65 66 67 72 6f    75 70 20 70 72 6f 6a 65 63 74 69 6c 65 20 6e 69 | mization.(defgroup.projectile.ni | 
| da80 | 6c 0a 20 20 22 4d 61 6e 61 67 65 20 61 6e 64 20    6e 61 76 69 67 61 74 65 20 70 72 6f 6a 65 63 74 | l..."Manage.and.navigate.project | 
| daa0 | 73 20 65 61 73 69 6c 79 2e 22 0a 20 20 3a 67 72    6f 75 70 20 27 74 6f 6f 6c 73 0a 20 20 3a 67 72 | s.easily."...:group.'tools...:gr | 
| dac0 | 6f 75 70 20 27 63 6f 6e 76 65 6e 69 65 6e 63 65    0a 20 20 3a 6c 69 6e 6b 20 27 28 75 72 6c 2d 6c | oup.'convenience...:link.'(url-l | 
| dae0 | 69 6e 6b 20 3a 74 61 67 20 22 47 69 74 48 75 62    22 20 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 | ink.:tag."GitHub"."https://githu | 
| db00 | 62 2e 63 6f 6d 2f 62 62 61 74 73 6f 76 2f 70 72    6f 6a 65 63 74 69 6c 65 22 29 0a 20 20 3a 6c 69 | b.com/bbatsov/projectile")...:li | 
| db20 | 6e 6b 20 27 28 75 72 6c 2d 6c 69 6e 6b 20 3a 74    61 67 20 22 4f 6e 6c 69 6e 65 20 4d 61 6e 75 61 | nk.'(url-link.:tag."Online.Manua | 
| db40 | 6c 22 20 22 68 74 74 70 73 3a 2f 2f 64 6f 63 73    2e 70 72 6f 6a 65 63 74 69 6c 65 2e 6d 78 2f 22 | l"."https://docs.projectile.mx/" | 
| db60 | 29 0a 20 20 3a 6c 69 6e 6b 20 27 28 65 6d 61 63    73 2d 63 6f 6d 6d 65 6e 74 61 72 79 2d 6c 69 6e | )...:link.'(emacs-commentary-lin | 
| db80 | 6b 20 3a 74 61 67 20 22 43 6f 6d 6d 65 6e 74 61    72 79 22 20 22 70 72 6f 6a 65 63 74 69 6c 65 22 | k.:tag."Commentary"."projectile" | 
| dba0 | 29 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 70    72 6f 6a 65 63 74 69 6c 65 2d 69 6e 64 65 78 69 | ))..(defcustom.projectile-indexi | 
| dbc0 | 6e 67 2d 6d 65 74 68 6f 64 0a 20 20 28 69 66 20    28 65 71 20 73 79 73 74 65 6d 2d 74 79 70 65 20 | ng-method...(if.(eq.system-type. | 
| dbe0 | 27 77 69 6e 64 6f 77 73 2d 6e 74 29 20 27 6e 61    74 69 76 65 20 27 61 6c 69 65 6e 29 0a 20 20 22 | 'windows-nt).'native.'alien)..." | 
| dc00 | 53 70 65 63 69 66 69 65 73 20 74 68 65 20 69 6e    64 65 78 69 6e 67 20 6d 65 74 68 6f 64 20 75 73 | Specifies.the.indexing.method.us | 
| dc20 | 65 64 20 62 79 20 50 72 6f 6a 65 63 74 69 6c 65    2e 0a 0a 54 68 65 72 65 20 61 72 65 20 74 68 72 | ed.by.Projectile...There.are.thr | 
| dc40 | 65 65 20 69 6e 64 65 78 69 6e 67 20 6d 65 74 68    6f 64 73 20 2d 20 6e 61 74 69 76 65 2c 20 68 79 | ee.indexing.methods.-.native,.hy | 
| dc60 | 62 72 69 64 20 61 6e 64 20 61 6c 69 65 6e 2e 0a    0a 54 68 65 20 6e 61 74 69 76 65 20 6d 65 74 68 | brid.and.alien...The.native.meth | 
| dc80 | 6f 64 20 69 73 20 69 6d 70 6c 65 6d 65 6e 74 65    64 20 69 6e 20 45 6d 61 63 73 20 4c 69 73 70 20 | od.is.implemented.in.Emacs.Lisp. | 
| dca0 | 28 74 68 65 72 65 66 6f 72 65 20 69 74 20 69 73    0a 6e 61 74 69 76 65 20 74 6f 20 45 6d 61 63 73 | (therefore.it.is.native.to.Emacs | 
| dcc0 | 29 2e 20 20 49 74 73 20 61 64 76 61 6e 74 61 67    65 20 69 73 20 74 68 61 74 20 69 74 20 69 73 20 | )...Its.advantage.is.that.it.is. | 
| dce0 | 70 6f 72 74 61 62 6c 65 20 61 6e 64 20 77 69 6c    6c 0a 77 6f 72 6b 20 65 76 65 72 79 77 68 65 72 | portable.and.will.work.everywher | 
| dd00 | 65 20 74 68 61 74 20 45 6d 61 63 73 20 64 6f 65    73 2e 20 20 49 74 73 20 64 69 73 61 64 76 61 6e | e.that.Emacs.does...Its.disadvan | 
| dd20 | 74 61 67 65 20 69 73 20 74 68 61 74 20 69 74 20    69 73 20 61 0a 62 69 74 20 73 6c 6f 77 20 28 65 | tage.is.that.it.is.a.bit.slow.(e | 
| dd40 | 73 70 65 63 69 61 6c 6c 79 20 66 6f 72 20 6c 61    72 67 65 20 70 72 6f 6a 65 63 74 73 29 2e 20 20 | specially.for.large.projects)... | 
| dd60 | 47 65 6e 65 72 61 6c 6c 79 20 69 74 27 73 20 61    20 67 6f 6f 64 0a 69 64 65 61 20 74 6f 20 70 61 | Generally.it's.a.good.idea.to.pa | 
| dd80 | 69 72 20 74 68 65 20 6e 61 74 69 76 65 20 69 6e    64 65 78 69 6e 67 20 6d 65 74 68 6f 64 20 77 69 | ir.the.native.indexing.method.wi | 
| dda0 | 74 68 20 63 61 63 68 69 6e 67 2e 0a 0a 54 68 65    20 68 79 62 72 69 64 20 69 6e 64 65 78 69 6e 67 | th.caching...The.hybrid.indexing | 
| ddc0 | 20 6d 65 74 68 6f 64 20 75 73 65 73 20 65 78 74    65 72 6e 61 6c 20 74 6f 6f 6c 73 20 28 65 2e 67 | .method.uses.external.tools.(e.g | 
| dde0 | 2e 20 67 69 74 2c 20 66 69 6e 64 2c 0a 65 74 63    29 20 74 6f 20 73 70 65 65 64 20 75 70 20 74 68 | ..git,.find,.etc).to.speed.up.th | 
| de00 | 65 20 69 6e 64 65 78 69 6e 67 20 70 72 6f 63 65    73 73 2e 20 20 53 74 69 6c 6c 2c 20 74 68 65 20 | e.indexing.process...Still,.the. | 
| de20 | 66 69 6c 65 73 20 77 69 6c 6c 20 62 65 0a 70 6f    73 74 2d 70 72 6f 63 65 73 73 65 64 20 62 79 20 | files.will.be.post-processed.by. | 
| de40 | 50 72 6f 6a 65 63 74 69 6c 65 20 66 6f 72 20 73    6f 72 74 69 6e 67 2f 66 69 6c 74 65 72 69 6e 67 | Projectile.for.sorting/filtering | 
| de60 | 20 70 75 72 70 6f 73 65 73 2e 0a 49 6e 20 74 68    69 73 20 73 65 6e 73 65 20 74 68 61 74 20 61 70 | .purposes..In.this.sense.that.ap | 
| de80 | 70 72 6f 61 63 68 20 69 73 20 61 20 68 79 62 72    69 64 20 62 65 74 77 65 65 6e 20 6e 61 74 69 76 | proach.is.a.hybrid.between.nativ | 
| dea0 | 65 20 69 6e 64 65 78 69 6e 67 0a 61 6e 64 20 61    6c 69 65 6e 20 69 6e 64 65 78 69 6e 67 2e 0a 0a | e.indexing.and.alien.indexing... | 
| dec0 | 54 68 65 20 61 6c 69 65 6e 20 69 6e 64 65 78 69    6e 67 20 6d 65 74 68 6f 64 20 6f 70 74 69 6d 69 | The.alien.indexing.method.optimi | 
| dee0 | 7a 65 73 20 74 6f 20 74 68 65 20 6c 69 6d 69 74    20 74 68 65 20 73 70 65 65 64 0a 6f 66 20 74 68 | zes.to.the.limit.the.speed.of.th | 
| df00 | 65 20 68 79 62 72 69 64 20 69 6e 64 65 78 69 6e    67 20 6d 65 74 68 6f 64 2e 20 20 54 68 69 73 20 | e.hybrid.indexing.method...This. | 
| df20 | 6d 65 61 6e 73 20 74 68 61 74 20 50 72 6f 6a 65    63 74 69 6c 65 20 77 69 6c 6c 0a 6e 6f 74 20 64 | means.that.Projectile.will.not.d | 
| df40 | 6f 20 61 6e 79 20 70 72 6f 63 65 73 73 69 6e 67    20 6f 66 20 74 68 65 20 66 69 6c 65 73 20 72 65 | o.any.processing.of.the.files.re | 
| df60 | 74 75 72 6e 65 64 20 62 79 20 74 68 65 20 65 78    74 65 72 6e 61 6c 0a 63 6f 6d 6d 61 6e 64 73 20 | turned.by.the.external.commands. | 
| df80 | 61 6e 64 20 79 6f 75 27 72 65 20 67 6f 69 6e 67    20 74 6f 20 67 65 74 20 74 68 65 20 6d 61 78 69 | and.you're.going.to.get.the.maxi | 
| dfa0 | 6d 75 6d 20 70 65 72 66 6f 72 6d 61 6e 63 65 0a    70 6f 73 73 69 62 6c 65 2e 20 20 54 68 69 73 20 | mum.performance.possible...This. | 
| dfc0 | 62 65 68 61 76 69 6f 75 72 20 6d 61 6b 65 73 20    61 20 6c 6f 74 20 6f 66 20 73 65 6e 73 65 20 66 | behaviour.makes.a.lot.of.sense.f | 
| dfe0 | 6f 72 20 6d 6f 73 74 20 70 65 6f 70 6c 65 2c 0a    61 73 20 74 68 65 79 27 64 20 74 79 70 69 63 61 | or.most.people,.as.they'd.typica | 
| e000 | 6c 6c 79 20 62 65 20 70 75 74 74 69 6e 67 20 69    67 6e 6f 72 65 73 20 69 6e 20 74 68 65 69 72 20 | lly.be.putting.ignores.in.their. | 
| e020 | 56 43 53 20 63 6f 6e 66 69 67 20 61 6e 64 0a 77    6f 6e 27 74 20 63 61 72 65 20 61 62 6f 75 74 20 | VCS.config.and.won't.care.about. | 
| e040 | 61 6e 79 20 61 64 64 69 74 69 6f 6e 61 6c 20 69    67 6e 6f 72 65 73 2f 75 6e 69 67 6e 6f 72 65 73 | any.additional.ignores/unignores | 
| e060 | 2f 73 6f 72 74 69 6e 67 20 74 68 61 74 0a 50 72    6f 6a 65 63 74 69 6c 65 20 6d 69 67 68 74 20 61 | /sorting.that.Projectile.might.a | 
| e080 | 6c 73 6f 20 70 72 6f 76 69 64 65 2e 0a 0a 54 68    65 20 64 69 73 61 64 76 61 6e 74 61 67 65 20 6f | lso.provide...The.disadvantage.o | 
| e0a0 | 66 20 74 68 65 20 68 79 62 72 69 64 20 61 6e 64    20 61 6c 69 65 6e 20 6d 65 74 68 6f 64 73 20 69 | f.the.hybrid.and.alien.methods.i | 
| e0c0 | 73 20 74 68 61 74 20 74 68 65 79 20 61 72 65 20    6e 6f 74 20 77 65 6c 6c 0a 73 75 70 70 6f 72 74 | s.that.they.are.not.well.support | 
| e0e0 | 65 64 20 6f 6e 20 57 69 6e 64 6f 77 73 20 73 79    73 74 65 6d 73 2e 20 20 54 68 61 74 27 73 20 77 | ed.on.Windows.systems...That's.w | 
| e100 | 68 79 20 62 79 20 64 65 66 61 75 6c 74 20 61 6c    69 65 6e 20 69 6e 64 65 78 69 6e 67 20 69 73 20 | hy.by.default.alien.indexing.is. | 
| e120 | 74 68 65 0a 64 65 66 61 75 6c 74 20 6f 6e 20 61    6c 6c 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 | the.default.on.all.operating.sys | 
| e140 | 74 65 6d 73 2c 20 65 78 63 65 70 74 20 57 69 6e    64 6f 77 73 2e 22 0a 20 20 3a 67 72 6f 75 70 20 | tems,.except.Windows."...:group. | 
| e160 | 27 70 72 6f 6a 65 63 74 69 6c 65 0a 20 20 3a 74    79 70 65 20 27 28 72 61 64 69 6f 0a 20 20 20 20 | 'projectile...:type.'(radio..... | 
| e180 | 20 20 20 20 20 20 28 63 6f 6e 73 74 20 3a 74 61    67 20 22 4e 61 74 69 76 65 22 20 6e 61 74 69 76 | ......(const.:tag."Native".nativ | 
| e1a0 | 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 63 6f    6e 73 74 20 3a 74 61 67 20 22 48 79 62 72 69 64 | e)...........(const.:tag."Hybrid | 
| e1c0 | 22 20 68 79 62 72 69 64 29 0a 20 20 20 20 20 20    20 20 20 20 28 63 6f 6e 73 74 20 3a 74 61 67 20 | ".hybrid)...........(const.:tag. | 
| e1e0 | 22 41 6c 69 65 6e 22 20 61 6c 69 65 6e 29 29 29    0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 70 72 6f | "Alien".alien)))..(defcustom.pro | 
| e200 | 6a 65 63 74 69 6c 65 2d 65 6e 61 62 6c 65 2d 63    61 63 68 69 6e 67 20 28 65 71 20 70 72 6f 6a 65 | jectile-enable-caching.(eq.proje | 
| e220 | 63 74 69 6c 65 2d 69 6e 64 65 78 69 6e 67 2d 6d    65 74 68 6f 64 20 27 6e 61 74 69 76 65 29 0a 20 | ctile-indexing-method.'native).. | 
| e240 | 20 22 57 68 65 6e 20 74 20 65 6e 61 62 6c 65 73    20 70 72 6f 6a 65 63 74 20 66 69 6c 65 73 20 63 | ."When.t.enables.project.files.c | 
| e260 | 61 63 68 69 6e 67 2e 0a 0a 50 72 6f 6a 65 63 74    20 63 61 63 68 69 6e 67 20 69 73 20 61 75 74 6f | aching...Project.caching.is.auto | 
| e280 | 6d 61 74 69 63 61 6c 6c 79 20 65 6e 61 62 6c 65    64 20 62 79 20 64 65 66 61 75 6c 74 20 69 66 20 | matically.enabled.by.default.if. | 
| e2a0 | 79 6f 75 27 72 65 0a 75 73 69 6e 67 20 74 68 65    20 6e 61 74 69 76 65 20 69 6e 64 65 78 69 6e 67 | you're.using.the.native.indexing | 
| e2c0 | 20 6d 65 74 68 6f 64 2e 22 0a 20 20 3a 67 72 6f    75 70 20 27 70 72 6f 6a 65 63 74 69 6c 65 0a 20 | .method."...:group.'projectile.. | 
| e2e0 | 20 3a 74 79 70 65 20 27 62 6f 6f 6c 65 61 6e 29    0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 70 72 6f | .:type.'boolean)..(defcustom.pro | 
| e300 | 6a 65 63 74 69 6c 65 2d 6b 69 6c 6c 2d 62 75 66    66 65 72 73 2d 66 69 6c 74 65 72 20 27 6b 69 6c | jectile-kill-buffers-filter.'kil | 
| e320 | 6c 2d 61 6c 6c 0a 20 20 22 44 65 74 65 72 6d 69    6e 65 20 77 68 69 63 68 20 62 75 66 66 65 72 73 | l-all..."Determine.which.buffers | 
| e340 | 20 61 72 65 20 6b 69 6c 6c 65 64 20 62 79 20 60    70 72 6f 6a 65 63 74 69 6c 65 2d 6b 69 6c 6c 2d | .are.killed.by.`projectile-kill- | 
| e360 | 62 75 66 66 65 72 73 27 2e 0a 0a 57 68 65 6e 20    74 68 65 20 6b 69 6c 6c 2d 61 6c 6c 20 6f 70 74 | buffers'...When.the.kill-all.opt | 
| e380 | 69 6f 6e 20 69 73 20 73 65 6c 65 63 74 65 64 2c    20 6b 69 6c 6c 73 20 65 61 63 68 20 62 75 66 66 | ion.is.selected,.kills.each.buff | 
| e3a0 | 65 72 2e 0a 0a 57 68 65 6e 20 74 68 65 20 6b 69    6c 6c 2d 6f 6e 6c 79 2d 66 69 6c 65 73 20 6f 70 | er...When.the.kill-only-files.op | 
| e3c0 | 74 69 6f 6e 20 69 73 20 73 65 6c 65 63 74 65 64    2c 20 6b 69 6c 6c 20 6f 6e 6c 79 20 74 68 65 20 | tion.is.selected,.kill.only.the. | 
| e3e0 | 62 75 66 66 65 72 0a 61 73 73 6f 63 69 61 74 65    64 20 74 6f 20 61 20 66 69 6c 65 2e 0a 0a 4f 74 | buffer.associated.to.a.file...Ot | 
| e400 | 68 65 72 77 69 73 65 2c 20 69 74 20 73 68 6f 75    6c 64 20 62 65 20 61 20 70 72 65 64 69 63 61 74 | herwise,.it.should.be.a.predicat | 
| e420 | 65 20 74 68 61 74 20 74 61 6b 65 73 20 6f 6e 65    20 61 72 67 75 6d 65 6e 74 3a 20 74 68 65 20 62 | e.that.takes.one.argument:.the.b | 
| e440 | 75 66 66 65 72 20 74 6f 0a 62 65 20 6b 69 6c 6c    65 64 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 70 | uffer.to.be.killed."...:group.'p | 
| e460 | 72 6f 6a 65 63 74 69 6c 65 0a 20 20 3a 74 79 70    65 20 27 28 72 61 64 69 6f 0a 20 20 20 20 20 20 | rojectile...:type.'(radio....... | 
| e480 | 20 20 20 20 28 63 6f 6e 73 74 20 3a 74 61 67 20    22 41 6c 6c 20 70 72 6f 6a 65 63 74 20 62 75 66 | ....(const.:tag."All.project.buf | 
| e4a0 | 66 65 72 73 22 20 6b 69 6c 6c 2d 61 6c 6c 29 0a    20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 74 | fers".kill-all)...........(const | 
| e4c0 | 20 3a 74 61 67 20 22 50 72 6f 6a 65 63 74 20 66    69 6c 65 20 62 75 66 66 65 72 73 22 20 6b 69 6c | .:tag."Project.file.buffers".kil | 
| e4e0 | 6c 2d 6f 6e 6c 79 2d 66 69 6c 65 73 29 0a 20 20    20 20 20 20 20 20 20 20 28 66 75 6e 63 74 69 6f | l-only-files)...........(functio | 
| e500 | 6e 20 3a 74 61 67 20 22 50 72 65 64 69 63 61 74    65 22 29 29 29 0a 0a 28 64 65 66 63 75 73 74 6f | n.:tag."Predicate")))..(defcusto | 
| e520 | 6d 20 70 72 6f 6a 65 63 74 69 6c 65 2d 66 69 6c    65 2d 65 78 69 73 74 73 2d 6c 6f 63 61 6c 2d 63 | m.projectile-file-exists-local-c | 
| e540 | 61 63 68 65 2d 65 78 70 69 72 65 20 6e 69 6c 0a    20 20 22 4e 75 6d 62 65 72 20 6f 66 20 73 65 63 | ache-expire.nil..."Number.of.sec | 
| e560 | 6f 6e 64 73 20 62 65 66 6f 72 65 20 74 68 65 20    6c 6f 63 61 6c 20 66 69 6c 65 20 65 78 69 73 74 | onds.before.the.local.file.exist | 
| e580 | 65 6e 63 65 20 63 61 63 68 65 20 65 78 70 69 72    65 73 2e 0a 4c 6f 63 61 6c 20 72 65 66 65 72 73 | ence.cache.expires..Local.refers | 
| e5a0 | 20 74 6f 20 61 20 66 69 6c 65 20 6f 6e 20 61 20    6c 6f 63 61 6c 20 66 69 6c 65 20 73 79 73 74 65 | .to.a.file.on.a.local.file.syste | 
| e5c0 | 6d 2e 0a 0a 41 20 76 61 6c 75 65 20 6f 66 20 6e    69 6c 20 64 69 73 61 62 6c 65 73 20 74 68 69 73 | m...A.value.of.nil.disables.this | 
| e5e0 | 20 63 61 63 68 65 2e 0a 53 65 65 20 60 70 72 6f    6a 65 63 74 69 6c 65 2d 66 69 6c 65 2d 65 78 69 | .cache..See.`projectile-file-exi | 
| e600 | 73 74 73 2d 70 27 20 66 6f 72 20 64 65 74 61 69    6c 73 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 70 | sts-p'.for.details."...:group.'p | 
| e620 | 72 6f 6a 65 63 74 69 6c 65 0a 20 20 3a 74 79 70    65 20 27 28 63 68 6f 69 63 65 20 28 63 6f 6e 73 | rojectile...:type.'(choice.(cons | 
| e640 | 74 20 3a 74 61 67 20 22 44 69 73 61 62 6c 65 64    22 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 | t.:tag."Disabled".nil).......... | 
| e660 | 20 20 20 20 20 20 20 20 28 69 6e 74 65 67 65 72    20 3a 74 61 67 20 22 53 65 63 6f 6e 64 73 22 29 | ........(integer.:tag."Seconds") | 
| e680 | 29 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 70    72 6f 6a 65 63 74 69 6c 65 2d 66 69 6c 65 2d 65 | ))..(defcustom.projectile-file-e | 
| e6a0 | 78 69 73 74 73 2d 72 65 6d 6f 74 65 2d 63 61 63    68 65 2d 65 78 70 69 72 65 20 28 2a 20 35 20 36 | xists-remote-cache-expire.(*.5.6 | 
| e6c0 | 30 29 0a 20 20 22 4e 75 6d 62 65 72 20 6f 66 20    73 65 63 6f 6e 64 73 20 62 65 66 6f 72 65 20 74 | 0)..."Number.of.seconds.before.t | 
| e6e0 | 68 65 20 72 65 6d 6f 74 65 20 66 69 6c 65 20 65    78 69 73 74 65 6e 63 65 20 63 61 63 68 65 20 65 | he.remote.file.existence.cache.e | 
| e700 | 78 70 69 72 65 73 2e 0a 52 65 6d 6f 74 65 20 72    65 66 65 72 73 20 74 6f 20 61 20 66 69 6c 65 20 | xpires..Remote.refers.to.a.file. | 
| e720 | 6f 6e 20 61 20 72 65 6d 6f 74 65 20 66 69 6c 65    20 73 79 73 74 65 6d 20 73 75 63 68 20 61 73 20 | on.a.remote.file.system.such.as. | 
| e740 | 74 72 61 6d 70 2e 0a 0a 41 20 76 61 6c 75 65 20    6f 66 20 6e 69 6c 20 64 69 73 61 62 6c 65 73 20 | tramp...A.value.of.nil.disables. | 
| e760 | 74 68 69 73 20 63 61 63 68 65 2e 0a 53 65 65 20    60 70 72 6f 6a 65 63 74 69 6c 65 2d 66 69 6c 65 | this.cache..See.`projectile-file | 
| e780 | 2d 65 78 69 73 74 73 2d 70 27 20 66 6f 72 20 64    65 74 61 69 6c 73 2e 22 0a 20 20 3a 67 72 6f 75 | -exists-p'.for.details."...:grou | 
| e7a0 | 70 20 27 70 72 6f 6a 65 63 74 69 6c 65 0a 20 20    3a 74 79 70 65 20 27 28 63 68 6f 69 63 65 20 28 | p.'projectile...:type.'(choice.( | 
| e7c0 | 63 6f 6e 73 74 20 3a 74 61 67 20 22 44 69 73 61    62 6c 65 64 22 20 6e 69 6c 29 0a 20 20 20 20 20 | const.:tag."Disabled".nil)...... | 
| e7e0 | 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 74    65 67 65 72 20 3a 74 61 67 20 22 53 65 63 6f 6e | ............(integer.:tag."Secon | 
| e800 | 64 73 22 29 29 29 0a 0a 28 64 65 66 63 75 73 74    6f 6d 20 70 72 6f 6a 65 63 74 69 6c 65 2d 66 69 | ds")))..(defcustom.projectile-fi | 
| e820 | 6c 65 73 2d 63 61 63 68 65 2d 65 78 70 69 72 65    20 6e 69 6c 0a 20 20 22 4e 75 6d 62 65 72 20 6f | les-cache-expire.nil..."Number.o | 
| e840 | 66 20 73 65 63 6f 6e 64 73 20 62 65 66 6f 72 65    20 70 72 6f 6a 65 63 74 20 66 69 6c 65 73 20 6c | f.seconds.before.project.files.l | 
| e860 | 69 73 74 20 63 61 63 68 65 20 65 78 70 69 72 65    73 2e 0a 0a 41 20 76 61 6c 75 65 20 6f 66 20 6e | ist.cache.expires...A.value.of.n | 
| e880 | 69 6c 20 6d 65 61 6e 73 20 74 68 65 20 63 61 63    68 65 20 6e 65 76 65 72 20 65 78 70 69 72 65 73 | il.means.the.cache.never.expires | 
| e8a0 | 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 70 72 6f    6a 65 63 74 69 6c 65 0a 20 20 3a 74 79 70 65 20 | ."...:group.'projectile...:type. | 
| e8c0 | 27 28 63 68 6f 69 63 65 20 28 63 6f 6e 73 74 20    3a 74 61 67 20 22 44 69 73 61 62 6c 65 64 22 20 | '(choice.(const.:tag."Disabled". | 
| e8e0 | 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 69 6e 74 65 67 65 72 20 3a | nil)..................(integer.: | 
| e900 | 74 61 67 20 22 53 65 63 6f 6e 64 73 22 29 29 29    0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 70 72 6f | tag."Seconds")))..(defcustom.pro | 
| e920 | 6a 65 63 74 69 6c 65 2d 61 75 74 6f 2d 64 69 73    63 6f 76 65 72 20 74 0a 20 20 22 57 68 65 74 68 | jectile-auto-discover.t..."Wheth | 
| e940 | 65 72 20 74 6f 20 64 69 73 63 6f 76 65 72 20 70    72 6f 6a 65 63 74 73 20 77 68 65 6e 20 60 70 72 | er.to.discover.projects.when.`pr | 
| e960 | 6f 6a 65 63 74 69 6c 65 2d 6d 6f 64 65 27 20 69    73 20 61 63 74 69 76 61 74 65 64 2e 22 0a 20 20 | ojectile-mode'.is.activated."... | 
| e980 | 3a 67 72 6f 75 70 20 27 70 72 6f 6a 65 63 74 69    6c 65 0a 20 20 3a 74 79 70 65 20 27 62 6f 6f 6c | :group.'projectile...:type.'bool | 
| e9a0 | 65 61 6e 0a 20 20 3a 70 61 63 6b 61 67 65 2d 76    65 72 73 69 6f 6e 20 27 28 70 72 6f 6a 65 63 74 | ean...:package-version.'(project | 
| e9c0 | 69 6c 65 20 2e 20 22 32 2e 33 2e 30 22 29 29 0a    0a 28 64 65 66 63 75 73 74 6f 6d 20 70 72 6f 6a | ile..."2.3.0"))..(defcustom.proj | 
| e9e0 | 65 63 74 69 6c 65 2d 61 75 74 6f 2d 75 70 64 61    74 65 2d 63 61 63 68 65 20 74 0a 20 20 22 57 68 | ectile-auto-update-cache.t..."Wh | 
| ea00 | 65 74 68 65 72 20 63 61 63 68 65 20 69 73 20 61    75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 75 70 64 | ether.cache.is.automatically.upd | 
| ea20 | 61 74 65 64 20 77 68 65 6e 20 66 69 6c 65 73 20    61 72 65 20 6f 70 65 6e 65 64 20 6f 72 20 64 65 | ated.when.files.are.opened.or.de | 
| ea40 | 6c 65 74 65 64 2e 22 0a 20 20 3a 67 72 6f 75 70    20 27 70 72 6f 6a 65 63 74 69 6c 65 0a 20 20 3a | leted."...:group.'projectile...: | 
| ea60 | 74 79 70 65 20 27 62 6f 6f 6c 65 61 6e 29 0a 0a    28 64 65 66 63 75 73 74 6f 6d 20 70 72 6f 6a 65 | type.'boolean)..(defcustom.proje | 
| ea80 | 63 74 69 6c 65 2d 72 65 71 75 69 72 65 2d 70 72    6f 6a 65 63 74 2d 72 6f 6f 74 20 27 70 72 6f 6d | ctile-require-project-root.'prom | 
| eaa0 | 70 74 0a 20 20 22 52 65 71 75 69 72 65 20 74 68    65 20 70 72 65 73 65 6e 63 65 20 6f 66 20 61 20 | pt..."Require.the.presence.of.a. | 
| eac0 | 70 72 6f 6a 65 63 74 20 72 6f 6f 74 20 74 6f 20    6f 70 65 72 61 74 65 20 77 68 65 6e 20 74 72 75 | project.root.to.operate.when.tru | 
| eae0 | 65 2e 0a 57 68 65 6e 20 73 65 74 20 74 6f 20 60    70 72 6f 6d 70 74 27 20 50 72 6f 6a 65 63 74 69 | e..When.set.to.`prompt'.Projecti | 
| eb00 | 6c 65 20 77 69 6c 6c 20 61 73 6b 20 79 6f 75 20    74 6f 20 73 65 6c 65 63 74 20 61 20 70 72 6f 6a | le.will.ask.you.to.select.a.proj | 
| eb20 | 65 63 74 0a 64 69 72 65 63 74 6f 72 79 20 69 66    20 79 6f 75 27 72 65 20 6e 6f 74 20 69 6e 20 61 | ect.directory.if.you're.not.in.a | 
| eb40 | 20 70 72 6f 6a 65 63 74 2e 0a 0a 57 68 65 6e 20    6e 69 6c 20 50 72 6f 6a 65 63 74 69 6c 65 20 77 | .project...When.nil.Projectile.w | 
| eb60 | 69 6c 6c 20 63 6f 6e 73 69 64 65 72 20 74 68 65    20 63 75 72 72 65 6e 74 20 64 69 72 65 63 74 6f | ill.consider.the.current.directo | 
| eb80 | 72 79 20 74 68 65 20 70 72 6f 6a 65 63 74 20 72    6f 6f 74 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 | ry.the.project.root."...:group.' | 
| eba0 | 70 72 6f 6a 65 63 74 69 6c 65 0a 20 20 3a 74 79    70 65 20 27 28 63 68 6f 69 63 65 20 28 63 6f 6e | projectile...:type.'(choice.(con | 
| ebc0 | 73 74 20 3a 74 61 67 20 22 4e 6f 22 20 6e 69 6c    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | st.:tag."No".nil)............... | 
| ebe0 | 20 20 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 20 20 | ...(const.:tag."Yes".t)......... | 
| ec00 | 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 74 20    3a 74 61 67 20 22 50 72 6f 6d 70 74 20 66 6f 72 | .........(const.:tag."Prompt.for | 
| ec20 | 20 70 72 6f 6a 65 63 74 22 20 70 72 6f 6d 70 74    29 29 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 | .project".prompt)))..(defcustom. | 
| ec40 | 70 72 6f 6a 65 63 74 69 6c 65 2d 63 6f 6d 70 6c    65 74 69 6f 6e 2d 73 79 73 74 65 6d 20 27 61 75 | projectile-completion-system.'au | 
| ec60 | 74 6f 0a 20 20 22 54 68 65 20 63 6f 6d 70 6c 65    74 69 6f 6e 20 73 79 73 74 65 6d 20 74 6f 20 62 | to..."The.completion.system.to.b | 
| ec80 | 65 20 75 73 65 64 20 62 79 20 50 72 6f 6a 65 63    74 69 6c 65 2e 22 0a 20 20 3a 67 72 6f 75 70 20 | e.used.by.Projectile."...:group. | 
| eca0 | 27 70 72 6f 6a 65 63 74 69 6c 65 0a 20 20 3a 74    79 70 65 20 27 28 72 61 64 69 6f 0a 20 20 20 20 | 'projectile...:type.'(radio..... | 
| ecc0 | 20 20 20 20 20 20 28 63 6f 6e 73 74 20 3a 74 61    67 20 22 41 75 74 6f 2d 64 65 74 65 63 74 22 20 | ......(const.:tag."Auto-detect". | 
| ece0 | 61 75 74 6f 29 0a 20 20 20 20 20 20 20 20 20 20    28 63 6f 6e 73 74 20 3a 74 61 67 20 22 49 64 6f | auto)...........(const.:tag."Ido | 
| ed00 | 22 20 69 64 6f 29 0a 20 20 20 20 20 20 20 20 20    20 28 63 6f 6e 73 74 20 3a 74 61 67 20 22 48 65 | ".ido)...........(const.:tag."He | 
| ed20 | 6c 6d 22 20 68 65 6c 6d 29 0a 20 20 20 20 20 20    20 20 20 20 28 63 6f 6e 73 74 20 3a 74 61 67 20 | lm".helm)...........(const.:tag. | 
| ed40 | 22 49 76 79 22 20 69 76 79 29 0a 20 20 20 20 20    20 20 20 20 20 28 63 6f 6e 73 74 20 3a 74 61 67 | "Ivy".ivy)...........(const.:tag | 
| ed60 | 20 22 44 65 66 61 75 6c 74 22 20 64 65 66 61 75    6c 74 29 0a 20 20 20 20 20 20 20 20 20 20 28 66 | ."Default".default)...........(f | 
| ed80 | 75 6e 63 74 69 6f 6e 20 3a 74 61 67 20 22 43 75    73 74 6f 6d 20 66 75 6e 63 74 69 6f 6e 22 29 29 | unction.:tag."Custom.function")) | 
| eda0 | 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 70 72    6f 6a 65 63 74 69 6c 65 2d 6b 65 79 6d 61 70 2d | )..(defcustom.projectile-keymap- | 
| edc0 | 70 72 65 66 69 78 20 6e 69 6c 0a 20 20 22 50 72    6f 6a 65 63 74 69 6c 65 20 6b 65 79 6d 61 70 20 | prefix.nil..."Projectile.keymap. | 
| ede0 | 70 72 65 66 69 78 2e 22 0a 20 20 3a 67 72 6f 75    70 20 27 70 72 6f 6a 65 63 74 69 6c 65 0a 20 20 | prefix."...:group.'projectile... | 
| ee00 | 3a 74 79 70 65 20 27 73 74 72 69 6e 67 29 0a 0a    28 6d 61 6b 65 2d 6f 62 73 6f 6c 65 74 65 2d 76 | :type.'string)..(make-obsolete-v | 
| ee20 | 61 72 69 61 62 6c 65 20 27 70 72 6f 6a 65 63 74    69 6c 65 2d 6b 65 79 6d 61 70 2d 70 72 65 66 69 | ariable.'projectile-keymap-prefi | 
| ee40 | 78 20 22 55 73 65 20 28 64 65 66 69 6e 65 2d 6b    65 79 20 70 72 6f 6a 65 63 74 69 6c 65 2d 6d 6f | x."Use.(define-key.projectile-mo | 
| ee60 | 64 65 2d 6d 61 70 20 28 6b 62 64 20 2e 2e 2e 29    20 27 70 72 6f 6a 65 63 74 69 6c 65 2d 63 6f 6d | de-map.(kbd....).'projectile-com | 
| ee80 | 6d 61 6e 64 2d 6d 61 70 29 20 69 6e 73 74 65 61    64 2e 22 20 22 32 2e 30 2e 30 22 29 0a 0a 28 64 | mand-map).instead."."2.0.0")..(d | 
| eea0 | 65 66 63 75 73 74 6f 6d 20 70 72 6f 6a 65 63 74    69 6c 65 2d 63 61 63 68 65 2d 66 69 6c 65 0a 20 | efcustom.projectile-cache-file.. | 
| eec0 | 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61    6d 65 20 22 70 72 6f 6a 65 63 74 69 6c 65 2e 63 | .(expand-file-name."projectile.c | 
| eee0 | 61 63 68 65 22 20 75 73 65 72 2d 65 6d 61 63 73    2d 64 69 72 65 63 74 6f 72 79 29 0a 20 20 22 54 | ache".user-emacs-directory)..."T | 
| ef00 | 68 65 20 6e 61 6d 65 20 6f 66 20 50 72 6f 6a 65    63 74 69 6c 65 27 73 20 63 61 63 68 65 20 66 69 | he.name.of.Projectile's.cache.fi | 
| ef20 | 6c 65 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 70    72 6f 6a 65 63 74 69 6c 65 0a 20 20 3a 74 79 70 | le."...:group.'projectile...:typ | 
| ef40 | 65 20 27 73 74 72 69 6e 67 29 0a 0a 28 64 65 66    63 75 73 74 6f 6d 20 70 72 6f 6a 65 63 74 69 6c | e.'string)..(defcustom.projectil | 
| ef60 | 65 2d 74 61 67 73 2d 66 69 6c 65 2d 6e 61 6d 65    20 22 54 41 47 53 22 0a 20 20 22 54 68 65 20 74 | e-tags-file-name."TAGS"..."The.t | 
| ef80 | 61 67 73 20 66 69 6c 65 6e 61 6d 65 20 50 72 6f    6a 65 63 74 69 6c 65 27 73 20 67 6f 69 6e 67 20 | ags.filename.Projectile's.going. | 
| efa0 | 74 6f 20 75 73 65 2e 22 0a 20 20 3a 67 72 6f 75    70 20 27 70 72 6f 6a 65 63 74 69 6c 65 0a 20 20 | to.use."...:group.'projectile... | 
| efc0 | 3a 74 79 70 65 20 27 73 74 72 69 6e 67 29 0a 0a    28 64 65 66 63 75 73 74 6f 6d 20 70 72 6f 6a 65 | :type.'string)..(defcustom.proje | 
| efe0 | 63 74 69 6c 65 2d 74 61 67 73 2d 63 6f 6d 6d 61    6e 64 20 22 63 74 61 67 73 20 2d 52 65 20 2d 66 | ctile-tags-command."ctags.-Re.-f | 
| f000 | 20 5c 22 25 73 5c 22 20 25 73 20 5c 22 25 73 5c    22 22 0a 20 20 22 54 68 65 20 63 6f 6d 6d 61 6e | .\"%s\".%s.\"%s\""..."The.comman | 
| f020 | 64 20 50 72 6f 6a 65 63 74 69 6c 65 27 73 20 67    6f 69 6e 67 20 74 6f 20 75 73 65 20 74 6f 20 67 | d.Projectile's.going.to.use.to.g | 
| f040 | 65 6e 65 72 61 74 65 20 61 20 54 41 47 53 20 66    69 6c 65 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 | enerate.a.TAGS.file."...:group.' | 
| f060 | 70 72 6f 6a 65 63 74 69 6c 65 0a 20 20 3a 74 79    70 65 20 27 73 74 72 69 6e 67 29 0a 0a 28 64 65 | projectile...:type.'string)..(de | 
| f080 | 66 63 75 73 74 6f 6d 20 70 72 6f 6a 65 63 74 69    6c 65 2d 74 61 67 73 2d 62 61 63 6b 65 6e 64 20 | fcustom.projectile-tags-backend. | 
| f0a0 | 27 61 75 74 6f 0a 20 20 22 54 68 65 20 74 61 67    20 62 61 63 6b 65 6e 64 20 74 68 61 74 20 50 72 | 'auto..."The.tag.backend.that.Pr | 
| f0c0 | 6f 6a 65 63 74 69 6c 65 20 73 68 6f 75 6c 64 20    75 73 65 2e 0a 0a 49 66 20 73 65 74 20 74 6f 20 | ojectile.should.use...If.set.to. | 
| f0e0 | 60 61 75 74 6f 27 2c 20 60 70 72 6f 6a 65 63 74    69 6c 65 2d 66 69 6e 64 2d 74 61 67 27 20 77 69 | `auto',.`projectile-find-tag'.wi | 
| f100 | 6c 6c 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79    20 63 68 6f 6f 73 65 0a 77 68 69 63 68 20 62 61 | ll.automatically.choose.which.ba | 
| f120 | 63 6b 65 6e 64 20 74 6f 20 75 73 65 2e 20 20 50    72 65 66 65 72 65 6e 63 65 20 6f 72 64 65 72 20 | ckend.to.use...Preference.order. | 
| f140 | 69 73 20 67 67 74 61 67 73 20 2d 3e 20 78 72 65    66 0a 2d 3e 20 65 74 61 67 73 2d 73 65 6c 65 63 | is.ggtags.->.xref.->.etags-selec | 
| f160 | 74 20 2d 3e 20 60 66 69 6e 64 2d 74 61 67 27 2e    20 20 56 61 72 69 61 62 6c 65 20 63 61 6e 20 61 | t.->.`find-tag'...Variable.can.a | 
| f180 | 6c 73 6f 20 62 65 20 73 65 74 20 74 6f 20 73 70    65 63 69 66 79 20 77 68 69 63 68 0a 62 61 63 6b | lso.be.set.to.specify.which.back | 
| f1a0 | 65 6e 64 20 74 6f 20 75 73 65 2e 20 20 49 66 20    73 65 6c 65 63 74 65 64 20 62 61 63 6b 65 6e 64 | end.to.use...If.selected.backend | 
| f1c0 | 20 69 73 20 75 6e 61 76 61 69 6c 61 62 6c 65 2c    20 66 61 6c 6c 20 62 61 63 6b 20 74 6f 0a 60 66 | .is.unavailable,.fall.back.to.`f | 
| f1e0 | 69 6e 64 2d 74 61 67 27 2e 0a 0a 49 66 20 74 68    69 73 20 76 61 72 69 61 62 6c 65 20 69 73 20 73 | ind-tag'...If.this.variable.is.s | 
| f200 | 65 74 20 74 6f 20 60 61 75 74 6f 27 20 61 6e 64    20 67 67 74 61 67 73 20 69 73 20 61 76 61 69 6c | et.to.`auto'.and.ggtags.is.avail | 
| f220 | 61 62 6c 65 2c 20 6f 72 20 69 66 0a 73 65 74 20    74 6f 20 60 67 67 74 61 67 73 27 2c 20 74 68 65 | able,.or.if.set.to.`ggtags',.the | 
| f240 | 6e 20 67 67 74 61 67 73 20 77 69 6c 6c 20 62 65    20 75 73 65 64 20 66 6f 72 0a 60 70 72 6f 6a 65 | n.ggtags.will.be.used.for.`proje | 
| f260 | 63 74 69 6c 65 2d 72 65 67 65 6e 65 72 61 74 65    2d 74 61 67 73 27 2e 20 20 46 6f 72 20 61 6c 6c | ctile-regenerate-tags'...For.all | 
| f280 | 20 6f 74 68 65 72 20 73 65 74 74 69 6e 67 73 0a    60 70 72 6f 6a 65 63 74 69 6c 65 2d 74 61 67 73 | .other.settings.`projectile-tags | 
| f2a0 | 2d 63 6f 6d 6d 61 6e 64 27 20 77 69 6c 6c 20 62    65 20 75 73 65 64 2e 22 0a 20 20 3a 67 72 6f 75 | -command'.will.be.used."...:grou | 
| f2c0 | 70 20 27 70 72 6f 6a 65 63 74 69 6c 65 0a 20 20    3a 74 79 70 65 20 27 28 72 61 64 69 6f 0a 20 20 | p.'projectile...:type.'(radio... | 
| f2e0 | 20 20 20 20 20 20 20 20 28 63 6f 6e 73 74 20 3a    74 61 67 20 22 61 75 74 6f 22 20 61 75 74 6f 29 | ........(const.:tag."auto".auto) | 
| f300 | 0a 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73    74 20 3a 74 61 67 20 22 78 72 65 66 22 20 78 72 | ...........(const.:tag."xref".xr | 
| f320 | 65 66 29 0a 20 20 20 20 20 20 20 20 20 20 28 63    6f 6e 73 74 20 3a 74 61 67 20 22 67 67 74 61 67 | ef)...........(const.:tag."ggtag | 
| f340 | 73 22 20 67 67 74 61 67 73 29 0a 20 20 20 20 20    20 20 20 20 20 28 63 6f 6e 73 74 20 3a 74 61 67 | s".ggtags)...........(const.:tag | 
| f360 | 20 22 65 74 61 67 73 22 20 65 74 61 67 73 2d 73    65 6c 65 63 74 29 0a 20 20 20 20 20 20 20 20 20 | ."etags".etags-select).......... | 
| f380 | 20 28 63 6f 6e 73 74 20 3a 74 61 67 20 22 73 74    61 6e 64 61 72 64 22 20 66 69 6e 64 2d 74 61 67 | .(const.:tag."standard".find-tag | 
| f3a0 | 29 29 0a 20 20 3a 70 61 63 6b 61 67 65 2d 76 65    72 73 69 6f 6e 20 27 28 70 72 6f 6a 65 63 74 69 | ))...:package-version.'(projecti | 
| f3c0 | 6c 65 20 2e 20 22 30 2e 31 34 2e 30 22 29 29 0a    0a 28 64 65 66 63 75 73 74 6f 6d 20 70 72 6f 6a | le..."0.14.0"))..(defcustom.proj | 
| f3e0 | 65 63 74 69 6c 65 2d 73 6f 72 74 2d 6f 72 64 65    72 20 27 64 65 66 61 75 6c 74 0a 20 20 22 54 68 | ectile-sort-order.'default..."Th | 
| f400 | 65 20 73 6f 72 74 20 6f 72 64 65 72 20 75 73 65    64 20 66 6f 72 20 61 20 70 72 6f 6a 65 63 74 27 | e.sort.order.used.for.a.project' | 
| f420 | 73 20 66 69 6c 65 73 2e 0a 0a 4e 6f 74 65 20 74    68 61 74 20 66 69 6c 65 73 20 61 72 65 6e 27 74 | s.files...Note.that.files.aren't | 
| f440 | 20 73 6f 72 74 65 64 20 69 66 20 60 70 72 6f 6a    65 63 74 69 6c 65 2d 69 6e 64 65 78 69 6e 67 2d | .sorted.if.`projectile-indexing- | 
| f460 | 6d 65 74 68 6f 64 27 0a 69 73 20 73 65 74 20 74    6f 20 60 61 6c 69 65 6e 27 2e 22 0a 20 20 3a 67 | method'.is.set.to.`alien'."...:g | 
| f480 | 72 6f 75 70 20 27 70 72 6f 6a 65 63 74 69 6c 65    0a 20 20 3a 74 79 70 65 20 27 28 72 61 64 69 6f | roup.'projectile...:type.'(radio | 
| f4a0 | 0a 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73    74 20 3a 74 61 67 20 22 44 65 66 61 75 6c 74 20 | ...........(const.:tag."Default. | 
| f4c0 | 28 6e 6f 20 73 6f 72 74 69 6e 67 29 22 20 64 65    66 61 75 6c 74 29 0a 20 20 20 20 20 20 20 20 20 | (no.sorting)".default).......... | 
| f4e0 | 20 28 63 6f 6e 73 74 20 3a 74 61 67 20 22 52 65    63 65 6e 74 6c 79 20 6f 70 65 6e 65 64 20 66 69 | .(const.:tag."Recently.opened.fi | 
| f500 | 6c 65 73 22 20 72 65 63 65 6e 74 66 29 0a 20 20    20 20 20 20 20 20 20 20 28 63 6f 6e 73 74 20 3a | les".recentf)...........(const.: | 
| f520 | 74 61 67 20 22 52 65 63 65 6e 74 6c 79 20 61 63    74 69 76 65 20 62 75 66 66 65 72 73 2c 20 74 68 | tag."Recently.active.buffers,.th | 
| f540 | 65 6e 20 72 65 63 65 6e 74 6c 79 20 6f 70 65 6e    65 64 20 66 69 6c 65 73 22 20 72 65 63 65 6e 74 | en.recently.opened.files".recent | 
| f560 | 6c 79 2d 61 63 74 69 76 65 29 0a 20 20 20 20 20    20 20 20 20 20 28 63 6f 6e 73 74 20 3a 74 61 67 | ly-active)...........(const.:tag | 
| f580 | 20 22 41 63 63 65 73 73 20 74 69 6d 65 20 28 61    74 69 6d 65 29 22 20 61 63 63 65 73 73 2d 74 69 | ."Access.time.(atime)".access-ti | 
| f5a0 | 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 63    6f 6e 73 74 20 3a 74 61 67 20 22 4d 6f 64 69 66 | me)...........(const.:tag."Modif | 
| f5c0 | 69 63 61 74 69 6f 6e 20 74 69 6d 65 20 28 6d 74    69 6d 65 29 22 20 6d 6f 64 69 66 69 63 61 74 69 | ication.time.(mtime)".modificati | 
| f5e0 | 6f 6e 2d 74 69 6d 65 29 29 29 0a 0a 28 64 65 66    63 75 73 74 6f 6d 20 70 72 6f 6a 65 63 74 69 6c | on-time)))..(defcustom.projectil | 
| f600 | 65 2d 76 65 72 62 6f 73 65 20 74 0a 20 20 22 45    63 68 6f 20 6d 65 73 73 61 67 65 73 20 74 68 61 | e-verbose.t..."Echo.messages.tha | 
| f620 | 74 20 61 72 65 20 6e 6f 74 20 65 72 72 6f 72 73    2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 70 72 6f | t.are.not.errors."...:group.'pro | 
| f640 | 6a 65 63 74 69 6c 65 0a 20 20 3a 74 79 70 65 20    27 62 6f 6f 6c 65 61 6e 29 0a 0a 28 64 65 66 63 | jectile...:type.'boolean)..(defc | 
| f660 | 75 73 74 6f 6d 20 70 72 6f 6a 65 63 74 69 6c 65    2d 62 75 66 66 65 72 73 2d 66 69 6c 74 65 72 2d | ustom.projectile-buffers-filter- | 
| f680 | 66 75 6e 63 74 69 6f 6e 20 6e 69 6c 0a 20 20 22    41 20 66 75 6e 63 74 69 6f 6e 20 75 73 65 64 20 | function.nil..."A.function.used. | 
| f6a0 | 74 6f 20 66 69 6c 74 65 72 20 74 68 65 20 62 75    66 66 65 72 73 20 69 6e 20 60 70 72 6f 6a 65 63 | to.filter.the.buffers.in.`projec | 
| f6c0 | 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 62 75 66    66 65 72 73 27 2e 0a 0a 54 68 65 20 66 75 6e 63 | tile-project-buffers'...The.func | 
| f6e0 | 74 69 6f 6e 20 73 68 6f 75 6c 64 20 61 63 63 65    70 74 20 61 6e 64 20 72 65 74 75 72 6e 20 61 20 | tion.should.accept.and.return.a. | 
| f700 | 6c 69 73 74 20 6f 66 20 45 6d 61 63 73 20 62 75    66 66 65 72 73 2e 0a 54 77 6f 20 65 78 61 6d 70 | list.of.Emacs.buffers..Two.examp | 
| f720 | 6c 65 20 66 69 6c 74 65 72 20 66 75 6e 63 74 69    6f 6e 73 20 61 72 65 20 73 68 69 70 70 65 64 20 | le.filter.functions.are.shipped. | 
| f740 | 62 79 20 64 65 66 61 75 6c 74 20 2d 0a 60 70 72    6f 6a 65 63 74 69 6c 65 2d 62 75 66 66 65 72 73 | by.default.-.`projectile-buffers | 
| f760 | 2d 77 69 74 68 2d 66 69 6c 65 27 20 61 6e 64 0a    60 70 72 6f 6a 65 63 74 69 6c 65 2d 62 75 66 66 | -with-file'.and.`projectile-buff | 
| f780 | 65 72 73 2d 77 69 74 68 2d 66 69 6c 65 2d 6f 72    2d 70 72 6f 63 65 73 73 27 2e 22 0a 20 20 3a 67 | ers-with-file-or-process'."...:g | 
| f7a0 | 72 6f 75 70 20 27 70 72 6f 6a 65 63 74 69 6c 65    0a 20 20 3a 74 79 70 65 20 27 66 75 6e 63 74 69 | roup.'projectile...:type.'functi | 
| f7c0 | 6f 6e 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20    70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 | on)..(defcustom.projectile-proje | 
| f7e0 | 63 74 2d 6e 61 6d 65 20 6e 69 6c 0a 20 20 22 49    66 20 74 68 69 73 20 76 61 6c 75 65 20 69 73 20 | ct-name.nil..."If.this.value.is. | 
| f800 | 6e 6f 6e 2d 6e 69 6c 2c 20 69 74 20 77 69 6c 6c    20 62 65 20 75 73 65 64 20 61 73 20 70 72 6f 6a | non-nil,.it.will.be.used.as.proj | 
| f820 | 65 63 74 20 6e 61 6d 65 2e 0a 0a 49 74 20 68 61    73 20 70 72 65 63 65 64 65 6e 63 65 20 6f 76 65 | ect.name...It.has.precedence.ove | 
| f840 | 72 20 66 75 6e 63 74 69 6f 6e 20 60 70 72 6f 6a    65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 6e | r.function.`projectile-project-n | 
| f860 | 61 6d 65 2d 66 75 6e 63 74 69 6f 6e 27 2e 22 0a    20 20 3a 67 72 6f 75 70 20 27 70 72 6f 6a 65 63 | ame-function'."...:group.'projec | 
| f880 | 74 69 6c 65 0a 20 20 3a 74 79 70 65 20 27 73 74    72 69 6e 67 0a 20 20 3a 70 61 63 6b 61 67 65 2d | tile...:type.'string...:package- | 
| f8a0 | 76 65 72 73 69 6f 6e 20 27 28 70 72 6f 6a 65 63    74 69 6c 65 20 2e 20 22 30 2e 31 34 2e 30 22 29 | version.'(projectile..."0.14.0") | 
| f8c0 | 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 70 72    6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 | )..(defcustom.projectile-project | 
| f8e0 | 2d 6e 61 6d 65 2d 66 75 6e 63 74 69 6f 6e 20 27    70 72 6f 6a 65 63 74 69 6c 65 2d 64 65 66 61 75 | -name-function.'projectile-defau | 
| f900 | 6c 74 2d 70 72 6f 6a 65 63 74 2d 6e 61 6d 65 0a    20 20 22 41 20 66 75 6e 63 74 69 6f 6e 20 74 68 | lt-project-name..."A.function.th | 
| f920 | 61 74 20 72 65 63 65 69 76 65 73 20 74 68 65 20    70 72 6f 6a 65 63 74 2d 72 6f 6f 74 20 61 6e 64 | at.receives.the.project-root.and | 
| f940 | 20 72 65 74 75 72 6e 73 20 74 68 65 20 70 72 6f    6a 65 63 74 20 6e 61 6d 65 2e 0a 0a 49 66 20 76 | .returns.the.project.name...If.v | 
| f960 | 61 72 69 61 62 6c 65 20 60 70 72 6f 6a 65 63 74    69 6c 65 2d 70 72 6f 6a 65 63 74 2d 6e 61 6d 65 | ariable.`projectile-project-name | 
| f980 | 27 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 68    69 73 20 66 75 6e 63 74 69 6f 6e 20 77 69 6c 6c | '.is.non-nil,.this.function.will | 
| f9a0 | 20 6e 6f 74 20 62 65 0a 75 73 65 64 2e 22 0a 20    20 3a 67 72 6f 75 70 20 27 70 72 6f 6a 65 63 74 | .not.be.used."...:group.'project | 
| f9c0 | 69 6c 65 0a 20 20 3a 74 79 70 65 20 27 66 75 6e    63 74 69 6f 6e 0a 20 20 3a 70 61 63 6b 61 67 65 | ile...:type.'function...:package | 
| f9e0 | 2d 76 65 72 73 69 6f 6e 20 27 28 70 72 6f 6a 65    63 74 69 6c 65 20 2e 20 22 30 2e 31 34 2e 30 22 | -version.'(projectile..."0.14.0" | 
| fa00 | 29 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 70    72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 | ))..(defcustom.projectile-projec | 
| fa20 | 74 2d 72 6f 6f 74 2d 66 69 6c 65 73 0a 20 20 27    28 0a 20 20 20 20 22 47 54 41 47 53 22 20 20 20 | t-root-files...'(....."GTAGS"... | 
| fa40 | 20 20 20 20 20 20 20 20 20 20 20 3b 20 47 4e 55    20 47 6c 6f 62 61 6c 20 74 61 67 73 0a 20 20 20 | ...........;.GNU.Global.tags.... | 
| fa60 | 20 22 54 41 47 53 22 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 3b 20 65 74 61 67 73 2f 63 74 | ."TAGS"...............;.etags/ct | 
| fa80 | 61 67 73 20 61 72 65 20 75 73 75 61 6c 6c 79 20    69 6e 20 74 68 65 20 72 6f 6f 74 20 6f 66 20 70 | ags.are.usually.in.the.root.of.p | 
| faa0 | 72 6f 6a 65 63 74 0a 20 20 20 20 22 63 6f 6e 66    69 67 75 72 65 2e 61 63 22 20 20 20 20 20 20 20 | roject....."configure.ac"....... | 
| fac0 | 3b 20 61 75 74 6f 63 6f 6e 66 20 6e 65 77 20 73    74 79 6c 65 0a 20 20 20 20 22 63 6f 6e 66 69 67 | ;.autoconf.new.style....."config | 
| fae0 | 75 72 65 2e 69 6e 22 20 20 20 20 20 20 20 3b 20    61 75 74 6f 63 6f 6e 66 20 6f 6c 64 20 73 74 79 | ure.in".......;.autoconf.old.sty | 
| fb00 | 6c 65 0a 20 20 20 20 22 63 73 63 6f 70 65 2e 6f    75 74 22 20 20 20 20 20 20 20 20 20 3b 20 63 73 | le....."cscope.out".........;.cs | 
| fb20 | 63 6f 70 65 0a 20 20 20 20 29 0a 20 20 22 41 20    6c 69 73 74 20 6f 66 20 66 69 6c 65 73 20 63 6f | cope.....)..."A.list.of.files.co | 
| fb40 | 6e 73 69 64 65 72 65 64 20 74 6f 20 6d 61 72 6b    20 74 68 65 20 72 6f 6f 74 20 6f 66 20 61 20 70 | nsidered.to.mark.the.root.of.a.p | 
| fb60 | 72 6f 6a 65 63 74 2e 0a 54 68 65 20 74 6f 70 6d    6f 73 74 20 6d 61 74 63 68 20 68 61 73 20 70 72 | roject..The.topmost.match.has.pr | 
| fb80 | 65 63 65 64 65 6e 63 65 2e 0a 53 65 65 20 60 70    72 6f 6a 65 63 74 69 6c 65 2d 72 65 67 69 73 74 | ecedence..See.`projectile-regist | 
| fba0 | 65 72 2d 70 72 6f 6a 65 63 74 2d 74 79 70 65 27    2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 70 72 6f | er-project-type'."...:group.'pro | 
| fbc0 | 6a 65 63 74 69 6c 65 0a 20 20 3a 74 79 70 65 20    27 28 72 65 70 65 61 74 20 73 74 72 69 6e 67 29 | jectile...:type.'(repeat.string) | 
| fbe0 | 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 70 72    6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 | )..(defcustom.projectile-project | 
| fc00 | 2d 72 6f 6f 74 2d 66 69 6c 65 73 2d 62 6f 74 74    6f 6d 2d 75 70 0a 20 20 27 28 22 2e 67 69 74 22 | -root-files-bottom-up...'(".git" | 
| fc20 | 20 20 20 20 20 20 20 20 3b 20 47 69 74 20 56 43    53 20 72 6f 6f 74 20 64 69 72 0a 20 20 20 20 22 | ........;.Git.VCS.root.dir....." | 
| fc40 | 2e 68 67 22 20 20 20 20 20 20 20 20 20 3b 20 4d    65 72 63 75 72 69 61 6c 20 56 43 53 20 72 6f 6f | .hg".........;.Mercurial.VCS.roo | 
| fc60 | 74 20 64 69 72 0a 20 20 20 20 22 2e 66 73 6c 63    6b 6f 75 74 22 20 20 20 3b 20 46 6f 73 73 69 6c | t.dir.....".fslckout"...;.Fossil | 
| fc80 | 20 56 43 53 20 72 6f 6f 74 20 64 69 72 0a 20 20    20 20 22 5f 46 4f 53 53 49 4c 5f 22 20 20 20 20 | .VCS.root.dir....."_FOSSIL_".... | 
| fca0 | 3b 20 46 6f 73 73 69 6c 20 56 43 53 20 72 6f 6f    74 20 44 42 20 6f 6e 20 57 69 6e 64 6f 77 73 0a | ;.Fossil.VCS.root.DB.on.Windows. | 
| fcc0 | 20 20 20 20 22 2e 62 7a 72 22 20 20 20 20 20 20    20 20 3b 20 42 61 7a 61 61 72 20 56 43 53 20 72 | ....".bzr"........;.Bazaar.VCS.r | 
| fce0 | 6f 6f 74 20 64 69 72 0a 20 20 20 20 22 5f 64 61    72 63 73 22 20 20 20 20 20 20 3b 20 44 61 72 63 | oot.dir....."_darcs"......;.Darc | 
| fd00 | 73 20 56 43 53 20 72 6f 6f 74 20 64 69 72 0a 20    20 20 20 22 2e 70 69 6a 75 6c 22 20 20 20 20 20 | s.VCS.root.dir.....".pijul"..... | 
| fd20 | 20 3b 20 50 69 6a 75 6c 20 56 43 53 20 72 6f 6f    74 20 64 69 72 0a 20 20 20 20 29 0a 20 20 22 41 | .;.Pijul.VCS.root.dir.....)..."A | 
| fd40 | 20 6c 69 73 74 20 6f 66 20 66 69 6c 65 73 20 63    6f 6e 73 69 64 65 72 65 64 20 74 6f 20 6d 61 72 | .list.of.files.considered.to.mar | 
| fd60 | 6b 20 74 68 65 20 72 6f 6f 74 20 6f 66 20 61 20    70 72 6f 6a 65 63 74 2e 0a 54 68 65 20 62 6f 74 | k.the.root.of.a.project..The.bot | 
| fd80 | 74 6f 6d 6d 6f 73 74 20 28 70 61 72 65 6e 74 6d    6f 73 74 29 20 6d 61 74 63 68 20 68 61 73 20 70 | tommost.(parentmost).match.has.p | 
| fda0 | 72 65 63 65 64 65 6e 63 65 2e 22 0a 20 20 3a 67    72 6f 75 70 20 27 70 72 6f 6a 65 63 74 69 6c 65 | recedence."...:group.'projectile | 
| fdc0 | 0a 20 20 3a 74 79 70 65 20 27 28 72 65 70 65 61    74 20 73 74 72 69 6e 67 29 29 0a 0a 28 64 65 66 | ...:type.'(repeat.string))..(def | 
| fde0 | 63 75 73 74 6f 6d 20 70 72 6f 6a 65 63 74 69 6c    65 2d 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 2d 66 | custom.projectile-project-root-f | 
| fe00 | 69 6c 65 73 2d 74 6f 70 2d 64 6f 77 6e 2d 72 65    63 75 72 72 69 6e 67 0a 20 20 27 28 22 2e 73 76 | iles-top-down-recurring...'(".sv | 
| fe20 | 6e 22 20 3b 20 53 76 6e 20 56 43 53 20 72 6f 6f    74 20 64 69 72 0a 20 20 20 20 22 43 56 53 22 20 | n".;.Svn.VCS.root.dir....."CVS". | 
| fe40 | 20 3b 20 43 73 76 20 56 43 53 20 72 6f 6f 74 20    64 69 72 0a 20 20 20 20 22 4d 61 6b 65 66 69 6c | .;.Csv.VCS.root.dir....."Makefil | 
| fe60 | 65 22 29 0a 20 20 22 41 20 6c 69 73 74 20 6f 66    20 66 69 6c 65 73 20 63 6f 6e 73 69 64 65 72 65 | e")..."A.list.of.files.considere | 
| fe80 | 64 20 74 6f 20 6d 61 72 6b 20 74 68 65 20 72 6f    6f 74 20 6f 66 20 61 20 70 72 6f 6a 65 63 74 2e | d.to.mark.the.root.of.a.project. | 
| fea0 | 0a 54 68 65 20 73 65 61 72 63 68 20 73 74 61 72    74 73 20 61 74 20 74 68 65 20 74 6f 70 20 61 6e | .The.search.starts.at.the.top.an | 
| fec0 | 64 20 64 65 73 63 65 6e 64 73 20 64 6f 77 6e 20    74 69 6c 6c 20 61 20 64 69 72 65 63 74 6f 72 79 | d.descends.down.till.a.directory | 
| fee0 | 0a 74 68 61 74 20 63 6f 6e 74 61 69 6e 73 20 61    20 6d 61 74 63 68 20 66 69 6c 65 20 62 75 74 20 | .that.contains.a.match.file.but. | 
| ff00 | 69 74 73 20 70 61 72 65 6e 74 20 64 6f 65 73 20    6e 6f 74 2e 20 20 54 68 75 73 2c 20 69 74 27 73 | its.parent.does.not...Thus,.it's | 
| ff20 | 20 61 0a 62 6f 74 74 6f 6d 6d 6f 73 74 20 6d 61    74 63 68 20 69 6e 20 74 68 65 20 74 6f 70 6d 6f | .a.bottommost.match.in.the.topmo | 
| ff40 | 73 74 20 73 65 71 75 65 6e 63 65 20 6f 66 20 64    69 72 65 63 74 6f 72 69 65 73 0a 63 6f 6e 74 61 | st.sequence.of.directories.conta | 
| ff60 | 69 6e 69 6e 67 20 61 20 72 6f 6f 74 20 66 69 6c    65 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 70 72 | ining.a.root.file."...:group.'pr | 
| ff80 | 6f 6a 65 63 74 69 6c 65 0a 20 20 3a 74 79 70 65    20 27 28 72 65 70 65 61 74 20 73 74 72 69 6e 67 | ojectile...:type.'(repeat.string | 
| ffa0 | 29 29 0a 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f    6c 65 74 65 2d 76 61 72 69 61 62 6c 65 2d 61 6c | ))..(define-obsolete-variable-al | 
| ffc0 | 69 61 73 20 27 70 72 6f 6a 65 63 74 69 6c 65 2d    70 72 6f 6a 65 63 74 2d 72 6f 6f 74 2d 66 69 6c | ias.'projectile-project-root-fil | 
| ffe0 | 65 73 2d 66 75 6e 63 74 69 6f 6e 73 20 27 70 72    6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 | es-functions.'projectile-project | 
| 10000 | 2d 72 6f 6f 74 2d 66 75 6e 63 74 69 6f 6e 73 20    22 32 2e 34 22 29 0a 0a 28 64 65 66 63 75 73 74 | -root-functions."2.4")..(defcust | 
| 10020 | 6f 6d 20 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72    6f 6a 65 63 74 2d 72 6f 6f 74 2d 66 75 6e 63 74 | om.projectile-project-root-funct | 
| 10040 | 69 6f 6e 73 0a 20 20 27 28 70 72 6f 6a 65 63 74    69 6c 65 2d 72 6f 6f 74 2d 6c 6f 63 61 6c 0a 20 | ions...'(projectile-root-local.. | 
| 10060 | 20 20 20 70 72 6f 6a 65 63 74 69 6c 65 2d 72 6f    6f 74 2d 6d 61 72 6b 65 64 0a 20 20 20 20 70 72 | ...projectile-root-marked.....pr | 
| 10080 | 6f 6a 65 63 74 69 6c 65 2d 72 6f 6f 74 2d 62 6f    74 74 6f 6d 2d 75 70 0a 20 20 20 20 70 72 6f 6a | ojectile-root-bottom-up.....proj | 
| 100a0 | 65 63 74 69 6c 65 2d 72 6f 6f 74 2d 74 6f 70 2d    64 6f 77 6e 0a 20 20 20 20 70 72 6f 6a 65 63 74 | ectile-root-top-down.....project | 
| 100c0 | 69 6c 65 2d 72 6f 6f 74 2d 74 6f 70 2d 64 6f 77    6e 2d 72 65 63 75 72 72 69 6e 67 29 0a 20 20 22 | ile-root-top-down-recurring)..." | 
| 100e0 | 41 20 6c 69 73 74 20 6f 66 20 66 75 6e 63 74 69    6f 6e 73 20 66 6f 72 20 66 69 6e 64 69 6e 67 20 | A.list.of.functions.for.finding. | 
| 10100 | 70 72 6f 6a 65 63 74 20 72 6f 6f 74 20 66 6f 6c    64 65 72 73 2e 0a 54 68 65 20 66 75 6e 63 74 69 | project.root.folders..The.functi | 
| 10120 | 6f 6e 73 20 77 69 6c 6c 20 62 65 20 72 75 6e 20    75 6e 74 69 6c 20 6f 6e 65 20 6f 66 20 74 68 65 | ons.will.be.run.until.one.of.the | 
| 10140 | 6d 20 72 65 74 75 72 6e 73 20 61 20 70 72 6f 6a    65 63 74 20 66 6f 6c 64 65 72 2e 0a 52 65 6f 72 | m.returns.a.project.folder..Reor | 
| 10160 | 64 65 72 69 6e 67 20 74 68 65 20 64 65 66 61 75    6c 74 20 66 75 6e 63 74 69 6f 6e 73 20 77 69 6c | dering.the.default.functions.wil | 
| 10180 | 6c 20 61 6c 74 65 72 20 74 68 65 20 70 72 6f 6a    65 63 74 20 64 69 73 63 6f 76 65 72 79 0a 61 6c | l.alter.the.project.discovery.al | 
| 101a0 | 67 6f 72 69 74 68 6d 2e 22 0a 20 20 3a 67 72 6f    75 70 20 27 70 72 6f 6a 65 63 74 69 6c 65 0a 20 | gorithm."...:group.'projectile.. | 
| 101c0 | 20 3a 74 79 70 65 20 27 28 72 65 70 65 61 74 20    66 75 6e 63 74 69 6f 6e 29 29 0a 0a 28 64 65 66 | .:type.'(repeat.function))..(def | 
| 101e0 | 63 75 73 74 6f 6d 20 70 72 6f 6a 65 63 74 69 6c    65 2d 64 69 72 63 6f 6e 66 69 67 2d 66 69 6c 65 | custom.projectile-dirconfig-file | 
| 10200 | 0a 20 20 22 2e 70 72 6f 6a 65 63 74 69 6c 65 22    0a 20 20 22 54 68 65 20 66 69 6c 65 20 77 68 69 | ...".projectile"..."The.file.whi | 
| 10220 | 63 68 20 73 65 72 76 65 73 20 62 6f 74 68 20 61    73 20 61 20 70 72 6f 6a 65 63 74 20 6d 61 72 6b | ch.serves.both.as.a.project.mark | 
| 10240 | 65 72 20 61 6e 64 20 63 6f 6e 66 69 67 75 72 61    74 69 6f 6e 20 66 69 6c 65 2e 0a 54 68 69 73 20 | er.and.configuration.file..This. | 
| 10260 | 73 68 6f 75 6c 64 20 5f 6e 6f 74 5f 20 62 65 20    73 65 74 20 76 69 61 20 2e 64 69 72 2d 6c 6f 63 | should._not_.be.set.via..dir-loc | 
| 10280 | 61 6c 73 2e 65 6c 2e 22 0a 20 20 3a 67 72 6f 75    70 20 27 70 72 6f 6a 65 63 74 69 6c 65 0a 20 20 | als.el."...:group.'projectile... | 
| 102a0 | 3a 74 79 70 65 20 27 66 69 6c 65 0a 20 20 3a 70    61 63 6b 61 67 65 2d 76 65 72 73 69 6f 6e 20 27 | :type.'file...:package-version.' | 
| 102c0 | 28 70 72 6f 6a 65 63 74 69 6c 65 20 2e 20 22 32    2e 37 2e 30 22 29 29 0a 0a 28 64 65 66 63 75 73 | (projectile..."2.7.0"))..(defcus | 
| 102e0 | 74 6f 6d 20 70 72 6f 6a 65 63 74 69 6c 65 2d 64    69 72 63 6f 6e 66 69 67 2d 63 6f 6d 6d 65 6e 74 | tom.projectile-dirconfig-comment | 
| 10300 | 2d 70 72 65 66 69 78 0a 20 20 6e 69 6c 0a 20 20    22 60 70 72 6f 6a 65 63 74 69 6c 65 2d 64 69 72 | -prefix...nil..."`projectile-dir | 
| 10320 | 63 6f 6e 66 69 67 2d 66 69 6c 65 60 20 63 6f 6d    6d 65 6e 74 20 73 74 61 72 74 20 6d 61 72 6b 65 | config-file`.comment.start.marke | 
| 10340 | 72 2e 0a 49 66 20 73 70 65 63 69 66 69 65 64 2c    20 73 74 61 72 74 69 6e 67 20 61 20 6c 69 6e 65 | r..If.specified,.starting.a.line | 
| 10360 | 20 69 6e 20 61 20 70 72 6f 6a 65 63 74 27 73 20    2e 70 72 6f 6a 65 63 74 69 6c 65 20 66 69 6c 65 | .in.a.project's..projectile.file | 
| 10380 | 20 77 69 74 68 20 74 68 69 73 0a 63 68 61 72 61    63 74 65 72 20 6d 61 72 6b 73 20 74 68 61 74 20 | .with.this.character.marks.that. | 
| 103a0 | 6c 69 6e 65 20 61 73 20 61 20 63 6f 6d 6d 65 6e    74 20 69 6e 73 74 65 61 64 20 6f 66 20 61 20 70 | line.as.a.comment.instead.of.a.p | 
| 103c0 | 61 74 74 65 72 6e 2e 0a 53 69 6d 69 6c 61 72 20    74 6f 20 27 23 27 20 69 6e 20 2e 67 69 74 69 67 | attern..Similar.to.'#'.in..gitig | 
| 103e0 | 6e 6f 72 65 20 66 69 6c 65 73 2e 22 0a 20 20 3a    67 72 6f 75 70 20 27 70 72 6f 6a 65 63 74 69 6c | nore.files."...:group.'projectil | 
| 10400 | 65 0a 20 20 3a 74 79 70 65 20 27 63 68 61 72 61    63 74 65 72 0a 20 20 3a 70 61 63 6b 61 67 65 2d | e...:type.'character...:package- | 
| 10420 | 76 65 72 73 69 6f 6e 20 27 28 70 72 6f 6a 65 63    74 69 6c 65 20 2e 20 22 32 2e 32 2e 30 22 29 29 | version.'(projectile..."2.2.0")) | 
| 10440 | 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 70 72 6f    6a 65 63 74 69 6c 65 2d 67 6c 6f 62 61 6c 6c 79 | ..(defcustom.projectile-globally | 
| 10460 | 2d 69 67 6e 6f 72 65 64 2d 66 69 6c 65 73 0a 20    20 28 6c 69 73 74 20 70 72 6f 6a 65 63 74 69 6c | -ignored-files...(list.projectil | 
| 10480 | 65 2d 74 61 67 73 2d 66 69 6c 65 2d 6e 61 6d 65    29 0a 20 20 22 41 20 6c 69 73 74 20 6f 66 20 66 | e-tags-file-name)..."A.list.of.f | 
| 104a0 | 69 6c 65 73 20 67 6c 6f 62 61 6c 6c 79 20 69 67    6e 6f 72 65 64 20 62 79 20 70 72 6f 6a 65 63 74 | iles.globally.ignored.by.project | 
| 104c0 | 69 6c 65 2e 0a 4e 6f 74 65 20 74 68 61 74 20 66    69 6c 65 73 20 61 72 65 6e 27 74 20 66 69 6c 74 | ile..Note.that.files.aren't.filt | 
| 104e0 | 65 72 65 64 20 69 66 20 60 70 72 6f 6a 65 63 74    69 6c 65 2d 69 6e 64 65 78 69 6e 67 2d 6d 65 74 | ered.if.`projectile-indexing-met | 
| 10500 | 68 6f 64 27 0a 69 73 20 73 65 74 20 74 6f 20 60    61 6c 69 65 6e 27 2e 22 0a 20 20 3a 67 72 6f 75 | hod'.is.set.to.`alien'."...:grou | 
| 10520 | 70 20 27 70 72 6f 6a 65 63 74 69 6c 65 0a 20 20    3a 74 79 70 65 20 27 28 72 65 70 65 61 74 20 73 | p.'projectile...:type.'(repeat.s | 
| 10540 | 74 72 69 6e 67 29 29 0a 0a 28 64 65 66 63 75 73    74 6f 6d 20 70 72 6f 6a 65 63 74 69 6c 65 2d 67 | tring))..(defcustom.projectile-g | 
| 10560 | 6c 6f 62 61 6c 6c 79 2d 75 6e 69 67 6e 6f 72 65    64 2d 66 69 6c 65 73 20 6e 69 6c 0a 20 20 22 41 | lobally-unignored-files.nil..."A | 
| 10580 | 20 6c 69 73 74 20 6f 66 20 66 69 6c 65 73 20 67    6c 6f 62 61 6c 6c 79 20 75 6e 69 67 6e 6f 72 65 | .list.of.files.globally.unignore | 
| 105a0 | 64 20 62 79 20 70 72 6f 6a 65 63 74 69 6c 65 2e    0a 52 65 67 75 6c 61 72 20 65 78 70 72 65 73 73 | d.by.projectile..Regular.express | 
| 105c0 | 69 6f 6e 73 20 63 61 6e 20 62 65 20 75 73 65 64    2e 0a 4e 6f 74 65 20 74 68 61 74 20 66 69 6c 65 | ions.can.be.used..Note.that.file | 
| 105e0 | 73 20 61 72 65 6e 27 74 20 66 69 6c 74 65 72 65    64 20 69 66 20 60 70 72 6f 6a 65 63 74 69 6c 65 | s.aren't.filtered.if.`projectile | 
| 10600 | 2d 69 6e 64 65 78 69 6e 67 2d 6d 65 74 68 6f 64    27 0a 69 73 20 73 65 74 20 74 6f 20 60 61 6c 69 | -indexing-method'.is.set.to.`ali | 
| 10620 | 65 6e 27 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27    70 72 6f 6a 65 63 74 69 6c 65 0a 20 20 3a 74 79 | en'."...:group.'projectile...:ty | 
| 10640 | 70 65 20 27 28 72 65 70 65 61 74 20 73 74 72 69    6e 67 29 0a 20 20 3a 70 61 63 6b 61 67 65 2d 76 | pe.'(repeat.string)...:package-v | 
| 10660 | 65 72 73 69 6f 6e 20 27 28 70 72 6f 6a 65 63 74    69 6c 65 20 2e 20 22 30 2e 31 34 2e 30 22 29 29 | ersion.'(projectile..."0.14.0")) | 
| 10680 | 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 70 72 6f    6a 65 63 74 69 6c 65 2d 67 6c 6f 62 61 6c 6c 79 | ..(defcustom.projectile-globally | 
| 106a0 | 2d 69 67 6e 6f 72 65 64 2d 66 69 6c 65 2d 73 75    66 66 69 78 65 73 0a 20 20 6e 69 6c 0a 20 20 22 | -ignored-file-suffixes...nil..." | 
| 106c0 | 41 20 6c 69 73 74 20 6f 66 20 66 69 6c 65 20 73    75 66 66 69 78 65 73 20 67 6c 6f 62 61 6c 6c 79 | A.list.of.file.suffixes.globally | 
| 106e0 | 20 69 67 6e 6f 72 65 64 20 62 79 20 70 72 6f 6a    65 63 74 69 6c 65 2e 0a 4e 6f 74 65 20 74 68 61 | .ignored.by.projectile..Note.tha | 
| 10700 | 74 20 66 69 6c 65 73 20 61 72 65 6e 27 74 20 66    69 6c 74 65 72 65 64 20 69 66 20 60 70 72 6f 6a | t.files.aren't.filtered.if.`proj | 
| 10720 | 65 63 74 69 6c 65 2d 69 6e 64 65 78 69 6e 67 2d    6d 65 74 68 6f 64 27 0a 69 73 20 73 65 74 20 74 | ectile-indexing-method'.is.set.t | 
| 10740 | 6f 20 60 61 6c 69 65 6e 27 2e 22 0a 20 20 3a 67    72 6f 75 70 20 27 70 72 6f 6a 65 63 74 69 6c 65 | o.`alien'."...:group.'projectile | 
| 10760 | 0a 20 20 3a 74 79 70 65 20 27 28 72 65 70 65 61    74 20 73 74 72 69 6e 67 29 29 0a 0a 28 64 65 66 | ...:type.'(repeat.string))..(def | 
| 10780 | 63 75 73 74 6f 6d 20 70 72 6f 6a 65 63 74 69 6c    65 2d 67 6c 6f 62 61 6c 6c 79 2d 69 67 6e 6f 72 | custom.projectile-globally-ignor | 
| 107a0 | 65 64 2d 64 69 72 65 63 74 6f 72 69 65 73 0a 20    20 27 28 22 5e 5c 5c 2e 69 64 65 61 24 22 0a 20 | ed-directories...'("^\\.idea$".. | 
| 107c0 | 20 20 20 22 5e 5c 5c 2e 76 73 63 6f 64 65 24 22    0a 20 20 20 20 22 5e 5c 5c 2e 65 6e 73 69 6d 65 | ..."^\\.vscode$"....."^\\.ensime | 
| 107e0 | 5f 63 61 63 68 65 24 22 0a 20 20 20 20 22 5e 5c    5c 2e 65 75 6e 69 74 24 22 0a 20 20 20 20 22 5e | _cache$"....."^\\.eunit$"....."^ | 
| 10800 | 5c 5c 2e 67 69 74 24 22 0a 20 20 20 20 22 5e 5c    5c 2e 68 67 24 22 0a 20 20 20 20 22 5e 5c 5c 2e | \\.git$"....."^\\.hg$"....."^\\. | 
| 10820 | 66 73 6c 63 6b 6f 75 74 24 22 0a 20 20 20 20 22    5e 5f 46 4f 53 53 49 4c 5f 24 22 0a 20 20 20 20 | fslckout$"....."^_FOSSIL_$"..... | 
| 10840 | 22 5e 5c 5c 2e 62 7a 72 24 22 0a 20 20 20 20 22    5e 5f 64 61 72 63 73 24 22 0a 20 20 20 20 22 5e | "^\\.bzr$"....."^_darcs$"....."^ | 
| 10860 | 5c 5c 2e 70 69 6a 75 6c 24 22 0a 20 20 20 20 22    5e 5c 5c 2e 74 6f 78 24 22 0a 20 20 20 20 22 5e | \\.pijul$"....."^\\.tox$"....."^ | 
| 10880 | 5c 5c 2e 73 76 6e 24 22 0a 20 20 20 20 22 5e 5c    5c 2e 73 74 61 63 6b 2d 77 6f 72 6b 24 22 0a 20 | \\.svn$"....."^\\.stack-work$".. | 
| 108a0 | 20 20 20 22 5e 5c 5c 2e 63 63 6c 73 2d 63 61 63    68 65 24 22 0a 20 20 20 20 22 5e 5c 5c 2e 63 61 | ..."^\\.ccls-cache$"....."^\\.ca | 
| 108c0 | 63 68 65 24 22 0a 20 20 20 20 22 5e 5c 5c 2e 63    6c 61 6e 67 64 24 22 29 0a 20 20 22 41 20 6c 69 | che$"....."^\\.clangd$")..."A.li | 
| 108e0 | 73 74 20 6f 66 20 64 69 72 65 63 74 6f 72 69 65    73 20 67 6c 6f 62 61 6c 6c 79 20 69 67 6e 6f 72 | st.of.directories.globally.ignor | 
| 10900 | 65 64 20 62 79 20 70 72 6f 6a 65 63 74 69 6c 65    2e 0a 52 65 67 75 6c 61 72 20 65 78 70 72 65 73 | ed.by.projectile..Regular.expres | 
| 10920 | 73 69 6f 6e 73 20 63 61 6e 20 62 65 20 75 73 65    64 2e 0a 0a 53 74 72 69 6e 67 73 20 74 68 61 74 | sions.can.be.used...Strings.that | 
| 10940 | 20 64 6f 6e 27 74 20 73 74 61 72 74 20 77 69 74    68 20 2a 20 61 72 65 20 6f 6e 6c 79 20 69 67 6e | .don't.start.with.*.are.only.ign | 
| 10960 | 6f 72 65 64 20 61 74 20 74 68 65 20 74 6f 70 20    6c 65 76 65 6c 0a 6f 66 20 74 68 65 20 70 72 6f | ored.at.the.top.level.of.the.pro | 
| 10980 | 6a 65 63 74 2e 20 20 53 74 72 69 6e 67 73 20 74    68 61 74 20 73 74 61 72 74 20 77 69 74 68 20 2a | ject...Strings.that.start.with.* | 
| 109a0 | 20 61 72 65 20 69 67 6e 6f 72 65 64 20 65 76 65    72 79 77 68 65 72 65 0a 69 6e 20 74 68 65 20 70 | .are.ignored.everywhere.in.the.p | 
| 109c0 | 72 6f 6a 65 63 74 2c 20 61 73 20 69 66 20 74 68    65 72 65 20 77 61 73 20 6e 6f 20 2a 2e 20 20 53 | roject,.as.if.there.was.no.*...S | 
| 109e0 | 6f 20 6e 6f 74 65 20 74 68 61 74 20 2a 20 77 68    65 6e 20 75 73 65 64 20 61 73 0a 61 20 70 72 65 | o.note.that.*.when.used.as.a.pre | 
| 10a00 | 66 69 78 20 69 73 20 6e 6f 74 20 61 20 77 69 6c    64 63 61 72 64 3b 20 69 74 20 69 73 20 61 6e 20 | fix.is.not.a.wildcard;.it.is.an. | 
| 10a20 | 69 6e 64 69 63 61 74 6f 72 20 74 68 61 74 20 74    68 65 20 64 69 72 65 63 74 6f 72 79 0a 73 68 6f | indicator.that.the.directory.sho | 
| 10a40 | 75 6c 64 20 62 65 20 69 67 6e 6f 72 65 64 20 61    74 20 61 6c 6c 20 6c 65 76 65 6c 73 2c 20 6e 6f | uld.be.ignored.at.all.levels,.no | 
| 10a60 | 74 20 6a 75 73 74 20 72 6f 6f 74 2e 0a 0a 45 78    61 6d 70 6c 65 73 3a 20 5c 22 74 6d 70 5c 22 20 | t.just.root...Examples:.\"tmp\". | 
| 10a80 | 69 67 6e 6f 72 65 73 20 6f 6e 6c 79 20 2e 2f 74    6d 70 20 61 74 20 74 68 65 20 74 6f 70 20 6c 65 | ignores.only../tmp.at.the.top.le | 
| 10aa0 | 76 65 6c 20 6f 66 20 74 68 65 0a 70 72 6f 6a 65    63 74 2c 20 62 75 74 20 6e 6f 74 20 2e 2f 73 72 | vel.of.the.project,.but.not../sr | 
| 10ac0 | 63 2f 74 6d 70 2e 20 20 5c 22 2a 74 6d 70 5c 22    20 77 69 6c 6c 20 69 67 6e 6f 72 65 20 62 6f 74 | c/tmp...\"*tmp\".will.ignore.bot | 
| 10ae0 | 68 20 2e 2f 74 6d 70 20 61 6e 64 0a 2e 2f 73 72    63 2f 74 6d 70 2c 20 62 75 74 20 6e 6f 74 20 2e | h../tmp.and../src/tmp,.but.not.. | 
| 10b00 | 2f 6e 6f 74 2d 61 2d 74 6d 70 20 6f 72 20 2e 2f    73 72 63 2f 6e 6f 74 2d 61 2d 74 6d 70 2e 0a 0a | /not-a-tmp.or../src/not-a-tmp... | 
| 10b20 | 4e 6f 74 65 20 74 68 61 74 20 66 69 6c 65 73 20    61 72 65 6e 27 74 20 66 69 6c 74 65 72 65 64 20 | Note.that.files.aren't.filtered. | 
| 10b40 | 69 66 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 69    6e 64 65 78 69 6e 67 2d 6d 65 74 68 6f 64 27 0a | if.`projectile-indexing-method'. | 
| 10b60 | 69 73 20 73 65 74 20 74 6f 20 60 61 6c 69 65 6e    27 2e 22 0a 20 20 3a 73 61 66 65 20 28 6c 61 6d | is.set.to.`alien'."...:safe.(lam | 
| 10b80 | 62 64 61 20 28 78 29 20 28 6e 6f 74 20 28 72 65    6d 71 20 74 20 28 6d 61 70 63 61 72 20 23 27 73 | bda.(x).(not.(remq.t.(mapcar.#'s | 
| 10ba0 | 74 72 69 6e 67 70 20 78 29 29 29 29 0a 20 20 3a    67 72 6f 75 70 20 27 70 72 6f 6a 65 63 74 69 6c | tringp.x))))...:group.'projectil | 
| 10bc0 | 65 0a 20 20 3a 74 79 70 65 20 27 28 72 65 70 65    61 74 20 73 74 72 69 6e 67 29 29 0a 0a 28 64 65 | e...:type.'(repeat.string))..(de | 
| 10be0 | 66 63 75 73 74 6f 6d 20 70 72 6f 6a 65 63 74 69    6c 65 2d 67 6c 6f 62 61 6c 6c 79 2d 75 6e 69 67 | fcustom.projectile-globally-unig | 
| 10c00 | 6e 6f 72 65 64 2d 64 69 72 65 63 74 6f 72 69 65    73 20 6e 69 6c 0a 20 20 22 41 20 6c 69 73 74 20 | nored-directories.nil..."A.list. | 
| 10c20 | 6f 66 20 64 69 72 65 63 74 6f 72 69 65 73 20 67    6c 6f 62 61 6c 6c 79 20 75 6e 69 67 6e 6f 72 65 | of.directories.globally.unignore | 
| 10c40 | 64 20 62 79 20 70 72 6f 6a 65 63 74 69 6c 65 2e    0a 4e 6f 74 65 20 74 68 61 74 20 66 69 6c 65 73 | d.by.projectile..Note.that.files | 
| 10c60 | 20 61 72 65 6e 27 74 20 66 69 6c 74 65 72 65 64    20 69 66 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d | .aren't.filtered.if.`projectile- | 
| 10c80 | 69 6e 64 65 78 69 6e 67 2d 6d 65 74 68 6f 64 27    0a 69 73 20 73 65 74 20 74 6f 20 60 61 6c 69 65 | indexing-method'.is.set.to.`alie | 
| 10ca0 | 6e 27 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 70    72 6f 6a 65 63 74 69 6c 65 0a 20 20 3a 74 79 70 | n'."...:group.'projectile...:typ | 
| 10cc0 | 65 20 27 28 72 65 70 65 61 74 20 73 74 72 69 6e    67 29 0a 20 20 3a 70 61 63 6b 61 67 65 2d 76 65 | e.'(repeat.string)...:package-ve | 
| 10ce0 | 72 73 69 6f 6e 20 27 28 70 72 6f 6a 65 63 74 69    6c 65 20 2e 20 22 30 2e 31 34 2e 30 22 29 29 0a | rsion.'(projectile..."0.14.0")). | 
| 10d00 | 0a 28 64 65 66 63 75 73 74 6f 6d 20 70 72 6f 6a    65 63 74 69 6c 65 2d 67 6c 6f 62 61 6c 6c 79 2d | .(defcustom.projectile-globally- | 
| 10d20 | 69 67 6e 6f 72 65 64 2d 6d 6f 64 65 73 0a 20 20    27 28 22 65 72 63 2d 6d 6f 64 65 22 0a 20 20 20 | ignored-modes...'("erc-mode".... | 
| 10d40 | 20 22 68 65 6c 70 2d 6d 6f 64 65 22 0a 20 20 20    20 22 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6c 69 73 | ."help-mode"....."completion-lis | 
| 10d60 | 74 2d 6d 6f 64 65 22 0a 20 20 20 20 22 42 75 66    66 65 72 2d 6d 65 6e 75 2d 6d 6f 64 65 22 0a 20 | t-mode"....."Buffer-menu-mode".. | 
| 10d80 | 20 20 20 22 67 6e 75 73 2d 2e 2a 2d 6d 6f 64 65    22 0a 20 20 20 20 22 6f 63 63 75 72 2d 6d 6f 64 | ..."gnus-.*-mode"....."occur-mod | 
| 10da0 | 65 22 29 0a 20 20 22 41 20 6c 69 73 74 20 6f 66    20 72 65 67 75 6c 61 72 20 65 78 70 72 65 73 73 | e")..."A.list.of.regular.express | 
| 10dc0 | 69 6f 6e 73 20 66 6f 72 20 6d 61 6a 6f 72 20 6d    6f 64 65 73 20 69 67 6e 6f 72 65 64 20 62 79 20 | ions.for.major.modes.ignored.by. | 
| 10de0 | 70 72 6f 6a 65 63 74 69 6c 65 2e 0a 0a 49 66 20    61 20 62 75 66 66 65 72 20 69 73 20 75 73 69 6e | projectile...If.a.buffer.is.usin | 
| 10e00 | 67 20 61 20 67 69 76 65 6e 20 6d 61 6a 6f 72 20    6d 6f 64 65 2c 20 70 72 6f 6a 65 63 74 69 6c 65 | g.a.given.major.mode,.projectile | 
| 10e20 | 20 77 69 6c 6c 20 69 67 6e 6f 72 65 0a 69 74 20    66 6f 72 20 66 75 6e 63 74 69 6f 6e 73 20 77 6f | .will.ignore.it.for.functions.wo | 
| 10e40 | 72 6b 69 6e 67 20 77 69 74 68 20 62 75 66 66 65    72 73 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 70 | rking.with.buffers."...:group.'p | 
| 10e60 | 72 6f 6a 65 63 74 69 6c 65 0a 20 20 3a 74 79 70    65 20 27 28 72 65 70 65 61 74 20 73 74 72 69 6e | rojectile...:type.'(repeat.strin | 
| 10e80 | 67 29 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20    70 72 6f 6a 65 63 74 69 6c 65 2d 67 6c 6f 62 61 | g))..(defcustom.projectile-globa | 
| 10ea0 | 6c 6c 79 2d 69 67 6e 6f 72 65 64 2d 62 75 66 66    65 72 73 0a 20 20 27 28 22 2a 73 63 72 61 74 63 | lly-ignored-buffers...'("*scratc | 
| 10ec0 | 68 2a 22 0a 20 20 20 20 22 2a 6c 73 70 2d 6c 6f    67 2a 22 29 0a 20 20 22 41 20 6c 69 73 74 20 6f | h*"....."*lsp-log*")..."A.list.o | 
| 10ee0 | 66 20 62 75 66 66 65 72 2d 6e 61 6d 65 73 20 69    67 6e 6f 72 65 64 20 62 79 20 70 72 6f 6a 65 63 | f.buffer-names.ignored.by.projec | 
| 10f00 | 74 69 6c 65 2e 0a 0a 59 6f 75 20 63 61 6e 20 75    73 65 20 65 69 74 68 65 72 20 65 78 61 63 74 20 | tile...You.can.use.either.exact. | 
| 10f20 | 62 75 66 66 65 72 20 6e 61 6d 65 73 20 6f 72 20    72 65 67 75 6c 61 72 20 65 78 70 72 65 73 73 69 | buffer.names.or.regular.expressi | 
| 10f40 | 6f 6e 73 2e 0a 49 66 20 61 20 62 75 66 66 65 72    20 69 73 20 69 6e 20 74 68 65 20 6c 69 73 74 20 | ons..If.a.buffer.is.in.the.list. | 
| 10f60 | 70 72 6f 6a 65 63 74 69 6c 65 20 77 69 6c 6c 20    69 67 6e 6f 72 65 20 69 74 20 66 6f 72 0a 66 75 | projectile.will.ignore.it.for.fu | 
| 10f80 | 6e 63 74 69 6f 6e 73 20 77 6f 72 6b 69 6e 67 20    77 69 74 68 20 62 75 66 66 65 72 73 2e 22 0a 20 | nctions.working.with.buffers.".. | 
| 10fa0 | 20 3a 67 72 6f 75 70 20 27 70 72 6f 6a 65 63 74    69 6c 65 0a 20 20 3a 74 79 70 65 20 27 28 72 65 | .:group.'projectile...:type.'(re | 
| 10fc0 | 70 65 61 74 20 73 74 72 69 6e 67 29 0a 20 20 3a    70 61 63 6b 61 67 65 2d 76 65 72 73 69 6f 6e 20 | peat.string)...:package-version. | 
| 10fe0 | 27 28 70 72 6f 6a 65 63 74 69 6c 65 20 2e 20 22    30 2e 31 32 2e 30 22 29 29 0a 0a 28 64 65 66 63 | '(projectile..."0.12.0"))..(defc | 
| 11000 | 75 73 74 6f 6d 20 70 72 6f 6a 65 63 74 69 6c 65    2d 66 69 6e 64 2d 66 69 6c 65 2d 68 6f 6f 6b 20 | ustom.projectile-find-file-hook. | 
| 11020 | 6e 69 6c 0a 20 20 22 48 6f 6f 6b 73 20 72 75 6e    20 77 68 65 6e 20 61 20 66 69 6c 65 20 69 73 20 | nil..."Hooks.run.when.a.file.is. | 
| 11040 | 6f 70 65 6e 65 64 20 77 69 74 68 20 60 70 72 6f    6a 65 63 74 69 6c 65 2d 66 69 6e 64 2d 66 69 6c | opened.with.`projectile-find-fil | 
| 11060 | 65 27 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 70    72 6f 6a 65 63 74 69 6c 65 0a 20 20 3a 74 79 70 | e'."...:group.'projectile...:typ | 
| 11080 | 65 20 27 68 6f 6f 6b 29 0a 0a 28 64 65 66 63 75    73 74 6f 6d 20 70 72 6f 6a 65 63 74 69 6c 65 2d | e.'hook)..(defcustom.projectile- | 
| 110a0 | 66 69 6e 64 2d 64 69 72 2d 68 6f 6f 6b 20 6e 69    6c 0a 20 20 22 48 6f 6f 6b 73 20 72 75 6e 20 77 | find-dir-hook.nil..."Hooks.run.w | 
| 110c0 | 68 65 6e 20 61 20 64 69 72 65 63 74 6f 72 79 20    69 73 20 6f 70 65 6e 65 64 20 77 69 74 68 20 60 | hen.a.directory.is.opened.with.` | 
| 110e0 | 70 72 6f 6a 65 63 74 69 6c 65 2d 66 69 6e 64 2d    64 69 72 27 2e 22 0a 20 20 3a 67 72 6f 75 70 20 | projectile-find-dir'."...:group. | 
| 11100 | 27 70 72 6f 6a 65 63 74 69 6c 65 0a 20 20 3a 74    79 70 65 20 27 68 6f 6f 6b 29 0a 0a 28 64 65 66 | 'projectile...:type.'hook)..(def | 
| 11120 | 63 75 73 74 6f 6d 20 70 72 6f 6a 65 63 74 69 6c    65 2d 73 77 69 74 63 68 2d 70 72 6f 6a 65 63 74 | custom.projectile-switch-project | 
| 11140 | 2d 61 63 74 69 6f 6e 20 27 70 72 6f 6a 65 63 74    69 6c 65 2d 66 69 6e 64 2d 66 69 6c 65 0a 20 20 | -action.'projectile-find-file... | 
| 11160 | 22 41 63 74 69 6f 6e 20 69 6e 76 6f 6b 65 64 20    61 66 74 65 72 20 73 77 69 74 63 68 69 6e 67 20 | "Action.invoked.after.switching. | 
| 11180 | 70 72 6f 6a 65 63 74 73 20 77 69 74 68 20 60 70    72 6f 6a 65 63 74 69 6c 65 2d 73 77 69 74 63 68 | projects.with.`projectile-switch | 
| 111a0 | 2d 70 72 6f 6a 65 63 74 27 2e 0a 0a 41 6e 79 20    66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 64 6f | -project'...Any.function.that.do | 
| 111c0 | 65 73 20 6e 6f 74 20 74 61 6b 65 20 61 72 67 75    6d 65 6e 74 73 20 77 69 6c 6c 20 64 6f 2e 22 0a | es.not.take.arguments.will.do.". | 
| 111e0 | 20 20 3a 67 72 6f 75 70 20 27 70 72 6f 6a 65 63    74 69 6c 65 0a 20 20 3a 74 79 70 65 20 27 66 75 | ..:group.'projectile...:type.'fu | 
| 11200 | 6e 63 74 69 6f 6e 29 0a 0a 28 64 65 66 63 75 73    74 6f 6d 20 70 72 6f 6a 65 63 74 69 6c 65 2d 66 | nction)..(defcustom.projectile-f | 
| 11220 | 69 6e 64 2d 64 69 72 2d 69 6e 63 6c 75 64 65 73    2d 74 6f 70 2d 6c 65 76 65 6c 20 6e 69 6c 0a 20 | ind-dir-includes-top-level.nil.. | 
| 11240 | 20 22 49 66 20 74 72 75 65 2c 20 61 64 64 20 74    6f 70 2d 6c 65 76 65 6c 20 64 69 72 20 74 6f 20 | ."If.true,.add.top-level.dir.to. | 
| 11260 | 6f 70 74 69 6f 6e 73 20 6f 66 66 65 72 65 64 20    62 79 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 66 | options.offered.by.`projectile-f | 
| 11280 | 69 6e 64 2d 64 69 72 27 2e 22 0a 20 20 3a 67 72    6f 75 70 20 27 70 72 6f 6a 65 63 74 69 6c 65 0a | ind-dir'."...:group.'projectile. | 
| 112a0 | 20 20 3a 74 79 70 65 20 27 62 6f 6f 6c 65 61 6e    29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 70 72 | ..:type.'boolean)..(defcustom.pr | 
| 112c0 | 6f 6a 65 63 74 69 6c 65 2d 75 73 65 2d 67 69 74    2d 67 72 65 70 20 6e 69 6c 0a 20 20 22 49 66 20 | ojectile-use-git-grep.nil..."If. | 
| 112e0 | 74 72 75 65 2c 20 75 73 65 20 60 76 63 2d 67 69    74 2d 67 72 65 70 27 20 69 6e 20 67 69 74 20 70 | true,.use.`vc-git-grep'.in.git.p | 
| 11300 | 72 6f 6a 65 63 74 73 2e 22 0a 20 20 3a 67 72 6f    75 70 20 27 70 72 6f 6a 65 63 74 69 6c 65 0a 20 | rojects."...:group.'projectile.. | 
| 11320 | 20 3a 74 79 70 65 20 27 62 6f 6f 6c 65 61 6e 29    0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 70 72 6f | .:type.'boolean)..(defcustom.pro | 
| 11340 | 6a 65 63 74 69 6c 65 2d 67 72 65 70 2d 66 69 6e    69 73 68 65 64 2d 68 6f 6f 6b 20 6e 69 6c 0a 20 | jectile-grep-finished-hook.nil.. | 
| 11360 | 20 22 48 6f 6f 6b 73 20 72 75 6e 20 77 68 65 6e    20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 67 72 65 | ."Hooks.run.when.`projectile-gre | 
| 11380 | 70 27 20 66 69 6e 69 73 68 65 73 2e 22 0a 20 20    3a 67 72 6f 75 70 20 27 70 72 6f 6a 65 63 74 69 | p'.finishes."...:group.'projecti | 
| 113a0 | 6c 65 0a 20 20 3a 74 79 70 65 20 27 68 6f 6f 6b    0a 20 20 3a 70 61 63 6b 61 67 65 2d 76 65 72 73 | le...:type.'hook...:package-vers | 
| 113c0 | 69 6f 6e 20 27 28 70 72 6f 6a 65 63 74 69 6c 65    20 2e 20 22 30 2e 31 34 2e 30 22 29 29 0a 0a 28 | ion.'(projectile..."0.14.0"))..( | 
| 113e0 | 64 65 66 63 75 73 74 6f 6d 20 70 72 6f 6a 65 63    74 69 6c 65 2d 74 65 73 74 2d 70 72 65 66 69 78 | defcustom.projectile-test-prefix | 
| 11400 | 2d 66 75 6e 63 74 69 6f 6e 20 27 70 72 6f 6a 65    63 74 69 6c 65 2d 74 65 73 74 2d 70 72 65 66 69 | -function.'projectile-test-prefi | 
| 11420 | 78 0a 20 20 22 46 75 6e 63 74 69 6f 6e 20 74 6f    20 66 69 6e 64 20 74 65 73 74 20 66 69 6c 65 73 | x..."Function.to.find.test.files | 
| 11440 | 20 70 72 65 66 69 78 20 62 61 73 65 64 20 6f 6e    20 50 52 4f 4a 45 43 54 2d 54 59 50 45 2e 22 0a | .prefix.based.on.PROJECT-TYPE.". | 
| 11460 | 20 20 3a 67 72 6f 75 70 20 27 70 72 6f 6a 65 63    74 69 6c 65 0a 20 20 3a 74 79 70 65 20 27 66 75 | ..:group.'projectile...:type.'fu | 
| 11480 | 6e 63 74 69 6f 6e 29 0a 0a 28 64 65 66 63 75 73    74 6f 6d 20 70 72 6f 6a 65 63 74 69 6c 65 2d 74 | nction)..(defcustom.projectile-t | 
| 114a0 | 65 73 74 2d 73 75 66 66 69 78 2d 66 75 6e 63 74    69 6f 6e 20 27 70 72 6f 6a 65 63 74 69 6c 65 2d | est-suffix-function.'projectile- | 
| 114c0 | 74 65 73 74 2d 73 75 66 66 69 78 0a 20 20 22 46    75 6e 63 74 69 6f 6e 20 74 6f 20 66 69 6e 64 20 | test-suffix..."Function.to.find. | 
| 114e0 | 74 65 73 74 20 66 69 6c 65 73 20 73 75 66 66 69    78 20 62 61 73 65 64 20 6f 6e 20 50 52 4f 4a 45 | test.files.suffix.based.on.PROJE | 
| 11500 | 43 54 2d 54 59 50 45 2e 22 0a 20 20 3a 67 72 6f    75 70 20 27 70 72 6f 6a 65 63 74 69 6c 65 0a 20 | CT-TYPE."...:group.'projectile.. | 
| 11520 | 20 3a 74 79 70 65 20 27 66 75 6e 63 74 69 6f 6e    29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 70 72 | .:type.'function)..(defcustom.pr | 
| 11540 | 6f 6a 65 63 74 69 6c 65 2d 72 65 6c 61 74 65 64    2d 66 69 6c 65 73 2d 66 6e 2d 66 75 6e 63 74 69 | ojectile-related-files-fn-functi | 
| 11560 | 6f 6e 20 27 70 72 6f 6a 65 63 74 69 6c 65 2d 72    65 6c 61 74 65 64 2d 66 69 6c 65 73 2d 66 6e 0a | on.'projectile-related-files-fn. | 
| 11580 | 20 20 22 46 75 6e 63 74 69 6f 6e 20 74 6f 20 66    69 6e 64 20 72 65 6c 61 74 65 64 20 66 69 6c 65 | .."Function.to.find.related.file | 
| 115a0 | 73 20 62 61 73 65 64 20 6f 6e 20 50 52 4f 4a 45    43 54 2d 54 59 50 45 2e 22 0a 20 20 3a 67 72 6f | s.based.on.PROJECT-TYPE."...:gro | 
| 115c0 | 75 70 20 27 70 72 6f 6a 65 63 74 69 6c 65 0a 20    20 3a 74 79 70 65 20 27 66 75 6e 63 74 69 6f 6e | up.'projectile...:type.'function | 
| 115e0 | 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 70 72    6f 6a 65 63 74 69 6c 65 2d 64 79 6e 61 6d 69 63 | )..(defcustom.projectile-dynamic | 
| 11600 | 2d 6d 6f 64 65 2d 6c 69 6e 65 20 74 0a 20 20 22    49 66 20 74 72 75 65 2c 20 75 70 64 61 74 65 20 | -mode-line.t..."If.true,.update. | 
| 11620 | 74 68 65 20 6d 6f 64 65 2d 6c 69 6e 65 20 64 79    6e 61 6d 69 63 61 6c 6c 79 2e 0a 4f 6e 6c 79 20 | the.mode-line.dynamically..Only. | 
| 11640 | 66 69 6c 65 20 62 75 66 66 65 72 73 20 61 72 65    20 61 66 66 65 63 74 65 64 20 62 79 20 74 68 69 | file.buffers.are.affected.by.thi | 
| 11660 | 73 2c 20 61 73 20 74 68 65 20 75 70 64 61 74 65    20 68 61 70 70 65 6e 73 20 76 69 61 0a 60 66 69 | s,.as.the.update.happens.via.`fi | 
| 11680 | 6e 64 2d 66 69 6c 65 2d 68 6f 6f 6b 27 2e 0a 0a    53 65 65 20 61 6c 73 6f 20 60 70 72 6f 6a 65 63 | nd-file-hook'...See.also.`projec | 
| 116a0 | 74 69 6c 65 2d 6d 6f 64 65 2d 6c 69 6e 65 2d 66    75 6e 63 74 69 6f 6e 27 20 61 6e 64 20 60 70 72 | tile-mode-line-function'.and.`pr | 
| 116c0 | 6f 6a 65 63 74 69 6c 65 2d 75 70 64 61 74 65 2d    6d 6f 64 65 2d 6c 69 6e 65 27 2e 22 0a 20 20 3a | ojectile-update-mode-line'."...: | 
| 116e0 | 67 72 6f 75 70 20 27 70 72 6f 6a 65 63 74 69 6c    65 0a 20 20 3a 74 79 70 65 20 27 62 6f 6f 6c 65 | group.'projectile...:type.'boole | 
| 11700 | 61 6e 0a 20 20 3a 70 61 63 6b 61 67 65 2d 76 65    72 73 69 6f 6e 20 27 28 70 72 6f 6a 65 63 74 69 | an...:package-version.'(projecti | 
| 11720 | 6c 65 20 2e 20 22 32 2e 30 2e 30 22 29 29 0a 0a    28 64 65 66 63 75 73 74 6f 6d 20 70 72 6f 6a 65 | le..."2.0.0"))..(defcustom.proje | 
| 11740 | 63 74 69 6c 65 2d 6d 6f 64 65 2d 6c 69 6e 65 2d    66 75 6e 63 74 69 6f 6e 20 27 70 72 6f 6a 65 63 | ctile-mode-line-function.'projec | 
| 11760 | 74 69 6c 65 2d 64 65 66 61 75 6c 74 2d 6d 6f 64    65 2d 6c 69 6e 65 0a 20 20 22 54 68 65 20 66 75 | tile-default-mode-line..."The.fu | 
| 11780 | 6e 63 74 69 6f 6e 20 74 6f 20 75 73 65 20 74 6f    20 67 65 6e 65 72 61 74 65 20 70 72 6f 6a 65 63 | nction.to.use.to.generate.projec | 
| 117a0 | 74 2d 73 70 65 63 69 66 69 63 20 6d 6f 64 65 2d    6c 69 6e 65 2e 0a 54 68 65 20 64 65 66 61 75 6c | t-specific.mode-line..The.defaul | 
| 117c0 | 74 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 73 20    74 68 65 20 70 72 6f 6a 65 63 74 20 6e 61 6d 65 | t.function.adds.the.project.name | 
| 117e0 | 20 61 6e 64 20 74 79 70 65 20 74 6f 20 74 68 65    20 6d 6f 64 65 2d 6c 69 6e 65 2e 0a 53 65 65 20 | .and.type.to.the.mode-line..See. | 
| 11800 | 61 6c 73 6f 20 60 70 72 6f 6a 65 63 74 69 6c 65    2d 75 70 64 61 74 65 2d 6d 6f 64 65 2d 6c 69 6e | also.`projectile-update-mode-lin | 
| 11820 | 65 27 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 70    72 6f 6a 65 63 74 69 6c 65 0a 20 20 3a 74 79 70 | e'."...:group.'projectile...:typ | 
| 11840 | 65 20 27 66 75 6e 63 74 69 6f 6e 0a 20 20 3a 70    61 63 6b 61 67 65 2d 76 65 72 73 69 6f 6e 20 27 | e.'function...:package-version.' | 
| 11860 | 28 70 72 6f 6a 65 63 74 69 6c 65 20 2e 20 22 32    2e 30 2e 30 22 29 29 0a 0a 28 64 65 66 63 75 73 | (projectile..."2.0.0"))..(defcus | 
| 11880 | 74 6f 6d 20 70 72 6f 6a 65 63 74 69 6c 65 2d 64    65 66 61 75 6c 74 2d 73 72 63 2d 64 69 72 65 63 | tom.projectile-default-src-direc | 
| 118a0 | 74 6f 72 79 20 22 73 72 63 2f 22 0a 20 20 22 54    68 65 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 | tory."src/"..."The.default.value | 
| 118c0 | 20 6f 66 20 61 20 70 72 6f 6a 65 63 74 27 73 20    73 72 63 2d 64 69 72 20 70 72 6f 70 65 72 74 79 | .of.a.project's.src-dir.property | 
| 118e0 | 2e 0a 0a 49 74 27 73 20 75 73 65 64 20 61 73 20    61 20 66 61 6c 6c 62 61 63 6b 20 69 6e 20 74 68 | ...It's.used.as.a.fallback.in.th | 
| 11900 | 65 20 63 61 73 65 20 74 68 65 20 70 72 6f 70 65    72 74 79 20 69 73 20 6e 6f 74 20 73 65 74 20 66 | e.case.the.property.is.not.set.f | 
| 11920 | 6f 72 20 61 20 70 72 6f 6a 65 63 74 0a 74 79 70    65 20 77 68 65 6e 20 60 70 72 6f 6a 65 63 74 69 | or.a.project.type.when.`projecti | 
| 11940 | 6c 65 2d 74 6f 67 67 6c 65 2d 62 65 74 77 65 65    6e 2d 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e | le-toggle-between-implementation | 
| 11960 | 2d 61 6e 64 2d 74 65 73 74 27 20 69 73 20 75 73    65 64 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 70 | -and-test'.is.used."...:group.'p | 
| 11980 | 72 6f 6a 65 63 74 69 6c 65 0a 20 20 3a 74 79 70    65 20 27 73 74 72 69 6e 67 29 0a 0a 28 64 65 66 | rojectile...:type.'string)..(def | 
| 119a0 | 63 75 73 74 6f 6d 20 70 72 6f 6a 65 63 74 69 6c    65 2d 64 65 66 61 75 6c 74 2d 74 65 73 74 2d 64 | custom.projectile-default-test-d | 
| 119c0 | 69 72 65 63 74 6f 72 79 20 22 74 65 73 74 2f 22    0a 20 20 22 54 68 65 20 64 65 66 61 75 6c 74 20 | irectory."test/"..."The.default. | 
| 119e0 | 76 61 6c 75 65 20 6f 66 20 61 20 70 72 6f 6a 65    63 74 27 73 20 74 65 73 74 2d 64 69 72 20 70 72 | value.of.a.project's.test-dir.pr | 
| 11a00 | 6f 70 65 72 74 79 2e 0a 0a 49 74 27 73 20 75 73    65 64 20 61 73 20 61 20 66 61 6c 6c 62 61 63 6b | operty...It's.used.as.a.fallback | 
| 11a20 | 20 69 6e 20 74 68 65 20 63 61 73 65 20 74 68 65    20 70 72 6f 70 65 72 74 79 20 69 73 20 6e 6f 74 | .in.the.case.the.property.is.not | 
| 11a40 | 20 73 65 74 20 66 6f 72 20 61 20 70 72 6f 6a 65    63 74 0a 74 79 70 65 20 77 68 65 6e 20 60 70 72 | .set.for.a.project.type.when.`pr | 
| 11a60 | 6f 6a 65 63 74 69 6c 65 2d 74 6f 67 67 6c 65 2d    62 65 74 77 65 65 6e 2d 69 6d 70 6c 65 6d 65 6e | ojectile-toggle-between-implemen | 
| 11a80 | 74 61 74 69 6f 6e 2d 61 6e 64 2d 74 65 73 74 27    20 69 73 20 75 73 65 64 2e 22 0a 20 20 3a 67 72 | tation-and-test'.is.used."...:gr | 
| 11aa0 | 6f 75 70 20 27 70 72 6f 6a 65 63 74 69 6c 65 0a    20 20 3a 74 79 70 65 20 27 73 74 72 69 6e 67 29 | oup.'projectile...:type.'string) | 
| 11ac0 | 0a 0a 0c 0a 3b 3b 3b 20 49 64 6c 65 20 54 69 6d    65 72 0a 28 64 65 66 76 61 72 20 70 72 6f 6a 65 | ....;;;.Idle.Timer.(defvar.proje | 
| 11ae0 | 63 74 69 6c 65 2d 69 64 6c 65 2d 74 69 6d 65 72    20 6e 69 6c 0a 20 20 22 54 68 65 20 74 69 6d 65 | ctile-idle-timer.nil..."The.time | 
| 11b00 | 72 20 6f 62 6a 65 63 74 20 63 72 65 61 74 65 64    20 77 68 65 6e 20 60 70 72 6f 6a 65 63 74 69 6c | r.object.created.when.`projectil | 
| 11b20 | 65 2d 65 6e 61 62 6c 65 2d 69 64 6c 65 2d 74 69    6d 65 72 27 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2e | e-enable-idle-timer'.is.non-nil. | 
| 11b40 | 22 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 70    72 6f 6a 65 63 74 69 6c 65 2d 69 64 6c 65 2d 74 | ")..(defcustom.projectile-idle-t | 
| 11b60 | 69 6d 65 72 2d 73 65 63 6f 6e 64 73 20 33 30 0a    20 20 22 54 68 65 20 69 64 6c 65 20 70 65 72 69 | imer-seconds.30..."The.idle.peri | 
| 11b80 | 6f 64 20 74 6f 20 75 73 65 20 77 68 65 6e 20 60    70 72 6f 6a 65 63 74 69 6c 65 2d 65 6e 61 62 6c | od.to.use.when.`projectile-enabl | 
| 11ba0 | 65 2d 69 64 6c 65 2d 74 69 6d 65 72 27 20 69 73    20 6e 6f 6e 2d 6e 69 6c 2e 22 0a 20 20 3a 67 72 | e-idle-timer'.is.non-nil."...:gr | 
| 11bc0 | 6f 75 70 20 27 70 72 6f 6a 65 63 74 69 6c 65 0a    20 20 3a 74 79 70 65 20 27 6e 75 6d 62 65 72 29 | oup.'projectile...:type.'number) | 
| 11be0 | 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 70 72 6f    6a 65 63 74 69 6c 65 2d 69 64 6c 65 2d 74 69 6d | ..(defcustom.projectile-idle-tim | 
| 11c00 | 65 72 2d 68 6f 6f 6b 20 27 28 70 72 6f 6a 65 63    74 69 6c 65 2d 72 65 67 65 6e 65 72 61 74 65 2d | er-hook.'(projectile-regenerate- | 
| 11c20 | 74 61 67 73 29 0a 20 20 22 54 68 65 20 68 6f 6f    6b 20 72 75 6e 20 77 68 65 6e 20 60 70 72 6f 6a | tags)..."The.hook.run.when.`proj | 
| 11c40 | 65 63 74 69 6c 65 2d 65 6e 61 62 6c 65 2d 69 64    6c 65 2d 74 69 6d 65 72 27 20 69 73 20 6e 6f 6e | ectile-enable-idle-timer'.is.non | 
| 11c60 | 2d 6e 69 6c 2e 22 0a 20 20 3a 67 72 6f 75 70 20    27 70 72 6f 6a 65 63 74 69 6c 65 0a 20 20 3a 74 | -nil."...:group.'projectile...:t | 
| 11c80 | 79 70 65 20 27 28 72 65 70 65 61 74 20 73 79 6d    62 6f 6c 29 29 0a 0a 28 64 65 66 63 75 73 74 6f | ype.'(repeat.symbol))..(defcusto | 
| 11ca0 | 6d 20 70 72 6f 6a 65 63 74 69 6c 65 2d 65 6e 61    62 6c 65 2d 69 64 6c 65 2d 74 69 6d 65 72 20 6e | m.projectile-enable-idle-timer.n | 
| 11cc0 | 69 6c 0a 20 20 22 45 6e 61 62 6c 65 73 20 69 64    6c 65 20 74 69 6d 65 72 20 68 6f 6f 6b 20 60 70 | il..."Enables.idle.timer.hook.`p | 
| 11ce0 | 72 6f 6a 65 63 74 69 6c 65 2d 69 64 6c 65 2d 74    69 6d 65 72 2d 66 75 6e 63 74 69 6f 6e 73 27 2e | rojectile-idle-timer-functions'. | 
| 11d00 | 0a 0a 57 68 65 6e 20 60 70 72 6f 6a 65 63 74 69    6c 65 2d 65 6e 61 62 6c 65 2d 69 64 6c 65 2d 74 | ..When.`projectile-enable-idle-t | 
| 11d20 | 69 6d 65 72 27 20 69 73 20 6e 6f 6e 2d 6e 69 6c    2c 20 74 68 65 20 68 6f 6f 6b 0a 60 70 72 6f 6a | imer'.is.non-nil,.the.hook.`proj | 
| 11d40 | 65 63 74 69 6c 65 2d 69 64 6c 65 2d 74 69 6d 65    72 2d 68 6f 6f 6b 27 20 69 73 20 72 75 6e 20 65 | ectile-idle-timer-hook'.is.run.e | 
| 11d60 | 61 63 68 20 74 69 6d 65 20 45 6d 61 63 73 20 68    61 73 20 62 65 65 6e 20 69 64 6c 65 0a 66 6f 72 | ach.time.Emacs.has.been.idle.for | 
| 11d80 | 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 69 64 6c    65 2d 74 69 6d 65 72 2d 73 65 63 6f 6e 64 73 27 | .`projectile-idle-timer-seconds' | 
| 11da0 | 20 73 65 63 6f 6e 64 73 20 61 6e 64 20 77 65 27    72 65 20 69 6e 20 61 0a 70 72 6f 6a 65 63 74 2e | .seconds.and.we're.in.a.project. | 
| 11dc0 | 22 0a 20 20 3a 67 72 6f 75 70 20 27 70 72 6f 6a    65 63 74 69 6c 65 0a 20 20 3a 73 65 74 20 28 6c | "...:group.'projectile...:set.(l | 
| 11de0 | 61 6d 62 64 61 20 28 73 79 6d 62 6f 6c 20 76 61    6c 75 65 29 0a 20 20 20 20 20 20 20 20 20 28 73 | ambda.(symbol.value)..........(s | 
| 11e00 | 65 74 20 73 79 6d 62 6f 6c 20 76 61 6c 75 65 29    0a 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 | et.symbol.value)..........(when. | 
| 11e20 | 70 72 6f 6a 65 63 74 69 6c 65 2d 69 64 6c 65 2d    74 69 6d 65 72 0a 20 20 20 20 20 20 20 20 20 20 | projectile-idle-timer........... | 
| 11e40 | 20 28 63 61 6e 63 65 6c 2d 74 69 6d 65 72 20 70    72 6f 6a 65 63 74 69 6c 65 2d 69 64 6c 65 2d 74 | .(cancel-timer.projectile-idle-t | 
| 11e60 | 69 6d 65 72 29 29 0a 20 20 20 20 20 20 20 20 20    28 73 65 74 71 20 70 72 6f 6a 65 63 74 69 6c 65 | imer))..........(setq.projectile | 
| 11e80 | 2d 69 64 6c 65 2d 74 69 6d 65 72 20 6e 69 6c 29    0a 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 | -idle-timer.nil)..........(when. | 
| 11ea0 | 70 72 6f 6a 65 63 74 69 6c 65 2d 65 6e 61 62 6c    65 2d 69 64 6c 65 2d 74 69 6d 65 72 0a 20 20 20 | projectile-enable-idle-timer.... | 
| 11ec0 | 20 20 20 20 20 20 20 20 28 73 65 74 71 20 70 72    6f 6a 65 63 74 69 6c 65 2d 69 64 6c 65 2d 74 69 | ........(setq.projectile-idle-ti | 
| 11ee0 | 6d 65 72 20 28 72 75 6e 2d 77 69 74 68 2d 69 64    6c 65 2d 74 69 6d 65 72 0a 20 20 20 20 20 20 20 | mer.(run-with-idle-timer........ | 
| 11f00 | 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 | ................................ | 
| 11f20 | 20 70 72 6f 6a 65 63 74 69 6c 65 2d 69 64 6c 65    2d 74 69 6d 65 72 2d 73 65 63 6f 6e 64 73 20 74 | .projectile-idle-timer-seconds.t | 
| 11f40 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 11f60 | 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61    20 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | .........(lambda.()............. | 
| 11f80 | 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 77 | ..............................(w | 
| 11fa0 | 68 65 6e 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d    70 72 6f 6a 65 63 74 2d 70 29 0a 20 20 20 20 20 | hen.(projectile-project-p)...... | 
| 11fc0 | 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 | ................................ | 
| 11fe0 | 20 20 20 20 20 20 20 28 72 75 6e 2d 68 6f 6f 6b    73 20 27 70 72 6f 6a 65 63 74 69 6c 65 2d 69 64 | .......(run-hooks.'projectile-id | 
| 12000 | 6c 65 2d 74 69 6d 65 72 2d 68 6f 6f 6b 29 29 29    29 29 29 29 0a 20 20 3a 74 79 70 65 20 27 62 6f | le-timer-hook)))))))...:type.'bo | 
| 12020 | 6f 6c 65 61 6e 29 0a 0a 28 64 65 66 76 61 72 20    70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 | olean)..(defvar.projectile-proje | 
| 12040 | 63 74 73 2d 63 61 63 68 65 20 6e 69 6c 0a 20 20    22 41 20 68 61 73 68 6d 61 70 20 75 73 65 64 20 | cts-cache.nil..."A.hashmap.used. | 
| 12060 | 74 6f 20 63 61 63 68 65 20 70 72 6f 6a 65 63 74    20 66 69 6c 65 20 6e 61 6d 65 73 20 74 6f 20 73 | to.cache.project.file.names.to.s | 
| 12080 | 70 65 65 64 20 75 70 20 72 65 6c 61 74 65 64 20    6f 70 65 72 61 74 69 6f 6e 73 2e 22 29 0a 0a 28 | peed.up.related.operations.")..( | 
| 120a0 | 64 65 66 76 61 72 20 70 72 6f 6a 65 63 74 69 6c    65 2d 70 72 6f 6a 65 63 74 73 2d 63 61 63 68 65 | defvar.projectile-projects-cache | 
| 120c0 | 2d 74 69 6d 65 20 6e 69 6c 0a 20 20 22 41 20 68    61 73 68 6d 61 70 20 75 73 65 64 20 74 6f 20 72 | -time.nil..."A.hashmap.used.to.r | 
| 120e0 | 65 63 6f 72 64 20 77 68 65 6e 20 77 65 20 70 6f    70 75 6c 61 74 65 64 20 60 70 72 6f 6a 65 63 74 | ecord.when.we.populated.`project | 
| 12100 | 69 6c 65 2d 70 72 6f 6a 65 63 74 73 2d 63 61 63    68 65 27 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 | ile-projects-cache'.")..(defvar. | 
| 12120 | 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65    63 74 2d 72 6f 6f 74 2d 63 61 63 68 65 20 28 6d | projectile-project-root-cache.(m | 
| 12140 | 61 6b 65 2d 68 61 73 68 2d 74 61 62 6c 65 20 3a    74 65 73 74 20 27 65 71 75 61 6c 29 0a 20 20 22 | ake-hash-table.:test.'equal)..." | 
| 12160 | 43 61 63 68 65 64 20 76 61 6c 75 65 20 6f 66 20    66 75 6e 63 74 69 6f 6e 20 60 70 72 6f 6a 65 63 | Cached.value.of.function.`projec | 
| 12180 | 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 72 6f 6f    74 60 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 70 | tile-project-root`.")..(defvar.p | 
| 121a0 | 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63    74 2d 74 79 70 65 2d 63 61 63 68 65 20 28 6d 61 | rojectile-project-type-cache.(ma | 
| 121c0 | 6b 65 2d 68 61 73 68 2d 74 61 62 6c 65 20 3a 74    65 73 74 20 27 65 71 75 61 6c 29 0a 20 20 22 41 | ke-hash-table.:test.'equal)..."A | 
| 121e0 | 20 68 61 73 68 6d 61 70 20 75 73 65 64 20 74 6f    20 63 61 63 68 65 20 70 72 6f 6a 65 63 74 20 74 | .hashmap.used.to.cache.project.t | 
| 12200 | 79 70 65 20 74 6f 20 73 70 65 65 64 20 75 70 20    72 65 6c 61 74 65 64 20 6f 70 65 72 61 74 69 6f | ype.to.speed.up.related.operatio | 
| 12220 | 6e 73 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 70    72 6f 6a 65 63 74 69 6c 65 2d 6b 6e 6f 77 6e 2d | ns.")..(defvar.projectile-known- | 
| 12240 | 70 72 6f 6a 65 63 74 73 20 6e 69 6c 0a 20 20 22    4c 69 73 74 20 6f 66 20 6c 6f 63 61 74 69 6f 6e | projects.nil..."List.of.location | 
| 12260 | 73 20 77 68 65 72 65 20 77 65 20 68 61 76 65 20    70 72 65 76 69 6f 75 73 6c 79 20 73 65 65 6e 20 | s.where.we.have.previously.seen. | 
| 12280 | 70 72 6f 6a 65 63 74 73 2e 0a 54 68 65 20 6c 69    73 74 20 6f 66 20 70 72 6f 6a 65 63 74 73 20 69 | projects..The.list.of.projects.i | 
| 122a0 | 73 20 6f 72 64 65 72 65 64 20 62 79 20 74 68 65    20 74 69 6d 65 20 74 68 65 79 20 68 61 76 65 20 | s.ordered.by.the.time.they.have. | 
| 122c0 | 62 65 65 6e 20 61 63 63 65 73 73 65 64 2e 0a 0a    53 65 65 20 61 6c 73 6f 20 60 70 72 6f 6a 65 63 | been.accessed...See.also.`projec | 
| 122e0 | 74 69 6c 65 2d 72 65 6d 6f 76 65 2d 6b 6e 6f 77    6e 2d 70 72 6f 6a 65 63 74 27 2c 0a 60 70 72 6f | tile-remove-known-project',.`pro | 
| 12300 | 6a 65 63 74 69 6c 65 2d 63 6c 65 61 6e 75 70 2d    6b 6e 6f 77 6e 2d 70 72 6f 6a 65 63 74 73 27 20 | jectile-cleanup-known-projects'. | 
| 12320 | 61 6e 64 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d    63 6c 65 61 72 2d 6b 6e 6f 77 6e 2d 70 72 6f 6a | and.`projectile-clear-known-proj | 
| 12340 | 65 63 74 73 27 2e 22 29 0a 0a 28 64 65 66 76 61    72 20 70 72 6f 6a 65 63 74 69 6c 65 2d 6b 6e 6f | ects'.")..(defvar.projectile-kno | 
| 12360 | 77 6e 2d 70 72 6f 6a 65 63 74 73 2d 6f 6e 2d 66    69 6c 65 20 6e 69 6c 0a 20 20 22 4c 69 73 74 20 | wn-projects-on-file.nil..."List. | 
| 12380 | 6f 66 20 6b 6e 6f 77 6e 20 70 72 6f 6a 65 63 74    73 20 72 65 66 65 72 65 6e 63 65 20 70 6f 69 6e | of.known.projects.reference.poin | 
| 123a0 | 74 2e 0a 0a 43 6f 6e 74 61 69 6e 73 20 61 20 63    6f 70 79 20 6f 66 20 60 70 72 6f 6a 65 63 74 69 | t...Contains.a.copy.of.`projecti | 
| 123c0 | 6c 65 2d 6b 6e 6f 77 6e 2d 70 72 6f 6a 65 63 74    73 27 20 77 68 65 6e 20 69 74 20 77 61 73 20 6c | le-known-projects'.when.it.was.l | 
| 123e0 | 61 73 74 0a 73 79 6e 63 68 72 6f 6e 69 7a 65 64    20 77 69 74 68 20 60 70 72 6f 6a 65 63 74 69 6c | ast.synchronized.with.`projectil | 
| 12400 | 65 2d 6b 6e 6f 77 6e 2d 70 72 6f 6a 65 63 74 73    2d 66 69 6c 65 27 2e 22 29 0a 0a 28 64 65 66 63 | e-known-projects-file'.")..(defc | 
| 12420 | 75 73 74 6f 6d 20 70 72 6f 6a 65 63 74 69 6c 65    2d 6b 6e 6f 77 6e 2d 70 72 6f 6a 65 63 74 73 2d | ustom.projectile-known-projects- | 
| 12440 | 66 69 6c 65 0a 20 20 28 65 78 70 61 6e 64 2d 66    69 6c 65 2d 6e 61 6d 65 20 22 70 72 6f 6a 65 63 | file...(expand-file-name."projec | 
| 12460 | 74 69 6c 65 2d 62 6f 6f 6b 6d 61 72 6b 73 2e 65    6c 64 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 | tile-bookmarks.eld"............. | 
| 12480 | 20 20 20 20 20 20 20 20 75 73 65 72 2d 65 6d 61    63 73 2d 64 69 72 65 63 74 6f 72 79 29 0a 20 20 | ........user-emacs-directory)... | 
| 124a0 | 22 4e 61 6d 65 20 61 6e 64 20 6c 6f 63 61 74 69    6f 6e 20 6f 66 20 74 68 65 20 50 72 6f 6a 65 63 | "Name.and.location.of.the.Projec | 
| 124c0 | 74 69 6c 65 27 73 20 6b 6e 6f 77 6e 20 70 72 6f    6a 65 63 74 73 20 66 69 6c 65 2e 22 0a 20 20 3a | tile's.known.projects.file."...: | 
| 124e0 | 67 72 6f 75 70 20 27 70 72 6f 6a 65 63 74 69 6c    65 0a 20 20 3a 74 79 70 65 20 27 73 74 72 69 6e | group.'projectile...:type.'strin | 
| 12500 | 67 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 70    72 6f 6a 65 63 74 69 6c 65 2d 69 67 6e 6f 72 65 | g)..(defcustom.projectile-ignore | 
| 12520 | 64 2d 70 72 6f 6a 65 63 74 73 20 6e 69 6c 0a 20    20 22 41 20 6c 69 73 74 20 6f 66 20 70 72 6f 6a | d-projects.nil..."A.list.of.proj | 
| 12540 | 65 63 74 73 20 6e 6f 74 20 74 6f 20 62 65 20 61    64 64 65 64 20 74 6f 20 60 70 72 6f 6a 65 63 74 | ects.not.to.be.added.to.`project | 
| 12560 | 69 6c 65 2d 6b 6e 6f 77 6e 2d 70 72 6f 6a 65 63    74 73 27 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 | ile-known-projects'."...:group.' | 
| 12580 | 70 72 6f 6a 65 63 74 69 6c 65 0a 20 20 3a 74 79    70 65 20 27 28 72 65 70 65 61 74 20 3a 74 61 67 | projectile...:type.'(repeat.:tag | 
| 125a0 | 20 22 50 72 6f 6a 65 63 74 20 6c 69 73 74 22 20    64 69 72 65 63 74 6f 72 79 29 0a 20 20 3a 70 61 | ."Project.list".directory)...:pa | 
| 125c0 | 63 6b 61 67 65 2d 76 65 72 73 69 6f 6e 20 27 28    70 72 6f 6a 65 63 74 69 6c 65 20 2e 20 22 30 2e | ckage-version.'(projectile..."0. | 
| 125e0 | 31 31 2e 30 22 29 29 0a 0a 28 64 65 66 63 75 73    74 6f 6d 20 70 72 6f 6a 65 63 74 69 6c 65 2d 69 | 11.0"))..(defcustom.projectile-i | 
| 12600 | 67 6e 6f 72 65 64 2d 70 72 6f 6a 65 63 74 2d 66    75 6e 63 74 69 6f 6e 20 6e 69 6c 0a 20 20 22 46 | gnored-project-function.nil..."F | 
| 12620 | 75 6e 63 74 69 6f 6e 20 74 6f 20 64 65 63 69 64    65 20 69 66 20 61 20 70 72 6f 6a 65 63 74 20 69 | unction.to.decide.if.a.project.i | 
| 12640 | 73 20 61 64 64 65 64 20 74 6f 20 60 70 72 6f 6a    65 63 74 69 6c 65 2d 6b 6e 6f 77 6e 2d 70 72 6f | s.added.to.`projectile-known-pro | 
| 12660 | 6a 65 63 74 73 27 2e 0a 0a 43 61 6e 20 62 65 20    65 69 74 68 65 72 20 6e 69 6c 2c 20 6f 72 20 61 | jects'...Can.be.either.nil,.or.a | 
| 12680 | 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 74    61 6b 65 73 20 74 68 65 20 74 72 75 65 6e 61 6d | .function.that.takes.the.truenam | 
| 126a0 | 65 20 6f 66 20 74 68 65 0a 70 72 6f 6a 65 63 74    20 72 6f 6f 74 20 61 73 20 61 72 67 75 6d 65 6e | e.of.the.project.root.as.argumen | 
| 126c0 | 74 20 61 6e 64 20 72 65 74 75 72 6e 73 20 6e 6f    6e 2d 6e 69 6c 20 69 66 20 74 68 65 20 70 72 6f | t.and.returns.non-nil.if.the.pro | 
| 126e0 | 6a 65 63 74 20 69 73 20 74 6f 0a 62 65 20 69 67    6e 6f 72 65 64 20 6f 72 20 6e 69 6c 20 6f 74 68 | ject.is.to.be.ignored.or.nil.oth | 
| 12700 | 65 72 77 69 73 65 2e 0a 0a 54 68 69 73 20 66 75    6e 63 74 69 6f 6e 20 69 73 20 6f 6e 6c 79 20 63 | erwise...This.function.is.only.c | 
| 12720 | 61 6c 6c 65 64 20 69 66 20 74 68 65 20 70 72 6f    6a 65 63 74 20 69 73 20 6e 6f 74 20 6c 69 73 74 | alled.if.the.project.is.not.list | 
| 12740 | 65 64 20 69 6e 0a 74 68 65 20 76 61 72 69 61 62    6c 65 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 69 | ed.in.the.variable.`projectile-i | 
| 12760 | 67 6e 6f 72 65 64 2d 70 72 6f 6a 65 63 74 73 27    2e 0a 0a 41 20 73 75 69 74 61 62 6c 65 20 63 61 | gnored-projects'...A.suitable.ca | 
| 12780 | 6e 64 69 64 61 74 65 20 77 6f 75 6c 64 20 62 65    20 60 66 69 6c 65 2d 72 65 6d 6f 74 65 2d 70 27 | ndidate.would.be.`file-remote-p' | 
| 127a0 | 20 74 6f 20 69 67 6e 6f 72 65 20 72 65 6d 6f 74    65 0a 70 72 6f 6a 65 63 74 73 2e 22 0a 20 20 3a | .to.ignore.remote.projects."...: | 
| 127c0 | 67 72 6f 75 70 20 27 70 72 6f 6a 65 63 74 69 6c    65 0a 20 20 3a 74 79 70 65 20 27 28 63 68 6f 69 | group.'projectile...:type.'(choi | 
| 127e0 | 63 65 0a 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 74 68 69 6e | ce...........(const.:tag."Nothin | 
| 12800 | 67 22 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20    20 20 28 63 6f 6e 73 74 20 3a 74 61 67 20 22 52 | g".nil)...........(const.:tag."R | 
| 12820 | 65 6d 6f 74 65 20 66 69 6c 65 73 22 20 66 69 6c    65 2d 72 65 6d 6f 74 65 2d 70 29 0a 20 20 20 20 | emote.files".file-remote-p)..... | 
| 12840 | 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 29 0a    20 20 3a 70 61 63 6b 61 67 65 2d 76 65 72 73 69 | ......function)...:package-versi | 
| 12860 | 6f 6e 20 27 28 70 72 6f 6a 65 63 74 69 6c 65 20    2e 20 22 30 2e 31 33 2e 30 22 29 29 0a 0a 28 64 | on.'(projectile..."0.13.0"))..(d | 
| 12880 | 65 66 63 75 73 74 6f 6d 20 70 72 6f 6a 65 63 74    69 6c 65 2d 74 72 61 63 6b 2d 6b 6e 6f 77 6e 2d | efcustom.projectile-track-known- | 
| 128a0 | 70 72 6f 6a 65 63 74 73 2d 61 75 74 6f 6d 61 74    69 63 61 6c 6c 79 20 74 0a 20 20 22 43 6f 6e 74 | projects-automatically.t..."Cont | 
| 128c0 | 72 6f 6c 73 20 77 68 65 74 68 65 72 20 50 72 6f    6a 65 63 74 69 6c 65 20 77 69 6c 6c 20 61 75 74 | rols.whether.Projectile.will.aut | 
| 128e0 | 6f 6d 61 74 69 63 61 6c 6c 79 20 72 65 67 69 73    74 65 72 20 6b 6e 6f 77 6e 20 70 72 6f 6a 65 63 | omatically.register.known.projec | 
| 12900 | 74 73 2e 0a 0a 57 68 65 6e 20 73 65 74 20 74 6f    20 6e 69 6c 20 79 6f 75 27 6c 6c 20 68 61 76 65 | ts...When.set.to.nil.you'll.have | 
| 12920 | 20 61 6c 77 61 79 73 20 61 64 64 20 70 72 6f 6a    65 63 74 73 20 65 78 70 6c 69 63 69 74 6c 79 20 | .always.add.projects.explicitly. | 
| 12940 | 77 69 74 68 0a 60 70 72 6f 6a 65 63 74 69 6c 65    2d 61 64 64 2d 6b 6e 6f 77 6e 2d 70 72 6f 6a 65 | with.`projectile-add-known-proje | 
| 12960 | 63 74 27 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27    70 72 6f 6a 65 63 74 69 6c 65 0a 20 20 3a 74 79 | ct'."...:group.'projectile...:ty | 
| 12980 | 70 65 20 27 62 6f 6f 6c 65 61 6e 0a 20 20 3a 70    61 63 6b 61 67 65 2d 76 65 72 73 69 6f 6e 20 27 | pe.'boolean...:package-version.' | 
| 129a0 | 28 70 72 6f 6a 65 63 74 69 6c 65 20 2e 20 22 31    2e 30 2e 30 22 29 29 0a 0a 28 64 65 66 63 75 73 | (projectile..."1.0.0"))..(defcus | 
| 129c0 | 74 6f 6d 20 70 72 6f 6a 65 63 74 69 6c 65 2d 70    72 6f 6a 65 63 74 2d 73 65 61 72 63 68 2d 70 61 | tom.projectile-project-search-pa | 
| 129e0 | 74 68 20 6e 69 6c 0a 20 20 22 4c 69 73 74 20 6f    66 20 66 6f 6c 64 65 72 73 20 77 68 65 72 65 20 | th.nil..."List.of.folders.where. | 
| 12a00 | 70 72 6f 6a 65 63 74 69 6c 65 20 69 73 20 61 75    74 6f 6d 61 74 69 63 61 6c 6c 79 20 67 6f 69 6e | projectile.is.automatically.goin | 
| 12a20 | 67 20 74 6f 20 6c 6f 6f 6b 20 66 6f 72 20 70 72    6f 6a 65 63 74 73 2e 0a 59 6f 75 20 63 61 6e 20 | g.to.look.for.projects..You.can. | 
| 12a40 | 74 68 69 6e 6b 20 6f 66 20 73 6f 6d 65 74 68 69    6e 67 20 6c 69 6b 65 20 24 50 41 54 48 2c 20 62 | think.of.something.like.$PATH,.b | 
| 12a60 | 75 74 20 66 6f 72 20 70 72 6f 6a 65 63 74 73 20    69 6e 73 74 65 61 64 20 6f 66 20 65 78 65 63 75 | ut.for.projects.instead.of.execu | 
| 12a80 | 74 61 62 6c 65 73 2e 0a 45 78 61 6d 70 6c 65 73    20 6f 66 20 73 75 63 68 20 70 61 74 68 73 20 6d | tables..Examples.of.such.paths.m | 
| 12aa0 | 69 67 68 74 20 62 65 20 7e 2f 70 72 6f 6a 65 63    74 73 2c 20 7e 2f 77 6f 72 6b 2c 20 28 7e 2f 67 | ight.be.~/projects,.~/work,.(~/g | 
| 12ac0 | 69 74 68 75 62 20 2e 20 31 29 20 65 74 63 2e 0a    0a 46 6f 72 20 65 6c 65 6d 65 6e 74 73 20 6f 66 | ithub...1).etc...For.elements.of | 
| 12ae0 | 20 66 6f 72 6d 20 28 44 49 52 45 43 54 4f 52 59    20 2e 20 44 45 50 54 48 29 2c 20 44 49 52 45 43 | .form.(DIRECTORY...DEPTH),.DIREC | 
| 12b00 | 54 4f 52 59 20 68 61 73 20 74 6f 20 62 65 20 61    0a 64 69 72 65 63 74 6f 72 79 20 61 6e 64 20 44 | TORY.has.to.be.a.directory.and.D | 
| 12b20 | 45 50 54 48 20 61 6e 20 69 6e 74 65 67 65 72 20    74 68 61 74 20 73 70 65 63 69 66 69 65 73 20 74 | EPTH.an.integer.that.specifies.t | 
| 12b40 | 68 65 20 64 65 70 74 68 20 61 74 20 77 68 69 63    68 20 74 6f 0a 6c 6f 6f 6b 20 66 6f 72 20 70 72 | he.depth.at.which.to.look.for.pr | 
| 12b60 | 6f 6a 65 63 74 73 2e 20 20 41 20 44 45 50 54 48    20 6f 66 20 30 20 6d 65 61 6e 73 20 63 68 65 63 | ojects...A.DEPTH.of.0.means.chec | 
| 12b80 | 6b 20 44 49 52 45 43 54 4f 52 59 2e 20 20 41 20    64 65 70 74 68 20 6f 66 20 31 0a 6d 65 61 6e 73 | k.DIRECTORY...A.depth.of.1.means | 
| 12ba0 | 20 63 68 65 63 6b 20 61 6c 6c 20 74 68 65 20 73    75 62 64 69 72 65 63 74 6f 72 69 65 73 20 6f 66 | .check.all.the.subdirectories.of | 
| 12bc0 | 20 44 49 52 45 43 54 4f 52 59 2e 20 20 45 74 63    2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 70 72 6f | .DIRECTORY...Etc."...:group.'pro | 
| 12be0 | 6a 65 63 74 69 6c 65 0a 20 20 3a 74 79 70 65 20    27 28 72 65 70 65 61 74 20 28 63 68 6f 69 63 65 | jectile...:type.'(repeat.(choice | 
| 12c00 | 20 64 69 72 65 63 74 6f 72 79 20 28 63 6f 6e 73    20 64 69 72 65 63 74 6f 72 79 20 28 69 6e 74 65 | .directory.(cons.directory.(inte | 
| 12c20 | 67 65 72 20 3a 74 61 67 20 22 44 65 70 74 68 22    29 29 29 29 0a 20 20 3a 70 61 63 6b 61 67 65 2d | ger.:tag."Depth"))))...:package- | 
| 12c40 | 76 65 72 73 69 6f 6e 20 27 28 70 72 6f 6a 65 63    74 69 6c 65 20 2e 20 22 31 2e 30 2e 30 22 29 29 | version.'(projectile..."1.0.0")) | 
| 12c60 | 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 70 72 6f    6a 65 63 74 69 6c 65 2d 66 64 2d 65 78 65 63 75 | ..(defcustom.projectile-fd-execu | 
| 12c80 | 74 61 62 6c 65 0a 20 20 28 63 6f 6e 64 0a 20 20    20 28 28 65 78 65 63 75 74 61 62 6c 65 2d 66 69 | table...(cond....((executable-fi | 
| 12ca0 | 6e 64 20 22 66 64 66 69 6e 64 22 29 20 22 66 64    66 69 6e 64 22 29 0a 20 20 20 28 28 65 78 65 63 | nd."fdfind")."fdfind")....((exec | 
| 12cc0 | 75 74 61 62 6c 65 2d 66 69 6e 64 20 22 66 64 22    29 20 22 66 64 22 29 29 0a 20 20 22 50 61 74 68 | utable-find."fd")."fd"))..."Path | 
| 12ce0 | 20 6f 72 20 6e 61 6d 65 20 6f 66 20 66 64 20 65    78 65 63 75 74 61 62 6c 65 20 75 73 65 64 20 62 | .or.name.of.fd.executable.used.b | 
| 12d00 | 79 20 50 72 6f 6a 65 63 74 69 6c 65 20 69 66 20    65 6e 61 62 6c 65 64 2e 0a 4e 69 6c 20 6d 65 61 | y.Projectile.if.enabled..Nil.mea | 
| 12d20 | 6e 73 20 66 64 20 69 73 20 6e 6f 74 20 69 6e 73    74 61 6c 6c 65 64 20 6f 72 20 73 68 6f 75 6c 64 | ns.fd.is.not.installed.or.should | 
| 12d40 | 20 6e 6f 74 20 62 65 20 75 73 65 64 2e 22 0a 20    20 3a 74 79 70 65 20 27 73 74 72 69 6e 67 0a 20 | .not.be.used."...:type.'string.. | 
| 12d60 | 20 3a 70 61 63 6b 61 67 65 2d 76 65 72 73 69 6f    6e 20 27 28 70 72 6f 6a 65 63 74 69 6c 65 20 2e | .:package-version.'(projectile.. | 
| 12d80 | 20 22 32 2e 38 2e 30 22 29 29 0a 0a 28 64 65 66    63 75 73 74 6f 6d 20 70 72 6f 6a 65 63 74 69 6c | ."2.8.0"))..(defcustom.projectil | 
| 12da0 | 65 2d 67 69 74 2d 75 73 65 2d 66 64 20 28 77 68    65 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 66 64 | e-git-use-fd.(when.projectile-fd | 
| 12dc0 | 2d 65 78 65 63 75 74 61 62 6c 65 20 74 29 0a 20    20 22 4e 6f 6e 2d 6e 69 6c 20 6d 65 61 6e 73 20 | -executable.t)..."Non-nil.means. | 
| 12de0 | 75 73 65 20 66 64 20 74 6f 20 69 6d 70 6c 65 6d    65 6e 74 20 67 69 74 20 6c 73 2d 66 69 6c 65 73 | use.fd.to.implement.git.ls-files | 
| 12e00 | 2e 0a 54 68 69 73 20 6d 61 79 20 63 68 61 6e 67    65 20 50 72 6f 6a 65 63 74 69 6c 65 27 73 20 70 | ..This.may.change.Projectile's.p | 
| 12e20 | 65 72 66 6f 72 6d 61 6e 63 65 20 69 6e 20 6c 61    72 67 65 20 47 69 74 20 72 65 70 6f 73 69 74 6f | erformance.in.large.Git.reposito | 
| 12e40 | 72 69 65 73 0a 64 65 70 65 6e 64 69 6e 67 20 6f    6e 20 79 6f 75 72 20 73 79 73 74 65 6d 2c 20 62 | ries.depending.on.your.system,.b | 
| 12e60 | 75 74 20 69 74 20 77 69 6c 6c 20 61 6c 73 6f 20    77 6f 72 6b 20 61 72 6f 75 6e 64 20 74 68 65 20 | ut.it.will.also.work.around.the. | 
| 12e80 | 47 69 74 20 62 65 68 61 76 69 6f 72 0a 74 68 61    74 20 63 61 75 73 65 73 20 64 65 6c 65 74 65 64 | Git.behavior.that.causes.deleted | 
| 12ea0 | 20 66 69 6c 65 73 20 74 6f 20 73 74 69 6c 6c 20    62 65 20 73 68 6f 77 6e 20 69 6e 20 50 72 6f 6a | .files.to.still.be.shown.in.Proj | 
| 12ec0 | 65 63 74 69 6c 65 20 6c 69 73 74 69 6e 67 73 20    75 6e 74 69 6c 0a 74 68 65 69 72 20 64 65 6c 65 | ectile.listings.until.their.dele | 
| 12ee0 | 74 69 6f 6e 73 20 61 72 65 20 73 74 61 67 65 64    2e 22 0a 20 20 3a 74 79 70 65 20 27 62 6f 6f 6c | tions.are.staged."...:type.'bool | 
| 12f00 | 65 61 6e 0a 20 20 3a 70 61 63 6b 61 67 65 2d 76    65 72 73 69 6f 6e 20 27 28 70 72 6f 6a 65 63 74 | ean...:package-version.'(project | 
| 12f20 | 69 6c 65 20 2e 20 22 32 2e 38 2e 30 22 29 29 0a    0a 28 64 65 66 63 75 73 74 6f 6d 20 70 72 6f 6a | ile..."2.8.0"))..(defcustom.proj | 
| 12f40 | 65 63 74 69 6c 65 2d 67 69 74 2d 63 6f 6d 6d 61    6e 64 20 22 67 69 74 20 6c 73 2d 66 69 6c 65 73 | ectile-git-command."git.ls-files | 
| 12f60 | 20 2d 7a 63 6f 20 2d 2d 65 78 63 6c 75 64 65 2d    73 74 61 6e 64 61 72 64 22 0a 20 20 22 43 6f 6d | .-zco.--exclude-standard"..."Com | 
| 12f80 | 6d 61 6e 64 20 75 73 65 64 20 62 79 20 70 72 6f    6a 65 63 74 69 6c 65 20 74 6f 20 67 65 74 20 74 | mand.used.by.projectile.to.get.t | 
| 12fa0 | 68 65 20 66 69 6c 65 73 20 69 6e 20 61 20 67 69    74 20 70 72 6f 6a 65 63 74 2e 22 0a 20 20 3a 67 | he.files.in.a.git.project."...:g | 
| 12fc0 | 72 6f 75 70 20 27 70 72 6f 6a 65 63 74 69 6c 65    0a 20 20 3a 74 79 70 65 20 27 73 74 72 69 6e 67 | roup.'projectile...:type.'string | 
| 12fe0 | 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 70 72    6f 6a 65 63 74 69 6c 65 2d 67 69 74 2d 66 64 2d | )..(defcustom.projectile-git-fd- | 
| 13000 | 61 72 67 73 20 22 2d 48 20 2d 30 20 2d 45 20 2e    67 69 74 20 2d 74 66 20 2d 2d 73 74 72 69 70 2d | args."-H.-0.-E..git.-tf.--strip- | 
| 13020 | 63 77 64 2d 70 72 65 66 69 78 20 2d 63 20 6e 65    76 65 72 22 0a 20 20 22 41 72 67 75 6d 65 6e 74 | cwd-prefix.-c.never"..."Argument | 
| 13040 | 73 20 74 6f 20 66 64 20 75 73 65 64 20 74 6f 20    72 65 2d 69 6d 70 6c 65 6d 65 6e 74 20 60 67 69 | s.to.fd.used.to.re-implement.`gi | 
| 13060 | 74 20 6c 73 2d 66 69 6c 65 73 27 2e 0a 54 68 69    73 20 69 73 20 75 73 65 64 20 77 69 74 68 20 60 | t.ls-files'..This.is.used.with.` | 
| 13080 | 70 72 6f 6a 65 63 74 69 6c 65 2d 66 64 2d 65 78    65 63 75 74 61 62 6c 65 27 20 77 68 65 6e 20 60 | projectile-fd-executable'.when.` | 
| 130a0 | 70 72 6f 6a 65 63 74 69 6c 65 2d 67 69 74 2d 75    73 65 2d 66 64 27 0a 69 73 20 6e 6f 6e 2d 6e 69 | projectile-git-use-fd'.is.non-ni | 
| 130c0 | 6c 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 70 72    6f 6a 65 63 74 69 6c 65 0a 20 20 3a 74 79 70 65 | l."...:group.'projectile...:type | 
| 130e0 | 20 27 73 74 72 69 6e 67 0a 20 20 3a 70 61 63 6b    61 67 65 2d 76 65 72 73 69 6f 6e 20 27 28 70 72 | .'string...:package-version.'(pr | 
| 13100 | 6f 6a 65 63 74 69 6c 65 20 2e 20 22 32 2e 38 2e    30 22 29 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d | ojectile..."2.8.0"))..(defcustom | 
| 13120 | 20 70 72 6f 6a 65 63 74 69 6c 65 2d 67 69 74 2d    73 75 62 6d 6f 64 75 6c 65 2d 63 6f 6d 6d 61 6e | .projectile-git-submodule-comman | 
| 13140 | 64 20 22 67 69 74 20 73 75 62 6d 6f 64 75 6c 65    20 2d 2d 71 75 69 65 74 20 66 6f 72 65 61 63 68 | d."git.submodule.--quiet.foreach | 
| 13160 | 20 27 65 63 68 6f 20 24 64 69 73 70 6c 61 79 70    61 74 68 27 20 7c 20 74 72 20 27 5c 5c 6e 27 20 | .'echo.$displaypath'.|.tr.'\\n'. | 
| 13180 | 27 5c 5c 30 27 22 0a 20 20 22 43 6f 6d 6d 61 6e    64 20 75 73 65 64 20 62 79 20 70 72 6f 6a 65 63 | '\\0'"..."Command.used.by.projec | 
| 131a0 | 74 69 6c 65 20 74 6f 20 6c 69 73 74 20 73 75 62    6d 6f 64 75 6c 65 73 20 6f 66 20 61 20 67 69 76 | tile.to.list.submodules.of.a.giv | 
| 131c0 | 65 6e 20 67 69 74 20 72 65 70 6f 73 69 74 6f 72    79 2e 0a 53 65 74 20 74 6f 20 6e 69 6c 20 74 6f | en.git.repository..Set.to.nil.to | 
| 131e0 | 20 64 69 73 61 62 6c 65 20 6c 69 73 74 69 6e 67    20 73 75 62 6d 6f 64 75 6c 65 73 20 63 6f 6e 74 | .disable.listing.submodules.cont | 
| 13200 | 65 6e 74 73 2e 22 0a 20 20 3a 67 72 6f 75 70 20    27 70 72 6f 6a 65 63 74 69 6c 65 0a 20 20 3a 74 | ents."...:group.'projectile...:t | 
| 13220 | 79 70 65 20 27 73 74 72 69 6e 67 29 0a 0a 28 64    65 66 63 75 73 74 6f 6d 20 70 72 6f 6a 65 63 74 | ype.'string)..(defcustom.project | 
| 13240 | 69 6c 65 2d 67 69 74 2d 69 67 6e 6f 72 65 64 2d    63 6f 6d 6d 61 6e 64 20 22 67 69 74 20 6c 73 2d | ile-git-ignored-command."git.ls- | 
| 13260 | 66 69 6c 65 73 20 2d 7a 63 6f 69 20 2d 2d 65 78    63 6c 75 64 65 2d 73 74 61 6e 64 61 72 64 22 0a | files.-zcoi.--exclude-standard". | 
| 13280 | 20 20 22 43 6f 6d 6d 61 6e 64 20 75 73 65 64 20    62 79 20 70 72 6f 6a 65 63 74 69 6c 65 20 74 6f | .."Command.used.by.projectile.to | 
| 132a0 | 20 67 65 74 20 74 68 65 20 69 67 6e 6f 72 65 64    20 66 69 6c 65 73 20 69 6e 20 61 20 67 69 74 20 | .get.the.ignored.files.in.a.git. | 
| 132c0 | 70 72 6f 6a 65 63 74 2e 22 0a 20 20 3a 67 72 6f    75 70 20 27 70 72 6f 6a 65 63 74 69 6c 65 0a 20 | project."...:group.'projectile.. | 
| 132e0 | 20 3a 74 79 70 65 20 27 73 74 72 69 6e 67 0a 20    20 3a 70 61 63 6b 61 67 65 2d 76 65 72 73 69 6f | .:type.'string...:package-versio | 
| 13300 | 6e 20 27 28 70 72 6f 6a 65 63 74 69 6c 65 20 2e    20 22 30 2e 31 34 2e 30 22 29 29 0a 0a 28 64 65 | n.'(projectile..."0.14.0"))..(de | 
| 13320 | 66 63 75 73 74 6f 6d 20 70 72 6f 6a 65 63 74 69    6c 65 2d 68 67 2d 63 6f 6d 6d 61 6e 64 20 22 68 | fcustom.projectile-hg-command."h | 
| 13340 | 67 20 6c 6f 63 61 74 65 20 2d 66 20 2d 30 20 2d    49 20 2e 22 0a 20 20 22 43 6f 6d 6d 61 6e 64 20 | g.locate.-f.-0.-I.."..."Command. | 
| 13360 | 75 73 65 64 20 62 79 20 70 72 6f 6a 65 63 74 69    6c 65 20 74 6f 20 67 65 74 20 74 68 65 20 66 69 | used.by.projectile.to.get.the.fi | 
| 13380 | 6c 65 73 20 69 6e 20 61 20 68 67 20 70 72 6f 6a    65 63 74 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 | les.in.a.hg.project."...:group.' | 
| 133a0 | 70 72 6f 6a 65 63 74 69 6c 65 0a 20 20 3a 74 79    70 65 20 27 73 74 72 69 6e 67 29 0a 0a 28 64 65 | projectile...:type.'string)..(de | 
| 133c0 | 66 63 75 73 74 6f 6d 20 70 72 6f 6a 65 63 74 69    6c 65 2d 66 6f 73 73 69 6c 2d 63 6f 6d 6d 61 6e | fcustom.projectile-fossil-comman | 
| 133e0 | 64 20 28 63 6f 6e 63 61 74 20 22 66 6f 73 73 69    6c 20 6c 73 20 7c 20 22 0a 20 20 20 20 20 20 20 | d.(concat."fossil.ls.|."........ | 
| 13400 | 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 | ................................ | 
| 13420 | 20 20 20 20 20 20 28 77 68 65 6e 20 28 73 74 72    69 6e 67 2d 65 71 75 61 6c 20 73 79 73 74 65 6d | ......(when.(string-equal.system | 
| 13440 | 2d 74 79 70 65 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | -type........................... | 
| 13460 | 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 | ................................ | 
| 13480 | 20 20 20 20 20 20 20 22 77 69 6e 64 6f 77 73 2d    6e 74 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 | ......."windows-nt")............ | 
| 134a0 | 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 | ................................ | 
| 134c0 | 20 20 20 20 22 64 6f 73 32 75 6e 69 78 20 7c 20    22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | ...."dos2unix.|.").............. | 
| 134e0 | 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 | ................................ | 
| 13500 | 22 74 72 20 27 5c 5c 6e 27 20 27 5c 5c 30 27 22    29 0a 20 20 22 43 6f 6d 6d 61 6e 64 20 75 73 65 | "tr.'\\n'.'\\0'")..."Command.use | 
| 13520 | 64 20 62 79 20 70 72 6f 6a 65 63 74 69 6c 65 20    74 6f 20 67 65 74 20 74 68 65 20 66 69 6c 65 73 | d.by.projectile.to.get.the.files | 
| 13540 | 20 69 6e 20 61 20 66 6f 73 73 69 6c 20 70 72 6f    6a 65 63 74 2e 22 0a 20 20 3a 67 72 6f 75 70 20 | .in.a.fossil.project."...:group. | 
| 13560 | 27 70 72 6f 6a 65 63 74 69 6c 65 0a 20 20 3a 74    79 70 65 20 27 73 74 72 69 6e 67 29 0a 0a 28 64 | 'projectile...:type.'string)..(d | 
| 13580 | 65 66 63 75 73 74 6f 6d 20 70 72 6f 6a 65 63 74    69 6c 65 2d 62 7a 72 2d 63 6f 6d 6d 61 6e 64 20 | efcustom.projectile-bzr-command. | 
| 135a0 | 22 62 7a 72 20 6c 73 20 2d 52 20 2d 2d 76 65 72    73 69 6f 6e 65 64 20 2d 30 22 0a 20 20 22 43 6f | "bzr.ls.-R.--versioned.-0"..."Co | 
| 135c0 | 6d 6d 61 6e 64 20 75 73 65 64 20 62 79 20 70 72    6f 6a 65 63 74 69 6c 65 20 74 6f 20 67 65 74 20 | mmand.used.by.projectile.to.get. | 
| 135e0 | 74 68 65 20 66 69 6c 65 73 20 69 6e 20 61 20 62    61 7a 61 61 72 20 70 72 6f 6a 65 63 74 2e 22 0a | the.files.in.a.bazaar.project.". | 
| 13600 | 20 20 3a 67 72 6f 75 70 20 27 70 72 6f 6a 65 63    74 69 6c 65 0a 20 20 3a 74 79 70 65 20 27 73 74 | ..:group.'projectile...:type.'st | 
| 13620 | 72 69 6e 67 29 0a 0a 28 64 65 66 63 75 73 74 6f    6d 20 70 72 6f 6a 65 63 74 69 6c 65 2d 64 61 72 | ring)..(defcustom.projectile-dar | 
| 13640 | 63 73 2d 63 6f 6d 6d 61 6e 64 20 22 64 61 72 63    73 20 73 68 6f 77 20 66 69 6c 65 73 20 2d 30 20 | cs-command."darcs.show.files.-0. | 
| 13660 | 2e 20 22 0a 20 20 22 43 6f 6d 6d 61 6e 64 20 75    73 65 64 20 62 79 20 70 72 6f 6a 65 63 74 69 6c | .."..."Command.used.by.projectil | 
| 13680 | 65 20 74 6f 20 67 65 74 20 74 68 65 20 66 69 6c    65 73 20 69 6e 20 61 20 64 61 72 63 73 20 70 72 | e.to.get.the.files.in.a.darcs.pr | 
| 136a0 | 6f 6a 65 63 74 2e 22 0a 20 20 3a 67 72 6f 75 70    20 27 70 72 6f 6a 65 63 74 69 6c 65 0a 20 20 3a | oject."...:group.'projectile...: | 
| 136c0 | 74 79 70 65 20 27 73 74 72 69 6e 67 29 0a 0a 28    64 65 66 63 75 73 74 6f 6d 20 70 72 6f 6a 65 63 | type.'string)..(defcustom.projec | 
| 136e0 | 74 69 6c 65 2d 70 69 6a 75 6c 2d 63 6f 6d 6d 61    6e 64 20 22 70 69 6a 75 6c 20 6c 69 73 74 20 7c | tile-pijul-command."pijul.list.| | 
| 13700 | 20 74 72 20 27 5c 5c 6e 27 20 27 5c 5c 30 27 22    0a 20 20 20 22 43 6f 6d 6d 61 6e 64 20 75 73 65 | .tr.'\\n'.'\\0'"...."Command.use | 
| 13720 | 64 20 62 79 20 70 72 6f 6a 65 63 74 69 6c 65 20    74 6f 20 67 65 74 20 74 68 65 20 66 69 6c 65 73 | d.by.projectile.to.get.the.files | 
| 13740 | 20 69 6e 20 61 20 70 69 6a 75 6c 20 70 72 6f 6a    65 63 74 2e 22 0a 20 20 20 3a 67 72 6f 75 70 20 | .in.a.pijul.project."....:group. | 
| 13760 | 27 70 72 6f 6a 65 63 74 69 6c 65 0a 20 20 20 3a    74 79 70 65 20 27 73 74 72 69 6e 67 29 0a 0a 28 | 'projectile....:type.'string)..( | 
| 13780 | 64 65 66 63 75 73 74 6f 6d 20 70 72 6f 6a 65 63    74 69 6c 65 2d 73 76 6e 2d 63 6f 6d 6d 61 6e 64 | defcustom.projectile-svn-command | 
| 137a0 | 20 22 73 76 6e 20 6c 69 73 74 20 2d 52 20 2e 20    7c 20 67 72 65 70 20 2d 76 20 27 24 2f 27 20 7c | ."svn.list.-R...|.grep.-v.'$/'.| | 
| 137c0 | 20 74 72 20 27 5c 5c 6e 27 20 27 5c 5c 30 27 22    0a 20 20 22 43 6f 6d 6d 61 6e 64 20 75 73 65 64 | .tr.'\\n'.'\\0'"..."Command.used | 
| 137e0 | 20 62 79 20 70 72 6f 6a 65 63 74 69 6c 65 20 74    6f 20 67 65 74 20 74 68 65 20 66 69 6c 65 73 20 | .by.projectile.to.get.the.files. | 
| 13800 | 69 6e 20 61 20 73 76 6e 20 70 72 6f 6a 65 63 74    2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 70 72 6f | in.a.svn.project."...:group.'pro | 
| 13820 | 6a 65 63 74 69 6c 65 0a 20 20 3a 74 79 70 65 20    27 73 74 72 69 6e 67 29 0a 0a 28 64 65 66 63 75 | jectile...:type.'string)..(defcu | 
| 13840 | 73 74 6f 6d 20 70 72 6f 6a 65 63 74 69 6c 65 2d    67 65 6e 65 72 69 63 2d 63 6f 6d 6d 61 6e 64 0a | stom.projectile-generic-command. | 
| 13860 | 20 20 28 63 6f 6e 64 0a 20 20 20 3b 3b 20 77 65    20 70 72 65 66 65 72 20 66 64 20 6f 76 65 72 20 | ..(cond....;;.we.prefer.fd.over. | 
| 13880 | 66 69 6e 64 0a 20 20 20 3b 3b 20 6e 6f 74 65 20    74 68 61 74 20 2d 2d 73 74 72 69 70 2d 63 77 64 | find....;;.note.that.--strip-cwd | 
| 138a0 | 2d 70 72 65 66 69 78 20 69 73 20 6f 6e 6c 79 20    61 76 61 69 6c 61 62 6c 65 20 69 6e 20 76 65 72 | -prefix.is.only.available.in.ver | 
| 138c0 | 73 69 6f 6e 20 38 2e 33 2e 30 2b 0a 20 20 20 28    70 72 6f 6a 65 63 74 69 6c 65 2d 66 64 2d 65 78 | sion.8.3.0+....(projectile-fd-ex | 
| 138e0 | 65 63 75 74 61 62 6c 65 0a 20 20 20 20 28 66 6f    72 6d 61 74 20 22 25 73 20 2e 20 2d 30 20 2d 2d | ecutable.....(format."%s...-0.-- | 
| 13900 | 74 79 70 65 20 66 20 2d 2d 63 6f 6c 6f 72 3d 6e    65 76 65 72 20 2d 2d 73 74 72 69 70 2d 63 77 64 | type.f.--color=never.--strip-cwd | 
| 13920 | 2d 70 72 65 66 69 78 22 20 70 72 6f 6a 65 63 74    69 6c 65 2d 66 64 2d 65 78 65 63 75 74 61 62 6c | -prefix".projectile-fd-executabl | 
| 13940 | 65 29 29 0a 20 20 20 3b 3b 20 77 69 74 68 20 66    69 6e 64 20 77 65 20 68 61 76 65 20 74 6f 20 62 | e))....;;.with.find.we.have.to.b | 
| 13960 | 65 20 63 61 72 65 66 75 6c 20 74 6f 20 73 74 72    69 70 20 74 68 65 20 2e 2f 20 66 72 6f 6d 20 74 | e.careful.to.strip.the../.from.t | 
| 13980 | 68 65 20 70 61 74 68 73 0a 20 20 20 3b 3b 20 73    65 65 20 68 74 74 70 73 3a 2f 2f 73 74 61 63 6b | he.paths....;;.see.https://stack | 
| 139a0 | 6f 76 65 72 66 6c 6f 77 2e 63 6f 6d 2f 71 75 65    73 74 69 6f 6e 73 2f 32 35 39 36 34 36 32 2f 68 | overflow.com/questions/2596462/h | 
| 139c0 | 6f 77 2d 74 6f 2d 73 74 72 69 70 2d 6c 65 61 64    69 6e 67 2d 69 6e 2d 75 6e 69 78 2d 66 69 6e 64 | ow-to-strip-leading-in-unix-find | 
| 139e0 | 0a 20 20 20 28 74 20 22 66 69 6e 64 20 2e 20 2d    74 79 70 65 20 66 20 7c 20 63 75 74 20 2d 63 33 | ....(t."find...-type.f.|.cut.-c3 | 
| 13a00 | 2d 20 7c 20 74 72 20 27 5c 5c 6e 27 20 27 5c 5c    30 27 22 29 29 0a 20 20 22 43 6f 6d 6d 61 6e 64 | -.|.tr.'\\n'.'\\0'"))..."Command | 
| 13a20 | 20 75 73 65 64 20 62 79 20 70 72 6f 6a 65 63 74    69 6c 65 20 74 6f 20 67 65 74 20 74 68 65 20 66 | .used.by.projectile.to.get.the.f | 
| 13a40 | 69 6c 65 73 20 69 6e 20 61 20 67 65 6e 65 72 69    63 20 70 72 6f 6a 65 63 74 2e 22 0a 20 20 3a 67 | iles.in.a.generic.project."...:g | 
| 13a60 | 72 6f 75 70 20 27 70 72 6f 6a 65 63 74 69 6c 65    0a 20 20 3a 74 79 70 65 20 27 73 74 72 69 6e 67 | roup.'projectile...:type.'string | 
| 13a80 | 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 70 72    6f 6a 65 63 74 69 6c 65 2d 76 63 73 2d 64 69 72 | )..(defcustom.projectile-vcs-dir | 
| 13aa0 | 74 79 2d 73 74 61 74 65 20 27 28 22 65 64 69 74    65 64 22 20 22 75 6e 72 65 67 69 73 74 65 72 65 | ty-state.'("edited"."unregistere | 
| 13ac0 | 64 22 20 22 6e 65 65 64 73 2d 75 70 64 61 74 65    22 20 22 6e 65 65 64 73 2d 6d 65 72 67 65 22 20 | d"."needs-update"."needs-merge". | 
| 13ae0 | 22 75 6e 6c 6f 63 6b 65 64 2d 63 68 61 6e 67 65    73 22 20 22 63 6f 6e 66 6c 69 63 74 22 29 0a 20 | "unlocked-changes"."conflict").. | 
| 13b00 | 20 22 4c 69 73 74 20 6f 66 20 73 74 61 74 65 73    20 63 68 65 63 6b 65 64 20 62 79 20 60 70 72 6f | ."List.of.states.checked.by.`pro | 
| 13b20 | 6a 65 63 74 69 6c 65 2d 62 72 6f 77 73 65 2d 64    69 72 74 79 2d 70 72 6f 6a 65 63 74 73 27 2e 0a | jectile-browse-dirty-projects'.. | 
| 13b40 | 50 6f 73 73 69 62 6c 65 20 63 68 65 63 6b 65 64    20 73 74 61 74 65 73 20 61 72 65 3a 0a 5c 22 65 | Possible.checked.states.are:.\"e | 
| 13b60 | 64 69 74 65 64 5c 22 2c 20 5c 22 75 6e 72 65 67    69 73 74 65 72 65 64 5c 22 2c 20 5c 22 6e 65 65 | dited\",.\"unregistered\",.\"nee | 
| 13b80 | 64 73 2d 75 70 64 61 74 65 5c 22 2c 20 5c 22 6e    65 65 64 73 2d 6d 65 72 67 65 5c 22 2c 0a 5c 22 | ds-update\",.\"needs-merge\",.\" | 
| 13ba0 | 75 6e 6c 6f 63 6b 65 64 2d 63 68 61 6e 67 65 73    5c 22 20 61 6e 64 20 5c 22 63 6f 6e 66 6c 69 63 | unlocked-changes\".and.\"conflic | 
| 13bc0 | 74 5c 22 2c 0a 61 73 20 64 65 66 69 6e 65 64 20    69 6e 20 60 76 63 2e 65 6c 27 2e 22 0a 20 20 3a | t\",.as.defined.in.`vc.el'."...: | 
| 13be0 | 67 72 6f 75 70 20 27 70 72 6f 6a 65 63 74 69 6c    65 0a 20 20 3a 74 79 70 65 20 27 28 72 65 70 65 | group.'projectile...:type.'(repe | 
| 13c00 | 61 74 20 28 73 74 72 69 6e 67 29 29 0a 20 20 3a    70 61 63 6b 61 67 65 2d 76 65 72 73 69 6f 6e 20 | at.(string))...:package-version. | 
| 13c20 | 27 28 70 72 6f 6a 65 63 74 69 6c 65 20 2e 20 22    31 2e 30 2e 30 22 29 29 0a 0a 28 64 65 66 63 75 | '(projectile..."1.0.0"))..(defcu | 
| 13c40 | 73 74 6f 6d 20 70 72 6f 6a 65 63 74 69 6c 65 2d    6f 74 68 65 72 2d 66 69 6c 65 2d 61 6c 69 73 74 | stom.projectile-other-file-alist | 
| 13c60 | 0a 20 20 27 28 20 3b 3b 20 68 61 6e 64 6c 65 20    43 2f 43 2b 2b 20 65 78 74 65 6e 73 69 6f 6e 73 | ...'(.;;.handle.C/C++.extensions | 
| 13c80 | 0a 20 20 20 20 28 22 63 70 70 22 20 2e 20 28 22    68 22 20 22 68 70 70 22 20 22 69 70 70 22 29 29 | .....("cpp"...("h"."hpp"."ipp")) | 
| 13ca0 | 0a 20 20 20 20 28 22 69 70 70 22 20 2e 20 28 22    68 22 20 22 68 70 70 22 20 22 63 70 70 22 29 29 | .....("ipp"...("h"."hpp"."cpp")) | 
| 13cc0 | 0a 20 20 20 20 28 22 68 70 70 22 20 2e 20 28 22    68 22 20 22 69 70 70 22 20 22 63 70 70 22 20 22 | .....("hpp"...("h"."ipp"."cpp"." | 
| 13ce0 | 63 63 22 29 29 0a 20 20 20 20 28 22 63 78 78 22    20 2e 20 28 22 68 22 20 22 68 78 78 22 20 22 69 | cc")).....("cxx"...("h"."hxx"."i | 
| 13d00 | 78 78 22 29 29 0a 20 20 20 20 28 22 69 78 78 22    20 2e 20 28 22 68 22 20 22 68 78 78 22 20 22 63 | xx")).....("ixx"...("h"."hxx"."c | 
| 13d20 | 78 78 22 29 29 0a 20 20 20 20 28 22 68 78 78 22    20 2e 20 28 22 68 22 20 22 69 78 78 22 20 22 63 | xx")).....("hxx"...("h"."ixx"."c | 
| 13d40 | 78 78 22 29 29 0a 20 20 20 20 28 22 63 22 20 20    20 2e 20 28 22 68 22 29 29 0a 20 20 20 20 28 22 | xx")).....("c".....("h")).....(" | 
| 13d60 | 6d 22 20 20 20 2e 20 28 22 68 22 29 29 0a 20 20    20 20 28 22 6d 6d 22 20 20 2e 20 28 22 68 22 29 | m".....("h")).....("mm"....("h") | 
| 13d80 | 29 0a 20 20 20 20 28 22 68 22 20 20 20 2e 20 28    22 63 22 20 22 63 63 22 20 22 63 70 70 22 20 22 | ).....("h".....("c"."cc"."cpp"." | 
| 13da0 | 69 70 70 22 20 22 68 70 70 22 20 22 63 78 78 22    20 22 69 78 78 22 20 22 68 78 78 22 20 22 6d 22 | ipp"."hpp"."cxx"."ixx"."hxx"."m" | 
| 13dc0 | 20 22 6d 6d 22 29 29 0a 20 20 20 20 28 22 63 63    22 20 20 2e 20 28 22 68 22 20 22 68 68 22 20 22 | ."mm")).....("cc"....("h"."hh"." | 
| 13de0 | 68 70 70 22 29 29 0a 20 20 20 20 28 22 68 68 22    20 20 2e 20 28 22 63 63 22 29 29 0a 0a 20 20 20 | hpp")).....("hh"....("cc"))..... | 
| 13e00 | 20 3b 3b 20 4f 43 61 6d 6c 20 65 78 74 65 6e 73    69 6f 6e 73 0a 20 20 20 20 28 22 6d 6c 22 20 2e | .;;.OCaml.extensions.....("ml".. | 
| 13e20 | 20 28 22 6d 6c 69 22 29 29 0a 20 20 20 20 28 22    6d 6c 69 22 20 2e 20 28 22 6d 6c 22 20 22 6d 6c | .("mli")).....("mli"...("ml"."ml | 
| 13e40 | 6c 22 20 22 6d 6c 79 22 29 29 0a 20 20 20 20 28    22 6d 6c 6c 22 20 2e 20 28 22 6d 6c 69 22 29 29 | l"."mly")).....("mll"...("mli")) | 
| 13e60 | 0a 20 20 20 20 28 22 6d 6c 79 22 20 2e 20 28 22    6d 6c 69 22 29 29 0a 20 20 20 20 28 22 65 6c 69 | .....("mly"...("mli")).....("eli | 
| 13e80 | 6f 6d 69 22 20 2e 20 28 22 65 6c 69 6f 6d 22 29    29 0a 20 20 20 20 28 22 65 6c 69 6f 6d 22 20 2e | omi"...("eliom")).....("eliom".. | 
| 13ea0 | 20 28 22 65 6c 69 6f 6d 69 22 29 29 0a 0a 20 20    20 20 3b 3b 20 76 65 72 74 65 78 20 73 68 61 64 | .("eliomi"))......;;.vertex.shad | 
| 13ec0 | 65 72 20 61 6e 64 20 66 72 61 67 6d 65 6e 74 20    73 68 61 64 65 72 20 65 78 74 65 6e 73 69 6f 6e | er.and.fragment.shader.extension | 
| 13ee0 | 73 20 69 6e 20 67 6c 73 6c 0a 20 20 20 20 28 22    76 65 72 74 22 20 2e 20 28 22 66 72 61 67 22 29 | s.in.glsl.....("vert"...("frag") | 
| 13f00 | 29 0a 20 20 20 20 28 22 66 72 61 67 22 20 2e 20    28 22 76 65 72 74 22 29 29 0a 0a 20 20 20 20 3b | ).....("frag"...("vert"))......; | 
| 13f20 | 3b 20 68 61 6e 64 6c 65 20 66 69 6c 65 73 20 77    69 74 68 20 6e 6f 20 65 78 74 65 6e 73 69 6f 6e | ;.handle.files.with.no.extension | 
| 13f40 | 0a 20 20 20 20 28 6e 69 6c 20 20 20 20 2e 20 28    22 6c 6f 63 6b 22 20 22 67 70 67 22 29 29 0a 20 | .....(nil......("lock"."gpg")).. | 
| 13f60 | 20 20 20 28 22 6c 6f 63 6b 22 20 2e 20 28 22 22    29 29 0a 20 20 20 20 28 22 67 70 67 22 20 20 2e | ...("lock"...("")).....("gpg"... | 
| 13f80 | 20 28 22 22 29 29 0a 20 20 20 20 29 0a 20 20 22    41 6c 69 73 74 20 6f 66 20 65 78 74 65 6e 73 69 | .("")).....)..."Alist.of.extensi | 
| 13fa0 | 6f 6e 73 20 66 6f 72 20 73 77 69 74 63 68 69 6e    67 20 74 6f 20 66 69 6c 65 20 77 69 74 68 20 74 | ons.for.switching.to.file.with.t | 
| 13fc0 | 68 65 20 73 61 6d 65 20 6e 61 6d 65 2c 0a 20 20    75 73 69 6e 67 20 6f 74 68 65 72 20 65 78 74 65 | he.same.name,...using.other.exte | 
| 13fe0 | 6e 73 69 6f 6e 73 20 62 61 73 65 64 20 6f 6e 20    74 68 65 20 65 78 74 65 6e 73 69 6f 6e 20 6f 66 | nsions.based.on.the.extension.of | 
| 14000 | 20 63 75 72 72 65 6e 74 0a 20 20 66 69 6c 65 2e    22 0a 20 20 3a 74 79 70 65 20 27 61 6c 69 73 74 | .current...file."...:type.'alist | 
| 14020 | 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 70 72    6f 6a 65 63 74 69 6c 65 2d 63 72 65 61 74 65 2d | )..(defcustom.projectile-create- | 
| 14040 | 6d 69 73 73 69 6e 67 2d 74 65 73 74 2d 66 69 6c    65 73 20 6e 69 6c 0a 20 20 22 44 75 72 69 6e 67 | missing-test-files.nil..."During | 
| 14060 | 20 74 6f 67 67 6c 69 6e 67 2c 20 69 66 20 6e 6f    6e 2d 6e 69 6c 20 65 6e 61 62 6c 65 73 20 63 72 | .toggling,.if.non-nil.enables.cr | 
| 14080 | 65 61 74 69 6e 67 20 74 65 73 74 20 66 69 6c 65    73 20 69 66 20 6e 6f 74 20 66 6f 75 6e 64 2e 0a | eating.test.files.if.not.found.. | 
| 140a0 | 0a 57 68 65 6e 20 6e 6f 74 2d 6e 69 6c 2c 20 65    76 65 72 79 20 63 61 6c 6c 20 74 6f 20 70 72 6f | .When.not-nil,.every.call.to.pro | 
| 140c0 | 6a 65 63 74 69 6c 65 2d 66 69 6e 64 2d 69 6d 70    6c 65 6d 65 6e 74 61 74 69 6f 6e 2d 6f 72 2d 74 | jectile-find-implementation-or-t | 
| 140e0 | 65 73 74 2d 2a 0a 63 72 65 61 74 65 73 20 74 65    73 74 20 66 69 6c 65 73 20 69 66 20 6e 6f 74 20 | est-*.creates.test.files.if.not. | 
| 14100 | 66 6f 75 6e 64 20 6f 6e 20 74 68 65 20 66 69 6c    65 20 73 79 73 74 65 6d 2e 20 20 44 65 66 61 75 | found.on.the.file.system...Defau | 
| 14120 | 6c 74 73 20 74 6f 20 6e 69 6c 2e 0a 49 74 20 61    73 73 75 6d 65 73 20 74 68 65 20 74 65 73 74 2f | lts.to.nil..It.assumes.the.test/ | 
| 14140 | 20 66 6f 6c 64 65 72 20 69 73 20 61 74 20 74 68    65 20 73 61 6d 65 20 6c 65 76 65 6c 20 61 73 20 | .folder.is.at.the.same.level.as. | 
| 14160 | 73 72 63 2f 2e 22 0a 20 20 3a 67 72 6f 75 70 20    27 70 72 6f 6a 65 63 74 69 6c 65 0a 20 20 3a 74 | src/."...:group.'projectile...:t | 
| 14180 | 79 70 65 20 27 62 6f 6f 6c 65 61 6e 29 0a 0a 28    64 65 66 63 75 73 74 6f 6d 20 70 72 6f 6a 65 63 | ype.'boolean)..(defcustom.projec | 
| 141a0 | 74 69 6c 65 2d 70 65 72 2d 70 72 6f 6a 65 63 74    2d 63 6f 6d 70 69 6c 61 74 69 6f 6e 2d 62 75 66 | tile-per-project-compilation-buf | 
| 141c0 | 66 65 72 20 6e 69 6c 0a 20 20 22 57 68 65 6e 20    6e 6f 6e 2d 6e 69 6c 2c 20 74 68 65 20 63 6f 6d | fer.nil..."When.non-nil,.the.com | 
| 141e0 | 70 69 6c 61 74 69 6f 6e 20 63 6f 6d 6d 61 6e 64    20 6d 61 6b 65 73 20 74 68 65 20 70 65 72 2d 70 | pilation.command.makes.the.per-p | 
| 14200 | 72 6f 6a 65 63 74 20 63 6f 6d 70 69 6c 61 74 69    6f 6e 20 62 75 66 66 65 72 2e 22 0a 20 20 3a 67 | roject.compilation.buffer."...:g | 
| 14220 | 72 6f 75 70 20 27 70 72 6f 6a 65 63 74 69 6c 65    0a 20 20 3a 74 79 70 65 20 27 62 6f 6f 6c 65 61 | roup.'projectile...:type.'boolea | 
| 14240 | 6e 0a 20 20 3a 70 61 63 6b 61 67 65 2d 76 65 72    73 69 6f 6e 20 27 28 70 72 6f 6a 65 63 74 69 6c | n...:package-version.'(projectil | 
| 14260 | 65 20 2e 20 22 32 2e 36 2e 30 22 29 29 0a 0a 28    64 65 66 63 75 73 74 6f 6d 20 70 72 6f 6a 65 63 | e..."2.6.0"))..(defcustom.projec | 
| 14280 | 74 69 6c 65 2d 61 66 74 65 72 2d 73 77 69 74 63    68 2d 70 72 6f 6a 65 63 74 2d 68 6f 6f 6b 20 6e | tile-after-switch-project-hook.n | 
| 142a0 | 69 6c 0a 20 20 22 48 6f 6f 6b 73 20 72 75 6e 20    72 69 67 68 74 20 61 66 74 65 72 20 70 72 6f 6a | il..."Hooks.run.right.after.proj | 
| 142c0 | 65 63 74 20 69 73 20 73 77 69 74 63 68 65 64 2e    22 0a 20 20 3a 67 72 6f 75 70 20 27 70 72 6f 6a | ect.is.switched."...:group.'proj | 
| 142e0 | 65 63 74 69 6c 65 0a 20 20 3a 74 79 70 65 20 27    68 6f 6f 6b 29 0a 0a 28 64 65 66 63 75 73 74 6f | ectile...:type.'hook)..(defcusto | 
| 14300 | 6d 20 70 72 6f 6a 65 63 74 69 6c 65 2d 62 65 66    6f 72 65 2d 73 77 69 74 63 68 2d 70 72 6f 6a 65 | m.projectile-before-switch-proje | 
| 14320 | 63 74 2d 68 6f 6f 6b 20 6e 69 6c 0a 20 20 22 48    6f 6f 6b 73 20 72 75 6e 20 77 68 65 6e 20 72 69 | ct-hook.nil..."Hooks.run.when.ri | 
| 14340 | 67 68 74 20 62 65 66 6f 72 65 20 70 72 6f 6a 65    63 74 20 69 73 20 73 77 69 74 63 68 65 64 2e 22 | ght.before.project.is.switched." | 
| 14360 | 0a 20 20 3a 67 72 6f 75 70 20 27 70 72 6f 6a 65    63 74 69 6c 65 0a 20 20 3a 74 79 70 65 20 27 68 | ...:group.'projectile...:type.'h | 
| 14380 | 6f 6f 6b 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d    20 70 72 6f 6a 65 63 74 69 6c 65 2d 63 75 72 72 | ook)..(defcustom.projectile-curr | 
| 143a0 | 65 6e 74 2d 70 72 6f 6a 65 63 74 2d 6f 6e 2d 73    77 69 74 63 68 20 27 72 65 6d 6f 76 65 0a 20 20 | ent-project-on-switch.'remove... | 
| 143c0 | 22 44 65 74 65 72 6d 69 6e 65 73 20 77 68 65 74    68 65 72 20 74 6f 20 64 69 73 70 6c 61 79 20 63 | "Determines.whether.to.display.c | 
| 143e0 | 75 72 72 65 6e 74 20 70 72 6f 6a 65 63 74 20 77    68 65 6e 20 73 77 69 74 63 68 69 6e 67 20 70 72 | urrent.project.when.switching.pr | 
| 14400 | 6f 6a 65 63 74 73 2e 0a 0a 57 68 65 6e 20 73 65    74 20 74 6f 20 60 72 65 6d 6f 76 65 27 20 63 75 | ojects...When.set.to.`remove'.cu | 
| 14420 | 72 72 65 6e 74 20 70 72 6f 6a 65 63 74 20 69 73    20 6e 6f 74 20 69 6e 63 6c 75 64 65 64 2c 20 60 | rrent.project.is.not.included,.` | 
| 14440 | 6d 6f 76 65 2d 74 6f 2d 65 6e 64 27 0a 77 69 6c    6c 20 64 69 73 70 6c 61 79 20 63 75 72 72 65 6e | move-to-end'.will.display.curren | 
| 14460 | 74 20 70 72 6f 6a 65 63 74 20 61 6e 64 20 74 68    65 20 65 6e 64 20 6f 66 20 74 68 65 20 6c 69 73 | t.project.and.the.end.of.the.lis | 
| 14480 | 74 20 6f 66 20 6b 6e 6f 77 6e 0a 70 72 6f 6a 65    63 74 73 2c 20 60 6b 65 65 70 27 20 77 69 6c 6c | t.of.known.projects,.`keep'.will | 
| 144a0 | 20 6c 65 61 76 65 20 74 68 65 20 63 75 72 72 65    6e 74 20 70 72 6f 6a 65 63 74 20 61 74 20 74 68 | .leave.the.current.project.at.th | 
| 144c0 | 65 20 64 65 66 61 75 6c 74 0a 70 6f 73 69 74 69    6f 6e 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 70 | e.default.position."...:group.'p | 
| 144e0 | 72 6f 6a 65 63 74 69 6c 65 0a 20 20 3a 74 79 70    65 20 27 28 72 61 64 69 6f 0a 20 20 20 20 20 20 | rojectile...:type.'(radio....... | 
| 14500 | 20 20 20 20 28 63 6f 6e 73 74 20 3a 74 61 67 20    22 52 65 6d 6f 76 65 22 20 72 65 6d 6f 76 65 29 | ....(const.:tag."Remove".remove) | 
| 14520 | 0a 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73    74 20 3a 74 61 67 20 22 4d 6f 76 65 20 74 6f 20 | ...........(const.:tag."Move.to. | 
| 14540 | 65 6e 64 22 20 6d 6f 76 65 2d 74 6f 2d 65 6e 64    29 0a 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e | end".move-to-end)...........(con | 
| 14560 | 73 74 20 3a 74 61 67 20 22 4b 65 65 70 22 20 6b    65 65 70 29 29 29 0a 0a 28 64 65 66 63 75 73 74 | st.:tag."Keep".keep)))..(defcust | 
| 14580 | 6f 6d 20 70 72 6f 6a 65 63 74 69 6c 65 2d 6d 61    78 2d 66 69 6c 65 2d 62 75 66 66 65 72 2d 63 6f | om.projectile-max-file-buffer-co | 
| 145a0 | 75 6e 74 20 6e 69 6c 0a 20 20 22 4d 61 78 69 6d    75 6d 20 6e 75 6d 62 65 72 20 6f 66 20 66 69 6c | unt.nil..."Maximum.number.of.fil | 
| 145c0 | 65 20 62 75 66 66 65 72 73 20 70 65 72 20 70 72    6f 6a 65 63 74 20 74 68 61 74 20 61 72 65 20 6b | e.buffers.per.project.that.are.k | 
| 145e0 | 65 70 74 20 6f 70 65 6e 2e 0a 0a 49 66 20 74 68    65 20 76 61 6c 75 65 20 69 73 20 6e 69 6c 2c 20 | ept.open...If.the.value.is.nil,. | 
| 14600 | 74 68 65 72 65 20 69 73 20 6e 6f 20 6c 69 6d 69    74 20 74 6f 20 74 68 65 20 6f 70 65 6e 64 20 62 | there.is.no.limit.to.the.opend.b | 
| 14620 | 75 66 66 65 72 73 20 63 6f 75 6e 74 2e 22 0a 20    20 3a 67 72 6f 75 70 20 27 70 72 6f 6a 65 63 74 | uffers.count."...:group.'project | 
| 14640 | 69 6c 65 0a 20 20 3a 74 79 70 65 20 27 69 6e 74    65 67 65 72 0a 20 20 3a 70 61 63 6b 61 67 65 2d | ile...:type.'integer...:package- | 
| 14660 | 76 65 72 73 69 6f 6e 20 27 28 70 72 6f 6a 65 63    74 69 6c 65 20 2e 20 22 32 2e 32 2e 30 22 29 29 | version.'(projectile..."2.2.0")) | 
| 14680 | 0a 0a 28 64 65 66 76 61 72 20 70 72 6f 6a 65 63    74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 74 65 73 | ..(defvar.projectile-project-tes | 
| 146a0 | 74 2d 73 75 66 66 69 78 20 6e 69 6c 0a 20 20 22    55 73 65 20 74 68 69 73 20 76 61 72 69 61 62 6c | t-suffix.nil..."Use.this.variabl | 
| 146c0 | 65 20 74 6f 20 6f 76 65 72 72 69 64 65 20 74 68    65 20 63 75 72 72 65 6e 74 20 70 72 6f 6a 65 63 | e.to.override.the.current.projec | 
| 146e0 | 74 27 73 20 74 65 73 74 2d 73 75 66 66 69 78 20    70 72 6f 70 65 72 74 79 2e 0a 49 74 20 74 61 6b | t's.test-suffix.property..It.tak | 
| 14700 | 65 73 20 70 72 65 63 65 64 65 6e 63 65 20 6f 76    65 72 20 74 68 65 20 74 65 73 74 2d 73 75 66 66 | es.precedence.over.the.test-suff | 
| 14720 | 69 78 20 66 6f 72 20 74 68 65 20 70 72 6f 6a 65    63 74 20 74 79 70 65 20 77 68 65 6e 20 73 65 74 | ix.for.the.project.type.when.set | 
| 14740 | 2e 0a 53 68 6f 75 6c 64 20 62 65 20 73 65 74 20    76 69 61 20 2e 64 69 72 2d 6c 6f 63 61 6c 73 2e | ..Should.be.set.via..dir-locals. | 
| 14760 | 65 6c 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 70    72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 | el.")..(defvar.projectile-projec | 
| 14780 | 74 2d 74 65 73 74 2d 70 72 65 66 69 78 20 6e 69    6c 0a 20 20 22 55 73 65 20 74 68 69 73 20 76 61 | t-test-prefix.nil..."Use.this.va | 
| 147a0 | 72 69 61 62 6c 65 20 74 6f 20 6f 76 65 72 72 69    64 65 20 74 68 65 20 63 75 72 72 65 6e 74 20 70 | riable.to.override.the.current.p | 
| 147c0 | 72 6f 6a 65 63 74 27 73 20 74 65 73 74 2d 70 72    65 66 69 78 20 70 72 6f 70 65 72 74 79 2e 0a 49 | roject's.test-prefix.property..I | 
| 147e0 | 74 20 74 61 6b 65 73 20 70 72 65 63 65 64 65 6e    63 65 20 6f 76 65 72 20 74 68 65 20 74 65 73 74 | t.takes.precedence.over.the.test | 
| 14800 | 2d 70 72 65 66 69 78 20 66 6f 72 20 74 68 65 20    70 72 6f 6a 65 63 74 20 74 79 70 65 20 77 68 65 | -prefix.for.the.project.type.whe | 
| 14820 | 6e 20 73 65 74 2e 0a 53 68 6f 75 6c 64 20 62 65    20 73 65 74 20 76 69 61 20 2e 64 69 72 2d 6c 6f | n.set..Should.be.set.via..dir-lo | 
| 14840 | 63 61 6c 73 2e 65 6c 2e 22 29 0a 0a 28 64 65 66    76 61 72 20 70 72 6f 6a 65 63 74 69 6c 65 2d 70 | cals.el.")..(defvar.projectile-p | 
| 14860 | 72 6f 6a 65 63 74 2d 72 65 6c 61 74 65 64 2d 66    69 6c 65 73 2d 66 6e 20 6e 69 6c 0a 20 20 22 55 | roject-related-files-fn.nil..."U | 
| 14880 | 73 65 20 74 68 69 73 20 76 61 72 69 61 62 6c 65    20 74 6f 20 6f 76 65 72 72 69 64 65 20 74 68 65 | se.this.variable.to.override.the | 
| 148a0 | 20 63 75 72 72 65 6e 74 20 70 72 6f 6a 65 63 74    27 73 20 72 65 6c 61 74 65 64 2d 66 69 6c 65 73 | .current.project's.related-files | 
| 148c0 | 2d 66 6e 20 70 72 6f 70 65 72 74 79 2e 0a 49 74    20 74 61 6b 65 73 20 70 72 65 63 65 64 65 6e 63 | -fn.property..It.takes.precedenc | 
| 148e0 | 65 20 6f 76 65 72 20 74 68 65 20 72 65 6c 61 74    65 64 2d 66 69 6c 65 73 2d 66 6e 20 61 74 74 72 | e.over.the.related-files-fn.attr | 
| 14900 | 69 62 75 74 65 20 66 6f 72 20 74 68 65 20 70 72    6f 6a 65 63 74 20 74 79 70 65 0a 77 68 65 6e 20 | ibute.for.the.project.type.when. | 
| 14920 | 73 65 74 2e 20 20 53 68 6f 75 6c 64 20 62 65 20    73 65 74 20 76 69 61 20 2e 64 69 72 2d 6c 6f 63 | set...Should.be.set.via..dir-loc | 
| 14940 | 61 6c 73 2e 65 6c 2e 22 29 0a 0a 28 64 65 66 76    61 72 20 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 | als.el.")..(defvar.projectile-pr | 
| 14960 | 6f 6a 65 63 74 2d 73 72 63 2d 64 69 72 20 6e 69    6c 0a 20 20 22 55 73 65 20 74 68 69 73 20 76 61 | oject-src-dir.nil..."Use.this.va | 
| 14980 | 72 69 61 62 6c 65 20 74 6f 20 6f 76 65 72 72 69    64 65 20 74 68 65 20 63 75 72 72 65 6e 74 20 70 | riable.to.override.the.current.p | 
| 149a0 | 72 6f 6a 65 63 74 27 73 20 73 72 63 2d 64 69 72    20 70 72 6f 70 65 72 74 79 2e 0a 49 74 20 74 61 | roject's.src-dir.property..It.ta | 
| 149c0 | 6b 65 73 20 70 72 65 63 65 64 65 6e 63 65 20 6f    76 65 72 20 74 68 65 20 73 72 63 2d 64 69 72 20 | kes.precedence.over.the.src-dir. | 
| 149e0 | 66 6f 72 20 74 68 65 20 70 72 6f 6a 65 63 74 20    74 79 70 65 20 77 68 65 6e 20 73 65 74 2e 0a 53 | for.the.project.type.when.set..S | 
| 14a00 | 68 6f 75 6c 64 20 62 65 20 73 65 74 20 76 69 61    20 2e 64 69 72 2d 6c 6f 63 61 6c 73 2e 65 6c 2e | hould.be.set.via..dir-locals.el. | 
| 14a20 | 22 29 0a 0a 28 64 65 66 76 61 72 20 70 72 6f 6a    65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 74 | ")..(defvar.projectile-project-t | 
| 14a40 | 65 73 74 2d 64 69 72 20 6e 69 6c 0a 20 20 22 55    73 65 20 74 68 69 73 20 76 61 72 69 61 62 6c 65 | est-dir.nil..."Use.this.variable | 
| 14a60 | 20 74 6f 20 6f 76 65 72 72 69 64 65 20 74 68 65    20 63 75 72 72 65 6e 74 20 70 72 6f 6a 65 63 74 | .to.override.the.current.project | 
| 14a80 | 27 73 20 74 65 73 74 2d 64 69 72 20 70 72 6f 70    65 72 74 79 2e 0a 49 74 20 74 61 6b 65 73 20 70 | 's.test-dir.property..It.takes.p | 
| 14aa0 | 72 65 63 65 64 65 6e 63 65 20 6f 76 65 72 20 74    68 65 20 74 65 73 74 2d 64 69 72 20 66 6f 72 20 | recedence.over.the.test-dir.for. | 
| 14ac0 | 74 68 65 20 70 72 6f 6a 65 63 74 20 74 79 70 65    20 77 68 65 6e 20 73 65 74 2e 0a 53 68 6f 75 6c | the.project.type.when.set..Shoul | 
| 14ae0 | 64 20 62 65 20 73 65 74 20 76 69 61 20 2e 64 69    72 2d 6c 6f 63 61 6c 73 2e 65 6c 2e 22 29 0a 0a | d.be.set.via..dir-locals.el.").. | 
| 14b00 | 0c 0a 3b 3b 3b 20 56 65 72 73 69 6f 6e 20 69 6e    66 6f 72 6d 61 74 69 6f 6e 0a 0a 28 64 65 66 63 | ..;;;.Version.information..(defc | 
| 14b20 | 6f 6e 73 74 20 70 72 6f 6a 65 63 74 69 6c 65 2d    76 65 72 73 69 6f 6e 20 22 32 2e 38 2e 30 22 0a | onst.projectile-version."2.8.0". | 
| 14b40 | 20 20 22 54 68 65 20 63 75 72 72 65 6e 74 20 76    65 72 73 69 6f 6e 20 6f 66 20 50 72 6f 6a 65 63 | .."The.current.version.of.Projec | 
| 14b60 | 74 69 6c 65 2e 22 29 0a 0a 28 64 65 66 75 6e 20    70 72 6f 6a 65 63 74 69 6c 65 2d 2d 70 6b 67 2d | tile.")..(defun.projectile--pkg- | 
| 14b80 | 76 65 72 73 69 6f 6e 20 28 29 0a 20 20 22 45 78    74 72 61 63 74 20 50 72 6f 6a 65 63 74 69 6c 65 | version.()..."Extract.Projectile | 
| 14ba0 | 27 73 20 70 61 63 6b 61 67 65 20 76 65 72 73 69    6f 6e 20 66 72 6f 6d 20 69 74 73 20 70 61 63 6b | 's.package.version.from.its.pack | 
| 14bc0 | 61 67 65 20 6d 65 74 61 64 61 74 61 2e 22 0a 20    20 3b 3b 20 55 73 65 20 60 63 6f 6e 64 27 20 62 | age.metadata."...;;.Use.`cond'.b | 
| 14be0 | 65 6c 6f 77 20 74 6f 20 61 76 6f 69 64 20 61 20    63 6f 6d 70 69 6c 65 72 20 75 6e 75 73 65 64 20 | elow.to.avoid.a.compiler.unused. | 
| 14c00 | 72 65 74 75 72 6e 20 76 61 6c 75 65 20 77 61 72    6e 69 6e 67 0a 20 20 3b 3b 20 77 68 65 6e 20 60 | return.value.warning...;;.when.` | 
| 14c20 | 70 61 63 6b 61 67 65 2d 67 65 74 2d 76 65 72 73    69 6f 6e 27 20 72 65 74 75 72 6e 73 20 6e 69 6c | package-get-version'.returns.nil | 
| 14c40 | 2e 20 53 65 65 20 23 33 31 38 31 2e 0a 20 20 3b    3b 20 46 49 58 4d 45 3a 20 49 6e 6c 69 6e 65 20 | ..See.#3181....;;.FIXME:.Inline. | 
| 14c60 | 74 68 65 20 6c 6f 67 69 63 20 66 72 6f 6d 20 70    61 63 6b 61 67 65 2d 67 65 74 2d 76 65 72 73 69 | the.logic.from.package-get-versi | 
| 14c80 | 6f 6e 20 61 6e 64 20 61 64 61 70 74 20 69 74 0a    20 20 28 63 6f 6e 64 20 28 28 66 62 6f 75 6e 64 | on.and.adapt.it...(cond.((fbound | 
| 14ca0 | 70 20 27 70 61 63 6b 61 67 65 2d 67 65 74 2d 76    65 72 73 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 | p.'package-get-version)......... | 
| 14cc0 | 20 28 70 61 63 6b 61 67 65 2d 67 65 74 2d 76 65    72 73 69 6f 6e 29 29 29 29 0a 0a 3b 3b 3b 23 23 | .(package-get-version))))..;;;## | 
| 14ce0 | 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e    20 70 72 6f 6a 65 63 74 69 6c 65 2d 76 65 72 73 | #autoload.(defun.projectile-vers | 
| 14d00 | 69 6f 6e 20 28 26 6f 70 74 69 6f 6e 61 6c 20 73    68 6f 77 2d 76 65 72 73 69 6f 6e 29 0a 20 20 22 | ion.(&optional.show-version)..." | 
| 14d20 | 47 65 74 20 74 68 65 20 50 72 6f 6a 65 63 74 69    6c 65 20 76 65 72 73 69 6f 6e 20 61 73 20 73 74 | Get.the.Projectile.version.as.st | 
| 14d40 | 72 69 6e 67 2e 0a 0a 49 66 20 63 61 6c 6c 65 64    20 69 6e 74 65 72 61 63 74 69 76 65 6c 79 20 6f | ring...If.called.interactively.o | 
| 14d60 | 72 20 69 66 20 53 48 4f 57 2d 56 45 52 53 49 4f    4e 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 73 68 | r.if.SHOW-VERSION.is.non-nil,.sh | 
| 14d80 | 6f 77 20 74 68 65 0a 76 65 72 73 69 6f 6e 20 69    6e 20 74 68 65 20 65 63 68 6f 20 61 72 65 61 20 | ow.the.version.in.the.echo.area. | 
| 14da0 | 61 6e 64 20 74 68 65 20 6d 65 73 73 61 67 65 73    20 62 75 66 66 65 72 2e 0a 0a 54 68 65 20 72 65 | and.the.messages.buffer...The.re | 
| 14dc0 | 74 75 72 6e 65 64 20 73 74 72 69 6e 67 20 69 6e    63 6c 75 64 65 73 20 62 6f 74 68 2c 20 74 68 65 | turned.string.includes.both,.the | 
| 14de0 | 20 76 65 72 73 69 6f 6e 20 66 72 6f 6d 20 70 61    63 6b 61 67 65 2e 65 6c 0a 61 6e 64 20 74 68 65 | .version.from.package.el.and.the | 
| 14e00 | 20 6c 69 62 72 61 72 79 20 76 65 72 73 69 6f 6e    2c 20 69 66 20 62 6f 74 68 20 61 20 70 72 65 73 | .library.version,.if.both.a.pres | 
| 14e20 | 65 6e 74 20 61 6e 64 20 64 69 66 66 65 72 65 6e    74 2e 0a 0a 49 66 20 74 68 65 20 76 65 72 73 69 | ent.and.different...If.the.versi | 
| 14e40 | 6f 6e 20 6e 75 6d 62 65 72 20 63 6f 75 6c 64 20    6e 6f 74 20 62 65 20 64 65 74 65 72 6d 69 6e 65 | on.number.could.not.be.determine | 
| 14e60 | 64 2c 20 73 69 67 6e 61 6c 20 61 6e 20 65 72 72    6f 72 2c 0a 69 66 20 63 61 6c 6c 65 64 20 69 6e | d,.signal.an.error,.if.called.in | 
| 14e80 | 74 65 72 61 63 74 69 76 65 6c 79 2c 20 6f 72 20    69 66 20 53 48 4f 57 2d 56 45 52 53 49 4f 4e 20 | teractively,.or.if.SHOW-VERSION. | 
| 14ea0 | 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 6f 74 68 65    72 77 69 73 65 0a 6a 75 73 74 20 72 65 74 75 72 | is.non-nil,.otherwise.just.retur | 
| 14ec0 | 6e 20 6e 69 6c 2e 22 0a 20 20 28 69 6e 74 65 72    61 63 74 69 76 65 20 28 6c 69 73 74 20 74 29 29 | n.nil."...(interactive.(list.t)) | 
| 14ee0 | 0a 20 20 28 6c 65 74 20 28 28 76 65 72 73 69 6f    6e 20 28 6f 72 20 28 70 72 6f 6a 65 63 74 69 6c | ...(let.((version.(or.(projectil | 
| 14f00 | 65 2d 2d 70 6b 67 2d 76 65 72 73 69 6f 6e 29 20    70 72 6f 6a 65 63 74 69 6c 65 2d 76 65 72 73 69 | e--pkg-version).projectile-versi | 
| 14f20 | 6f 6e 29 29 29 0a 20 20 20 28 69 66 20 73 68 6f    77 2d 76 65 72 73 69 6f 6e 0a 20 20 20 20 20 20 | on)))....(if.show-version....... | 
| 14f40 | 20 28 6d 65 73 73 61 67 65 20 22 50 72 6f 6a 65    63 74 69 6c 65 20 25 73 22 20 76 65 72 73 69 6f | .(message."Projectile.%s".versio | 
| 14f60 | 6e 29 0a 20 20 20 20 20 76 65 72 73 69 6f 6e 29    29 29 0a 0a 3b 3b 3b 20 4d 69 73 63 20 75 74 69 | n)......version)))..;;;.Misc.uti | 
| 14f80 | 6c 69 74 79 20 66 75 6e 63 74 69 6f 6e 73 0a 28    64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 | lity.functions.(defun.projectile | 
| 14fa0 | 2d 64 69 66 66 65 72 65 6e 63 65 20 28 6c 69 73    74 31 20 6c 69 73 74 32 29 0a 20 20 28 63 6c 2d | -difference.(list1.list2)...(cl- | 
| 14fc0 | 72 65 6d 6f 76 65 2d 69 66 0a 20 20 20 28 6c 61    6d 62 64 61 20 28 78 29 20 28 6d 65 6d 62 65 72 | remove-if....(lambda.(x).(member | 
| 14fe0 | 20 78 20 6c 69 73 74 32 29 29 0a 20 20 20 6c 69    73 74 31 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 | .x.list2))....list1))..(defun.pr | 
| 15000 | 6f 6a 65 63 74 69 6c 65 2d 75 6e 69 78 79 2d 73    79 73 74 65 6d 2d 70 20 28 29 0a 20 20 22 43 68 | ojectile-unixy-system-p.()..."Ch | 
| 15020 | 65 63 6b 20 74 6f 20 73 65 65 20 69 66 20 75 6e    69 78 79 20 74 65 78 74 20 75 74 69 6c 69 74 69 | eck.to.see.if.unixy.text.utiliti | 
| 15040 | 65 73 20 61 72 65 20 69 6e 73 74 61 6c 6c 65 64    2e 22 0a 20 20 28 63 6c 2d 65 76 65 72 79 0a 20 | es.are.installed."...(cl-every.. | 
| 15060 | 20 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 65    78 65 63 75 74 61 62 6c 65 2d 66 69 6e 64 20 78 | ..(lambda.(x).(executable-find.x | 
| 15080 | 29 29 0a 20 20 20 27 28 22 67 72 65 70 22 20 22    63 75 74 22 20 22 75 6e 69 71 22 29 29 29 0a 0a | ))....'("grep"."cut"."uniq"))).. | 
| 150a0 | 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c    65 2d 73 79 6d 62 6f 6c 2d 6f 72 2d 73 65 6c 65 | (defun.projectile-symbol-or-sele | 
| 150c0 | 63 74 69 6f 6e 2d 61 74 2d 70 6f 69 6e 74 20 28    29 0a 20 20 22 47 65 74 20 74 68 65 20 73 79 6d | ction-at-point.()..."Get.the.sym | 
| 150e0 | 62 6f 6c 20 6f 72 20 73 65 6c 65 63 74 65 64 20    74 65 78 74 20 61 74 20 70 6f 69 6e 74 2e 22 0a | bol.or.selected.text.at.point.". | 
| 15100 | 20 20 28 69 66 20 28 75 73 65 2d 72 65 67 69 6f    6e 2d 70 29 0a 20 20 20 20 20 20 28 62 75 66 66 | ..(if.(use-region-p).......(buff | 
| 15120 | 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 20 28 72 65 67 69 | er-substring-no-properties.(regi | 
| 15140 | 6f 6e 2d 62 65 67 69 6e 6e 69 6e 67 29 20 28 72    65 67 69 6f 6e 2d 65 6e 64 29 29 0a 20 20 20 20 | on-beginning).(region-end))..... | 
| 15160 | 28 70 72 6f 6a 65 63 74 69 6c 65 2d 73 79 6d 62    6f 6c 2d 61 74 2d 70 6f 69 6e 74 29 29 29 0a 0a | (projectile-symbol-at-point))).. | 
| 15180 | 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c    65 2d 73 79 6d 62 6f 6c 2d 61 74 2d 70 6f 69 6e | (defun.projectile-symbol-at-poin | 
| 151a0 | 74 20 28 29 0a 20 20 22 47 65 74 20 74 68 65 20    73 79 6d 62 6f 6c 20 61 74 20 70 6f 69 6e 74 20 | t.()..."Get.the.symbol.at.point. | 
| 151c0 | 61 6e 64 20 73 74 72 69 70 20 69 74 73 20 70 72    6f 70 65 72 74 69 65 73 2e 22 0a 20 20 28 73 75 | and.strip.its.properties."...(su | 
| 151e0 | 62 73 74 72 69 6e 67 2d 6e 6f 2d 70 72 6f 70 65    72 74 69 65 73 20 28 6f 72 20 28 74 68 69 6e 67 | bstring-no-properties.(or.(thing | 
| 15200 | 2d 61 74 2d 70 6f 69 6e 74 20 27 73 79 6d 62 6f    6c 29 20 22 22 29 29 29 0a 0a 28 64 65 66 75 6e | -at-point.'symbol)."")))..(defun | 
| 15220 | 20 70 72 6f 6a 65 63 74 69 6c 65 2d 67 65 6e 65    72 61 74 65 2d 70 72 6f 63 65 73 73 2d 6e 61 6d | .projectile-generate-process-nam | 
| 15240 | 65 20 28 70 72 6f 63 65 73 73 20 6d 61 6b 65 2d    6e 65 77 20 26 6f 70 74 69 6f 6e 61 6c 20 70 72 | e.(process.make-new.&optional.pr | 
| 15260 | 6f 6a 65 63 74 29 0a 20 20 22 49 6e 66 65 72 20    74 68 65 20 62 75 66 66 65 72 20 6e 61 6d 65 20 | oject)..."Infer.the.buffer.name. | 
| 15280 | 66 6f 72 20 50 52 4f 43 45 53 53 20 6f 72 20 67    65 6e 65 72 61 74 65 20 61 20 6e 65 77 20 6f 6e | for.PROCESS.or.generate.a.new.on | 
| 152a0 | 65 20 69 66 20 4d 41 4b 45 2d 4e 45 57 20 69 73    20 74 72 75 65 2e 0a 54 68 65 20 66 75 6e 63 74 | e.if.MAKE-NEW.is.true..The.funct | 
| 152c0 | 69 6f 6e 20 6f 70 65 72 61 74 65 73 20 6f 6e 20    74 68 65 20 63 75 72 72 65 6e 74 20 70 72 6f 6a | ion.operates.on.the.current.proj | 
| 152e0 | 65 63 74 20 62 79 20 64 65 66 61 75 6c 74 2c 20    62 75 74 20 79 6f 75 20 63 61 6e 20 61 6c 73 6f | ect.by.default,.but.you.can.also | 
| 15300 | 0a 73 70 65 63 69 66 79 20 61 20 70 72 6f 6a 65    63 74 20 65 78 70 6c 69 63 69 74 6c 79 20 76 69 | .specify.a.project.explicitly.vi | 
| 15320 | 61 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 20 50    52 4f 4a 45 43 54 20 70 61 72 61 6d 2e 22 0a 20 | a.the.optional.PROJECT.param.".. | 
| 15340 | 20 28 6c 65 74 2a 20 28 28 70 72 6f 6a 65 63 74    20 28 6f 72 20 70 72 6f 6a 65 63 74 20 28 70 72 | .(let*.((project.(or.project.(pr | 
| 15360 | 6f 6a 65 63 74 69 6c 65 2d 61 63 71 75 69 72 65    2d 72 6f 6f 74 29 29 29 0a 20 20 20 20 20 20 20 | ojectile-acquire-root)))........ | 
| 15380 | 20 20 28 62 61 73 65 2d 6e 61 6d 65 20 28 66 6f    72 6d 61 74 20 22 2a 25 73 20 25 73 2a 22 20 70 | ..(base-name.(format."*%s.%s*".p | 
| 153a0 | 72 6f 63 65 73 73 20 28 70 72 6f 6a 65 63 74 69    6c 65 2d 70 72 6f 6a 65 63 74 2d 6e 61 6d 65 20 | rocess.(projectile-project-name. | 
| 153c0 | 70 72 6f 6a 65 63 74 29 29 29 29 0a 20 20 20 20    28 69 66 20 6d 61 6b 65 2d 6e 65 77 0a 20 20 20 | project)))).....(if.make-new.... | 
| 153e0 | 20 20 20 20 20 28 67 65 6e 65 72 61 74 65 2d 6e    65 77 2d 62 75 66 66 65 72 2d 6e 61 6d 65 20 62 | .....(generate-new-buffer-name.b | 
| 15400 | 61 73 65 2d 6e 61 6d 65 29 0a 20 20 20 20 20 20    62 61 73 65 2d 6e 61 6d 65 29 29 29 0a 0a 0c 0a | ase-name).......base-name))).... | 
| 15420 | 3b 3b 3b 20 53 65 72 69 61 6c 69 7a 61 74 69 6f    6e 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 | ;;;.Serialization.(defun.project | 
| 15440 | 69 6c 65 2d 73 65 72 69 61 6c 69 7a 65 20 28 64    61 74 61 20 66 69 6c 65 6e 61 6d 65 29 0a 20 20 | ile-serialize.(data.filename)... | 
| 15460 | 22 53 65 72 69 61 6c 69 7a 65 20 44 41 54 41 20    74 6f 20 46 49 4c 45 4e 41 4d 45 2e 0a 0a 54 68 | "Serialize.DATA.to.FILENAME...Th | 
| 15480 | 65 20 73 61 76 65 64 20 64 61 74 61 20 63 61 6e    20 62 65 20 72 65 73 74 6f 72 65 64 20 77 69 74 | e.saved.data.can.be.restored.wit | 
| 154a0 | 68 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 75 6e    73 65 72 69 61 6c 69 7a 65 27 2e 22 0a 20 20 28 | h.`projectile-unserialize'."...( | 
| 154c0 | 69 66 20 28 66 69 6c 65 2d 77 72 69 74 61 62 6c    65 2d 70 20 66 69 6c 65 6e 61 6d 65 29 0a 20 20 | if.(file-writable-p.filename)... | 
| 154e0 | 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 66 69 6c    65 20 66 69 6c 65 6e 61 6d 65 0a 20 20 20 20 20 | ..(with-temp-file.filename...... | 
| 15500 | 20 28 69 6e 73 65 72 74 20 28 6c 65 74 20 28 70    72 69 6e 74 2d 6c 65 6e 67 74 68 29 20 28 70 72 | .(insert.(let.(print-length).(pr | 
| 15520 | 69 6e 31 2d 74 6f 2d 73 74 72 69 6e 67 20 64 61    74 61 29 29 29 29 0a 20 20 20 20 28 6d 65 73 73 | in1-to-string.data)))).....(mess | 
| 15540 | 61 67 65 20 22 50 72 6f 6a 65 63 74 69 6c 65 20    63 61 63 68 65 20 27 25 73 27 20 6e 6f 74 20 77 | age."Projectile.cache.'%s'.not.w | 
| 15560 | 72 69 74 65 61 62 6c 65 22 20 66 69 6c 65 6e 61    6d 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 | riteable".filename)))..(defun.pr | 
| 15580 | 6f 6a 65 63 74 69 6c 65 2d 75 6e 73 65 72 69 61    6c 69 7a 65 20 28 66 69 6c 65 6e 61 6d 65 29 0a | ojectile-unserialize.(filename). | 
| 155a0 | 20 20 22 52 65 61 64 20 64 61 74 61 20 73 65 72    69 61 6c 69 7a 65 64 20 62 79 20 60 70 72 6f 6a | .."Read.data.serialized.by.`proj | 
| 155c0 | 65 63 74 69 6c 65 2d 73 65 72 69 61 6c 69 7a 65    27 20 66 72 6f 6d 20 46 49 4c 45 4e 41 4d 45 2e | ectile-serialize'.from.FILENAME. | 
| 155e0 | 22 0a 20 20 28 77 69 74 68 2d 64 65 6d 6f 74 65    64 2d 65 72 72 6f 72 73 0a 20 20 20 20 20 20 22 | "...(with-demoted-errors......." | 
| 15600 | 45 72 72 6f 72 20 64 75 72 69 6e 67 20 66 69 6c    65 20 64 65 73 65 72 69 61 6c 69 7a 61 74 69 6f | Error.during.file.deserializatio | 
| 15620 | 6e 3a 20 25 53 22 0a 20 20 20 20 28 77 68 65 6e    20 28 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 | n:.%S".....(when.(file-exists-p. | 
| 15640 | 66 69 6c 65 6e 61 6d 65 29 0a 20 20 20 20 20 20    28 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 65 | filename).......(with-temp-buffe | 
| 15660 | 72 0a 20 20 20 20 20 20 20 20 28 69 6e 73 65 72    74 2d 66 69 6c 65 2d 63 6f 6e 74 65 6e 74 73 20 | r.........(insert-file-contents. | 
| 15680 | 66 69 6c 65 6e 61 6d 65 29 0a 20 20 20 20 20 20    20 20 3b 3b 20 74 68 69 73 20 77 69 6c 6c 20 62 | filename).........;;.this.will.b | 
| 156a0 | 6c 6f 77 20 75 70 20 69 66 20 74 68 65 20 63 6f    6e 74 65 6e 74 73 20 6f 66 20 74 68 65 20 66 69 | low.up.if.the.contents.of.the.fi | 
| 156c0 | 6c 65 20 61 72 65 6e 27 74 0a 20 20 20 20 20 20    20 20 3b 3b 20 6c 69 73 70 20 64 61 74 61 20 73 | le.aren't.........;;.lisp.data.s | 
| 156e0 | 74 72 75 63 74 75 72 65 73 0a 20 20 20 20 20 20    20 20 28 72 65 61 64 20 28 62 75 66 66 65 72 2d | tructures.........(read.(buffer- | 
| 15700 | 73 74 72 69 6e 67 29 29 29 29 29 29 0a 0a 0c 0a    3b 3b 3b 20 43 61 63 68 69 6e 67 0a 28 64 65 66 | string))))))....;;;.Caching.(def | 
| 15720 | 76 61 72 20 70 72 6f 6a 65 63 74 69 6c 65 2d 66    69 6c 65 2d 65 78 69 73 74 73 2d 63 61 63 68 65 | var.projectile-file-exists-cache | 
| 15740 | 0a 20 20 28 6d 61 6b 65 2d 68 61 73 68 2d 74 61    62 6c 65 20 3a 74 65 73 74 20 27 65 71 75 61 6c | ...(make-hash-table.:test.'equal | 
| 15760 | 29 0a 20 20 22 43 61 63 68 65 64 20 60 70 72 6f    6a 65 63 74 69 6c 65 2d 66 69 6c 65 2d 65 78 69 | )..."Cached.`projectile-file-exi | 
| 15780 | 73 74 73 2d 70 27 20 72 65 73 75 6c 74 73 2e 22    29 0a 0a 28 64 65 66 76 61 72 20 70 72 6f 6a 65 | sts-p'.results.")..(defvar.proje | 
| 157a0 | 63 74 69 6c 65 2d 66 69 6c 65 2d 65 78 69 73 74    73 2d 63 61 63 68 65 2d 74 69 6d 65 72 20 6e 69 | ctile-file-exists-cache-timer.ni | 
| 157c0 | 6c 0a 20 20 22 54 69 6d 65 72 20 66 6f 72 20 73    63 68 65 64 75 6c 69 6e 67 60 70 72 6f 6a 65 63 | l..."Timer.for.scheduling`projec | 
| 157e0 | 74 69 6c 65 2d 66 69 6c 65 2d 65 78 69 73 74 73    2d 63 61 63 68 65 2d 63 6c 65 61 6e 75 70 27 2e | tile-file-exists-cache-cleanup'. | 
| 15800 | 22 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65    63 74 69 6c 65 2d 66 69 6c 65 2d 65 78 69 73 74 | ")..(defun.projectile-file-exist | 
| 15820 | 73 2d 63 61 63 68 65 2d 63 6c 65 61 6e 75 70 20    28 29 0a 20 20 22 52 65 6d 6f 76 65 64 20 74 69 | s-cache-cleanup.()..."Removed.ti | 
| 15840 | 6d 65 64 20 6f 75 74 20 63 61 63 68 65 20 65 6e    74 72 69 65 73 20 61 6e 64 20 72 65 73 63 68 65 | med.out.cache.entries.and.resche | 
| 15860 | 64 75 6c 65 73 20 6f 72 20 72 65 6d 6f 76 65 20    74 68 65 0a 74 69 6d 65 72 20 69 66 20 6e 6f 20 | dules.or.remove.the.timer.if.no. | 
| 15880 | 6d 6f 72 65 20 69 74 65 6d 73 20 61 72 65 20 69    6e 20 74 68 65 20 63 61 63 68 65 2e 22 0a 20 20 | more.items.are.in.the.cache."... | 
| 158a0 | 28 6c 65 74 20 28 28 6e 6f 77 20 28 63 75 72 72    65 6e 74 2d 74 69 6d 65 29 29 29 0a 20 20 20 20 | (let.((now.(current-time)))..... | 
| 158c0 | 28 6d 61 70 68 61 73 68 20 28 6c 61 6d 62 64 61    20 28 6b 65 79 20 76 61 6c 75 65 29 0a 20 20 20 | (maphash.(lambda.(key.value).... | 
| 158e0 | 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20    28 74 69 6d 65 2d 6c 65 73 73 2d 70 20 28 63 64 | ............(if.(time-less-p.(cd | 
| 15900 | 72 20 76 61 6c 75 65 29 20 6e 6f 77 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | r.value).now)................... | 
| 15920 | 20 28 72 65 6d 68 61 73 68 20 6b 65 79 20 70 72    6f 6a 65 63 74 69 6c 65 2d 66 69 6c 65 2d 65 78 | .(remhash.key.projectile-file-ex | 
| 15940 | 69 73 74 73 2d 63 61 63 68 65 29 29 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 70 72 6f 6a 65 | ists-cache)))..............proje | 
| 15960 | 63 74 69 6c 65 2d 66 69 6c 65 2d 65 78 69 73 74    73 2d 63 61 63 68 65 29 0a 20 20 20 20 28 73 65 | ctile-file-exists-cache).....(se | 
| 15980 | 74 71 20 70 72 6f 6a 65 63 74 69 6c 65 2d 66 69    6c 65 2d 65 78 69 73 74 73 2d 63 61 63 68 65 2d | tq.projectile-file-exists-cache- | 
| 159a0 | 74 69 6d 65 72 0a 20 20 20 20 20 20 20 20 20 20    28 69 66 20 28 3e 20 28 68 61 73 68 2d 74 61 62 | timer...........(if.(>.(hash-tab | 
| 159c0 | 6c 65 2d 63 6f 75 6e 74 20 70 72 6f 6a 65 63 74    69 6c 65 2d 66 69 6c 65 2d 65 78 69 73 74 73 2d | le-count.projectile-file-exists- | 
| 159e0 | 63 61 63 68 65 29 20 30 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 28 72 75 6e 2d 77 69 74 | cache).0)...............(run-wit | 
| 15a00 | 68 2d 74 69 6d 65 72 20 31 30 20 6e 69 6c 20 27    70 72 6f 6a 65 63 74 69 6c 65 2d 66 69 6c 65 2d | h-timer.10.nil.'projectile-file- | 
| 15a20 | 65 78 69 73 74 73 2d 63 61 63 68 65 2d 63 6c 65    61 6e 75 70 29 29 29 29 29 0a 0a 28 64 65 66 75 | exists-cache-cleanup)))))..(defu | 
| 15a40 | 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 66 69 6c    65 2d 65 78 69 73 74 73 2d 70 20 28 66 69 6c 65 | n.projectile-file-exists-p.(file | 
| 15a60 | 6e 61 6d 65 29 0a 20 20 22 52 65 74 75 72 6e 20    74 20 69 66 20 66 69 6c 65 20 46 49 4c 45 4e 41 | name)..."Return.t.if.file.FILENA | 
| 15a80 | 4d 45 20 65 78 69 73 74 2e 0a 41 20 77 72 61 70    70 65 72 20 61 72 6f 75 6e 64 20 60 66 69 6c 65 | ME.exist..A.wrapper.around.`file | 
| 15aa0 | 2d 65 78 69 73 74 73 2d 70 27 20 77 69 74 68 20    61 64 64 69 74 69 6f 6e 61 6c 20 63 61 63 68 69 | -exists-p'.with.additional.cachi | 
| 15ac0 | 6e 67 20 73 75 70 70 6f 72 74 2e 22 0a 20 20 28    6c 65 74 2a 20 28 28 66 69 6c 65 2d 72 65 6d 6f | ng.support."...(let*.((file-remo | 
| 15ae0 | 74 65 20 28 66 69 6c 65 2d 72 65 6d 6f 74 65 2d    70 20 66 69 6c 65 6e 61 6d 65 29 29 0a 20 20 20 | te.(file-remote-p.filename)).... | 
| 15b00 | 20 20 20 20 20 20 28 65 78 70 69 72 65 2d 73 65    63 6f 6e 64 73 0a 20 20 20 20 20 20 20 20 20 20 | ......(expire-seconds........... | 
| 15b20 | 28 69 66 20 66 69 6c 65 2d 72 65 6d 6f 74 65 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 | (if.file-remote...............(a | 
| 15b40 | 6e 64 20 70 72 6f 6a 65 63 74 69 6c 65 2d 66 69    6c 65 2d 65 78 69 73 74 73 2d 72 65 6d 6f 74 65 | nd.projectile-file-exists-remote | 
| 15b60 | 2d 63 61 63 68 65 2d 65 78 70 69 72 65 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | -cache-expire................... | 
| 15b80 | 20 28 3e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 66    69 6c 65 2d 65 78 69 73 74 73 2d 72 65 6d 6f 74 | .(>.projectile-file-exists-remot | 
| 15ba0 | 65 2d 63 61 63 68 65 2d 65 78 70 69 72 65 20 30    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | e-cache-expire.0)............... | 
| 15bc0 | 20 20 20 20 20 70 72 6f 6a 65 63 74 69 6c 65 2d    66 69 6c 65 2d 65 78 69 73 74 73 2d 72 65 6d 6f | .....projectile-file-exists-remo | 
| 15be0 | 74 65 2d 63 61 63 68 65 2d 65 78 70 69 72 65 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e | te-cache-expire).............(an | 
| 15c00 | 64 20 70 72 6f 6a 65 63 74 69 6c 65 2d 66 69 6c    65 2d 65 78 69 73 74 73 2d 6c 6f 63 61 6c 2d 63 | d.projectile-file-exists-local-c | 
| 15c20 | 61 63 68 65 2d 65 78 70 69 72 65 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 28 3e 20 | ache-expire..................(>. | 
| 15c40 | 70 72 6f 6a 65 63 74 69 6c 65 2d 66 69 6c 65 2d    65 78 69 73 74 73 2d 6c 6f 63 61 6c 2d 63 61 63 | projectile-file-exists-local-cac | 
| 15c60 | 68 65 2d 65 78 70 69 72 65 20 30 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 | he-expire.0)..................pr | 
| 15c80 | 6f 6a 65 63 74 69 6c 65 2d 66 69 6c 65 2d 65 78    69 73 74 73 2d 6c 6f 63 61 6c 2d 63 61 63 68 65 | ojectile-file-exists-local-cache | 
| 15ca0 | 2d 65 78 70 69 72 65 29 29 29 0a 20 20 20 20 20    20 20 20 20 28 72 65 6d 6f 74 65 2d 66 69 6c 65 | -expire)))..........(remote-file | 
| 15cc0 | 2d 6e 61 6d 65 2d 69 6e 68 69 62 69 74 2d 63 61    63 68 65 20 28 69 66 20 65 78 70 69 72 65 2d 73 | -name-inhibit-cache.(if.expire-s | 
| 15ce0 | 65 63 6f 6e 64 73 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 | econds.......................... | 
| 15d00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 65 78 70 69 72 65 2d 73 65 63 6f 6e | ....................expire-secon | 
| 15d20 | 64 73 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 | ds.............................. | 
| 15d40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65    6d 6f 74 65 2d 66 69 6c 65 2d 6e 61 6d 65 2d 69 | ..............remote-file-name-i | 
| 15d60 | 6e 68 69 62 69 74 2d 63 61 63 68 65 29 29 29 0a    20 20 20 20 28 69 66 20 28 6e 6f 74 20 65 78 70 | nhibit-cache))).....(if.(not.exp | 
| 15d80 | 69 72 65 2d 73 65 63 6f 6e 64 73 29 0a 20 20 20    20 20 20 20 20 28 66 69 6c 65 2d 65 78 69 73 74 | ire-seconds).........(file-exist | 
| 15da0 | 73 2d 70 20 66 69 6c 65 6e 61 6d 65 29 0a 20 20    20 20 20 20 28 6c 65 74 2a 20 28 28 63 75 72 72 | s-p.filename).......(let*.((curr | 
| 15dc0 | 65 6e 74 2d 74 69 6d 65 20 28 63 75 72 72 65 6e    74 2d 74 69 6d 65 29 29 0a 20 20 20 20 20 20 20 | ent-time.(current-time))........ | 
| 15de0 | 20 20 20 20 20 20 28 63 61 63 68 65 64 20 28 67    65 74 68 61 73 68 20 66 69 6c 65 6e 61 6d 65 20 | ......(cached.(gethash.filename. | 
| 15e00 | 70 72 6f 6a 65 63 74 69 6c 65 2d 66 69 6c 65 2d    65 78 69 73 74 73 2d 63 61 63 68 65 29 29 0a 20 | projectile-file-exists-cache)).. | 
| 15e20 | 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 63    68 65 64 2d 76 61 6c 75 65 20 28 69 66 20 63 61 | ............(cached-value.(if.ca | 
| 15e40 | 63 68 65 64 20 28 63 61 72 20 63 61 63 68 65 64    29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ched.(car.cached)))............. | 
| 15e60 | 20 28 63 61 63 68 65 64 2d 65 78 70 69 72 65 20    28 69 66 20 63 61 63 68 65 64 20 28 63 64 72 20 | .(cached-expire.(if.cached.(cdr. | 
| 15e80 | 63 61 63 68 65 64 29 29 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 28 63 61 63 68 65 64 2d 65 | cached)))..............(cached-e | 
| 15ea0 | 78 70 69 72 65 64 20 28 69 66 20 63 61 63 68 65    64 20 28 74 69 6d 65 2d 6c 65 73 73 2d 70 20 63 | xpired.(if.cached.(time-less-p.c | 
| 15ec0 | 61 63 68 65 64 2d 65 78 70 69 72 65 20 63 75 72    72 65 6e 74 2d 74 69 6d 65 29 20 74 29 29 0a 20 | ached-expire.current-time).t)).. | 
| 15ee0 | 20 20 20 20 20 20 20 20 20 20 20 20 28 76 61 6c    75 65 20 28 6f 72 20 28 61 6e 64 20 28 6e 6f 74 | ............(value.(or.(and.(not | 
| 15f00 | 20 63 61 63 68 65 64 2d 65 78 70 69 72 65 64 29    20 63 61 63 68 65 64 2d 76 61 6c 75 65 29 0a 20 | .cached-expired).cached-value).. | 
| 15f20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 28 69 66 20 28 66 69 6c 65 | .......................(if.(file | 
| 15f40 | 2d 65 78 69 73 74 73 2d 70 20 66 69 6c 65 6e 61    6d 65 29 20 27 66 6f 75 6e 64 20 27 6e 6f 74 66 | -exists-p.filename).'found.'notf | 
| 15f60 | 6f 75 6e 64 29 29 29 29 0a 20 20 20 20 20 20 20    20 28 77 68 65 6e 20 28 6f 72 20 28 6e 6f 74 20 | ound)))).........(when.(or.(not. | 
| 15f80 | 63 61 63 68 65 64 29 20 63 61 63 68 65 64 2d 65    78 70 69 72 65 64 29 0a 20 20 20 20 20 20 20 20 | cached).cached-expired)......... | 
| 15fa0 | 20 20 28 70 75 74 68 61 73 68 20 66 69 6c 65 6e    61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ..(puthash.filename............. | 
| 15fc0 | 20 20 20 20 20 20 20 28 63 6f 6e 73 20 76 61 6c    75 65 20 28 74 69 6d 65 2d 61 64 64 20 63 75 72 | .......(cons.value.(time-add.cur | 
| 15fe0 | 72 65 6e 74 2d 74 69 6d 65 20 28 73 65 63 6f 6e    64 73 2d 74 6f 2d 74 69 6d 65 20 65 78 70 69 72 | rent-time.(seconds-to-time.expir | 
| 16000 | 65 2d 73 65 63 6f 6e 64 73 29 29 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | e-seconds))).................... | 
| 16020 | 70 72 6f 6a 65 63 74 69 6c 65 2d 66 69 6c 65 2d    65 78 69 73 74 73 2d 63 61 63 68 65 29 29 0a 20 | projectile-file-exists-cache)).. | 
| 16040 | 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 70    72 6f 6a 65 63 74 69 6c 65 2d 66 69 6c 65 2d 65 | .......(unless.projectile-file-e | 
| 16060 | 78 69 73 74 73 2d 63 61 63 68 65 2d 74 69 6d 65    72 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 | xists-cache-timer...........(set | 
| 16080 | 71 20 70 72 6f 6a 65 63 74 69 6c 65 2d 66 69 6c    65 2d 65 78 69 73 74 73 2d 63 61 63 68 65 2d 74 | q.projectile-file-exists-cache-t | 
| 160a0 | 69 6d 65 72 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 72 75 6e 2d 77 69 74 68 2d 74 | imer.................(run-with-t | 
| 160c0 | 69 6d 65 72 20 31 30 20 6e 69 6c 20 27 70 72 6f    6a 65 63 74 69 6c 65 2d 66 69 6c 65 2d 65 78 69 | imer.10.nil.'projectile-file-exi | 
| 160e0 | 73 74 73 2d 63 61 63 68 65 2d 63 6c 65 61 6e 75    70 29 29 29 0a 20 20 20 20 20 20 20 20 28 65 71 | sts-cache-cleanup))).........(eq | 
| 16100 | 75 61 6c 20 76 61 6c 75 65 20 27 66 6f 75 6e 64    29 29 29 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 | ual.value.'found)))))..;;;###aut | 
| 16120 | 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 70 72 6f    6a 65 63 74 69 6c 65 2d 69 6e 76 61 6c 69 64 61 | oload.(defun.projectile-invalida | 
| 16140 | 74 65 2d 63 61 63 68 65 20 28 70 72 6f 6d 70 74    29 0a 20 20 22 52 65 6d 6f 76 65 20 74 68 65 20 | te-cache.(prompt)..."Remove.the. | 
| 16160 | 63 75 72 72 65 6e 74 20 70 72 6f 6a 65 63 74 27    73 20 66 69 6c 65 73 20 66 72 6f 6d 20 60 70 72 | current.project's.files.from.`pr | 
| 16180 | 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74    73 2d 63 61 63 68 65 27 2e 0a 0a 57 69 74 68 20 | ojectile-projects-cache'...With. | 
| 161a0 | 61 20 70 72 65 66 69 78 20 61 72 67 75 6d 65 6e    74 20 50 52 4f 4d 50 54 20 70 72 6f 6d 70 74 73 | a.prefix.argument.PROMPT.prompts | 
| 161c0 | 20 66 6f 72 20 74 68 65 20 6e 61 6d 65 20 6f 66    20 74 68 65 20 70 72 6f 6a 65 63 74 20 77 68 6f | .for.the.name.of.the.project.who | 
| 161e0 | 73 65 20 63 61 63 68 65 0a 74 6f 20 69 6e 76 61    6c 69 64 61 74 65 2e 22 0a 20 20 28 69 6e 74 65 | se.cache.to.invalidate."...(inte | 
| 16200 | 72 61 63 74 69 76 65 20 22 50 22 29 0a 20 20 28    6c 65 74 20 28 28 70 72 6f 6a 65 63 74 2d 72 6f | ractive."P")...(let.((project-ro | 
| 16220 | 6f 74 0a 20 20 20 20 20 20 20 20 20 28 69 66 20    70 72 6f 6d 70 74 0a 20 20 20 20 20 20 20 20 20 | ot..........(if.prompt.......... | 
| 16240 | 20 20 20 20 28 63 6f 6d 70 6c 65 74 69 6e 67 2d    72 65 61 64 20 22 52 65 6d 6f 76 65 20 63 61 63 | ....(completing-read."Remove.cac | 
| 16260 | 68 65 20 66 6f 72 3a 20 22 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | he.for:."....................... | 
| 16280 | 20 20 20 20 20 20 20 20 28 68 61 73 68 2d 74 61    62 6c 65 2d 6b 65 79 73 20 70 72 6f 6a 65 63 74 | ........(hash-table-keys.project | 
| 162a0 | 69 6c 65 2d 70 72 6f 6a 65 63 74 73 2d 63 61 63    68 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 | ile-projects-cache))............ | 
| 162c0 | 28 70 72 6f 6a 65 63 74 69 6c 65 2d 61 63 71 75    69 72 65 2d 72 6f 6f 74 29 29 29 29 0a 20 20 20 | (projectile-acquire-root)))).... | 
| 162e0 | 20 28 73 65 74 71 20 70 72 6f 6a 65 63 74 69 6c    65 2d 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 2d 63 | .(setq.projectile-project-root-c | 
| 16300 | 61 63 68 65 20 28 6d 61 6b 65 2d 68 61 73 68 2d    74 61 62 6c 65 20 3a 74 65 73 74 20 27 65 71 75 | ache.(make-hash-table.:test.'equ | 
| 16320 | 61 6c 29 29 0a 20 20 20 20 28 72 65 6d 68 61 73    68 20 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 20 70 | al)).....(remhash.project-root.p | 
| 16340 | 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63    74 2d 74 79 70 65 2d 63 61 63 68 65 29 0a 20 20 | rojectile-project-type-cache)... | 
| 16360 | 20 20 28 72 65 6d 68 61 73 68 20 70 72 6f 6a 65    63 74 2d 72 6f 6f 74 20 70 72 6f 6a 65 63 74 69 | ..(remhash.project-root.projecti | 
| 16380 | 6c 65 2d 70 72 6f 6a 65 63 74 73 2d 63 61 63 68    65 29 0a 20 20 20 20 28 72 65 6d 68 61 73 68 20 | le-projects-cache).....(remhash. | 
| 163a0 | 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 20 70 72 6f    6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 73 | project-root.projectile-projects | 
| 163c0 | 2d 63 61 63 68 65 2d 74 69 6d 65 29 0a 20 20 20    20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 73 65 72 | -cache-time).....(projectile-ser | 
| 163e0 | 69 61 6c 69 7a 65 2d 63 61 63 68 65 29 0a 20 20    20 20 28 77 68 65 6e 20 70 72 6f 6a 65 63 74 69 | ialize-cache).....(when.projecti | 
| 16400 | 6c 65 2d 76 65 72 62 6f 73 65 0a 20 20 20 20 20    20 28 6d 65 73 73 61 67 65 20 22 49 6e 76 61 6c | le-verbose.......(message."Inval | 
| 16420 | 69 64 61 74 65 64 20 50 72 6f 6a 65 63 74 69 6c    65 20 63 61 63 68 65 20 66 6f 72 20 25 73 2e 22 | idated.Projectile.cache.for.%s." | 
| 16440 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 70 72 6f 70 65 72 74 69 7a 65 20 70 72 6f 6a | ................(propertize.proj | 
| 16460 | 65 63 74 2d 72 6f 6f 74 20 27 66 61 63 65 20 27    66 6f 6e 74 2d 6c 6f 63 6b 2d 6b 65 79 77 6f 72 | ect-root.'face.'font-lock-keywor | 
| 16480 | 64 2d 66 61 63 65 29 29 29 29 0a 20 20 28 77 68    65 6e 20 28 66 62 6f 75 6e 64 70 20 27 72 65 63 | d-face))))...(when.(fboundp.'rec | 
| 164a0 | 65 6e 74 66 2d 63 6c 65 61 6e 75 70 29 0a 20 20    20 20 28 72 65 63 65 6e 74 66 2d 63 6c 65 61 6e | entf-cleanup).....(recentf-clean | 
| 164c0 | 75 70 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 72    6f 6a 65 63 74 69 6c 65 2d 74 69 6d 65 2d 73 65 | up)))..(defun.projectile-time-se | 
| 164e0 | 63 6f 6e 64 73 20 28 29 0a 20 20 22 52 65 74 75    72 6e 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 | conds.()..."Return.the.number.of | 
| 16500 | 20 73 65 63 6f 6e 64 73 20 73 69 6e 63 65 20 74    68 65 20 75 6e 69 78 20 65 70 6f 63 68 2e 22 0a | .seconds.since.the.unix.epoch.". | 
| 16520 | 20 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27    74 69 6d 65 2d 63 6f 6e 76 65 72 74 29 0a 20 20 | ..(if.(fboundp.'time-convert)... | 
| 16540 | 20 20 20 20 28 74 69 6d 65 2d 63 6f 6e 76 65 72    74 20 6e 69 6c 20 27 69 6e 74 65 67 65 72 29 0a | ....(time-convert.nil.'integer). | 
| 16560 | 20 20 20 20 28 63 6c 2d 64 65 73 74 72 75 63 74    75 72 69 6e 67 2d 62 69 6e 64 20 28 68 69 67 68 | ....(cl-destructuring-bind.(high | 
| 16580 | 20 6c 6f 77 20 5f 75 73 65 63 20 5f 70 73 65 63    29 20 28 63 75 72 72 65 6e 74 2d 74 69 6d 65 29 | .low._usec._psec).(current-time) | 
| 165a0 | 0a 20 20 20 20 20 20 28 2b 20 28 61 73 68 20 68    69 67 68 20 31 36 29 20 6c 6f 77 29 29 29 29 0a | .......(+.(ash.high.16).low)))). | 
| 165c0 | 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69    6c 65 2d 63 61 63 68 65 2d 70 72 6f 6a 65 63 74 | .(defun.projectile-cache-project | 
| 165e0 | 20 28 70 72 6f 6a 65 63 74 20 66 69 6c 65 73 29    0a 20 20 22 43 61 63 68 65 20 50 52 4f 4a 45 43 | .(project.files)..."Cache.PROJEC | 
| 16600 | 54 73 20 46 49 4c 45 53 2e 0a 54 68 65 20 63 61    63 68 65 20 69 73 20 63 72 65 61 74 65 64 20 62 | Ts.FILES..The.cache.is.created.b | 
| 16620 | 6f 74 68 20 69 6e 20 6d 65 6d 6f 72 79 20 61 6e    64 20 6f 6e 20 74 68 65 20 68 61 72 64 20 64 72 | oth.in.memory.and.on.the.hard.dr | 
| 16640 | 69 76 65 2e 22 0a 20 20 28 77 68 65 6e 20 70 72    6f 6a 65 63 74 69 6c 65 2d 65 6e 61 62 6c 65 2d | ive."...(when.projectile-enable- | 
| 16660 | 63 61 63 68 69 6e 67 0a 20 20 20 20 28 70 75 74    68 61 73 68 20 70 72 6f 6a 65 63 74 20 66 69 6c | caching.....(puthash.project.fil | 
| 16680 | 65 73 20 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72    6f 6a 65 63 74 73 2d 63 61 63 68 65 29 0a 20 20 | es.projectile-projects-cache)... | 
| 166a0 | 20 20 28 70 75 74 68 61 73 68 20 70 72 6f 6a 65    63 74 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 74 | ..(puthash.project.(projectile-t | 
| 166c0 | 69 6d 65 2d 73 65 63 6f 6e 64 73 29 20 70 72 6f    6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 73 | ime-seconds).projectile-projects | 
| 166e0 | 2d 63 61 63 68 65 2d 74 69 6d 65 29 0a 20 20 20    20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 73 65 72 | -cache-time).....(projectile-ser | 
| 16700 | 69 61 6c 69 7a 65 2d 63 61 63 68 65 29 29 29 0a    0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a | ialize-cache)))..;;;###autoload. | 
| 16720 | 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c    65 2d 70 75 72 67 65 2d 66 69 6c 65 2d 66 72 6f | (defun.projectile-purge-file-fro | 
| 16740 | 6d 2d 63 61 63 68 65 20 28 66 69 6c 65 29 0a 20    20 22 50 75 72 67 65 20 46 49 4c 45 20 66 72 6f | m-cache.(file)..."Purge.FILE.fro | 
| 16760 | 6d 20 74 68 65 20 63 61 63 68 65 20 6f 66 20 74    68 65 20 63 75 72 72 65 6e 74 20 70 72 6f 6a 65 | m.the.cache.of.the.current.proje | 
| 16780 | 63 74 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74    69 76 65 0a 20 20 20 28 6c 69 73 74 20 28 70 72 | ct."...(interactive....(list.(pr | 
| 167a0 | 6f 6a 65 63 74 69 6c 65 2d 63 6f 6d 70 6c 65 74    69 6e 67 2d 72 65 61 64 0a 20 20 20 20 20 20 20 | ojectile-completing-read........ | 
| 167c0 | 20 20 20 22 52 65 6d 6f 76 65 20 66 69 6c 65 20    66 72 6f 6d 20 63 61 63 68 65 3a 20 22 0a 20 20 | ..."Remove.file.from.cache:."... | 
| 167e0 | 20 20 20 20 20 20 20 20 28 70 72 6f 6a 65 63 74    69 6c 65 2d 63 75 72 72 65 6e 74 2d 70 72 6f 6a | ........(projectile-current-proj | 
| 16800 | 65 63 74 2d 66 69 6c 65 73 29 29 29 29 0a 20 20    28 6c 65 74 2a 20 28 28 70 72 6f 6a 65 63 74 2d | ect-files))))...(let*.((project- | 
| 16820 | 72 6f 6f 74 20 28 70 72 6f 6a 65 63 74 69 6c 65    2d 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 29 29 0a | root.(projectile-project-root)). | 
| 16840 | 20 20 20 20 20 20 20 20 20 28 70 72 6f 6a 65 63    74 2d 63 61 63 68 65 20 28 67 65 74 68 61 73 68 | .........(project-cache.(gethash | 
| 16860 | 20 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 20 70 72    6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 | .project-root.projectile-project | 
| 16880 | 73 2d 63 61 63 68 65 29 29 29 0a 20 20 20 20 28    69 66 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 66 | s-cache))).....(if.(projectile-f | 
| 168a0 | 69 6c 65 2d 63 61 63 68 65 64 2d 70 20 66 69 6c    65 20 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 29 0a | ile-cached-p.file.project-root). | 
| 168c0 | 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20    20 20 20 20 20 20 20 20 20 28 70 75 74 68 61 73 | ........(progn...........(puthas | 
| 168e0 | 68 20 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 20 28    72 65 6d 6f 76 65 20 66 69 6c 65 20 70 72 6f 6a | h.project-root.(remove.file.proj | 
| 16900 | 65 63 74 2d 63 61 63 68 65 29 20 70 72 6f 6a 65    63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 73 2d 63 | ect-cache).projectile-projects-c | 
| 16920 | 61 63 68 65 29 0a 20 20 20 20 20 20 20 20 20 20    28 70 72 6f 6a 65 63 74 69 6c 65 2d 73 65 72 69 | ache)...........(projectile-seri | 
| 16940 | 61 6c 69 7a 65 2d 63 61 63 68 65 29 0a 20 20 20    20 20 20 20 20 20 20 28 77 68 65 6e 20 70 72 6f | alize-cache)...........(when.pro | 
| 16960 | 6a 65 63 74 69 6c 65 2d 76 65 72 62 6f 73 65 0a    20 20 20 20 20 20 20 20 20 20 20 20 28 6d 65 73 | jectile-verbose.............(mes | 
| 16980 | 73 61 67 65 20 22 25 73 20 72 65 6d 6f 76 65 64    20 66 72 6f 6d 20 63 61 63 68 65 22 20 66 69 6c | sage."%s.removed.from.cache".fil | 
| 169a0 | 65 29 29 29 0a 20 20 20 20 20 20 28 65 72 72 6f    72 20 22 25 73 20 69 73 20 6e 6f 74 20 69 6e 20 | e))).......(error."%s.is.not.in. | 
| 169c0 | 74 68 65 20 63 61 63 68 65 22 20 66 69 6c 65 29    29 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c | the.cache".file))))..;;;###autol | 
| 169e0 | 6f 61 64 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65    63 74 69 6c 65 2d 70 75 72 67 65 2d 64 69 72 2d | oad.(defun.projectile-purge-dir- | 
| 16a00 | 66 72 6f 6d 2d 63 61 63 68 65 20 28 64 69 72 29    0a 20 20 22 50 75 72 67 65 20 44 49 52 20 66 72 | from-cache.(dir)..."Purge.DIR.fr | 
| 16a20 | 6f 6d 20 74 68 65 20 63 61 63 68 65 20 6f 66 20    74 68 65 20 63 75 72 72 65 6e 74 20 70 72 6f 6a | om.the.cache.of.the.current.proj | 
| 16a40 | 65 63 74 2e 22 0a 20 20 28 69 6e 74 65 72 61 63    74 69 76 65 0a 20 20 20 28 6c 69 73 74 20 28 70 | ect."...(interactive....(list.(p | 
| 16a60 | 72 6f 6a 65 63 74 69 6c 65 2d 63 6f 6d 70 6c 65    74 69 6e 67 2d 72 65 61 64 0a 20 20 20 20 20 20 | rojectile-completing-read....... | 
| 16a80 | 20 20 20 20 22 52 65 6d 6f 76 65 20 64 69 72 65    63 74 6f 72 79 20 66 72 6f 6d 20 63 61 63 68 65 | ...."Remove.directory.from.cache | 
| 16aa0 | 3a 20 22 0a 20 20 20 20 20 20 20 20 20 20 28 70    72 6f 6a 65 63 74 69 6c 65 2d 63 75 72 72 65 6e | :."...........(projectile-curren | 
| 16ac0 | 74 2d 70 72 6f 6a 65 63 74 2d 64 69 72 73 29 29    29 29 0a 20 20 28 6c 65 74 2a 20 28 28 70 72 6f | t-project-dirs))))...(let*.((pro | 
| 16ae0 | 6a 65 63 74 2d 72 6f 6f 74 20 28 70 72 6f 6a 65    63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 72 6f | ject-root.(projectile-project-ro | 
| 16b00 | 6f 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 70    72 6f 6a 65 63 74 2d 63 61 63 68 65 20 28 67 65 | ot))..........(project-cache.(ge | 
| 16b20 | 74 68 61 73 68 20 70 72 6f 6a 65 63 74 2d 72 6f    6f 74 20 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 | thash.project-root.projectile-pr | 
| 16b40 | 6f 6a 65 63 74 73 2d 63 61 63 68 65 29 29 29 0a    20 20 20 20 28 70 75 74 68 61 73 68 20 70 72 6f | ojects-cache))).....(puthash.pro | 
| 16b60 | 6a 65 63 74 2d 72 6f 6f 74 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 28 63 6c 2d 72 65 6d 6f 76 | ject-root..............(cl-remov | 
| 16b80 | 65 2d 69 66 20 28 6c 61 6d 62 64 61 20 28 73 74    72 29 20 28 73 74 72 69 6e 67 2d 70 72 65 66 69 | e-if.(lambda.(str).(string-prefi | 
| 16ba0 | 78 2d 70 20 64 69 72 20 73 74 72 29 29 20 70 72    6f 6a 65 63 74 2d 63 61 63 68 65 29 0a 20 20 20 | x-p.dir.str)).project-cache).... | 
| 16bc0 | 20 20 20 20 20 20 20 20 20 20 70 72 6f 6a 65 63    74 69 6c 65 2d 70 72 6f 6a 65 63 74 73 2d 63 61 | ..........projectile-projects-ca | 
| 16be0 | 63 68 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 70    72 6f 6a 65 63 74 69 6c 65 2d 66 69 6c 65 2d 63 | che)))..(defun.projectile-file-c | 
| 16c00 | 61 63 68 65 64 2d 70 20 28 66 69 6c 65 20 70 72    6f 6a 65 63 74 29 0a 20 20 22 43 68 65 63 6b 20 | ached-p.(file.project)..."Check. | 
| 16c20 | 69 66 20 46 49 4c 45 20 69 73 20 61 6c 72 65 61    64 79 20 69 6e 20 50 52 4f 4a 45 43 54 20 63 61 | if.FILE.is.already.in.PROJECT.ca | 
| 16c40 | 63 68 65 2e 22 0a 20 20 28 6d 65 6d 62 65 72 20    66 69 6c 65 20 28 67 65 74 68 61 73 68 20 70 72 | che."...(member.file.(gethash.pr | 
| 16c60 | 6f 6a 65 63 74 20 70 72 6f 6a 65 63 74 69 6c 65    2d 70 72 6f 6a 65 63 74 73 2d 63 61 63 68 65 29 | oject.projectile-projects-cache) | 
| 16c80 | 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 70 72 6f 6a 65 63 | ))..;;;###autoload.(defun.projec | 
| 16ca0 | 74 69 6c 65 2d 63 61 63 68 65 2d 63 75 72 72 65    6e 74 2d 66 69 6c 65 20 28 29 0a 20 20 22 41 64 | tile-cache-current-file.()..."Ad | 
| 16cc0 | 64 20 74 68 65 20 63 75 72 72 65 6e 74 6c 79 20    76 69 73 69 74 65 64 20 66 69 6c 65 20 74 6f 20 | d.the.currently.visited.file.to. | 
| 16ce0 | 74 68 65 20 63 61 63 68 65 2e 22 0a 20 20 28 69    6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6c | the.cache."...(interactive)...(l | 
| 16d00 | 65 74 20 28 28 63 75 72 72 65 6e 74 2d 70 72 6f    6a 65 63 74 20 28 70 72 6f 6a 65 63 74 69 6c 65 | et.((current-project.(projectile | 
| 16d20 | 2d 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 29 29 29    0a 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 20 | -project-root))).....(when.(and. | 
| 16d40 | 28 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d    65 29 20 28 67 65 74 68 61 73 68 20 28 70 72 6f | (buffer-file-name).(gethash.(pro | 
| 16d60 | 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d    72 6f 6f 74 29 20 70 72 6f 6a 65 63 74 69 6c 65 | jectile-project-root).projectile | 
| 16d80 | 2d 70 72 6f 6a 65 63 74 73 2d 63 61 63 68 65 29    29 0a 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 | -projects-cache)).......(let*.(( | 
| 16da0 | 61 62 73 2d 63 75 72 72 65 6e 74 2d 66 69 6c 65    20 28 66 69 6c 65 2d 74 72 75 65 6e 61 6d 65 20 | abs-current-file.(file-truename. | 
| 16dc0 | 28 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d    65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 | (buffer-file-name)))............ | 
| 16de0 | 20 20 28 63 75 72 72 65 6e 74 2d 66 69 6c 65 20    28 66 69 6c 65 2d 72 65 6c 61 74 69 76 65 2d 6e | ..(current-file.(file-relative-n | 
| 16e00 | 61 6d 65 20 61 62 73 2d 63 75 72 72 65 6e 74 2d    66 69 6c 65 20 63 75 72 72 65 6e 74 2d 70 72 6f | ame.abs-current-file.current-pro | 
| 16e20 | 6a 65 63 74 29 29 29 0a 20 20 20 20 20 20 20 20    28 75 6e 6c 65 73 73 20 28 6f 72 20 28 70 72 6f | ject))).........(unless.(or.(pro | 
| 16e40 | 6a 65 63 74 69 6c 65 2d 66 69 6c 65 2d 63 61 63    68 65 64 2d 70 20 63 75 72 72 65 6e 74 2d 66 69 | jectile-file-cached-p.current-fi | 
| 16e60 | 6c 65 20 63 75 72 72 65 6e 74 2d 70 72 6f 6a 65    63 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | le.current-project)............. | 
| 16e80 | 20 20 20 20 20 20 20 20 28 70 72 6f 6a 65 63 74    69 6c 65 2d 69 67 6e 6f 72 65 64 2d 64 69 72 65 | ........(projectile-ignored-dire | 
| 16ea0 | 63 74 6f 72 79 2d 70 20 28 66 69 6c 65 2d 6e 61    6d 65 2d 64 69 72 65 63 74 6f 72 79 20 61 62 73 | ctory-p.(file-name-directory.abs | 
| 16ec0 | 2d 63 75 72 72 65 6e 74 2d 66 69 6c 65 29 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | -current-file))................. | 
| 16ee0 | 20 20 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d    69 67 6e 6f 72 65 64 2d 66 69 6c 65 2d 70 20 61 | ....(projectile-ignored-file-p.a | 
| 16f00 | 62 73 2d 63 75 72 72 65 6e 74 2d 66 69 6c 65 29    29 0a 20 20 20 20 20 20 20 20 20 20 28 70 75 74 | bs-current-file))...........(put | 
| 16f20 | 68 61 73 68 20 63 75 72 72 65 6e 74 2d 70 72 6f    6a 65 63 74 0a 20 20 20 20 20 20 20 20 20 20 20 | hash.current-project............ | 
| 16f40 | 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 63 75    72 72 65 6e 74 2d 66 69 6c 65 20 28 67 65 74 68 | ........(cons.current-file.(geth | 
| 16f60 | 61 73 68 20 63 75 72 72 65 6e 74 2d 70 72 6f 6a    65 63 74 20 70 72 6f 6a 65 63 74 69 6c 65 2d 70 | ash.current-project.projectile-p | 
| 16f80 | 72 6f 6a 65 63 74 73 2d 63 61 63 68 65 29 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | rojects-cache))................. | 
| 16fa0 | 20 20 20 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72    6f 6a 65 63 74 73 2d 63 61 63 68 65 29 0a 20 20 | ...projectile-projects-cache)... | 
| 16fc0 | 20 20 20 20 20 20 20 20 28 70 72 6f 6a 65 63 74    69 6c 65 2d 73 65 72 69 61 6c 69 7a 65 2d 63 61 | ........(projectile-serialize-ca | 
| 16fe0 | 63 68 65 29 0a 20 20 20 20 20 20 20 20 20 20 28    6d 65 73 73 61 67 65 20 22 46 69 6c 65 20 25 73 | che)...........(message."File.%s | 
| 17000 | 20 61 64 64 65 64 20 74 6f 20 70 72 6f 6a 65 63    74 20 25 73 20 63 61 63 68 65 2e 22 0a 20 20 20 | .added.to.project.%s.cache.".... | 
| 17020 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 70 72 6f 70 65 72 74 69 7a 65 20 63 75 72 72 | ................(propertize.curr | 
| 17040 | 65 6e 74 2d 66 69 6c 65 20 27 66 61 63 65 20 27    66 6f 6e 74 2d 6c 6f 63 6b 2d 6b 65 79 77 6f 72 | ent-file.'face.'font-lock-keywor | 
| 17060 | 64 2d 66 61 63 65 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 70 | d-face)....................(prop | 
| 17080 | 65 72 74 69 7a 65 20 63 75 72 72 65 6e 74 2d 70    72 6f 6a 65 63 74 20 27 66 61 63 65 20 27 66 6f | ertize.current-project.'face.'fo | 
| 170a0 | 6e 74 2d 6c 6f 63 6b 2d 6b 65 79 77 6f 72 64 2d    66 61 63 65 29 29 29 29 29 29 29 0a 0a 3b 3b 20 | nt-lock-keyword-face)))))))..;;. | 
| 170c0 | 63 61 63 68 65 20 6f 70 65 6e 65 64 20 66 69 6c    65 73 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 | cache.opened.files.automatically | 
| 170e0 | 20 74 6f 20 72 65 64 75 63 65 20 74 68 65 20 6e    65 65 64 20 66 6f 72 20 63 61 63 68 65 20 69 6e | .to.reduce.the.need.for.cache.in | 
| 17100 | 76 61 6c 69 64 61 74 69 6f 6e 0a 28 64 65 66 75    6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 63 61 63 | validation.(defun.projectile-cac | 
| 17120 | 68 65 2d 66 69 6c 65 73 2d 66 69 6e 64 2d 66 69    6c 65 2d 68 6f 6f 6b 20 28 29 0a 20 20 22 46 75 | he-files-find-file-hook.()..."Fu | 
| 17140 | 6e 63 74 69 6f 6e 20 66 6f 72 20 63 61 63 68 69    6e 67 20 66 69 6c 65 73 20 77 69 74 68 20 60 66 | nction.for.caching.files.with.`f | 
| 17160 | 69 6e 64 2d 66 69 6c 65 2d 68 6f 6f 6b 27 2e 22    0a 20 20 28 6c 65 74 20 28 28 70 72 6f 6a 65 63 | ind-file-hook'."...(let.((projec | 
| 17180 | 74 2d 72 6f 6f 74 20 28 70 72 6f 6a 65 63 74 69    6c 65 2d 70 72 6f 6a 65 63 74 2d 70 29 29 29 0a | t-root.(projectile-project-p))). | 
| 171a0 | 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 20 70    72 6f 6a 65 63 74 69 6c 65 2d 65 6e 61 62 6c 65 | ....(when.(and.projectile-enable | 
| 171c0 | 2d 63 61 63 68 69 6e 67 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 70 72 6f 6a 65 63 74 2d | -caching................project- | 
| 171e0 | 72 6f 6f 74 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 6e 6f 74 20 28 70 72 6f 6a 65 63 | root................(not.(projec | 
| 17200 | 74 69 6c 65 2d 69 67 6e 6f 72 65 64 2d 70 72 6f    6a 65 63 74 2d 70 20 70 72 6f 6a 65 63 74 2d 72 | tile-ignored-project-p.project-r | 
| 17220 | 6f 6f 74 29 29 29 0a 20 20 20 20 20 20 28 70 72    6f 6a 65 63 74 69 6c 65 2d 63 61 63 68 65 2d 63 | oot))).......(projectile-cache-c | 
| 17240 | 75 72 72 65 6e 74 2d 66 69 6c 65 29 29 29 29 0a    0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 | urrent-file))))..(defun.projecti | 
| 17260 | 6c 65 2d 74 72 61 63 6b 2d 6b 6e 6f 77 6e 2d 70    72 6f 6a 65 63 74 73 2d 66 69 6e 64 2d 66 69 6c | le-track-known-projects-find-fil | 
| 17280 | 65 2d 68 6f 6f 6b 20 28 29 0a 20 20 22 46 75 6e    63 74 69 6f 6e 20 66 6f 72 20 63 61 63 68 69 6e | e-hook.()..."Function.for.cachin | 
| 172a0 | 67 20 70 72 6f 6a 65 63 74 73 20 77 69 74 68 20    60 66 69 6e 64 2d 66 69 6c 65 2d 68 6f 6f 6b 27 | g.projects.with.`find-file-hook' | 
| 172c0 | 2e 22 0a 20 20 28 77 68 65 6e 20 28 61 6e 64 20    70 72 6f 6a 65 63 74 69 6c 65 2d 74 72 61 63 6b | ."...(when.(and.projectile-track | 
| 172e0 | 2d 6b 6e 6f 77 6e 2d 70 72 6f 6a 65 63 74 73 2d    61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 28 70 | -known-projects-automatically.(p | 
| 17300 | 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63    74 2d 70 29 29 0a 20 20 20 20 28 70 72 6f 6a 65 | rojectile-project-p)).....(proje | 
| 17320 | 63 74 69 6c 65 2d 61 64 64 2d 6b 6e 6f 77 6e 2d    70 72 6f 6a 65 63 74 20 28 70 72 6f 6a 65 63 74 | ctile-add-known-project.(project | 
| 17340 | 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 72 6f 6f 74    29 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f | ile-project-root))))..(defun.pro | 
| 17360 | 6a 65 63 74 69 6c 65 2d 6d 61 79 62 65 2d 69 6e    76 61 6c 69 64 61 74 65 2d 63 61 63 68 65 20 28 | jectile-maybe-invalidate-cache.( | 
| 17380 | 66 6f 72 63 65 29 0a 20 20 22 49 6e 76 61 6c 69    64 61 74 65 20 69 66 20 46 4f 52 43 45 20 6f 72 | force)..."Invalidate.if.FORCE.or | 
| 173a0 | 20 70 72 6f 6a 65 63 74 27 73 20 64 69 72 63 6f    6e 66 69 67 20 6e 65 77 65 72 20 74 68 61 6e 20 | .project's.dirconfig.newer.than. | 
| 173c0 | 63 61 63 68 65 2e 22 0a 20 20 28 77 68 65 6e 20    28 6f 72 20 66 6f 72 63 65 20 28 66 69 6c 65 2d | cache."...(when.(or.force.(file- | 
| 173e0 | 6e 65 77 65 72 2d 74 68 61 6e 2d 66 69 6c 65 2d    70 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 64 69 | newer-than-file-p.(projectile-di | 
| 17400 | 72 63 6f 6e 66 69 67 2d 66 69 6c 65 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | rconfig-file)................... | 
| 17420 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 70 72 6f 6a 65 63 74 69 | ........................projecti | 
| 17440 | 6c 65 2d 63 61 63 68 65 2d 66 69 6c 65 29 29 0a    20 20 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d | le-cache-file)).....(projectile- | 
| 17460 | 69 6e 76 61 6c 69 64 61 74 65 2d 63 61 63 68 65    20 6e 69 6c 29 29 29 0a 0a 3b 3b 3b 23 23 23 61 | invalidate-cache.nil)))..;;;###a | 
| 17480 | 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 70    72 6f 6a 65 63 74 69 6c 65 2d 64 69 73 63 6f 76 | utoload.(defun.projectile-discov | 
| 174a0 | 65 72 2d 70 72 6f 6a 65 63 74 73 2d 69 6e 2d 64    69 72 65 63 74 6f 72 79 20 28 64 69 72 65 63 74 | er-projects-in-directory.(direct | 
| 174c0 | 6f 72 79 20 26 6f 70 74 69 6f 6e 61 6c 20 64 65    70 74 68 29 0a 20 20 22 44 69 73 63 6f 76 65 72 | ory.&optional.depth)..."Discover | 
| 174e0 | 20 61 6e 79 20 70 72 6f 6a 65 63 74 73 20 69 6e    20 44 49 52 45 43 54 4f 52 59 20 61 6e 64 20 61 | .any.projects.in.DIRECTORY.and.a | 
| 17500 | 64 64 20 74 68 65 6d 20 74 6f 20 74 68 65 20 70    72 6f 6a 65 63 74 69 6c 65 20 63 61 63 68 65 2e | dd.them.to.the.projectile.cache. | 
| 17520 | 0a 0a 49 66 20 44 45 50 54 48 20 69 73 20 6e 6f    6e 2d 6e 69 6c 20 72 65 63 75 72 73 69 76 65 6c | ..If.DEPTH.is.non-nil.recursivel | 
| 17540 | 79 20 64 65 73 63 65 6e 64 20 65 78 61 63 74 6c    79 20 44 45 50 54 48 20 6c 65 76 65 6c 73 20 62 | y.descend.exactly.DEPTH.levels.b | 
| 17560 | 65 6c 6f 77 20 44 49 52 45 43 54 4f 52 59 20 61    6e 64 0a 64 69 73 63 6f 76 65 72 20 70 72 6f 6a | elow.DIRECTORY.and.discover.proj | 
| 17580 | 65 63 74 73 20 74 68 65 72 65 2e 22 0a 20 20 28    69 6e 74 65 72 61 63 74 69 76 65 0a 20 20 20 28 | ects.there."...(interactive....( | 
| 175a0 | 6c 69 73 74 20 28 72 65 61 64 2d 64 69 72 65 63    74 6f 72 79 2d 6e 61 6d 65 20 22 53 74 61 72 74 | list.(read-directory-name."Start | 
| 175c0 | 69 6e 67 20 64 69 72 65 63 74 6f 72 79 3a 20 22    29 29 29 0a 0a 20 20 28 69 66 20 28 66 69 6c 65 | ing.directory:.")))....(if.(file | 
| 175e0 | 2d 64 69 72 65 63 74 6f 72 79 2d 70 20 64 69 72    65 63 74 6f 72 79 29 0a 20 20 20 20 20 20 28 69 | -directory-p.directory).......(i | 
| 17600 | 66 20 28 61 6e 64 20 28 6e 75 6d 62 65 72 70 20    64 65 70 74 68 29 20 28 3e 20 64 65 70 74 68 20 | f.(and.(numberp.depth).(>.depth. | 
| 17620 | 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 3b 3b    20 49 67 6e 6f 72 65 20 65 72 72 6f 72 73 20 77 | 0))...........;;.Ignore.errors.w | 
| 17640 | 68 65 6e 20 6c 69 73 74 69 6e 67 20 66 69 6c 65    73 20 69 6e 20 74 68 65 20 64 69 72 65 63 74 6f | hen.listing.files.in.the.directo | 
| 17660 | 72 79 2c 20 62 65 63 61 75 73 65 0a 20 20 20 20    20 20 20 20 20 20 3b 3b 20 73 6f 6d 65 74 69 6d | ry,.because...........;;.sometim | 
| 17680 | 65 73 20 74 68 61 74 20 64 69 72 65 63 74 6f 72    79 20 69 73 20 61 6e 20 75 6e 72 65 61 64 61 62 | es.that.directory.is.an.unreadab | 
| 176a0 | 6c 65 20 6f 6e 65 20 61 74 20 74 68 65 20 72 6f    6f 74 20 6f 66 20 61 0a 20 20 20 20 20 20 20 20 | le.one.at.the.root.of.a......... | 
| 176c0 | 20 20 3b 3b 20 76 6f 6c 75 6d 65 2e 20 54 68 69    73 20 69 73 20 74 68 65 20 63 61 73 65 2c 20 66 | ..;;.volume..This.is.the.case,.f | 
| 176e0 | 6f 72 20 65 78 61 6d 70 6c 65 2c 20 6f 6e 20 6d    61 63 4f 53 20 77 69 74 68 20 74 68 65 0a 20 20 | or.example,.on.macOS.with.the... | 
| 17700 | 20 20 20 20 20 20 20 20 3b 3b 20 2e 53 70 6f 74    6c 69 67 68 74 2d 56 31 30 30 20 64 69 72 65 63 | ........;;..Spotlight-V100.direc | 
| 17720 | 74 6f 72 79 2e 0a 20 20 20 20 20 20 20 20 20 20    28 6c 65 74 20 28 28 70 72 6f 67 72 65 73 73 2d | tory............(let.((progress- | 
| 17740 | 72 65 70 6f 72 74 65 72 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 28 6d 61 6b 65 2d | reporter..................(make- | 
| 17760 | 70 72 6f 67 72 65 73 73 2d 72 65 70 6f 72 74 65    72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | progress-reporter............... | 
| 17780 | 20 20 20 20 28 66 6f 72 6d 61 74 20 22 50 72 6f    6a 65 63 74 69 6c 65 20 69 73 20 64 69 73 63 6f | ....(format."Projectile.is.disco | 
| 177a0 | 76 65 72 69 6e 67 20 70 72 6f 6a 65 63 74 73 20    69 6e 20 25 73 2e 2e 2e 22 0a 20 20 20 20 20 20 | vering.projects.in.%s..."....... | 
| 177c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 70 72 6f 70 65 72 74 69 7a 65 20 | ....................(propertize. | 
| 177e0 | 64 69 72 65 63 74 6f 72 79 20 27 66 61 63 65 20    27 66 6f 6e 74 2d 6c 6f 63 6b 2d 6b 65 79 77 6f | directory.'face.'font-lock-keywo | 
| 17800 | 72 64 2d 66 61 63 65 29 29 29 29 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 28 70 72 6f 67 72 65 | rd-face))))).............(progre | 
| 17820 | 73 73 2d 72 65 70 6f 72 74 65 72 2d 75 70 64 61    74 65 20 70 72 6f 67 72 65 73 73 2d 72 65 70 6f | ss-reporter-update.progress-repo | 
| 17840 | 72 74 65 72 29 0a 20 20 20 20 20 20 20 20 20 20    20 20 28 64 6f 6c 69 73 74 20 28 64 69 72 20 28 | rter).............(dolist.(dir.( | 
| 17860 | 69 67 6e 6f 72 65 2d 65 72 72 6f 72 73 20 28 64    69 72 65 63 74 6f 72 79 2d 66 69 6c 65 73 20 64 | ignore-errors.(directory-files.d | 
| 17880 | 69 72 65 63 74 6f 72 79 20 74 29 29 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 | irectory.t)))...............(whe | 
| 178a0 | 6e 20 28 61 6e 64 20 28 66 69 6c 65 2d 64 69 72    65 63 74 6f 72 79 2d 70 20 64 69 72 29 0a 20 20 | n.(and.(file-directory-p.dir)... | 
| 178c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 28 6e 6f 74 20 28 6d 65 6d | .......................(not.(mem | 
| 178e0 | 62 65 72 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 6e    6f 6e 64 69 72 65 63 74 6f 72 79 20 64 69 72 29 | ber.(file-name-nondirectory.dir) | 
| 17900 | 20 27 28 22 2e 2e 22 20 22 2e 22 29 29 29 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .'(".."."."))))................. | 
| 17920 | 28 70 72 6f 6a 65 63 74 69 6c 65 2d 64 69 73 63    6f 76 65 72 2d 70 72 6f 6a 65 63 74 73 2d 69 6e | (projectile-discover-projects-in | 
| 17940 | 2d 64 69 72 65 63 74 6f 72 79 20 64 69 72 20 28    31 2d 20 64 65 70 74 68 29 29 29 29 0a 20 20 20 | -directory.dir.(1-.depth)))).... | 
| 17960 | 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 72 65    73 73 2d 72 65 70 6f 72 74 65 72 2d 64 6f 6e 65 | .........(progress-reporter-done | 
| 17980 | 20 70 72 6f 67 72 65 73 73 2d 72 65 70 6f 72 74    65 72 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 | .progress-reporter)).........(wh | 
| 179a0 | 65 6e 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 70    72 6f 6a 65 63 74 2d 70 20 64 69 72 65 63 74 6f | en.(projectile-project-p.directo | 
| 179c0 | 72 79 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c    65 74 20 28 28 64 69 72 20 28 61 62 62 72 65 76 | ry)...........(let.((dir.(abbrev | 
| 179e0 | 69 61 74 65 2d 66 69 6c 65 2d 6e 61 6d 65 20 28    70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 | iate-file-name.(projectile-proje | 
| 17a00 | 63 74 2d 72 6f 6f 74 20 64 69 72 65 63 74 6f 72    79 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 | ct-root.directory))))........... | 
| 17a20 | 20 20 28 75 6e 6c 65 73 73 20 28 6d 65 6d 62 65    72 20 64 69 72 20 70 72 6f 6a 65 63 74 69 6c 65 | ..(unless.(member.dir.projectile | 
| 17a40 | 2d 6b 6e 6f 77 6e 2d 70 72 6f 6a 65 63 74 73 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | -known-projects)...............( | 
| 17a60 | 70 72 6f 6a 65 63 74 69 6c 65 2d 61 64 64 2d 6b    6e 6f 77 6e 2d 70 72 6f 6a 65 63 74 20 64 69 72 | projectile-add-known-project.dir | 
| 17a80 | 29 29 29 29 29 0a 20 20 20 20 28 6d 65 73 73 61    67 65 20 22 50 72 6f 6a 65 63 74 20 73 65 61 72 | ))))).....(message."Project.sear | 
| 17aa0 | 63 68 20 70 61 74 68 20 64 69 72 65 63 74 6f 72    79 20 25 73 20 64 6f 65 73 6e 27 74 20 65 78 69 | ch.path.directory.%s.doesn't.exi | 
| 17ac0 | 73 74 22 20 64 69 72 65 63 74 6f 72 79 29 29 29    0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 | st".directory)))..;;;###autoload | 
| 17ae0 | 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69    6c 65 2d 64 69 73 63 6f 76 65 72 2d 70 72 6f 6a | .(defun.projectile-discover-proj | 
| 17b00 | 65 63 74 73 2d 69 6e 2d 73 65 61 72 63 68 2d 70    61 74 68 20 28 29 0a 20 20 22 44 69 73 63 6f 76 | ects-in-search-path.()..."Discov | 
| 17b20 | 65 72 20 70 72 6f 6a 65 63 74 73 20 69 6e 20 60    70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 | er.projects.in.`projectile-proje | 
| 17b40 | 63 74 2d 73 65 61 72 63 68 2d 70 61 74 68 27 2e    0a 49 6e 76 6f 6b 65 64 20 61 75 74 6f 6d 61 74 | ct-search-path'..Invoked.automat | 
| 17b60 | 69 63 61 6c 6c 79 20 77 68 65 6e 20 60 70 72 6f    6a 65 63 74 69 6c 65 2d 6d 6f 64 65 27 20 69 73 | ically.when.`projectile-mode'.is | 
| 17b80 | 20 65 6e 61 62 6c 65 64 2e 22 0a 20 20 28 69 6e    74 65 72 61 63 74 69 76 65 29 0a 20 20 28 64 6f | .enabled."...(interactive)...(do | 
| 17ba0 | 6c 69 73 74 20 28 70 61 74 68 20 70 72 6f 6a 65    63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 73 65 | list.(path.projectile-project-se | 
| 17bc0 | 61 72 63 68 2d 70 61 74 68 29 0a 20 20 20 20 28    69 66 20 28 63 6f 6e 73 70 20 70 61 74 68 29 0a | arch-path).....(if.(consp.path). | 
| 17be0 | 20 20 20 20 20 20 20 20 28 70 72 6f 6a 65 63 74    69 6c 65 2d 64 69 73 63 6f 76 65 72 2d 70 72 6f | ........(projectile-discover-pro | 
| 17c00 | 6a 65 63 74 73 2d 69 6e 2d 64 69 72 65 63 74 6f    72 79 20 28 63 61 72 20 70 61 74 68 29 20 28 63 | jects-in-directory.(car.path).(c | 
| 17c20 | 64 72 20 70 61 74 68 29 29 0a 20 20 20 20 20 20    28 70 72 6f 6a 65 63 74 69 6c 65 2d 64 69 73 63 | dr.path)).......(projectile-disc | 
| 17c40 | 6f 76 65 72 2d 70 72 6f 6a 65 63 74 73 2d 69 6e    2d 64 69 72 65 63 74 6f 72 79 20 70 61 74 68 20 | over-projects-in-directory.path. | 
| 17c60 | 31 29 29 29 29 0a 0a 0c 0a 28 64 65 66 75 6e 20    64 65 6c 65 74 65 2d 66 69 6c 65 2d 70 72 6f 6a | 1))))....(defun.delete-file-proj | 
| 17c80 | 65 63 74 69 6c 65 2d 72 65 6d 6f 76 65 2d 66 72    6f 6d 2d 63 61 63 68 65 20 28 66 69 6c 65 6e 61 | ectile-remove-from-cache.(filena | 
| 17ca0 | 6d 65 20 26 6f 70 74 69 6f 6e 61 6c 20 5f 74 72    61 73 68 29 0a 20 20 28 69 66 20 28 61 6e 64 20 | me.&optional._trash)...(if.(and. | 
| 17cc0 | 70 72 6f 6a 65 63 74 69 6c 65 2d 65 6e 61 62 6c    65 2d 63 61 63 68 69 6e 67 20 70 72 6f 6a 65 63 | projectile-enable-caching.projec | 
| 17ce0 | 74 69 6c 65 2d 61 75 74 6f 2d 75 70 64 61 74 65    2d 63 61 63 68 65 20 28 70 72 6f 6a 65 63 74 69 | tile-auto-update-cache.(projecti | 
| 17d00 | 6c 65 2d 70 72 6f 6a 65 63 74 2d 70 29 29 0a 20    20 20 20 20 20 28 6c 65 74 2a 20 28 28 70 72 6f | le-project-p)).......(let*.((pro | 
| 17d20 | 6a 65 63 74 2d 72 6f 6f 74 20 28 70 72 6f 6a 65    63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 72 6f | ject-root.(projectile-project-ro | 
| 17d40 | 6f 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 28 74 72 75 65 2d 66 69 6c 65 6e 61 6d 65 | ot))..............(true-filename | 
| 17d60 | 20 28 66 69 6c 65 2d 74 72 75 65 6e 61 6d 65 20    66 69 6c 65 6e 61 6d 65 29 29 0a 20 20 20 20 20 | .(file-truename.filename))...... | 
| 17d80 | 20 20 20 20 20 20 20 20 28 72 65 6c 61 74 69 76    65 2d 66 69 6c 65 6e 61 6d 65 20 28 66 69 6c 65 | ........(relative-filename.(file | 
| 17da0 | 2d 72 65 6c 61 74 69 76 65 2d 6e 61 6d 65 20 74    72 75 65 2d 66 69 6c 65 6e 61 6d 65 20 70 72 6f | -relative-name.true-filename.pro | 
| 17dc0 | 6a 65 63 74 2d 72 6f 6f 74 29 29 29 0a 20 20 20    20 20 20 20 20 28 69 66 20 28 70 72 6f 6a 65 63 | ject-root))).........(if.(projec | 
| 17de0 | 74 69 6c 65 2d 66 69 6c 65 2d 63 61 63 68 65 64    2d 70 20 72 65 6c 61 74 69 76 65 2d 66 69 6c 65 | tile-file-cached-p.relative-file | 
| 17e00 | 6e 61 6d 65 20 70 72 6f 6a 65 63 74 2d 72 6f 6f    74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 | name.project-root).............( | 
| 17e20 | 70 72 6f 6a 65 63 74 69 6c 65 2d 70 75 72 67 65    2d 66 69 6c 65 2d 66 72 6f 6d 2d 63 61 63 68 65 | projectile-purge-file-from-cache | 
| 17e40 | 20 72 65 6c 61 74 69 76 65 2d 66 69 6c 65 6e 61    6d 65 29 29 29 29 29 0a 0a 0c 0a 3b 3b 3b 20 50 | .relative-filename)))))....;;;.P | 
| 17e60 | 72 6f 6a 65 63 74 20 72 6f 6f 74 20 72 65 6c 61    74 65 64 20 75 74 69 6c 69 74 69 65 73 0a 28 64 | roject.root.related.utilities.(d | 
| 17e80 | 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d    70 61 72 65 6e 74 20 28 70 61 74 68 29 0a 20 20 | efun.projectile-parent.(path)... | 
| 17ea0 | 22 52 65 74 75 72 6e 20 74 68 65 20 70 61 72 65    6e 74 20 64 69 72 65 63 74 6f 72 79 20 6f 66 20 | "Return.the.parent.directory.of. | 
| 17ec0 | 50 41 54 48 2e 0a 50 41 54 48 20 6d 61 79 20 62    65 20 61 20 66 69 6c 65 20 6f 72 20 64 69 72 65 | PATH..PATH.may.be.a.file.or.dire | 
| 17ee0 | 63 74 6f 72 79 20 61 6e 64 20 64 69 72 65 63 74    6f 72 79 20 70 61 74 68 73 20 6d 61 79 20 65 6e | ctory.and.directory.paths.may.en | 
| 17f00 | 64 20 77 69 74 68 20 61 20 73 6c 61 73 68 2e 22    0a 20 20 28 64 69 72 65 63 74 6f 72 79 2d 66 69 | d.with.a.slash."...(directory-fi | 
| 17f20 | 6c 65 2d 6e 61 6d 65 20 28 66 69 6c 65 2d 6e 61    6d 65 2d 64 69 72 65 63 74 6f 72 79 20 28 64 69 | le-name.(file-name-directory.(di | 
| 17f40 | 72 65 63 74 6f 72 79 2d 66 69 6c 65 2d 6e 61 6d    65 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e | rectory-file-name.(expand-file-n | 
| 17f60 | 61 6d 65 20 70 61 74 68 29 29 29 29 29 0a 0a 28    64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 | ame.path)))))..(defun.projectile | 
| 17f80 | 2d 6c 6f 63 61 74 65 2d 64 6f 6d 69 6e 61 74 69    6e 67 2d 66 69 6c 65 20 28 66 69 6c 65 20 6e 61 | -locate-dominating-file.(file.na | 
| 17fa0 | 6d 65 29 0a 20 20 22 4c 6f 6f 6b 20 75 70 20 74    68 65 20 64 69 72 65 63 74 6f 72 79 20 68 69 65 | me)..."Look.up.the.directory.hie | 
| 17fc0 | 72 61 72 63 68 79 20 66 72 6f 6d 20 46 49 4c 45    20 66 6f 72 20 61 20 64 69 72 65 63 74 6f 72 79 | rarchy.from.FILE.for.a.directory | 
| 17fe0 | 20 63 6f 6e 74 61 69 6e 69 6e 67 20 4e 41 4d 45    2e 0a 53 74 6f 70 20 61 74 20 74 68 65 20 66 69 | .containing.NAME..Stop.at.the.fi | 
| 18000 | 72 73 74 20 70 61 72 65 6e 74 20 64 69 72 65 63    74 6f 72 79 20 63 6f 6e 74 61 69 6e 69 6e 67 20 | rst.parent.directory.containing. | 
| 18020 | 61 20 66 69 6c 65 20 4e 41 4d 45 2c 0a 61 6e 64    20 72 65 74 75 72 6e 20 74 68 65 20 64 69 72 65 | a.file.NAME,.and.return.the.dire | 
| 18040 | 63 74 6f 72 79 2e 20 20 52 65 74 75 72 6e 20 6e    69 6c 20 69 66 20 6e 6f 74 20 66 6f 75 6e 64 2e | ctory...Return.nil.if.not.found. | 
| 18060 | 0a 49 6e 73 74 65 61 64 20 6f 66 20 61 20 73 74    72 69 6e 67 2c 20 4e 41 4d 45 20 63 61 6e 20 61 | .Instead.of.a.string,.NAME.can.a | 
| 18080 | 6c 73 6f 20 62 65 20 61 20 70 72 65 64 69 63 61    74 65 20 74 61 6b 69 6e 67 20 6f 6e 65 20 61 72 | lso.be.a.predicate.taking.one.ar | 
| 180a0 | 67 75 6d 65 6e 74 0a 5c 28 61 20 64 69 72 65 63    74 6f 72 79 29 20 61 6e 64 20 72 65 74 75 72 6e | gument.\(a.directory).and.return | 
| 180c0 | 69 6e 67 20 61 20 6e 6f 6e 2d 6e 69 6c 20 76 61    6c 75 65 20 69 66 20 74 68 61 74 20 64 69 72 65 | ing.a.non-nil.value.if.that.dire | 
| 180e0 | 63 74 6f 72 79 20 69 73 20 74 68 65 20 6f 6e 65    20 66 6f 72 0a 77 68 69 63 68 20 77 65 27 72 65 | ctory.is.the.one.for.which.we're | 
| 18100 | 20 6c 6f 6f 6b 69 6e 67 2e 22 0a 20 20 3b 3b 20    63 6f 70 69 65 64 20 66 72 6f 6d 20 66 69 6c 65 | .looking."...;;.copied.from.file | 
| 18120 | 73 2e 65 6c 20 28 73 74 72 69 70 70 65 64 20 63    6f 6d 6d 65 6e 74 73 29 20 65 6d 61 63 73 2d 32 | s.el.(stripped.comments).emacs-2 | 
| 18140 | 34 20 62 7a 72 20 62 72 61 6e 63 68 20 32 30 31    34 2d 30 33 2d 32 38 20 31 30 3a 32 30 0a 20 20 | 4.bzr.branch.2014-03-28.10:20... | 
| 18160 | 28 73 65 74 71 20 66 69 6c 65 20 28 61 62 62 72    65 76 69 61 74 65 2d 66 69 6c 65 2d 6e 61 6d 65 | (setq.file.(abbreviate-file-name | 
| 18180 | 20 66 69 6c 65 29 29 0a 20 20 28 6c 65 74 20 28    28 72 6f 6f 74 20 6e 69 6c 29 0a 20 20 20 20 20 | .file))...(let.((root.nil)...... | 
| 181a0 | 20 20 20 74 72 79 29 0a 20 20 20 20 28 77 68 69    6c 65 20 28 6e 6f 74 20 28 6f 72 20 72 6f 6f 74 | ...try).....(while.(not.(or.root | 
| 181c0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 6e 75 6c 6c 20 66 69 6c 65 29 | .....................(null.file) | 
| 181e0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 73 74 72 69 6e 67 2d 6d 61 74 | .....................(string-mat | 
| 18200 | 63 68 20 6c 6f 63 61 74 65 2d 64 6f 6d 69 6e 61    74 69 6e 67 2d 73 74 6f 70 2d 64 69 72 2d 72 65 | ch.locate-dominating-stop-dir-re | 
| 18220 | 67 65 78 70 20 66 69 6c 65 29 29 29 0a 20 20 20    20 20 20 28 73 65 74 71 20 74 72 79 20 28 69 66 | gexp.file))).......(setq.try.(if | 
| 18240 | 20 28 73 74 72 69 6e 67 70 20 6e 61 6d 65 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .(stringp.name)................. | 
| 18260 | 20 20 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d    66 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 28 70 | ....(projectile-file-exists-p.(p | 
| 18280 | 72 6f 6a 65 63 74 69 6c 65 2d 65 78 70 61 6e 64    2d 66 69 6c 65 2d 6e 61 6d 65 2d 77 69 6c 64 63 | rojectile-expand-file-name-wildc | 
| 182a0 | 61 72 64 20 6e 61 6d 65 20 66 69 6c 65 29 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ard.name.file))................. | 
| 182c0 | 20 20 28 66 75 6e 63 61 6c 6c 20 6e 61 6d 65 20    66 69 6c 65 29 29 29 0a 20 20 20 20 20 20 28 63 | ..(funcall.name.file))).......(c | 
| 182e0 | 6f 6e 64 20 28 74 72 79 20 28 73 65 74 71 20 72    6f 6f 74 20 66 69 6c 65 29 29 0a 20 20 20 20 20 | ond.(try.(setq.root.file))...... | 
| 18300 | 20 20 20 20 20 20 20 28 28 65 71 75 61 6c 20 66    69 6c 65 20 28 73 65 74 71 20 66 69 6c 65 20 28 | .......((equal.file.(setq.file.( | 
| 18320 | 66 69 6c 65 2d 6e 61 6d 65 2d 64 69 72 65 63 74    6f 72 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 | file-name-directory............. | 
| 18340 | 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 64 69 72 65 63 74 | .........................(direct | 
| 18360 | 6f 72 79 2d 66 69 6c 65 2d 6e 61 6d 65 20 66 69    6c 65 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 | ory-file-name.file)))).......... | 
| 18380 | 20 20 20 20 28 73 65 74 71 20 66 69 6c 65 20 6e    69 6c 29 29 29 29 0a 20 20 20 20 28 61 6e 64 20 | ....(setq.file.nil)))).....(and. | 
| 183a0 | 72 6f 6f 74 20 28 65 78 70 61 6e 64 2d 66 69 6c    65 2d 6e 61 6d 65 20 28 66 69 6c 65 2d 6e 61 6d | root.(expand-file-name.(file-nam | 
| 183c0 | 65 2d 61 73 2d 64 69 72 65 63 74 6f 72 79 20 72    6f 6f 74 29 29 29 29 29 0a 0a 28 64 65 66 76 61 | e-as-directory.root)))))..(defva | 
| 183e0 | 72 2d 6c 6f 63 61 6c 20 70 72 6f 6a 65 63 74 69    6c 65 2d 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 20 | r-local.projectile-project-root. | 
| 18400 | 6e 69 6c 0a 20 20 22 44 65 66 69 6e 65 73 20 61    20 63 75 73 74 6f 6d 20 50 72 6f 6a 65 63 74 69 | nil..."Defines.a.custom.Projecti | 
| 18420 | 6c 65 20 70 72 6f 6a 65 63 74 20 72 6f 6f 74 2e    0a 54 68 69 73 20 69 73 20 69 6e 74 65 6e 64 65 | le.project.root..This.is.intende | 
| 18440 | 64 20 74 6f 20 62 65 20 75 73 65 64 20 61 73 20    61 20 66 69 6c 65 20 6c 6f 63 61 6c 20 76 61 72 | d.to.be.used.as.a.file.local.var | 
| 18460 | 69 61 62 6c 65 2e 22 29 0a 0a 28 64 65 66 75 6e    20 70 72 6f 6a 65 63 74 69 6c 65 2d 72 6f 6f 74 | iable.")..(defun.projectile-root | 
| 18480 | 2d 6c 6f 63 61 6c 20 28 5f 64 69 72 29 0a 20 20    22 41 20 73 69 6d 70 6c 65 20 77 72 61 70 70 65 | -local.(_dir)..."A.simple.wrappe | 
| 184a0 | 72 20 61 72 6f 75 6e 64 20 74 68 65 20 76 61 72    69 61 62 6c 65 20 60 70 72 6f 6a 65 63 74 69 6c | r.around.the.variable.`projectil | 
| 184c0 | 65 2d 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 27 2e    22 0a 20 20 70 72 6f 6a 65 63 74 69 6c 65 2d 70 | e-project-root'."...projectile-p | 
| 184e0 | 72 6f 6a 65 63 74 2d 72 6f 6f 74 29 0a 0a 28 64    65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d | roject-root)..(defun.projectile- | 
| 18500 | 72 6f 6f 74 2d 74 6f 70 2d 64 6f 77 6e 20 28 64    69 72 20 26 6f 70 74 69 6f 6e 61 6c 20 6c 69 73 | root-top-down.(dir.&optional.lis | 
| 18520 | 74 29 0a 20 20 22 49 64 65 6e 74 69 66 79 20 61    20 70 72 6f 6a 65 63 74 20 72 6f 6f 74 20 69 6e | t)..."Identify.a.project.root.in | 
| 18540 | 20 44 49 52 20 62 79 20 74 6f 70 2d 64 6f 77 6e    20 73 65 61 72 63 68 20 66 6f 72 20 66 69 6c 65 | .DIR.by.top-down.search.for.file | 
| 18560 | 73 20 69 6e 20 4c 49 53 54 2e 0a 49 66 20 4c 49    53 54 20 69 73 20 6e 69 6c 2c 20 75 73 65 20 60 | s.in.LIST..If.LIST.is.nil,.use.` | 
| 18580 | 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65    63 74 2d 72 6f 6f 74 2d 66 69 6c 65 73 27 20 69 | projectile-project-root-files'.i | 
| 185a0 | 6e 73 74 65 61 64 2e 0a 52 65 74 75 72 6e 20 74    68 65 20 66 69 72 73 74 20 28 74 6f 70 6d 6f 73 | nstead..Return.the.first.(topmos | 
| 185c0 | 74 29 20 6d 61 74 63 68 65 64 20 64 69 72 65 63    74 6f 72 79 20 6f 72 20 6e 69 6c 20 69 66 20 6e | t).matched.directory.or.nil.if.n | 
| 185e0 | 6f 74 20 66 6f 75 6e 64 2e 22 0a 20 20 28 70 72    6f 6a 65 63 74 69 6c 65 2d 6c 6f 63 61 74 65 2d | ot.found."...(projectile-locate- | 
| 18600 | 64 6f 6d 69 6e 61 74 69 6e 67 2d 66 69 6c 65 0a    20 20 20 64 69 72 0a 20 20 20 28 6c 61 6d 62 64 | dominating-file....dir....(lambd | 
| 18620 | 61 20 28 64 69 72 29 0a 20 20 20 20 20 28 63 6c    2d 66 69 6e 64 2d 69 66 20 28 6c 61 6d 62 64 61 | a.(dir)......(cl-find-if.(lambda | 
| 18640 | 20 28 66 29 20 28 70 72 6f 6a 65 63 74 69 6c 65    2d 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 28 | .(f).(projectile-file-exists-p.( | 
| 18660 | 70 72 6f 6a 65 63 74 69 6c 65 2d 65 78 70 61 6e    64 2d 66 69 6c 65 2d 6e 61 6d 65 2d 77 69 6c 64 | projectile-expand-file-name-wild | 
| 18680 | 63 61 72 64 20 66 20 64 69 72 29 29 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | card.f.dir)))..................( | 
| 186a0 | 6f 72 20 6c 69 73 74 20 70 72 6f 6a 65 63 74 69    6c 65 2d 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 2d | or.list.projectile-project-root- | 
| 186c0 | 66 69 6c 65 73 29 29 29 29 29 0a 0a 28 64 65 66    75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 72 6f | files)))))..(defun.projectile-ro | 
| 186e0 | 6f 74 2d 6d 61 72 6b 65 64 20 28 64 69 72 29 0a    20 20 22 49 64 65 6e 74 69 66 79 20 61 20 70 72 | ot-marked.(dir)..."Identify.a.pr | 
| 18700 | 6f 6a 65 63 74 20 72 6f 6f 74 20 69 6e 20 44 49    52 20 62 79 20 73 65 61 72 63 68 20 66 6f 72 20 | oject.root.in.DIR.by.search.for. | 
| 18720 | 60 70 72 6f 6a 65 63 74 69 6c 65 2d 64 69 72 63    6f 6e 66 69 67 2d 66 69 6c 65 60 2e 22 0a 20 20 | `projectile-dirconfig-file`."... | 
| 18740 | 28 70 72 6f 6a 65 63 74 69 6c 65 2d 72 6f 6f 74    2d 62 6f 74 74 6f 6d 2d 75 70 20 64 69 72 20 28 | (projectile-root-bottom-up.dir.( | 
| 18760 | 6c 69 73 74 20 70 72 6f 6a 65 63 74 69 6c 65 2d    64 69 72 63 6f 6e 66 69 67 2d 66 69 6c 65 29 29 | list.projectile-dirconfig-file)) | 
| 18780 | 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63    74 69 6c 65 2d 72 6f 6f 74 2d 62 6f 74 74 6f 6d | )..(defun.projectile-root-bottom | 
| 187a0 | 2d 75 70 20 28 64 69 72 20 26 6f 70 74 69 6f 6e    61 6c 20 6c 69 73 74 29 0a 20 20 22 49 64 65 6e | -up.(dir.&optional.list)..."Iden | 
| 187c0 | 74 69 66 79 20 61 20 70 72 6f 6a 65 63 74 20 72    6f 6f 74 20 69 6e 20 44 49 52 20 62 79 20 62 6f | tify.a.project.root.in.DIR.by.bo | 
| 187e0 | 74 74 6f 6d 2d 75 70 20 73 65 61 72 63 68 20 66    6f 72 20 66 69 6c 65 73 20 69 6e 20 4c 49 53 54 | ttom-up.search.for.files.in.LIST | 
| 18800 | 2e 0a 49 66 20 4c 49 53 54 20 69 73 20 6e 69 6c    2c 20 75 73 65 20 60 70 72 6f 6a 65 63 74 69 6c | ..If.LIST.is.nil,.use.`projectil | 
| 18820 | 65 2d 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 2d 66    69 6c 65 73 2d 62 6f 74 74 6f 6d 2d 75 70 27 20 | e-project-root-files-bottom-up'. | 
| 18840 | 69 6e 73 74 65 61 64 2e 0a 52 65 74 75 72 6e 20    74 68 65 20 66 69 72 73 74 20 28 62 6f 74 74 6f | instead..Return.the.first.(botto | 
| 18860 | 6d 6d 6f 73 74 29 20 6d 61 74 63 68 65 64 20 64    69 72 65 63 74 6f 72 79 20 6f 72 20 6e 69 6c 20 | mmost).matched.directory.or.nil. | 
| 18880 | 69 66 20 6e 6f 74 20 66 6f 75 6e 64 2e 22 0a 20    20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 6c 6f 63 | if.not.found."...(projectile-loc | 
| 188a0 | 61 74 65 2d 64 6f 6d 69 6e 61 74 69 6e 67 2d 66    69 6c 65 0a 20 20 20 64 69 72 0a 20 20 20 28 6c | ate-dominating-file....dir....(l | 
| 188c0 | 61 6d 62 64 61 20 28 64 69 72 65 63 74 6f 72 79    29 0a 20 20 20 20 20 28 6c 65 74 20 28 28 66 69 | ambda.(directory)......(let.((fi | 
| 188e0 | 6c 65 73 20 28 6d 61 70 63 61 72 20 28 6c 61 6d    62 64 61 20 28 66 69 6c 65 29 20 28 65 78 70 61 | les.(mapcar.(lambda.(file).(expa | 
| 18900 | 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 66 69 6c    65 20 64 69 72 65 63 74 6f 72 79 29 29 0a 20 20 | nd-file-name.file.directory))... | 
| 18920 | 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 6f 72 20 6c 69 73 74 | ........................(or.list | 
| 18940 | 20 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a    65 63 74 2d 72 6f 6f 74 2d 66 69 6c 65 73 2d 62 | .projectile-project-root-files-b | 
| 18960 | 6f 74 74 6f 6d 2d 75 70 29 29 29 29 0a 20 20 20    20 20 20 20 28 63 6c 2d 73 6f 6d 65 20 28 6c 61 | ottom-up))))........(cl-some.(la | 
| 18980 | 6d 62 64 61 20 28 66 69 6c 65 29 20 28 61 6e 64    20 66 69 6c 65 20 28 66 69 6c 65 2d 65 78 69 73 | mbda.(file).(and.file.(file-exis | 
| 189a0 | 74 73 2d 70 20 66 69 6c 65 29 29 29 20 66 69 6c    65 73 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 | ts-p.file))).files)))))..(defun. | 
| 189c0 | 70 72 6f 6a 65 63 74 69 6c 65 2d 72 6f 6f 74 2d    74 6f 70 2d 64 6f 77 6e 2d 72 65 63 75 72 72 69 | projectile-root-top-down-recurri | 
| 189e0 | 6e 67 20 28 64 69 72 20 26 6f 70 74 69 6f 6e 61    6c 20 6c 69 73 74 29 0a 20 20 22 49 64 65 6e 74 | ng.(dir.&optional.list)..."Ident | 
| 18a00 | 69 66 79 20 61 20 70 72 6f 6a 65 63 74 20 72 6f    6f 74 20 69 6e 20 44 49 52 20 62 79 20 72 65 63 | ify.a.project.root.in.DIR.by.rec | 
| 18a20 | 75 72 72 69 6e 67 20 74 6f 70 2d 64 6f 77 6e 20    73 65 61 72 63 68 20 66 6f 72 20 66 69 6c 65 73 | urring.top-down.search.for.files | 
| 18a40 | 20 69 6e 20 4c 49 53 54 2e 0a 49 66 20 4c 49 53    54 20 69 73 20 6e 69 6c 2c 20 75 73 65 20 60 70 | .in.LIST..If.LIST.is.nil,.use.`p | 
| 18a60 | 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63    74 2d 72 6f 6f 74 2d 66 69 6c 65 73 2d 74 6f 70 | rojectile-project-root-files-top | 
| 18a80 | 2d 64 6f 77 6e 2d 72 65 63 75 72 72 69 6e 67 27    0a 69 6e 73 74 65 61 64 2e 20 20 52 65 74 75 72 | -down-recurring'.instead...Retur | 
| 18aa0 | 6e 20 74 68 65 20 6c 61 73 74 20 28 62 6f 74 74    6f 6d 6d 6f 73 74 29 20 6d 61 74 63 68 65 64 20 | n.the.last.(bottommost).matched. | 
| 18ac0 | 64 69 72 65 63 74 6f 72 79 20 69 6e 20 74 68 65    0a 74 6f 70 6d 6f 73 74 20 73 65 71 75 65 6e 63 | directory.in.the.topmost.sequenc | 
| 18ae0 | 65 20 6f 66 20 6d 61 74 63 68 65 64 20 64 69 72    65 63 74 6f 72 69 65 73 2e 20 20 4e 69 6c 20 6f | e.of.matched.directories...Nil.o | 
| 18b00 | 74 68 65 72 77 69 73 65 2e 22 0a 20 20 28 63 6c    2d 73 6f 6d 65 0a 20 20 20 28 6c 61 6d 62 64 61 | therwise."...(cl-some....(lambda | 
| 18b20 | 20 28 66 29 0a 20 20 20 20 20 28 70 72 6f 6a 65    63 74 69 6c 65 2d 6c 6f 63 61 74 65 2d 64 6f 6d | .(f)......(projectile-locate-dom | 
| 18b40 | 69 6e 61 74 69 6e 67 2d 66 69 6c 65 0a 20 20 20    20 20 20 64 69 72 0a 20 20 20 20 20 20 28 6c 61 | inating-file.......dir.......(la | 
| 18b60 | 6d 62 64 61 20 28 64 69 72 29 0a 20 20 20 20 20    20 20 20 28 61 6e 64 20 28 70 72 6f 6a 65 63 74 | mbda.(dir).........(and.(project | 
| 18b80 | 69 6c 65 2d 66 69 6c 65 2d 65 78 69 73 74 73 2d    70 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 65 78 | ile-file-exists-p.(projectile-ex | 
| 18ba0 | 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 2d 77    69 6c 64 63 61 72 64 20 66 20 64 69 72 29 29 0a | pand-file-name-wildcard.f.dir)). | 
| 18bc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72    20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 6c | .............(or.(string-match.l | 
| 18be0 | 6f 63 61 74 65 2d 64 6f 6d 69 6e 61 74 69 6e 67    2d 73 74 6f 70 2d 64 69 72 2d 72 65 67 65 78 70 | ocate-dominating-stop-dir-regexp | 
| 18c00 | 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 70 61 72    65 6e 74 20 64 69 72 29 29 0a 20 20 20 20 20 20 | .(projectile-parent.dir))....... | 
| 18c20 | 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20    28 70 72 6f 6a 65 63 74 69 6c 65 2d 66 69 6c 65 | ...........(not.(projectile-file | 
| 18c40 | 2d 65 78 69 73 74 73 2d 70 20 28 70 72 6f 6a 65    63 74 69 6c 65 2d 65 78 70 61 6e 64 2d 66 69 6c | -exists-p.(projectile-expand-fil | 
| 18c60 | 65 2d 6e 61 6d 65 2d 77 69 6c 64 63 61 72 64 20    66 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 70 61 | e-name-wildcard.f.(projectile-pa | 
| 18c80 | 72 65 6e 74 20 64 69 72 29 29 29 29 29 29 29 29    29 0a 20 20 20 28 6f 72 20 6c 69 73 74 20 70 72 | rent.dir)))))))))....(or.list.pr | 
| 18ca0 | 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74    2d 72 6f 6f 74 2d 66 69 6c 65 73 2d 74 6f 70 2d | ojectile-project-root-files-top- | 
| 18cc0 | 64 6f 77 6e 2d 72 65 63 75 72 72 69 6e 67 29 29    29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 | down-recurring)))..(defun.projec | 
| 18ce0 | 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 72 6f 6f    74 20 28 26 6f 70 74 69 6f 6e 61 6c 20 64 69 72 | tile-project-root.(&optional.dir | 
| 18d00 | 29 0a 20 20 22 52 65 74 72 69 65 76 65 73 20 74    68 65 20 72 6f 6f 74 20 64 69 72 65 63 74 6f 72 | )..."Retrieves.the.root.director | 
| 18d20 | 79 20 6f 66 20 61 20 70 72 6f 6a 65 63 74 20 69    66 20 61 76 61 69 6c 61 62 6c 65 2e 0a 49 66 20 | y.of.a.project.if.available..If. | 
| 18d40 | 44 49 52 20 69 73 20 6e 6f 74 20 73 75 70 70 6c    69 65 64 20 69 74 73 20 73 65 74 20 74 6f 20 74 | DIR.is.not.supplied.its.set.to.t | 
| 18d60 | 68 65 20 63 75 72 72 65 6e 74 20 64 69 72 65 63    74 6f 72 79 20 62 79 20 64 65 66 61 75 6c 74 2e | he.current.directory.by.default. | 
| 18d80 | 22 0a 20 20 28 6c 65 74 20 28 28 64 69 72 20 28    6f 72 20 64 69 72 20 64 65 66 61 75 6c 74 2d 64 | "...(let.((dir.(or.dir.default-d | 
| 18da0 | 69 72 65 63 74 6f 72 79 29 29 29 0a 20 20 20 20    3b 3b 20 42 61 63 6b 20 6f 75 74 20 6f 66 20 61 | irectory))).....;;.Back.out.of.a | 
| 18dc0 | 6e 79 20 61 72 63 68 69 76 65 73 2c 20 74 68 65    20 70 72 6f 6a 65 63 74 20 77 69 6c 6c 20 6c 69 | ny.archives,.the.project.will.li | 
| 18de0 | 76 65 20 6f 6e 20 74 68 65 20 6f 75 74 73 69 64    65 20 61 6e 64 0a 20 20 20 20 3b 3b 20 73 65 61 | ve.on.the.outside.and.....;;.sea | 
| 18e00 | 72 63 68 69 6e 67 20 74 68 65 6d 20 69 73 20 73    6c 6f 77 2e 0a 20 20 20 20 28 77 68 65 6e 20 28 | rching.them.is.slow......(when.( | 
| 18e20 | 61 6e 64 20 28 66 62 6f 75 6e 64 70 20 27 74 72    61 6d 70 2d 61 72 63 68 69 76 65 2d 66 69 6c 65 | and.(fboundp.'tramp-archive-file | 
| 18e40 | 2d 6e 61 6d 65 2d 61 72 63 68 69 76 65 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 | -name-archive)................(t | 
| 18e60 | 72 61 6d 70 2d 61 72 63 68 69 76 65 2d 66 69 6c    65 2d 6e 61 6d 65 2d 70 20 64 69 72 29 29 0a 20 | ramp-archive-file-name-p.dir)).. | 
| 18e80 | 20 20 20 20 20 28 73 65 74 71 20 64 69 72 20 28    66 69 6c 65 2d 6e 61 6d 65 2d 64 69 72 65 63 74 | .....(setq.dir.(file-name-direct | 
| 18ea0 | 6f 72 79 20 28 74 72 61 6d 70 2d 61 72 63 68 69    76 65 2d 66 69 6c 65 2d 6e 61 6d 65 2d 61 72 63 | ory.(tramp-archive-file-name-arc | 
| 18ec0 | 68 69 76 65 20 64 69 72 29 29 29 29 0a 20 20 20    20 3b 3b 20 74 68 65 20 63 61 63 68 65 64 20 76 | hive.dir)))).....;;.the.cached.v | 
| 18ee0 | 61 6c 75 65 20 77 69 6c 6c 20 62 65 20 27 6e 6f    6e 65 20 69 6e 20 74 68 65 20 63 61 73 65 20 6f | alue.will.be.'none.in.the.case.o | 
| 18f00 | 66 20 6e 6f 20 70 72 6f 6a 65 63 74 20 72 6f 6f    74 20 28 74 68 69 73 20 69 73 20 74 6f 0a 20 20 | f.no.project.root.(this.is.to... | 
| 18f20 | 20 20 3b 3b 20 65 6e 73 75 72 65 20 69 74 20 69    73 20 6e 6f 74 20 72 65 65 76 61 6c 75 61 74 65 | ..;;.ensure.it.is.not.reevaluate | 
| 18f40 | 64 20 65 61 63 68 20 74 69 6d 65 20 77 68 65 6e    20 6e 6f 74 20 69 6e 73 69 64 65 20 61 20 70 72 | d.each.time.when.not.inside.a.pr | 
| 18f60 | 6f 6a 65 63 74 29 20 73 6f 20 75 73 65 0a 20 20    20 20 3b 3b 20 63 6c 2d 73 75 62 73 74 20 74 6f | oject).so.use.....;;.cl-subst.to | 
| 18f80 | 20 72 65 70 6c 61 63 65 20 74 68 69 73 20 27 6e    6f 6e 65 20 76 61 6c 75 65 20 77 69 74 68 20 6e | .replace.this.'none.value.with.n | 
| 18fa0 | 69 6c 20 73 6f 20 61 20 6e 69 6c 20 76 61 6c 75    65 20 69 73 20 75 73 65 64 0a 20 20 20 20 3b 3b | il.so.a.nil.value.is.used.....;; | 
| 18fc0 | 20 69 6e 73 74 65 61 64 0a 20 20 20 20 28 63 6c    2d 73 75 62 73 74 20 6e 69 6c 20 27 6e 6f 6e 65 | .instead.....(cl-subst.nil.'none | 
| 18fe0 | 0a 20 20 20 20 20 20 28 6f 72 0a 20 20 20 20 20    20 20 3b 3b 20 69 66 20 77 65 27 76 65 20 61 6c | .......(or........;;.if.we've.al | 
| 19000 | 72 65 61 64 79 20 66 61 69 6c 65 64 20 74 6f 20    66 69 6e 64 20 61 20 70 72 6f 6a 65 63 74 20 64 | ready.failed.to.find.a.project.d | 
| 19020 | 69 72 20 66 6f 72 20 74 68 69 73 0a 20 20 20 20    20 20 20 3b 3b 20 64 69 72 2c 20 61 6e 64 20 63 | ir.for.this........;;.dir,.and.c | 
| 19040 | 61 63 68 65 64 20 74 68 61 74 20 66 61 69 6c 75    72 65 2c 20 64 6f 6e 27 74 20 72 65 63 6f 6d 70 | ached.that.failure,.don't.recomp | 
| 19060 | 75 74 65 0a 20 20 20 20 20 20 20 28 6c 65 74 2a    20 28 28 63 61 63 68 65 2d 6b 65 79 20 28 66 6f | ute........(let*.((cache-key.(fo | 
| 19080 | 72 6d 61 74 20 22 70 72 6f 6a 65 63 74 69 6c 65    72 6f 6f 74 6c 65 73 73 2d 25 73 22 20 64 69 72 | rmat."projectilerootless-%s".dir | 
| 190a0 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 63 61 63 68 65 2d 76 61 6c 75 65 20 28 67 | ))...............(cache-value.(g | 
| 190c0 | 65 74 68 61 73 68 20 63 61 63 68 65 2d 6b 65 79    20 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a | ethash.cache-key.projectile-proj | 
| 190e0 | 65 63 74 2d 72 6f 6f 74 2d 63 61 63 68 65 29 29    29 0a 20 20 20 20 20 20 20 20 20 63 61 63 68 65 | ect-root-cache)))..........cache | 
| 19100 | 2d 76 61 6c 75 65 29 0a 20 20 20 20 20 20 20 3b    3b 20 69 66 20 74 68 65 20 66 69 6c 65 20 69 73 | -value)........;;.if.the.file.is | 
| 19120 | 6e 27 74 20 6c 6f 63 61 6c 2c 20 61 6e 64 20 77    65 27 72 65 20 6e 6f 74 20 63 6f 6e 6e 65 63 74 | n't.local,.and.we're.not.connect | 
| 19140 | 65 64 2c 20 64 6f 6e 27 74 20 74 72 79 20 74 6f    0a 20 20 20 20 20 20 20 3b 3b 20 66 69 6e 64 20 | ed,.don't.try.to........;;.find. | 
| 19160 | 61 20 72 6f 6f 74 20 6e 6f 77 20 6e 6f 77 2c 20    62 75 74 20 64 6f 6e 27 74 20 63 61 63 68 65 20 | a.root.now.now,.but.don't.cache. | 
| 19180 | 66 61 69 6c 75 72 65 2c 20 61 73 20 77 65 20 6d    69 67 68 74 0a 20 20 20 20 20 20 20 3b 3b 20 72 | failure,.as.we.might........;;.r | 
| 191a0 | 65 2d 63 6f 6e 6e 65 63 74 2e 20 20 54 68 65 20    60 69 73 2d 6c 6f 63 61 6c 27 20 61 6e 64 20 60 | e-connect...The.`is-local'.and.` | 
| 191c0 | 69 73 2d 63 6f 6e 6e 65 63 74 65 64 27 20 76 61    72 69 61 62 6c 65 73 20 61 72 65 0a 20 20 20 20 | is-connected'.variables.are..... | 
| 191e0 | 20 20 20 3b 3b 20 75 73 65 64 20 74 6f 20 66 69    78 20 74 68 65 20 62 65 68 61 76 69 6f 72 20 77 | ...;;.used.to.fix.the.behavior.w | 
| 19200 | 68 65 72 65 20 45 6d 61 63 73 20 68 61 6e 67 73    20 62 65 63 61 75 73 65 20 6f 66 0a 20 20 20 20 | here.Emacs.hangs.because.of..... | 
| 19220 | 20 20 20 3b 3b 20 50 72 6f 6a 65 63 74 69 6c 65    20 77 68 65 6e 20 79 6f 75 20 6f 70 65 6e 20 61 | ...;;.Projectile.when.you.open.a | 
| 19240 | 20 66 69 6c 65 20 6f 76 65 72 20 54 52 41 4d 50    2e 20 49 74 20 62 61 73 69 63 61 6c 6c 79 0a 20 | .file.over.TRAMP..It.basically.. | 
| 19260 | 20 20 20 20 20 20 3b 3b 20 70 72 65 76 65 6e 74    73 20 50 72 6f 6a 65 63 74 69 6c 65 20 66 72 6f | ......;;.prevents.Projectile.fro | 
| 19280 | 6d 20 74 72 79 69 6e 67 20 74 6f 20 66 69 6e 64    20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f | m.trying.to.find.information.abo | 
| 192a0 | 75 74 0a 20 20 20 20 20 20 20 3b 3b 20 66 69 6c    65 73 20 66 6f 72 20 77 68 69 63 68 20 69 74 27 | ut........;;.files.for.which.it' | 
| 192c0 | 73 20 6e 6f 74 20 70 6f 73 73 69 62 6c 65 20 74    6f 20 67 65 74 20 74 68 61 74 20 69 6e 66 6f 72 | s.not.possible.to.get.that.infor | 
| 192e0 | 6d 61 74 69 6f 6e 0a 20 20 20 20 20 20 20 3b 3b    20 72 69 67 68 74 20 6e 6f 77 2e 0a 20 20 20 20 | mation........;;.right.now...... | 
| 19300 | 20 20 20 28 6c 65 74 20 28 28 69 73 2d 6c 6f 63    61 6c 20 28 6e 6f 74 20 28 66 69 6c 65 2d 72 65 | ...(let.((is-local.(not.(file-re | 
| 19320 | 6d 6f 74 65 2d 70 20 64 69 72 29 29 29 20 20 20    20 20 20 3b 3b 20 60 74 72 75 65 27 20 69 66 20 | mote-p.dir)))......;;.`true'.if. | 
| 19340 | 74 68 65 20 66 69 6c 65 20 69 73 20 6c 6f 63 61    6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | the.file.is.local..............( | 
| 19360 | 69 73 2d 63 6f 6e 6e 65 63 74 65 64 20 28 66 69    6c 65 2d 72 65 6d 6f 74 65 2d 70 20 64 69 72 20 | is-connected.(file-remote-p.dir. | 
| 19380 | 6e 69 6c 20 74 29 29 29 20 3b 3b 20 60 74 72 75    65 27 20 69 66 20 74 68 65 20 66 69 6c 65 20 69 | nil.t))).;;.`true'.if.the.file.i | 
| 193a0 | 73 20 72 65 6d 6f 74 65 20 41 4e 44 20 77 65 20    61 72 65 20 63 6f 6e 6e 65 63 74 65 64 20 74 6f | s.remote.AND.we.are.connected.to | 
| 193c0 | 20 74 68 65 20 72 65 6d 6f 74 65 0a 20 20 20 20    20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 6f 72 | .the.remote..........(unless.(or | 
| 193e0 | 20 69 73 2d 6c 6f 63 61 6c 20 69 73 2d 63 6f 6e    6e 65 63 74 65 64 29 0a 20 20 20 20 20 20 20 20 | .is-local.is-connected)......... | 
| 19400 | 20 20 20 27 6e 6f 6e 65 29 29 0a 20 20 20 20 20    20 20 3b 3b 20 69 66 20 74 68 65 20 66 69 6c 65 | ...'none))........;;.if.the.file | 
| 19420 | 20 69 73 20 6c 6f 63 61 6c 20 6f 72 20 77 65 27    72 65 20 63 6f 6e 6e 65 63 74 65 64 20 74 6f 20 | .is.local.or.we're.connected.to. | 
| 19440 | 69 74 20 76 69 61 20 54 52 41 4d 50 2c 20 72 75    6e 0a 20 20 20 20 20 20 20 3b 3b 20 74 68 72 6f | it.via.TRAMP,.run........;;.thro | 
| 19460 | 75 67 68 20 74 68 65 20 70 72 6f 6a 65 63 74 20    72 6f 6f 74 20 66 75 6e 63 74 69 6f 6e 73 20 75 | ugh.the.project.root.functions.u | 
| 19480 | 6e 74 69 6c 20 77 65 20 66 69 6e 64 20 61 20 70    72 6f 6a 65 63 74 20 64 69 72 0a 20 20 20 20 20 | ntil.we.find.a.project.dir...... | 
| 194a0 | 20 20 28 63 6c 2d 73 6f 6d 65 0a 20 20 20 20 20    20 20 20 28 6c 61 6d 62 64 61 20 28 66 75 6e 63 | ..(cl-some.........(lambda.(func | 
| 194c0 | 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74    2a 20 28 28 63 61 63 68 65 2d 6b 65 79 20 28 66 | )...........(let*.((cache-key.(f | 
| 194e0 | 6f 72 6d 61 74 20 22 25 73 2d 25 73 22 20 66 75    6e 63 20 64 69 72 29 29 0a 20 20 20 20 20 20 20 | ormat."%s-%s".func.dir))........ | 
| 19500 | 20 20 20 20 20 20 20 20 20 20 28 63 61 63 68 65    2d 76 61 6c 75 65 20 28 67 65 74 68 61 73 68 20 | ..........(cache-value.(gethash. | 
| 19520 | 63 61 63 68 65 2d 6b 65 79 20 70 72 6f 6a 65 63    74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 72 6f 6f | cache-key.projectile-project-roo | 
| 19540 | 74 2d 63 61 63 68 65 29 29 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 28 69 66 20 28 61 6e 64 20 | t-cache))).............(if.(and. | 
| 19560 | 63 61 63 68 65 2d 76 61 6c 75 65 20 28 66 69 6c    65 2d 65 78 69 73 74 73 2d 70 20 63 61 63 68 65 | cache-value.(file-exists-p.cache | 
| 19580 | 2d 76 61 6c 75 65 29 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 63 61 63 68 65 2d 76 | -value)).................cache-v | 
| 195a0 | 61 6c 75 65 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 6c 65 74 20 28 28 76 61 6c 75 65 20 | alue...............(let.((value. | 
| 195c0 | 28 66 75 6e 63 61 6c 6c 20 66 75 6e 63 20 28 66    69 6c 65 2d 74 72 75 65 6e 61 6d 65 20 64 69 72 | (funcall.func.(file-truename.dir | 
| 195e0 | 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 70 75 74 68 61 73 68 20 63 61 | )))).................(puthash.ca | 
| 19600 | 63 68 65 2d 6b 65 79 20 76 61 6c 75 65 20 70 72    6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 | che-key.value.projectile-project | 
| 19620 | 2d 72 6f 6f 74 2d 63 61 63 68 65 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 6c | -root-cache).................val | 
| 19640 | 75 65 29 29 29 29 0a 20 20 20 20 20 20 20 20 70    72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 | ue)))).........projectile-projec | 
| 19660 | 74 2d 72 6f 6f 74 2d 66 75 6e 63 74 69 6f 6e 73    29 0a 20 20 20 20 20 20 20 3b 3b 20 69 66 20 77 | t-root-functions)........;;.if.w | 
| 19680 | 65 20 67 65 74 20 68 65 72 65 2c 20 77 65 20 68    61 76 65 20 66 61 69 6c 65 64 20 74 6f 20 66 69 | e.get.here,.we.have.failed.to.fi | 
| 196a0 | 6e 64 20 61 20 72 6f 6f 74 20 62 79 20 61 6c 6c    0a 20 20 20 20 20 20 20 3b 3b 20 63 6f 6e 76 65 | nd.a.root.by.all........;;.conve | 
| 196c0 | 6e 74 69 6f 6e 61 6c 20 6d 65 61 6e 73 2c 20 61    6e 64 20 77 65 20 61 73 73 75 6d 65 20 74 68 65 | ntional.means,.and.we.assume.the | 
| 196e0 | 20 66 61 69 6c 75 72 65 20 69 73 6e 27 74 20 74    72 61 6e 73 69 65 6e 74 0a 20 20 20 20 20 20 20 | .failure.isn't.transient........ | 
| 19700 | 3b 3b 20 2f 20 6e 65 74 77 6f 72 6b 20 72 65 6c    61 74 65 64 2c 20 73 6f 20 63 61 63 68 65 20 74 | ;;./.network.related,.so.cache.t | 
| 19720 | 68 65 20 66 61 69 6c 75 72 65 0a 20 20 20 20 20    20 20 28 6c 65 74 20 28 28 63 61 63 68 65 2d 6b | he.failure........(let.((cache-k | 
| 19740 | 65 79 20 28 66 6f 72 6d 61 74 20 22 70 72 6f 6a    65 63 74 69 6c 65 72 6f 6f 74 6c 65 73 73 2d 25 | ey.(format."projectilerootless-% | 
| 19760 | 73 22 20 64 69 72 29 29 29 0a 20 20 20 20 20 20    20 20 20 28 70 75 74 68 61 73 68 20 63 61 63 68 | s".dir)))..........(puthash.cach | 
| 19780 | 65 2d 6b 65 79 20 27 6e 6f 6e 65 20 70 72 6f 6a    65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 72 | e-key.'none.projectile-project-r | 
| 197a0 | 6f 6f 74 2d 63 61 63 68 65 29 0a 20 20 20 20 20    20 20 20 20 27 6e 6f 6e 65 29 29 29 29 29 0a 0a | oot-cache)..........'none))))).. | 
| 197c0 | 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c    65 2d 65 6e 73 75 72 65 2d 70 72 6f 6a 65 63 74 | (defun.projectile-ensure-project | 
| 197e0 | 20 28 64 69 72 29 0a 20 20 22 45 6e 73 75 72 65    20 74 68 61 74 20 44 49 52 20 69 73 20 6e 6f 6e | .(dir)..."Ensure.that.DIR.is.non | 
| 19800 | 2d 6e 69 6c 2e 0a 55 73 65 66 75 6c 20 66 6f 72    20 63 6f 6d 6d 61 6e 64 73 20 74 68 61 74 20 65 | -nil..Useful.for.commands.that.e | 
| 19820 | 78 70 65 63 74 20 74 68 65 20 70 72 65 73 65 6e    63 65 20 6f 66 20 61 20 70 72 6f 6a 65 63 74 2e | xpect.the.presence.of.a.project. | 
| 19840 | 0a 43 6f 6e 74 72 6f 6c 6c 65 64 20 62 79 20 60    70 72 6f 6a 65 63 74 69 6c 65 2d 72 65 71 75 69 | .Controlled.by.`projectile-requi | 
| 19860 | 72 65 2d 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 27    2e 0a 0a 53 65 65 20 61 6c 73 6f 20 60 70 72 6f | re-project-root'...See.also.`pro | 
| 19880 | 6a 65 63 74 69 6c 65 2d 61 63 71 75 69 72 65 2d    72 6f 6f 74 27 2e 22 0a 20 20 28 69 66 20 64 69 | jectile-acquire-root'."...(if.di | 
| 198a0 | 72 0a 20 20 20 20 20 20 64 69 72 0a 20 20 20 20    28 63 6f 6e 64 0a 20 20 20 20 20 28 28 65 71 20 | r.......dir.....(cond......((eq. | 
| 198c0 | 70 72 6f 6a 65 63 74 69 6c 65 2d 72 65 71 75 69    72 65 2d 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 20 | projectile-require-project-root. | 
| 198e0 | 27 70 72 6f 6d 70 74 29 20 28 70 72 6f 6a 65 63    74 69 6c 65 2d 63 6f 6d 70 6c 65 74 69 6e 67 2d | 'prompt).(projectile-completing- | 
| 19900 | 72 65 61 64 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 | read............................ | 
| 19920 | 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 22 53 77 69 74 63 68 | ........................."Switch | 
| 19940 | 20 74 6f 20 70 72 6f 6a 65 63 74 3a 20 22 20 70    72 6f 6a 65 63 74 69 6c 65 2d 6b 6e 6f 77 6e 2d | .to.project:.".projectile-known- | 
| 19960 | 70 72 6f 6a 65 63 74 73 29 29 0a 20 20 20 20 20    28 70 72 6f 6a 65 63 74 69 6c 65 2d 72 65 71 75 | projects))......(projectile-requ | 
| 19980 | 69 72 65 2d 70 72 6f 6a 65 63 74 2d 72 6f 6f 74    20 28 65 72 72 6f 72 20 22 50 72 6f 6a 65 63 74 | ire-project-root.(error."Project | 
| 199a0 | 69 6c 65 20 63 61 6e 6e 6f 74 20 66 69 6e 64 20    61 20 70 72 6f 6a 65 63 74 20 64 65 66 69 6e 69 | ile.cannot.find.a.project.defini | 
| 199c0 | 74 69 6f 6e 20 69 6e 20 25 73 22 20 64 65 66 61    75 6c 74 2d 64 69 72 65 63 74 6f 72 79 29 29 0a | tion.in.%s".default-directory)). | 
| 199e0 | 20 20 20 20 20 28 74 20 64 65 66 61 75 6c 74 2d    64 69 72 65 63 74 6f 72 79 29 29 29 29 0a 0a 28 | .....(t.default-directory))))..( | 
| 19a00 | 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65    2d 61 63 71 75 69 72 65 2d 72 6f 6f 74 20 28 26 | defun.projectile-acquire-root.(& | 
| 19a20 | 6f 70 74 69 6f 6e 61 6c 20 64 69 72 29 0a 20 20    22 46 69 6e 64 20 74 68 65 20 63 75 72 72 65 6e | optional.dir)..."Find.the.curren | 
| 19a40 | 74 20 70 72 6f 6a 65 63 74 20 72 6f 6f 74 2c 20    61 6e 64 20 70 72 6f 6d 70 74 73 20 74 68 65 20 | t.project.root,.and.prompts.the. | 
| 19a60 | 75 73 65 72 20 66 6f 72 20 69 74 20 69 66 20 74    68 61 74 20 66 61 69 6c 73 2e 0a 50 72 6f 76 69 | user.for.it.if.that.fails..Provi | 
| 19a80 | 64 65 73 20 74 68 65 20 63 6f 6d 6d 6f 6e 20 69    64 69 6f 6d 20 28 70 72 6f 6a 65 63 74 69 6c 65 | des.the.common.idiom.(projectile | 
| 19aa0 | 2d 65 6e 73 75 72 65 2d 70 72 6f 6a 65 63 74 20    28 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a | -ensure-project.(projectile-proj | 
| 19ac0 | 65 63 74 2d 72 6f 6f 74 29 29 2e 0a 53 74 61 72    74 73 20 74 68 65 20 73 65 61 72 63 68 20 66 6f | ect-root))..Starts.the.search.fo | 
| 19ae0 | 72 20 74 68 65 20 70 72 6f 6a 65 63 74 20 77 69    74 68 20 44 49 52 2e 22 0a 20 20 28 70 72 6f 6a | r.the.project.with.DIR."...(proj | 
| 19b00 | 65 63 74 69 6c 65 2d 65 6e 73 75 72 65 2d 70 72    6f 6a 65 63 74 20 28 70 72 6f 6a 65 63 74 69 6c | ectile-ensure-project.(projectil | 
| 19b20 | 65 2d 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 20 64    69 72 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 | e-project-root.dir)))..(defun.pr | 
| 19b40 | 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74    2d 70 20 28 26 6f 70 74 69 6f 6e 61 6c 20 64 69 | ojectile-project-p.(&optional.di | 
| 19b60 | 72 29 0a 20 20 22 43 68 65 63 6b 20 69 66 20 44    49 52 20 69 73 20 61 20 70 72 6f 6a 65 63 74 2e | r)..."Check.if.DIR.is.a.project. | 
| 19b80 | 0a 44 65 66 61 75 6c 74 73 20 74 6f 20 74 68 65    20 63 75 72 72 65 6e 74 20 64 69 72 65 63 74 6f | .Defaults.to.the.current.directo | 
| 19ba0 | 72 79 20 69 66 20 6e 6f 74 20 70 72 6f 76 69 64    65 64 0a 65 78 70 6c 69 63 69 74 6c 79 2e 22 0a | ry.if.not.provided.explicitly.". | 
| 19bc0 | 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72    6f 6a 65 63 74 2d 72 6f 6f 74 20 28 6f 72 20 64 | ..(projectile-project-root.(or.d | 
| 19be0 | 69 72 20 64 65 66 61 75 6c 74 2d 64 69 72 65 63    74 6f 72 79 29 29 29 0a 0a 28 64 65 66 75 6e 20 | ir.default-directory)))..(defun. | 
| 19c00 | 70 72 6f 6a 65 63 74 69 6c 65 2d 64 65 66 61 75    6c 74 2d 70 72 6f 6a 65 63 74 2d 6e 61 6d 65 20 | projectile-default-project-name. | 
| 19c20 | 28 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 29 0a 20    20 22 44 65 66 61 75 6c 74 20 66 75 6e 63 74 69 | (project-root)..."Default.functi | 
| 19c40 | 6f 6e 20 75 73 65 64 20 74 6f 20 63 72 65 61 74    65 20 74 68 65 20 70 72 6f 6a 65 63 74 20 6e 61 | on.used.to.create.the.project.na | 
| 19c60 | 6d 65 2e 0a 54 68 65 20 70 72 6f 6a 65 63 74 20    6e 61 6d 65 20 69 73 20 62 61 73 65 64 20 6f 6e | me..The.project.name.is.based.on | 
| 19c80 | 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 50 52    4f 4a 45 43 54 2d 52 4f 4f 54 2e 22 0a 20 20 28 | .the.value.of.PROJECT-ROOT."...( | 
| 19ca0 | 66 69 6c 65 2d 6e 61 6d 65 2d 6e 6f 6e 64 69 72    65 63 74 6f 72 79 20 28 64 69 72 65 63 74 6f 72 | file-name-nondirectory.(director | 
| 19cc0 | 79 2d 66 69 6c 65 2d 6e 61 6d 65 20 70 72 6f 6a    65 63 74 2d 72 6f 6f 74 29 29 29 0a 0a 28 64 65 | y-file-name.project-root)))..(de | 
| 19ce0 | 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 70    72 6f 6a 65 63 74 2d 6e 61 6d 65 20 28 26 6f 70 | fun.projectile-project-name.(&op | 
| 19d00 | 74 69 6f 6e 61 6c 20 70 72 6f 6a 65 63 74 29 0a    20 20 22 52 65 74 75 72 6e 20 70 72 6f 6a 65 63 | tional.project)..."Return.projec | 
| 19d20 | 74 20 6e 61 6d 65 2e 0a 49 66 20 50 52 4f 4a 45    43 54 20 69 73 20 6e 6f 74 20 73 70 65 63 69 66 | t.name..If.PROJECT.is.not.specif | 
| 19d40 | 69 65 64 20 61 63 74 73 20 6f 6e 20 74 68 65 20    63 75 72 72 65 6e 74 20 70 72 6f 6a 65 63 74 2e | ied.acts.on.the.current.project. | 
| 19d60 | 22 0a 20 20 28 6f 72 20 70 72 6f 6a 65 63 74 69    6c 65 2d 70 72 6f 6a 65 63 74 2d 6e 61 6d 65 0a | "...(or.projectile-project-name. | 
| 19d80 | 20 20 20 20 20 20 28 6c 65 74 20 28 28 70 72 6f    6a 65 63 74 2d 72 6f 6f 74 20 28 6f 72 20 70 72 | ......(let.((project-root.(or.pr | 
| 19da0 | 6f 6a 65 63 74 20 28 70 72 6f 6a 65 63 74 69 6c    65 2d 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 29 29 | oject.(projectile-project-root)) | 
| 19dc0 | 29 29 0a 20 20 20 20 20 20 20 20 28 69 66 20 70    72 6f 6a 65 63 74 2d 72 6f 6f 74 0a 20 20 20 20 | )).........(if.project-root..... | 
| 19de0 | 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c    20 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a | ........(funcall.projectile-proj | 
| 19e00 | 65 63 74 2d 6e 61 6d 65 2d 66 75 6e 63 74 69 6f    6e 20 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 29 0a | ect-name-function.project-root). | 
| 19e20 | 20 20 20 20 20 20 20 20 20 20 22 2d 22 29 29 29    29 0a 0a 0c 0a 3b 3b 3b 20 50 72 6f 6a 65 63 74 | .........."-"))))....;;;.Project | 
| 19e40 | 20 69 6e 64 65 78 69 6e 67 0a 28 64 65 66 75 6e    20 70 72 6f 6a 65 63 74 69 6c 65 2d 67 65 74 2d | .indexing.(defun.projectile-get- | 
| 19e60 | 70 72 6f 6a 65 63 74 2d 64 69 72 65 63 74 6f 72    69 65 73 20 28 70 72 6f 6a 65 63 74 2d 64 69 72 | project-directories.(project-dir | 
| 19e80 | 29 0a 20 20 22 47 65 74 20 74 68 65 20 6c 69 73    74 20 6f 66 20 50 52 4f 4a 45 43 54 2d 44 49 52 | )..."Get.the.list.of.PROJECT-DIR | 
| 19ea0 | 20 64 69 72 65 63 74 6f 72 69 65 73 20 74 68 61    74 20 61 72 65 20 6f 66 20 69 6e 74 65 72 65 73 | .directories.that.are.of.interes | 
| 19ec0 | 74 20 74 6f 20 74 68 65 20 75 73 65 72 2e 22 0a    20 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 | t.to.the.user."...(mapcar.(lambd | 
| 19ee0 | 61 20 28 73 75 62 64 69 72 29 20 28 63 6f 6e 63    61 74 20 70 72 6f 6a 65 63 74 2d 64 69 72 20 73 | a.(subdir).(concat.project-dir.s | 
| 19f00 | 75 62 64 69 72 29 29 0a 20 20 20 20 20 20 20 20    20 20 28 6f 72 20 28 6e 74 68 20 30 20 28 70 72 | ubdir))...........(or.(nth.0.(pr | 
| 19f20 | 6f 6a 65 63 74 69 6c 65 2d 70 61 72 73 65 2d 64    69 72 63 6f 6e 66 69 67 2d 66 69 6c 65 29 29 20 | ojectile-parse-dirconfig-file)). | 
| 19f40 | 27 28 22 22 29 29 29 29 0a 0a 28 64 65 66 75 6e    20 70 72 6f 6a 65 63 74 69 6c 65 2d 2d 64 69 72 | '(""))))..(defun.projectile--dir | 
| 19f60 | 65 63 74 6f 72 79 2d 70 20 28 64 69 72 65 63 74    6f 72 79 29 0a 20 20 22 43 68 65 63 6b 73 20 69 | ectory-p.(directory)..."Checks.i | 
| 19f80 | 66 20 44 49 52 45 43 54 4f 52 59 20 69 73 20 61    20 73 74 72 69 6e 67 20 64 65 73 69 67 6e 61 74 | f.DIRECTORY.is.a.string.designat | 
| 19fa0 | 69 6e 67 20 61 20 76 61 6c 69 64 20 64 69 72 65    63 74 6f 72 79 2e 22 0a 20 20 28 61 6e 64 20 28 | ing.a.valid.directory."...(and.( | 
| 19fc0 | 73 74 72 69 6e 67 70 20 64 69 72 65 63 74 6f 72    79 29 20 28 66 69 6c 65 2d 64 69 72 65 63 74 6f | stringp.directory).(file-directo | 
| 19fe0 | 72 79 2d 70 20 64 69 72 65 63 74 6f 72 79 29 29    29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 | ry-p.directory)))..(defun.projec | 
| 1a000 | 74 69 6c 65 2d 64 69 72 2d 66 69 6c 65 73 20 28    64 69 72 65 63 74 6f 72 79 29 0a 20 20 22 4c 69 | tile-dir-files.(directory)..."Li | 
| 1a020 | 73 74 20 74 68 65 20 66 69 6c 65 73 20 69 6e 20    44 49 52 45 43 54 4f 52 59 20 61 6e 64 20 69 6e | st.the.files.in.DIRECTORY.and.in | 
| 1a040 | 20 69 74 73 20 73 75 62 2d 64 69 72 65 63 74 6f    72 69 65 73 2e 0a 46 69 6c 65 73 20 61 72 65 20 | .its.sub-directories..Files.are. | 
| 1a060 | 72 65 74 75 72 6e 65 64 20 61 73 20 72 65 6c 61    74 69 76 65 20 70 61 74 68 73 20 74 6f 20 44 49 | returned.as.relative.paths.to.DI | 
| 1a080 | 52 45 43 54 4f 52 59 2e 22 0a 20 20 28 75 6e 6c    65 73 73 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d | RECTORY."...(unless.(projectile- | 
| 1a0a0 | 2d 64 69 72 65 63 74 6f 72 79 2d 70 20 64 69 72    65 63 74 6f 72 79 29 0a 20 20 20 20 28 65 72 72 | -directory-p.directory).....(err | 
| 1a0c0 | 6f 72 20 22 44 69 72 65 63 74 6f 72 79 20 25 53    20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 22 | or."Directory.%S.does.not.exist" | 
| 1a0e0 | 20 64 69 72 65 63 74 6f 72 79 29 29 0a 20 20 3b    3b 20 63 68 65 63 6b 20 66 6f 72 20 61 20 63 61 | .directory))...;;.check.for.a.ca | 
| 1a100 | 63 68 65 20 68 69 74 20 66 69 72 73 74 20 69 66    20 63 61 63 68 69 6e 67 20 69 73 20 65 6e 61 62 | che.hit.first.if.caching.is.enab | 
| 1a120 | 6c 65 64 0a 20 20 28 6c 65 74 20 28 28 66 69 6c    65 73 2d 6c 69 73 74 20 28 61 6e 64 20 70 72 6f | led...(let.((files-list.(and.pro | 
| 1a140 | 6a 65 63 74 69 6c 65 2d 65 6e 61 62 6c 65 2d 63    61 63 68 69 6e 67 0a 20 20 20 20 20 20 20 20 20 | jectile-enable-caching.......... | 
| 1a160 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 67 65 74 68 61 73 68 20 64 69 72 65 63 74 6f | ................(gethash.directo | 
| 1a180 | 72 79 20 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72    6f 6a 65 63 74 73 2d 63 61 63 68 65 29 29 29 29 | ry.projectile-projects-cache)))) | 
| 1a1a0 | 0a 20 20 20 20 3b 3b 20 63 61 63 68 65 20 64 69    73 61 62 6c 65 64 20 6f 72 20 63 61 63 68 65 20 | .....;;.cache.disabled.or.cache. | 
| 1a1c0 | 6d 69 73 73 0a 20 20 20 20 28 6f 72 20 66 69 6c    65 73 2d 6c 69 73 74 0a 20 20 20 20 20 20 20 20 | miss.....(or.files-list......... | 
| 1a1e0 | 28 6c 65 74 20 28 28 76 63 73 20 28 70 72 6f 6a    65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 76 | (let.((vcs.(projectile-project-v | 
| 1a200 | 63 73 20 64 69 72 65 63 74 6f 72 79 29 29 29 0a    20 20 20 20 20 20 20 20 20 20 28 70 63 61 73 65 | cs.directory)))...........(pcase | 
| 1a220 | 20 70 72 6f 6a 65 63 74 69 6c 65 2d 69 6e 64 65    78 69 6e 67 2d 6d 65 74 68 6f 64 0a 20 20 20 20 | .projectile-indexing-method..... | 
| 1a240 | 20 20 20 20 20 20 20 20 28 27 6e 61 74 69 76 65    20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 64 69 72 | ........('native.(projectile-dir | 
| 1a260 | 2d 66 69 6c 65 73 2d 6e 61 74 69 76 65 20 64 69    72 65 63 74 6f 72 79 29 29 0a 20 20 20 20 20 20 | -files-native.directory))....... | 
| 1a280 | 20 20 20 20 20 20 3b 3b 20 75 73 65 20 65 78 74    65 72 6e 61 6c 20 74 6f 6f 6c 73 20 74 6f 20 67 | ......;;.use.external.tools.to.g | 
| 1a2a0 | 65 74 20 74 68 65 20 70 72 6f 6a 65 63 74 20 66    69 6c 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 | et.the.project.files............ | 
| 1a2c0 | 20 28 27 68 79 62 72 69 64 20 28 70 72 6f 6a 65    63 74 69 6c 65 2d 61 64 6a 75 73 74 2d 66 69 6c | .('hybrid.(projectile-adjust-fil | 
| 1a2e0 | 65 73 20 64 69 72 65 63 74 6f 72 79 20 76 63 73    20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 64 69 72 | es.directory.vcs.(projectile-dir | 
| 1a300 | 2d 66 69 6c 65 73 2d 61 6c 69 65 6e 20 64 69 72    65 63 74 6f 72 79 29 29 29 0a 20 20 20 20 20 20 | -files-alien.directory)))....... | 
| 1a320 | 20 20 20 20 20 20 28 27 61 6c 69 65 6e 20 28 70    72 6f 6a 65 63 74 69 6c 65 2d 64 69 72 2d 66 69 | ......('alien.(projectile-dir-fi | 
| 1a340 | 6c 65 73 2d 61 6c 69 65 6e 20 64 69 72 65 63 74    6f 72 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 | les-alien.directory))........... | 
| 1a360 | 20 20 28 5f 20 28 75 73 65 72 2d 65 72 72 6f 72    20 22 55 6e 73 75 70 70 6f 72 74 65 64 20 69 6e | ..(_.(user-error."Unsupported.in | 
| 1a380 | 64 65 78 69 6e 67 20 6d 65 74 68 6f 64 20 60 25    53 27 22 20 70 72 6f 6a 65 63 74 69 6c 65 2d 69 | dexing.method.`%S'".projectile-i | 
| 1a3a0 | 6e 64 65 78 69 6e 67 2d 6d 65 74 68 6f 64 29 29    29 29 29 29 29 0a 0a 3b 3b 3b 20 4e 61 74 69 76 | ndexing-method)))))))..;;;.Nativ | 
| 1a3c0 | 65 20 50 72 6f 6a 65 63 74 20 49 6e 64 65 78 69    6e 67 0a 3b 3b 0a 3b 3b 20 54 68 69 73 20 63 6f | e.Project.Indexing.;;.;;.This.co | 
| 1a3e0 | 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 60 70 72    6f 6a 65 63 74 69 6c 65 2d 69 6e 64 65 78 69 6e | rresponds.to.`projectile-indexin | 
| 1a400 | 67 2d 6d 65 74 68 6f 64 27 20 62 65 69 6e 67 20    73 65 74 20 74 6f 20 6e 61 74 69 76 65 2e 0a 28 | g-method'.being.set.to.native..( | 
| 1a420 | 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65    2d 64 69 72 2d 66 69 6c 65 73 2d 6e 61 74 69 76 | defun.projectile-dir-files-nativ | 
| 1a440 | 65 20 28 64 69 72 65 63 74 6f 72 79 29 0a 20 20    22 47 65 74 20 74 68 65 20 66 69 6c 65 73 20 66 | e.(directory)..."Get.the.files.f | 
| 1a460 | 6f 72 20 52 4f 4f 54 20 75 6e 64 65 72 20 44 49    52 45 43 54 4f 52 59 20 75 73 69 6e 67 20 6a 75 | or.ROOT.under.DIRECTORY.using.ju | 
| 1a480 | 73 74 20 45 6d 61 63 73 20 4c 69 73 70 2e 22 0a    20 20 28 6c 65 74 20 28 28 70 72 6f 67 72 65 73 | st.Emacs.Lisp."...(let.((progres | 
| 1a4a0 | 73 2d 72 65 70 6f 72 74 65 72 0a 20 20 20 20 20    20 20 20 20 28 6d 61 6b 65 2d 70 72 6f 67 72 65 | s-reporter..........(make-progre | 
| 1a4c0 | 73 73 2d 72 65 70 6f 72 74 65 72 0a 20 20 20 20    20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 50 | ss-reporter...........(format."P | 
| 1a4e0 | 72 6f 6a 65 63 74 69 6c 65 20 69 73 20 69 6e 64    65 78 69 6e 67 20 25 73 22 0a 20 20 20 20 20 20 | rojectile.is.indexing.%s"....... | 
| 1a500 | 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f    70 65 72 74 69 7a 65 20 64 69 72 65 63 74 6f 72 | ............(propertize.director | 
| 1a520 | 79 20 27 66 61 63 65 20 27 66 6f 6e 74 2d 6c 6f    63 6b 2d 6b 65 79 77 6f 72 64 2d 66 61 63 65 29 | y.'face.'font-lock-keyword-face) | 
| 1a540 | 29 29 29 29 0a 20 20 20 20 3b 3b 20 77 65 20 6e    65 65 64 20 74 68 65 20 66 69 6c 65 73 20 77 69 | )))).....;;.we.need.the.files.wi | 
| 1a560 | 74 68 20 70 61 74 68 73 20 72 65 6c 61 74 69 76    65 20 74 6f 20 74 68 65 20 70 72 6f 6a 65 63 74 | th.paths.relative.to.the.project | 
| 1a580 | 20 72 6f 6f 74 0a 20 20 20 20 28 6d 61 70 63 61    72 20 28 6c 61 6d 62 64 61 20 28 66 69 6c 65 29 | .root.....(mapcar.(lambda.(file) | 
| 1a5a0 | 20 28 66 69 6c 65 2d 72 65 6c 61 74 69 76 65 2d    6e 61 6d 65 20 66 69 6c 65 20 64 69 72 65 63 74 | .(file-relative-name.file.direct | 
| 1a5c0 | 6f 72 79 29 29 0a 20 20 20 20 20 20 20 20 20 20    20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 69 6e | ory)).............(projectile-in | 
| 1a5e0 | 64 65 78 2d 64 69 72 65 63 74 6f 72 79 20 64 69    72 65 63 74 6f 72 79 20 28 70 72 6f 6a 65 63 74 | dex-directory.directory.(project | 
| 1a600 | 69 6c 65 2d 66 69 6c 74 65 72 69 6e 67 2d 70 61    74 74 65 72 6e 73 29 0a 20 20 20 20 20 20 20 20 | ile-filtering-patterns)......... | 
| 1a620 | 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 | ................................ | 
| 1a640 | 70 72 6f 67 72 65 73 73 2d 72 65 70 6f 72 74 65    72 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 | progress-reporter))))..(defun.pr | 
| 1a660 | 6f 6a 65 63 74 69 6c 65 2d 69 6e 64 65 78 2d 64    69 72 65 63 74 6f 72 79 20 28 64 69 72 65 63 74 | ojectile-index-directory.(direct | 
| 1a680 | 6f 72 79 20 70 61 74 74 65 72 6e 73 20 70 72 6f    67 72 65 73 73 2d 72 65 70 6f 72 74 65 72 20 26 | ory.patterns.progress-reporter.& | 
| 1a6a0 | 6f 70 74 69 6f 6e 61 6c 20 69 67 6e 6f 72 65 64    2d 66 69 6c 65 73 20 69 67 6e 6f 72 65 64 2d 64 | optional.ignored-files.ignored-d | 
| 1a6c0 | 69 72 65 63 74 6f 72 69 65 73 20 67 6c 6f 62 61    6c 6c 79 2d 69 67 6e 6f 72 65 64 2d 64 69 72 65 | irectories.globally-ignored-dire | 
| 1a6e0 | 63 74 6f 72 69 65 73 29 0a 20 20 22 49 6e 64 65    78 20 44 49 52 45 43 54 4f 52 59 20 74 61 6b 69 | ctories)..."Index.DIRECTORY.taki | 
| 1a700 | 6e 67 20 69 6e 74 6f 20 61 63 63 6f 75 6e 74 20    50 41 54 54 45 52 4e 53 2e 0a 0a 54 68 65 20 66 | ng.into.account.PATTERNS...The.f | 
| 1a720 | 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 73 20 69 74    73 65 6c 66 20 72 65 63 75 72 73 69 76 65 6c 79 | unction.calls.itself.recursively | 
| 1a740 | 20 75 6e 74 69 6c 20 61 6c 6c 20 73 75 62 2d 64    69 72 65 63 74 6f 72 69 65 73 0a 68 61 76 65 20 | .until.all.sub-directories.have. | 
| 1a760 | 62 65 65 6e 20 69 6e 64 65 78 65 64 2e 20 20 54    68 65 20 50 52 4f 47 52 45 53 53 2d 52 45 50 4f | been.indexed...The.PROGRESS-REPO | 
| 1a780 | 52 54 45 52 20 69 73 20 75 70 64 61 74 65 64 20    77 68 69 6c 65 20 74 68 65 0a 66 75 6e 63 74 69 | RTER.is.updated.while.the.functi | 
| 1a7a0 | 6f 6e 20 69 73 20 65 78 65 63 75 74 69 6e 67 2e    20 20 54 68 65 20 6c 69 73 74 20 6f 66 20 49 47 | on.is.executing...The.list.of.IG | 
| 1a7c0 | 4e 4f 52 45 44 2d 46 49 4c 45 53 20 61 6e 64 0a    49 47 4e 4f 52 45 44 2d 44 49 52 45 43 54 4f 52 | NORED-FILES.and.IGNORED-DIRECTOR | 
| 1a7e0 | 49 45 53 20 6d 61 79 20 6f 70 74 69 6f 6e 61 6c    6c 79 20 62 65 20 70 72 6f 76 69 64 65 64 2e 22 | IES.may.optionally.be.provided." | 
| 1a800 | 0a 20 20 3b 3b 20 77 65 20 63 6f 6d 70 75 74 65    20 74 68 65 20 69 67 6e 6f 72 65 64 20 66 69 6c | ...;;.we.compute.the.ignored.fil | 
| 1a820 | 65 73 20 61 6e 64 20 64 69 72 65 63 74 6f 72 69    65 73 20 6f 6e 6c 79 20 6f 6e 63 65 20 61 6e 64 | es.and.directories.only.once.and | 
| 1a840 | 20 74 68 65 6e 20 77 65 20 72 65 75 73 65 20 74    68 65 0a 20 20 3b 3b 20 70 72 65 2d 63 6f 6d 70 | .then.we.reuse.the...;;.pre-comp | 
| 1a860 | 75 74 65 64 20 76 61 6c 75 65 73 20 69 6e 20 74    68 65 20 73 75 62 73 65 71 75 65 6e 74 20 72 65 | uted.values.in.the.subsequent.re | 
| 1a880 | 63 75 72 73 69 76 65 20 69 6e 76 6f 63 61 74 69    6f 6e 73 20 6f 66 20 74 68 65 20 66 75 6e 63 74 | cursive.invocations.of.the.funct | 
| 1a8a0 | 69 6f 6e 0a 20 20 28 6c 65 74 20 28 28 69 67 6e    6f 72 65 64 2d 66 69 6c 65 73 20 28 6f 72 20 69 | ion...(let.((ignored-files.(or.i | 
| 1a8c0 | 67 6e 6f 72 65 64 2d 66 69 6c 65 73 20 28 70 72    6f 6a 65 63 74 69 6c 65 2d 69 67 6e 6f 72 65 64 | gnored-files.(projectile-ignored | 
| 1a8e0 | 2d 66 69 6c 65 73 29 29 29 0a 20 20 20 20 20 20    20 20 28 69 67 6e 6f 72 65 64 2d 64 69 72 65 63 | -files))).........(ignored-direc | 
| 1a900 | 74 6f 72 69 65 73 20 28 6f 72 20 69 67 6e 6f 72    65 64 2d 64 69 72 65 63 74 6f 72 69 65 73 20 28 | tories.(or.ignored-directories.( | 
| 1a920 | 70 72 6f 6a 65 63 74 69 6c 65 2d 69 67 6e 6f 72    65 64 2d 64 69 72 65 63 74 6f 72 69 65 73 29 29 | projectile-ignored-directories)) | 
| 1a940 | 29 0a 20 20 20 20 20 20 20 20 28 67 6c 6f 62 61    6c 6c 79 2d 69 67 6e 6f 72 65 64 2d 64 69 72 65 | ).........(globally-ignored-dire | 
| 1a960 | 63 74 6f 72 69 65 73 20 28 6f 72 20 67 6c 6f 62    61 6c 6c 79 2d 69 67 6e 6f 72 65 64 2d 64 69 72 | ctories.(or.globally-ignored-dir | 
| 1a980 | 65 63 74 6f 72 69 65 73 20 28 70 72 6f 6a 65 63    74 69 6c 65 2d 67 6c 6f 62 61 6c 6c 79 2d 69 67 | ectories.(projectile-globally-ig | 
| 1a9a0 | 6e 6f 72 65 64 2d 64 69 72 65 63 74 6f 72 79 2d    6e 61 6d 65 73 29 29 29 29 0a 20 20 20 20 28 61 | nored-directory-names)))).....(a | 
| 1a9c0 | 70 70 6c 79 20 23 27 61 70 70 65 6e 64 0a 20 20    20 20 20 20 20 20 20 20 20 28 6d 61 70 63 61 72 | pply.#'append............(mapcar | 
| 1a9e0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61    6d 62 64 61 20 28 66 29 0a 20 20 20 20 20 20 20 | .............(lambda.(f)........ | 
| 1aa00 | 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6c 6f    63 61 6c 2d 66 20 28 66 69 6c 65 2d 6e 61 6d 65 | .......(let.((local-f.(file-name | 
| 1aa20 | 2d 6e 6f 6e 64 69 72 65 63 74 6f 72 79 20 28 64    69 72 65 63 74 6f 72 79 2d 66 69 6c 65 2d 6e 61 | -nondirectory.(directory-file-na | 
| 1aa40 | 6d 65 20 66 29 29 29 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 | me.f)))).................(unless | 
| 1aa60 | 20 28 6f 72 20 28 61 6e 64 20 70 61 74 74 65 72    6e 73 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 69 | .(or.(and.patterns.(projectile-i | 
| 1aa80 | 67 6e 6f 72 65 64 2d 72 65 6c 2d 70 20 66 20 64    69 72 65 63 74 6f 72 79 20 70 61 74 74 65 72 6e | gnored-rel-p.f.directory.pattern | 
| 1aaa0 | 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 20 20 | s))............................. | 
| 1aac0 | 28 6d 65 6d 62 65 72 20 6c 6f 63 61 6c 2d 66 20    27 28 22 2e 22 20 22 2e 2e 22 29 29 29 0a 20 20 | (member.local-f.'("."."..")))... | 
| 1aae0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 70 72 6f 67 72 65 73 73 2d 72 65 70 6f 72 74 | ................(progress-report | 
| 1ab00 | 65 72 2d 75 70 64 61 74 65 20 70 72 6f 67 72 65    73 73 2d 72 65 70 6f 72 74 65 72 29 0a 20 20 20 | er-update.progress-reporter).... | 
| 1ab20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    69 66 20 28 66 69 6c 65 2d 64 69 72 65 63 74 6f | ...............(if.(file-directo | 
| 1ab40 | 72 79 2d 70 20 66 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 | ry-p.f).......................(u | 
| 1ab60 | 6e 6c 65 73 73 20 28 70 72 6f 6a 65 63 74 69 6c    65 2d 69 67 6e 6f 72 65 64 2d 64 69 72 65 63 74 | nless.(projectile-ignored-direct | 
| 1ab80 | 6f 72 79 2d 70 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 | ory-p........................... | 
| 1aba0 | 20 20 20 20 20 28 66 69 6c 65 2d 6e 61 6d 65 2d    61 73 2d 64 69 72 65 63 74 6f 72 79 20 66 29 0a | .....(file-name-as-directory.f). | 
| 1abc0 | 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 69 | ...............................i | 
| 1abe0 | 67 6e 6f 72 65 64 2d 64 69 72 65 63 74 6f 72 69    65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | gnored-directories.............. | 
| 1ac00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 6c 6f 63 61 6c 2d 66 0a 20 20 20 20 20 20 | ..................local-f....... | 
| 1ac20 | 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 67 6c 6f 62 61 6c 6c | .........................globall | 
| 1ac40 | 79 2d 69 67 6e 6f 72 65 64 2d 64 69 72 65 63 74    6f 72 69 65 73 29 0a 20 20 20 20 20 20 20 20 20 | y-ignored-directories).......... | 
| 1ac60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    70 72 6f 6a 65 63 74 69 6c 65 2d 69 6e 64 65 78 | ...............(projectile-index | 
| 1ac80 | 2d 64 69 72 65 63 74 6f 72 79 20 66 20 70 61 74    74 65 72 6e 73 20 70 72 6f 67 72 65 73 73 2d 72 | -directory.f.patterns.progress-r | 
| 1aca0 | 65 70 6f 72 74 65 72 20 69 67 6e 6f 72 65 64 2d    66 69 6c 65 73 20 69 67 6e 6f 72 65 64 2d 64 69 | eporter.ignored-files.ignored-di | 
| 1acc0 | 72 65 63 74 6f 72 69 65 73 20 67 6c 6f 62 61 6c    6c 79 2d 69 67 6e 6f 72 65 64 2d 64 69 72 65 63 | rectories.globally-ignored-direc | 
| 1ace0 | 74 6f 72 69 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 28 75 6e | tories)).....................(un | 
| 1ad00 | 6c 65 73 73 20 28 70 72 6f 6a 65 63 74 69 6c 65    2d 69 67 6e 6f 72 65 64 2d 66 69 6c 65 2d 70 20 | less.(projectile-ignored-file-p. | 
| 1ad20 | 66 20 69 67 6e 6f 72 65 64 2d 66 69 6c 65 73 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | f.ignored-files)................ | 
| 1ad40 | 20 20 20 20 20 20 20 28 6c 69 73 74 20 66 29 29    29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 | .......(list.f))))))............ | 
| 1ad60 | 20 28 64 69 72 65 63 74 6f 72 79 2d 66 69 6c 65    73 20 64 69 72 65 63 74 6f 72 79 20 74 29 29 29 | .(directory-files.directory.t))) | 
| 1ad80 | 29 29 0a 0a 3b 3b 3b 20 41 6c 69 65 6e 20 50 72    6f 6a 65 63 74 20 49 6e 64 65 78 69 6e 67 0a 3b | ))..;;;.Alien.Project.Indexing.; | 
| 1ada0 | 3b 0a 3b 3b 20 54 68 69 73 20 63 6f 72 72 65 73    70 6f 6e 64 73 20 74 6f 20 60 70 72 6f 6a 65 63 | ;.;;.This.corresponds.to.`projec | 
| 1adc0 | 74 69 6c 65 2d 69 6e 64 65 78 69 6e 67 2d 6d 65    74 68 6f 64 27 20 62 65 69 6e 67 20 73 65 74 20 | tile-indexing-method'.being.set. | 
| 1ade0 | 74 6f 20 68 79 62 72 69 64 20 6f 72 20 61 6c 69    65 6e 2e 0a 3b 3b 20 54 68 65 20 6f 6e 6c 79 20 | to.hybrid.or.alien..;;.The.only. | 
| 1ae00 | 64 69 66 66 65 72 65 6e 63 65 20 62 65 74 77 65    65 6e 20 74 68 65 20 74 77 6f 20 6d 65 74 68 6f | difference.between.the.two.metho | 
| 1ae20 | 64 73 20 69 73 20 74 68 61 74 20 61 6c 69 65 6e    20 64 6f 65 73 6e 27 74 20 64 6f 0a 3b 3b 20 61 | ds.is.that.alien.doesn't.do.;;.a | 
| 1ae40 | 6e 79 20 70 6f 73 74 2d 70 72 6f 63 65 73 73 69    6e 67 20 6f 66 20 74 68 65 20 66 69 6c 65 73 20 | ny.post-processing.of.the.files. | 
| 1ae60 | 6f 62 74 61 69 6e 65 64 20 76 69 61 20 74 68 65    20 65 78 74 65 72 6e 61 6c 20 63 6f 6d 6d 61 6e | obtained.via.the.external.comman | 
| 1ae80 | 64 2e 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63    74 69 6c 65 2d 64 69 72 2d 66 69 6c 65 73 2d 61 | d..(defun.projectile-dir-files-a | 
| 1aea0 | 6c 69 65 6e 20 28 64 69 72 65 63 74 6f 72 79 29    0a 20 20 22 47 65 74 20 74 68 65 20 66 69 6c 65 | lien.(directory)..."Get.the.file | 
| 1aec0 | 73 20 66 6f 72 20 44 49 52 45 43 54 4f 52 59 20    75 73 69 6e 67 20 65 78 74 65 72 6e 61 6c 20 74 | s.for.DIRECTORY.using.external.t | 
| 1aee0 | 6f 6f 6c 73 2e 22 0a 20 20 28 6c 65 74 20 28 28    76 63 73 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d | ools."...(let.((vcs.(projectile- | 
| 1af00 | 70 72 6f 6a 65 63 74 2d 76 63 73 20 64 69 72 65    63 74 6f 72 79 29 29 29 0a 20 20 20 20 28 63 6f | project-vcs.directory))).....(co | 
| 1af20 | 6e 64 0a 20 20 20 20 20 28 28 65 71 20 76 63 73    20 27 67 69 74 29 0a 20 20 20 20 20 20 28 6e 63 | nd......((eq.vcs.'git).......(nc | 
| 1af40 | 6f 6e 63 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d    66 69 6c 65 73 2d 76 69 61 2d 65 78 74 2d 63 6f | onc.(projectile-files-via-ext-co | 
| 1af60 | 6d 6d 61 6e 64 20 64 69 72 65 63 74 6f 72 79 20    28 70 72 6f 6a 65 63 74 69 6c 65 2d 67 65 74 2d | mmand.directory.(projectile-get- | 
| 1af80 | 65 78 74 2d 63 6f 6d 6d 61 6e 64 20 76 63 73 29    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | ext-command.vcs))..............( | 
| 1afa0 | 70 72 6f 6a 65 63 74 69 6c 65 2d 67 65 74 2d 73    75 62 2d 70 72 6f 6a 65 63 74 73 2d 66 69 6c 65 | projectile-get-sub-projects-file | 
| 1afc0 | 73 20 64 69 72 65 63 74 6f 72 79 20 76 63 73 29    29 29 0a 20 20 20 20 20 28 74 20 28 70 72 6f 6a | s.directory.vcs)))......(t.(proj | 
| 1afe0 | 65 63 74 69 6c 65 2d 66 69 6c 65 73 2d 76 69 61    2d 65 78 74 2d 63 6f 6d 6d 61 6e 64 20 64 69 72 | ectile-files-via-ext-command.dir | 
| 1b000 | 65 63 74 6f 72 79 20 28 70 72 6f 6a 65 63 74 69    6c 65 2d 67 65 74 2d 65 78 74 2d 63 6f 6d 6d 61 | ectory.(projectile-get-ext-comma | 
| 1b020 | 6e 64 20 76 63 73 29 29 29 29 29 29 0a 0a 28 64    65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 | nd.vcs))))))..(define-obsolete-f | 
| 1b040 | 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 20 27 70    72 6f 6a 65 63 74 69 6c 65 2d 64 69 72 2d 66 69 | unction-alias.'projectile-dir-fi | 
| 1b060 | 6c 65 73 2d 65 78 74 65 72 6e 61 6c 20 27 70 72    6f 6a 65 63 74 69 6c 65 2d 64 69 72 2d 66 69 6c | les-external.'projectile-dir-fil | 
| 1b080 | 65 73 2d 61 6c 69 65 6e 20 22 32 2e 30 2e 30 22    29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 | es-alien."2.0.0").(define-obsole | 
| 1b0a0 | 74 65 2d 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61    73 20 27 70 72 6f 6a 65 63 74 69 6c 65 2d 67 65 | te-function-alias.'projectile-ge | 
| 1b0c0 | 74 2d 72 65 70 6f 2d 66 69 6c 65 73 20 27 70 72    6f 6a 65 63 74 69 6c 65 2d 64 69 72 2d 66 69 6c | t-repo-files.'projectile-dir-fil | 
| 1b0e0 | 65 73 2d 61 6c 69 65 6e 20 22 32 2e 30 2e 30 22    29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 | es-alien."2.0.0")..(defun.projec | 
| 1b100 | 74 69 6c 65 2d 67 65 74 2d 65 78 74 2d 63 6f 6d    6d 61 6e 64 20 28 76 63 73 29 0a 20 20 22 44 65 | tile-get-ext-command.(vcs)..."De | 
| 1b120 | 74 65 72 6d 69 6e 65 20 77 68 69 63 68 20 65 78    74 65 72 6e 61 6c 20 63 6f 6d 6d 61 6e 64 20 74 | termine.which.external.command.t | 
| 1b140 | 6f 20 69 6e 76 6f 6b 65 20 62 61 73 65 64 20 6f    6e 20 74 68 65 20 70 72 6f 6a 65 63 74 27 73 20 | o.invoke.based.on.the.project's. | 
| 1b160 | 56 43 53 2e 0a 46 61 6c 6c 62 61 63 6b 20 74 6f    20 61 20 67 65 6e 65 72 69 63 20 63 6f 6d 6d 61 | VCS..Fallback.to.a.generic.comma | 
| 1b180 | 6e 64 20 77 68 65 6e 20 6e 6f 74 20 69 6e 20 61    20 56 43 53 2d 63 6f 6e 74 72 6f 6c 6c 65 64 20 | nd.when.not.in.a.VCS-controlled. | 
| 1b1a0 | 70 72 6f 6a 65 63 74 2e 22 0a 20 20 28 70 63 61    73 65 20 76 63 73 0a 20 20 20 20 28 27 67 69 74 | project."...(pcase.vcs.....('git | 
| 1b1c0 | 20 28 69 66 20 28 61 6e 64 20 70 72 6f 6a 65 63    74 69 6c 65 2d 67 69 74 2d 75 73 65 2d 66 64 20 | .(if.(and.projectile-git-use-fd. | 
| 1b1e0 | 70 72 6f 6a 65 63 74 69 6c 65 2d 66 64 2d 65 78    65 63 75 74 61 62 6c 65 29 0a 20 20 20 20 20 20 | projectile-fd-executable)....... | 
| 1b200 | 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 | ........(concat................p | 
| 1b220 | 72 6f 6a 65 63 74 69 6c 65 2d 66 64 2d 65 78 65    63 75 74 61 62 6c 65 0a 20 20 20 20 20 20 20 20 | rojectile-fd-executable......... | 
| 1b240 | 20 20 20 20 20 20 20 22 20 22 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 70 72 6f 6a 65 63 | ......."."................projec | 
| 1b260 | 74 69 6c 65 2d 67 69 74 2d 66 64 2d 61 72 67 73    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 72 | tile-git-fd-args).............pr | 
| 1b280 | 6f 6a 65 63 74 69 6c 65 2d 67 69 74 2d 63 6f 6d    6d 61 6e 64 29 29 0a 20 20 20 20 28 27 68 67 20 | ojectile-git-command)).....('hg. | 
| 1b2a0 | 70 72 6f 6a 65 63 74 69 6c 65 2d 68 67 2d 63 6f    6d 6d 61 6e 64 29 0a 20 20 20 20 28 27 66 6f 73 | projectile-hg-command).....('fos | 
| 1b2c0 | 73 69 6c 20 70 72 6f 6a 65 63 74 69 6c 65 2d 66    6f 73 73 69 6c 2d 63 6f 6d 6d 61 6e 64 29 0a 20 | sil.projectile-fossil-command).. | 
| 1b2e0 | 20 20 20 28 27 62 7a 72 20 70 72 6f 6a 65 63 74    69 6c 65 2d 62 7a 72 2d 63 6f 6d 6d 61 6e 64 29 | ...('bzr.projectile-bzr-command) | 
| 1b300 | 0a 20 20 20 20 28 27 64 61 72 63 73 20 70 72 6f    6a 65 63 74 69 6c 65 2d 64 61 72 63 73 2d 63 6f | .....('darcs.projectile-darcs-co | 
| 1b320 | 6d 6d 61 6e 64 29 0a 20 20 20 20 28 27 70 69 6a    75 6c 20 70 72 6f 6a 65 63 74 69 6c 65 2d 70 69 | mmand).....('pijul.projectile-pi | 
| 1b340 | 6a 75 6c 2d 63 6f 6d 6d 61 6e 64 29 0a 20 20 20    20 28 27 73 76 6e 20 70 72 6f 6a 65 63 74 69 6c | jul-command).....('svn.projectil | 
| 1b360 | 65 2d 73 76 6e 2d 63 6f 6d 6d 61 6e 64 29 0a 20    20 20 20 28 5f 20 70 72 6f 6a 65 63 74 69 6c 65 | e-svn-command).....(_.projectile | 
| 1b380 | 2d 67 65 6e 65 72 69 63 2d 63 6f 6d 6d 61 6e 64    29 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a | -generic-command)))..(defun.proj | 
| 1b3a0 | 65 63 74 69 6c 65 2d 67 65 74 2d 73 75 62 2d 70    72 6f 6a 65 63 74 73 2d 63 6f 6d 6d 61 6e 64 20 | ectile-get-sub-projects-command. | 
| 1b3c0 | 28 76 63 73 29 0a 20 20 22 47 65 74 20 74 68 65    20 73 75 62 2d 70 72 6f 6a 65 63 74 73 20 63 6f | (vcs)..."Get.the.sub-projects.co | 
| 1b3e0 | 6d 6d 61 6e 64 20 66 6f 72 20 56 43 53 2e 0a 43    75 72 72 65 6e 74 6c 79 20 74 68 61 74 27 73 20 | mmand.for.VCS..Currently.that's. | 
| 1b400 | 73 75 70 70 6f 72 74 65 64 20 6a 75 73 74 20 66    6f 72 20 47 69 74 20 28 73 75 62 2d 70 72 6f 6a | supported.just.for.Git.(sub-proj | 
| 1b420 | 65 63 74 73 20 62 65 69 6e 67 20 47 69 74 0a 73    75 62 2d 6d 6f 64 75 6c 65 73 20 74 68 65 72 65 | ects.being.Git.sub-modules.there | 
| 1b440 | 29 2e 22 0a 20 20 28 70 63 61 73 65 20 76 63 73    0a 20 20 20 20 28 27 67 69 74 20 70 72 6f 6a 65 | )."...(pcase.vcs.....('git.proje | 
| 1b460 | 63 74 69 6c 65 2d 67 69 74 2d 73 75 62 6d 6f 64    75 6c 65 2d 63 6f 6d 6d 61 6e 64 29 0a 20 20 20 | ctile-git-submodule-command).... | 
| 1b480 | 20 28 5f 20 22 22 29 29 29 0a 0a 28 64 65 66 75    6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 67 65 74 | .(_."")))..(defun.projectile-get | 
| 1b4a0 | 2d 65 78 74 2d 69 67 6e 6f 72 65 64 2d 63 6f 6d    6d 61 6e 64 20 28 76 63 73 29 0a 20 20 22 44 65 | -ext-ignored-command.(vcs)..."De | 
| 1b4c0 | 74 65 72 6d 69 6e 65 20 77 68 69 63 68 20 65 78    74 65 72 6e 61 6c 20 63 6f 6d 6d 61 6e 64 20 74 | termine.which.external.command.t | 
| 1b4e0 | 6f 20 69 6e 76 6f 6b 65 20 62 61 73 65 64 20 6f    6e 20 74 68 65 20 70 72 6f 6a 65 63 74 27 73 20 | o.invoke.based.on.the.project's. | 
| 1b500 | 56 43 53 2e 22 0a 20 20 28 70 63 61 73 65 20 76    63 73 0a 20 20 20 20 28 27 67 69 74 20 70 72 6f | VCS."...(pcase.vcs.....('git.pro | 
| 1b520 | 6a 65 63 74 69 6c 65 2d 67 69 74 2d 69 67 6e 6f    72 65 64 2d 63 6f 6d 6d 61 6e 64 29 0a 20 20 20 | jectile-git-ignored-command).... | 
| 1b540 | 20 3b 3b 20 54 4f 44 4f 3a 20 41 64 64 20 73 75    70 70 6f 72 74 20 66 6f 72 20 6f 74 68 65 72 20 | .;;.TODO:.Add.support.for.other. | 
| 1b560 | 56 43 53 0a 20 20 20 20 28 5f 20 6e 69 6c 29 29    29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 | VCS.....(_.nil)))..(defun.projec | 
| 1b580 | 74 69 6c 65 2d 66 6c 61 74 74 65 6e 20 28 6c 73    74 29 0a 20 20 22 54 61 6b 65 20 61 20 6e 65 73 | tile-flatten.(lst)..."Take.a.nes | 
| 1b5a0 | 74 65 64 20 6c 69 73 74 20 4c 53 54 20 61 6e 64    20 72 65 74 75 72 6e 20 69 74 73 20 63 6f 6e 74 | ted.list.LST.and.return.its.cont | 
| 1b5c0 | 65 6e 74 73 20 61 73 20 61 20 73 69 6e 67 6c 65    2c 20 66 6c 61 74 20 6c 69 73 74 2e 22 0a 20 20 | ents.as.a.single,.flat.list."... | 
| 1b5e0 | 28 69 66 20 28 61 6e 64 20 28 6c 69 73 74 70 20    6c 73 74 29 20 28 6c 69 73 74 70 20 28 63 64 72 | (if.(and.(listp.lst).(listp.(cdr | 
| 1b600 | 20 6c 73 74 29 29 29 0a 20 20 20 20 20 20 28 63    6c 2d 6d 61 70 63 61 6e 20 27 70 72 6f 6a 65 63 | .lst))).......(cl-mapcan.'projec | 
| 1b620 | 74 69 6c 65 2d 66 6c 61 74 74 65 6e 20 6c 73 74    29 0a 20 20 20 20 28 6c 69 73 74 20 6c 73 74 29 | tile-flatten.lst).....(list.lst) | 
| 1b640 | 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65    63 74 69 6c 65 2d 67 65 74 2d 61 6c 6c 2d 73 75 | ))..(defun.projectile-get-all-su | 
| 1b660 | 62 2d 70 72 6f 6a 65 63 74 73 20 28 70 72 6f 6a    65 63 74 29 0a 20 20 22 47 65 74 20 61 6c 6c 20 | b-projects.(project)..."Get.all. | 
| 1b680 | 73 75 62 2d 70 72 6f 6a 65 63 74 73 20 66 6f 72    20 61 20 67 69 76 65 6e 20 70 72 6f 6a 65 63 74 | sub-projects.for.a.given.project | 
| 1b6a0 | 2e 0a 0a 50 52 4f 4a 45 43 54 20 69 73 20 62 61    73 65 20 64 69 72 65 63 74 6f 72 79 20 74 6f 20 | ...PROJECT.is.base.directory.to. | 
| 1b6c0 | 73 74 61 72 74 20 73 65 61 72 63 68 20 72 65 63    75 72 73 69 76 65 6c 79 2e 22 0a 20 20 28 6c 65 | start.search.recursively."...(le | 
| 1b6e0 | 74 20 28 28 73 75 62 6d 6f 64 75 6c 65 73 20 28    70 72 6f 6a 65 63 74 69 6c 65 2d 67 65 74 2d 69 | t.((submodules.(projectile-get-i | 
| 1b700 | 6d 6d 65 64 69 61 74 65 2d 73 75 62 2d 70 72 6f    6a 65 63 74 73 20 70 72 6f 6a 65 63 74 29 29 29 | mmediate-sub-projects.project))) | 
| 1b720 | 0a 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20    28 28 6e 75 6c 6c 20 73 75 62 6d 6f 64 75 6c 65 | .....(cond......((null.submodule | 
| 1b740 | 73 29 0a 20 20 20 20 20 20 6e 69 6c 29 0a 20 20    20 20 20 28 74 0a 20 20 20 20 20 20 28 6e 63 6f | s).......nil)......(t.......(nco | 
| 1b760 | 6e 63 20 73 75 62 6d 6f 64 75 6c 65 73 20 28 70    72 6f 6a 65 63 74 69 6c 65 2d 66 6c 61 74 74 65 | nc.submodules.(projectile-flatte | 
| 1b780 | 6e 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 3b 3b 20 72 65 | n..........................;;.re | 
| 1b7a0 | 63 75 72 73 69 76 65 6c 79 20 67 65 74 20 73 75    62 2d 70 72 6f 6a 65 63 74 73 20 6f 66 20 65 61 | cursively.get.sub-projects.of.ea | 
| 1b7c0 | 63 68 20 73 75 62 2d 70 72 6f 6a 65 63 74 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ch.sub-project.................. | 
| 1b7e0 | 20 20 20 20 20 20 20 20 28 6d 61 70 63 61 72 20    28 6c 61 6d 62 64 61 20 28 73 29 0a 20 20 20 20 | ........(mapcar.(lambda.(s)..... | 
| 1b800 | 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 | ...............................( | 
| 1b820 | 70 72 6f 6a 65 63 74 69 6c 65 2d 67 65 74 2d 61    6c 6c 2d 73 75 62 2d 70 72 6f 6a 65 63 74 73 20 | projectile-get-all-sub-projects. | 
| 1b840 | 73 29 29 20 73 75 62 6d 6f 64 75 6c 65 73 29 29    29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 | s)).submodules)))))))..(defun.pr | 
| 1b860 | 6f 6a 65 63 74 69 6c 65 2d 67 65 74 2d 69 6d 6d    65 64 69 61 74 65 2d 73 75 62 2d 70 72 6f 6a 65 | ojectile-get-immediate-sub-proje | 
| 1b880 | 63 74 73 20 28 70 61 74 68 29 0a 20 20 22 47 65    74 20 69 6d 6d 65 64 69 61 74 65 20 73 75 62 2d | cts.(path)..."Get.immediate.sub- | 
| 1b8a0 | 70 72 6f 6a 65 63 74 73 20 66 6f 72 20 61 20 67    69 76 65 6e 20 70 72 6f 6a 65 63 74 20 77 69 74 | projects.for.a.given.project.wit | 
| 1b8c0 | 68 6f 75 74 20 72 65 63 75 72 73 69 6e 67 2e 0a    0a 50 41 54 48 20 69 73 20 74 68 65 20 76 63 73 | hout.recursing...PATH.is.the.vcs | 
| 1b8e0 | 20 72 6f 6f 74 20 6f 72 20 70 72 6f 6a 65 63 74    20 72 6f 6f 74 20 66 72 6f 6d 20 77 68 69 63 68 | .root.or.project.root.from.which | 
| 1b900 | 20 74 6f 20 73 74 61 72 74 0a 73 65 61 72 63 68    69 6e 67 2c 20 61 6e 64 20 73 68 6f 75 6c 64 20 | .to.start.searching,.and.should. | 
| 1b920 | 65 6e 64 20 77 69 74 68 20 61 6e 20 61 70 70 72    6f 70 72 69 61 74 65 20 70 61 74 68 20 64 65 6c | end.with.an.appropriate.path.del | 
| 1b940 | 69 6d 69 74 65 72 2c 20 73 75 63 68 20 61 73 0a    27 2f 27 20 6f 72 20 61 20 27 5c 5c 27 2e 0a 0a | imiter,.such.as.'/'.or.a.'\\'... | 
| 1b960 | 49 66 20 74 68 65 20 76 63 73 20 67 65 74 2d 73    75 62 2d 70 72 6f 6a 65 63 74 73 20 71 75 65 72 | If.the.vcs.get-sub-projects.quer | 
| 1b980 | 79 20 72 65 74 75 72 6e 73 20 72 65 73 75 6c 74    73 20 6f 75 74 73 69 64 65 20 6f 66 20 70 61 74 | y.returns.results.outside.of.pat | 
| 1b9a0 | 68 2c 0a 74 68 65 79 20 61 72 65 20 65 78 63 6c    75 64 65 64 20 66 72 6f 6d 20 74 68 65 20 72 65 | h,.they.are.excluded.from.the.re | 
| 1b9c0 | 73 75 6c 74 73 20 6f 66 20 74 68 69 73 20 66 75    6e 63 74 69 6f 6e 2e 22 0a 20 20 28 6c 65 74 2a | sults.of.this.function."...(let* | 
| 1b9e0 | 20 28 28 76 63 73 20 28 70 72 6f 6a 65 63 74 69    6c 65 2d 70 72 6f 6a 65 63 74 2d 76 63 73 20 70 | .((vcs.(projectile-project-vcs.p | 
| 1ba00 | 61 74 68 29 29 0a 20 20 20 20 20 20 20 20 20 3b    3b 20 73 65 61 72 63 68 20 66 6f 72 20 73 75 62 | ath))..........;;.search.for.sub | 
| 1ba20 | 2d 70 72 6f 6a 65 63 74 73 20 75 6e 64 65 72 20    63 75 72 72 65 6e 74 20 70 72 6f 6a 65 63 74 20 | -projects.under.current.project. | 
| 1ba40 | 60 70 72 6f 6a 65 63 74 27 0a 20 20 20 20 20 20    20 20 20 28 73 75 62 6d 6f 64 75 6c 65 73 20 28 | `project'..........(submodules.( | 
| 1ba60 | 6d 61 70 63 61 72 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 | mapcar.......................(la | 
| 1ba80 | 6d 62 64 61 20 28 73 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 | mbda.(s)........................ | 
| 1baa0 | 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 61 73 2d 64    69 72 65 63 74 6f 72 79 20 28 65 78 70 61 6e 64 | .(file-name-as-directory.(expand | 
| 1bac0 | 2d 66 69 6c 65 2d 6e 61 6d 65 20 73 20 70 61 74    68 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 | -file-name.s.path)))............ | 
| 1bae0 | 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 6a    65 63 74 69 6c 65 2d 66 69 6c 65 73 2d 76 69 61 | ...........(projectile-files-via | 
| 1bb00 | 2d 65 78 74 2d 63 6f 6d 6d 61 6e 64 20 70 61 74    68 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 67 65 | -ext-command.path.(projectile-ge | 
| 1bb20 | 74 2d 73 75 62 2d 70 72 6f 6a 65 63 74 73 2d 63    6f 6d 6d 61 6e 64 20 76 63 73 29 29 29 29 0a 20 | t-sub-projects-command.vcs)))).. | 
| 1bb40 | 20 20 20 20 20 20 20 20 28 70 72 6f 6a 65 63 74    2d 63 68 69 6c 64 2d 66 6f 6c 64 65 72 2d 72 65 | ........(project-child-folder-re | 
| 1bb60 | 67 65 78 0a 20 20 20 20 20 20 20 20 20 20 28 63    6f 6e 63 61 74 20 22 5c 5c 60 22 0a 20 20 20 20 | gex...........(concat."\\`"..... | 
| 1bb80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72    65 67 65 78 70 2d 71 75 6f 74 65 20 70 61 74 68 | ..............(regexp-quote.path | 
| 1bba0 | 29 29 29 29 0a 0a 20 20 20 20 3b 3b 20 49 66 20    70 72 6f 6a 65 63 74 20 72 6f 6f 74 20 69 73 20 | ))))......;;.If.project.root.is. | 
| 1bbc0 | 69 6e 73 69 64 65 20 6f 66 20 61 6e 20 56 43 53    20 66 6f 6c 64 65 72 2c 20 62 75 74 20 6e 6f 74 | inside.of.an.VCS.folder,.but.not | 
| 1bbe0 | 20 61 63 74 75 61 6c 6c 79 20 61 6e 0a 20 20 20    20 3b 3b 20 56 43 53 20 72 6f 6f 74 20 69 74 73 | .actually.an.....;;.VCS.root.its | 
| 1bc00 | 65 6c 66 2c 20 73 75 62 6d 6f 64 75 6c 65 73 20    65 78 74 65 72 6e 61 6c 20 74 6f 20 74 68 65 20 | elf,.submodules.external.to.the. | 
| 1bc20 | 70 72 6f 6a 65 63 74 20 77 69 6c 6c 20 62 65 0a    20 20 20 20 3b 3b 20 69 6e 63 6c 75 64 65 64 20 | project.will.be.....;;.included. | 
| 1bc40 | 69 6e 20 74 68 65 20 56 43 53 20 67 65 74 20 73    75 62 2d 70 72 6f 6a 65 63 74 73 20 72 65 73 75 | in.the.VCS.get.sub-projects.resu | 
| 1bc60 | 6c 74 2e 20 4c 65 74 27 73 20 72 65 6d 6f 76 65    20 74 68 65 6d 2e 0a 20 20 20 20 28 63 6c 2d 72 | lt..Let's.remove.them......(cl-r | 
| 1bc80 | 65 6d 6f 76 65 2d 69 66 2d 6e 6f 74 0a 20 20 20    20 20 28 6c 61 6d 62 64 61 20 28 73 75 62 6d 6f | emove-if-not......(lambda.(submo | 
| 1bca0 | 64 75 6c 65 29 0a 20 20 20 20 20 20 20 28 73 74    72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 70 72 6f | dule)........(string-match-p.pro | 
| 1bcc0 | 6a 65 63 74 2d 63 68 69 6c 64 2d 66 6f 6c 64 65    72 2d 72 65 67 65 78 0a 20 20 20 20 20 20 20 20 | ject-child-folder-regex......... | 
| 1bce0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73    75 62 6d 6f 64 75 6c 65 29 29 0a 20 20 20 20 20 | ...............submodule))...... | 
| 1bd00 | 73 75 62 6d 6f 64 75 6c 65 73 29 29 29 0a 0a 28    64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 | submodules)))..(defun.projectile | 
| 1bd20 | 2d 67 65 74 2d 73 75 62 2d 70 72 6f 6a 65 63 74    73 2d 66 69 6c 65 73 20 28 70 72 6f 6a 65 63 74 | -get-sub-projects-files.(project | 
| 1bd40 | 2d 72 6f 6f 74 20 5f 76 63 73 29 0a 20 20 22 47    65 74 20 66 69 6c 65 73 20 66 72 6f 6d 20 73 75 | -root._vcs)..."Get.files.from.su | 
| 1bd60 | 62 2d 70 72 6f 6a 65 63 74 73 20 66 6f 72 20 50    52 4f 4a 45 43 54 2d 52 4f 4f 54 20 72 65 63 75 | b-projects.for.PROJECT-ROOT.recu | 
| 1bd80 | 72 73 69 76 65 6c 79 2e 22 0a 20 20 28 70 72 6f    6a 65 63 74 69 6c 65 2d 66 6c 61 74 74 65 6e 0a | rsively."...(projectile-flatten. | 
| 1bda0 | 20 20 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62    64 61 20 28 73 75 62 2d 70 72 6f 6a 65 63 74 29 | ...(mapcar.(lambda.(sub-project) | 
| 1bdc0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c    65 74 20 28 28 70 72 6f 6a 65 63 74 2d 72 65 6c | ..............(let.((project-rel | 
| 1bde0 | 61 74 69 76 65 2d 70 61 74 68 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | ative-path.....................( | 
| 1be00 | 66 69 6c 65 2d 6e 61 6d 65 2d 61 73 2d 64 69 72    65 63 74 6f 72 79 20 28 66 69 6c 65 2d 72 65 6c | file-name-as-directory.(file-rel | 
| 1be20 | 61 74 69 76 65 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 | ative-name...................... | 
| 1be40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 73 75 62 2d 70 72 6f 6a | ........................sub-proj | 
| 1be60 | 65 63 74 20 70 72 6f 6a 65 63 74 2d 72 6f 6f 74    29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 | ect.project-root))))............ | 
| 1be80 | 20 20 20 20 28 6d 61 70 63 61 72 20 28 6c 61 6d    62 64 61 20 28 66 69 6c 65 29 0a 20 20 20 20 20 | ....(mapcar.(lambda.(file)...... | 
| 1bea0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 63 6f 6e 63 61 74 20 70 72 6f 6a | ....................(concat.proj | 
| 1bec0 | 65 63 74 2d 72 65 6c 61 74 69 76 65 2d 70 61 74    68 20 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 | ect-relative-path.file))........ | 
| 1bee0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    3b 3b 20 54 4f 44 4f 3a 20 53 65 65 6d 73 20 77 | ................;;.TODO:.Seems.w | 
| 1bf00 | 65 20 66 6f 72 67 6f 74 20 67 69 74 20 68 61 72    64 63 6f 64 65 64 20 68 65 72 65 0a 20 20 20 20 | e.forgot.git.hardcoded.here..... | 
| 1bf20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 66 | ...................(projectile-f | 
| 1bf40 | 69 6c 65 73 2d 76 69 61 2d 65 78 74 2d 63 6f 6d    6d 61 6e 64 20 73 75 62 2d 70 72 6f 6a 65 63 74 | iles-via-ext-command.sub-project | 
| 1bf60 | 20 70 72 6f 6a 65 63 74 69 6c 65 2d 67 69 74 2d    63 6f 6d 6d 61 6e 64 29 29 29 29 0a 20 20 20 20 | .projectile-git-command))))..... | 
| 1bf80 | 20 20 20 20 20 20 20 28 70 72 6f 6a 65 63 74 69    6c 65 2d 67 65 74 2d 61 6c 6c 2d 73 75 62 2d 70 | .......(projectile-get-all-sub-p | 
| 1bfa0 | 72 6f 6a 65 63 74 73 20 70 72 6f 6a 65 63 74 2d    72 6f 6f 74 29 29 29 29 0a 0a 28 64 65 66 75 6e | rojects.project-root))))..(defun | 
| 1bfc0 | 20 70 72 6f 6a 65 63 74 69 6c 65 2d 67 65 74 2d    72 65 70 6f 2d 69 67 6e 6f 72 65 64 2d 66 69 6c | .projectile-get-repo-ignored-fil | 
| 1bfe0 | 65 73 20 28 70 72 6f 6a 65 63 74 20 76 63 73 29    0a 20 20 22 47 65 74 20 61 20 6c 69 73 74 20 6f | es.(project.vcs)..."Get.a.list.o | 
| 1c000 | 66 20 74 68 65 20 66 69 6c 65 73 20 69 67 6e 6f    72 65 64 20 69 6e 20 74 68 65 20 50 52 4f 4a 45 | f.the.files.ignored.in.the.PROJE | 
| 1c020 | 43 54 20 75 73 69 6e 67 20 56 43 53 2e 22 0a 20    20 28 6c 65 74 20 28 28 63 6d 64 20 28 70 72 6f | CT.using.VCS."...(let.((cmd.(pro | 
| 1c040 | 6a 65 63 74 69 6c 65 2d 67 65 74 2d 65 78 74 2d    69 67 6e 6f 72 65 64 2d 63 6f 6d 6d 61 6e 64 20 | jectile-get-ext-ignored-command. | 
| 1c060 | 76 63 73 29 29 29 0a 20 20 20 20 28 77 68 65 6e    20 63 6d 64 0a 20 20 20 20 20 20 28 70 72 6f 6a | vcs))).....(when.cmd.......(proj | 
| 1c080 | 65 63 74 69 6c 65 2d 66 69 6c 65 73 2d 76 69 61    2d 65 78 74 2d 63 6f 6d 6d 61 6e 64 20 70 72 6f | ectile-files-via-ext-command.pro | 
| 1c0a0 | 6a 65 63 74 20 63 6d 64 29 29 29 29 0a 0a 28 64    65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d | ject.cmd))))..(defun.projectile- | 
| 1c0c0 | 67 65 74 2d 72 65 70 6f 2d 69 67 6e 6f 72 65 64    2d 64 69 72 65 63 74 6f 72 79 20 28 70 72 6f 6a | get-repo-ignored-directory.(proj | 
| 1c0e0 | 65 63 74 20 64 69 72 20 76 63 73 29 0a 20 20 22    47 65 74 20 61 20 6c 69 73 74 20 6f 66 20 74 68 | ect.dir.vcs)..."Get.a.list.of.th | 
| 1c100 | 65 20 66 69 6c 65 73 20 69 67 6e 6f 72 65 64 20    69 6e 20 74 68 65 20 50 52 4f 4a 45 43 54 20 69 | e.files.ignored.in.the.PROJECT.i | 
| 1c120 | 6e 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 20    44 49 52 2e 0a 56 43 53 20 69 73 20 74 68 65 20 | n.the.directory.DIR..VCS.is.the. | 
| 1c140 | 56 43 53 20 6f 66 20 74 68 65 20 70 72 6f 6a 65    63 74 2e 22 0a 20 20 28 6c 65 74 20 28 28 63 6d | VCS.of.the.project."...(let.((cm | 
| 1c160 | 64 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 67 65    74 2d 65 78 74 2d 69 67 6e 6f 72 65 64 2d 63 6f | d.(projectile-get-ext-ignored-co | 
| 1c180 | 6d 6d 61 6e 64 20 76 63 73 29 29 29 0a 20 20 20    20 28 77 68 65 6e 20 63 6d 64 0a 20 20 20 20 20 | mmand.vcs))).....(when.cmd...... | 
| 1c1a0 | 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 66 69 6c    65 73 2d 76 69 61 2d 65 78 74 2d 63 6f 6d 6d 61 | .(projectile-files-via-ext-comma | 
| 1c1c0 | 6e 64 20 70 72 6f 6a 65 63 74 20 28 63 6f 6e 63    61 74 20 63 6d 64 20 22 20 22 20 64 69 72 29 29 | nd.project.(concat.cmd.".".dir)) | 
| 1c1e0 | 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a    65 63 74 69 6c 65 2d 66 69 6c 65 73 2d 76 69 61 | )))..(defun.projectile-files-via | 
| 1c200 | 2d 65 78 74 2d 63 6f 6d 6d 61 6e 64 20 28 72 6f    6f 74 20 63 6f 6d 6d 61 6e 64 29 0a 20 20 22 47 | -ext-command.(root.command)..."G | 
| 1c220 | 65 74 20 61 20 6c 69 73 74 20 6f 66 20 72 65 6c    61 74 69 76 65 20 66 69 6c 65 20 6e 61 6d 65 73 | et.a.list.of.relative.file.names | 
| 1c240 | 20 69 6e 20 74 68 65 20 70 72 6f 6a 65 63 74 20    52 4f 4f 54 20 62 79 20 65 78 65 63 75 74 69 6e | .in.the.project.ROOT.by.executin | 
| 1c260 | 67 20 43 4f 4d 4d 41 4e 44 2e 0a 0a 49 66 20 60    63 6f 6d 6d 61 6e 64 27 20 69 73 20 6e 69 6c 20 | g.COMMAND...If.`command'.is.nil. | 
| 1c280 | 6f 72 20 61 6e 20 65 6d 70 74 79 20 73 74 72 69    6e 67 2c 20 72 65 74 75 72 6e 20 6e 69 6c 2e 0a | or.an.empty.string,.return.nil.. | 
| 1c2a0 | 54 68 69 73 20 61 6c 6c 6f 77 73 20 63 6f 6d 6d    61 6e 64 73 20 74 6f 20 62 65 20 64 69 73 61 62 | This.allows.commands.to.be.disab | 
| 1c2c0 | 6c 65 64 2e 0a 0a 4f 6e 6c 79 20 74 65 78 74 20    73 65 6e 74 20 74 6f 20 73 74 61 6e 64 61 72 64 | led...Only.text.sent.to.standard | 
| 1c2e0 | 20 6f 75 74 70 75 74 20 69 73 20 74 61 6b 65 6e    20 69 6e 74 6f 20 61 63 63 6f 75 6e 74 2e 22 0a | .output.is.taken.into.account.". | 
| 1c300 | 20 20 28 77 68 65 6e 20 28 73 74 72 69 6e 67 70    20 63 6f 6d 6d 61 6e 64 29 0a 20 20 20 20 28 6c | ..(when.(stringp.command).....(l | 
| 1c320 | 65 74 20 28 28 64 65 66 61 75 6c 74 2d 64 69 72    65 63 74 6f 72 79 20 72 6f 6f 74 29 29 0a 20 20 | et.((default-directory.root))... | 
| 1c340 | 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 20 20 20 20 28 73 | ....(with-temp-buffer.........(s | 
| 1c360 | 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 20 63 6f 6d    6d 61 6e 64 20 74 20 22 2a 70 72 6f 6a 65 63 74 | hell-command.command.t."*project | 
| 1c380 | 69 6c 65 2d 66 69 6c 65 73 2d 65 72 72 6f 72 73    2a 22 29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 | ile-files-errors*").........(let | 
| 1c3a0 | 20 28 28 73 68 65 6c 6c 2d 6f 75 74 70 75 74 20    28 62 75 66 66 65 72 2d 73 75 62 73 74 72 69 6e | .((shell-output.(buffer-substrin | 
| 1c3c0 | 67 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70    6f 69 6e 74 2d 6d 61 78 29 29 29 29 0a 20 20 20 | g.(point-min).(point-max)))).... | 
| 1c3e0 | 20 20 20 20 20 20 20 28 73 70 6c 69 74 2d 73 74    72 69 6e 67 20 28 73 74 72 69 6e 67 2d 74 72 69 | .......(split-string.(string-tri | 
| 1c400 | 6d 20 73 68 65 6c 6c 2d 6f 75 74 70 75 74 29 20    22 5c 30 22 20 74 29 29 29 29 29 29 0a 0a 28 64 | m.shell-output)."\0".t))))))..(d | 
| 1c420 | 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d    61 64 6a 75 73 74 2d 66 69 6c 65 73 20 28 70 72 | efun.projectile-adjust-files.(pr | 
| 1c440 | 6f 6a 65 63 74 20 76 63 73 20 66 69 6c 65 73 29    0a 20 20 22 46 69 72 73 74 20 72 65 6d 6f 76 65 | oject.vcs.files)..."First.remove | 
| 1c460 | 20 69 67 6e 6f 72 65 64 20 66 69 6c 65 73 20 66    72 6f 6d 20 46 49 4c 45 53 2c 20 74 68 65 6e 20 | .ignored.files.from.FILES,.then. | 
| 1c480 | 61 64 64 20 62 61 63 6b 20 75 6e 69 67 6e 6f 72    65 64 20 66 69 6c 65 73 2e 22 0a 20 20 28 70 72 | add.back.unignored.files."...(pr | 
| 1c4a0 | 6f 6a 65 63 74 69 6c 65 2d 61 64 64 2d 75 6e 69    67 6e 6f 72 65 64 20 70 72 6f 6a 65 63 74 20 76 | ojectile-add-unignored.project.v | 
| 1c4c0 | 63 73 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 72    65 6d 6f 76 65 2d 69 67 6e 6f 72 65 64 20 66 69 | cs.(projectile-remove-ignored.fi | 
| 1c4e0 | 6c 65 73 29 29 29 0a 0a 28 64 65 66 75 6e 20 70    72 6f 6a 65 63 74 69 6c 65 2d 72 65 6d 6f 76 65 | les)))..(defun.projectile-remove | 
| 1c500 | 2d 69 67 6e 6f 72 65 64 20 28 66 69 6c 65 73 29    0a 20 20 22 52 65 6d 6f 76 65 20 69 67 6e 6f 72 | -ignored.(files)..."Remove.ignor | 
| 1c520 | 65 64 20 66 69 6c 65 73 20 61 6e 64 20 66 6f 6c    64 65 72 73 20 66 72 6f 6d 20 46 49 4c 45 53 2e | ed.files.and.folders.from.FILES. | 
| 1c540 | 0a 0a 49 66 20 69 67 6e 6f 72 65 64 20 64 69 72    65 63 74 6f 72 79 20 70 72 65 66 69 78 65 64 20 | ..If.ignored.directory.prefixed. | 
| 1c560 | 77 69 74 68 20 27 2a 27 2c 20 74 68 65 6e 20 69    67 6e 6f 72 65 20 61 6c 6c 0a 64 69 72 65 63 74 | with.'*',.then.ignore.all.direct | 
| 1c580 | 6f 72 69 65 73 2f 73 75 62 64 69 72 65 63 74 6f    72 69 65 73 20 77 69 74 68 20 6d 61 74 63 68 69 | ories/subdirectories.with.matchi | 
| 1c5a0 | 6e 67 20 66 69 6c 65 6e 61 6d 65 2c 0a 6f 74 68    65 72 77 69 73 65 20 6f 70 65 72 61 74 65 73 20 | ng.filename,.otherwise.operates. | 
| 1c5c0 | 72 65 6c 61 74 69 76 65 20 74 6f 20 70 72 6f 6a    65 63 74 20 72 6f 6f 74 2e 22 0a 20 20 28 6c 65 | relative.to.project.root."...(le | 
| 1c5e0 | 74 20 28 28 69 67 6e 6f 72 65 64 2d 66 69 6c 65    73 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 69 67 | t.((ignored-files.(projectile-ig | 
| 1c600 | 6e 6f 72 65 64 2d 66 69 6c 65 73 2d 72 65 6c 29    29 0a 20 20 20 20 20 20 20 20 28 69 67 6e 6f 72 | nored-files-rel)).........(ignor | 
| 1c620 | 65 64 2d 64 69 72 73 20 28 70 72 6f 6a 65 63 74    69 6c 65 2d 69 67 6e 6f 72 65 64 2d 64 69 72 65 | ed-dirs.(projectile-ignored-dire | 
| 1c640 | 63 74 6f 72 69 65 73 2d 72 65 6c 29 29 29 0a 20    20 20 20 28 63 6c 2d 72 65 6d 6f 76 65 2d 69 66 | ctories-rel))).....(cl-remove-if | 
| 1c660 | 0a 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 66    69 6c 65 29 0a 20 20 20 20 20 20 20 28 6f 72 20 | ......(lambda.(file)........(or. | 
| 1c680 | 28 63 6c 2d 73 6f 6d 65 0a 20 20 20 20 20 20 20    20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 66 29 | (cl-some.............(lambda.(f) | 
| 1c6a0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    73 74 72 69 6e 67 3d 20 66 20 28 66 69 6c 65 2d | ...............(string=.f.(file- | 
| 1c6c0 | 6e 61 6d 65 2d 6e 6f 6e 64 69 72 65 63 74 6f 72    79 20 66 69 6c 65 29 29 29 0a 20 20 20 20 20 20 | name-nondirectory.file)))....... | 
| 1c6e0 | 20 20 20 20 20 20 69 67 6e 6f 72 65 64 2d 66 69    6c 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 | ......ignored-files)............ | 
| 1c700 | 28 63 6c 2d 73 6f 6d 65 0a 20 20 20 20 20 20 20    20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 64 69 | (cl-some.............(lambda.(di | 
| 1c720 | 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    20 3b 3b 20 69 66 20 74 68 65 20 64 69 72 65 63 | r)...............;;.if.the.direc | 
| 1c740 | 74 6f 72 79 20 69 73 20 70 72 65 66 69 78 65 64    20 77 69 74 68 20 27 2a 27 20 74 68 65 6e 20 69 | tory.is.prefixed.with.'*'.then.i | 
| 1c760 | 67 6e 6f 72 65 20 61 6c 6c 20 64 69 72 65 63 74    6f 72 69 65 73 20 6d 61 74 63 68 69 6e 67 20 74 | gnore.all.directories.matching.t | 
| 1c780 | 68 61 74 20 6e 61 6d 65 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 28 69 66 20 28 73 74 72 69 | hat.name...............(if.(stri | 
| 1c7a0 | 6e 67 2d 70 72 65 66 69 78 2d 70 20 22 2a 22 20    64 69 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 | ng-prefix-p."*".dir)............ | 
| 1c7c0 | 20 20 20 20 20 20 20 3b 3b 20 72 65 6d 6f 76 65    20 27 2a 27 20 61 6e 64 20 74 72 61 69 6c 69 6e | .......;;.remove.'*'.and.trailin | 
| 1c7e0 | 67 20 73 6c 61 73 68 20 66 72 6f 6d 20 69 67 6e    6f 72 65 64 20 64 69 72 65 63 74 6f 72 79 20 6e | g.slash.from.ignored.directory.n | 
| 1c800 | 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 6c 65 74 20 28 28 64 20 28 | ame...................(let.((d.( | 
| 1c820 | 73 75 62 73 74 72 69 6e 67 20 64 69 72 20 31 20    28 69 66 20 28 65 71 75 61 6c 20 28 73 75 62 73 | substring.dir.1.(if.(equal.(subs | 
| 1c840 | 74 72 69 6e 67 20 64 69 72 20 2d 31 29 20 22 2f    22 29 20 2d 31 20 6e 69 6c 29 29 29 29 0a 20 20 | tring.dir.-1)."/").-1.nil))))... | 
| 1c860 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 63 6c 2d 73 6f 6d 65 0a 20 20 20 20 20 | ..................(cl-some...... | 
| 1c880 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 6c 61 6d 62 64 61 20 28 70 29 0a 20 20 20 20 | ................(lambda.(p)..... | 
| 1c8a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 73 74 72 69 6e 67 3d 20 64 20 70 29 | ...................(string=.d.p) | 
| 1c8c0 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 3b 3b 20 73 70 6c 69 74 20 | )......................;;.split. | 
| 1c8e0 | 70 61 74 68 20 62 79 20 27 2f 27 2c 20 72 65 6d    6f 76 65 20 65 6d 70 74 79 20 73 74 72 69 6e 67 | path.by.'/',.remove.empty.string | 
| 1c900 | 73 2c 20 61 6e 64 20 63 68 65 63 6b 20 69 66 20    61 6e 79 20 73 75 62 64 69 72 73 20 6d 61 74 63 | s,.and.check.if.any.subdirs.matc | 
| 1c920 | 68 20 6e 61 6d 65 20 27 64 27 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | h.name.'d'...................... | 
| 1c940 | 28 64 65 6c 65 74 65 20 22 22 20 28 73 70 6c 69    74 2d 73 74 72 69 6e 67 20 28 6f 72 20 28 66 69 | (delete."".(split-string.(or.(fi | 
| 1c960 | 6c 65 2d 6e 61 6d 65 2d 64 69 72 65 63 74 6f 72    79 20 66 69 6c 65 29 20 22 22 29 20 22 2f 22 29 | le-name-directory.file)."")."/") | 
| 1c980 | 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 73 74 72 69 6e 67 2d 70 72 65 66 | ))).................(string-pref | 
| 1c9a0 | 69 78 2d 70 20 64 69 72 20 66 69 6c 65 29 29 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 69 67 6e | ix-p.dir.file))).............ign | 
| 1c9c0 | 6f 72 65 64 2d 64 69 72 73 29 0a 20 20 20 20 20    20 20 20 20 20 20 28 63 6c 2d 73 6f 6d 65 0a 20 | ored-dirs)............(cl-some.. | 
| 1c9e0 | 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62    64 61 20 28 73 75 66 29 0a 20 20 20 20 20 20 20 | ...........(lambda.(suf)........ | 
| 1ca00 | 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d 73    75 66 66 69 78 2d 70 20 73 75 66 20 66 69 6c 65 | .......(string-suffix-p.suf.file | 
| 1ca20 | 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 70 72 6f 6a 65 63 74 69 6c 65 2d 67 6c 6f 62 | .t)).............projectile-glob | 
| 1ca40 | 61 6c 6c 79 2d 69 67 6e 6f 72 65 64 2d 66 69 6c    65 2d 73 75 66 66 69 78 65 73 29 29 29 0a 20 20 | ally-ignored-file-suffixes)))... | 
| 1ca60 | 20 20 20 66 69 6c 65 73 29 29 29 0a 0a 28 64 65    66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 6b | ...files)))..(defun.projectile-k | 
| 1ca80 | 65 65 70 2d 69 67 6e 6f 72 65 64 2d 66 69 6c 65    73 20 28 70 72 6f 6a 65 63 74 20 76 63 73 20 66 | eep-ignored-files.(project.vcs.f | 
| 1caa0 | 69 6c 65 73 29 0a 20 20 22 46 69 6c 74 65 72 20    46 49 4c 45 53 20 74 6f 20 72 65 74 61 69 6e 20 | iles)..."Filter.FILES.to.retain. | 
| 1cac0 | 6f 6e 6c 79 20 74 68 6f 73 65 20 74 68 61 74 20    61 72 65 20 69 67 6e 6f 72 65 64 2e 22 0a 20 20 | only.those.that.are.ignored."... | 
| 1cae0 | 28 77 68 65 6e 20 66 69 6c 65 73 0a 20 20 20 20    28 63 6c 2d 72 65 6d 6f 76 65 2d 69 66 2d 6e 6f | (when.files.....(cl-remove-if-no | 
| 1cb00 | 74 0a 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28    66 69 6c 65 29 0a 20 20 20 20 20 20 20 28 63 6c | t......(lambda.(file)........(cl | 
| 1cb20 | 2d 73 6f 6d 65 20 28 6c 61 6d 62 64 61 20 28 66    29 20 28 73 74 72 69 6e 67 2d 70 72 65 66 69 78 | -some.(lambda.(f).(string-prefix | 
| 1cb40 | 2d 70 20 66 20 66 69 6c 65 29 29 20 66 69 6c 65    73 29 29 0a 20 20 20 20 20 28 70 72 6f 6a 65 63 | -p.f.file)).files))......(projec | 
| 1cb60 | 74 69 6c 65 2d 67 65 74 2d 72 65 70 6f 2d 69 67    6e 6f 72 65 64 2d 66 69 6c 65 73 20 70 72 6f 6a | tile-get-repo-ignored-files.proj | 
| 1cb80 | 65 63 74 20 76 63 73 29 29 29 29 0a 0a 28 64 65    66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 6b | ect.vcs))))..(defun.projectile-k | 
| 1cba0 | 65 65 70 2d 69 67 6e 6f 72 65 64 2d 64 69 72 65    63 74 6f 72 69 65 73 20 28 70 72 6f 6a 65 63 74 | eep-ignored-directories.(project | 
| 1cbc0 | 20 76 63 73 20 64 69 72 65 63 74 6f 72 69 65 73    29 0a 20 20 22 47 65 74 20 69 67 6e 6f 72 65 64 | .vcs.directories)..."Get.ignored | 
| 1cbe0 | 20 66 69 6c 65 73 20 77 69 74 68 69 6e 20 65 61    63 68 20 6f 66 20 44 49 52 45 43 54 4f 52 49 45 | .files.within.each.of.DIRECTORIE | 
| 1cc00 | 53 2e 22 0a 20 20 28 77 68 65 6e 20 64 69 72 65    63 74 6f 72 69 65 73 0a 20 20 20 20 28 6c 65 74 | S."...(when.directories.....(let | 
| 1cc20 | 20 28 72 65 73 75 6c 74 29 0a 20 20 20 20 20 20    28 64 6f 6c 69 73 74 20 28 64 69 72 20 64 69 72 | .(result).......(dolist.(dir.dir | 
| 1cc40 | 65 63 74 6f 72 69 65 73 20 72 65 73 75 6c 74 29    0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 72 | ectories.result).........(setq.r | 
| 1cc60 | 65 73 75 6c 74 20 28 61 70 70 65 6e 64 20 72 65    73 75 6c 74 0a 20 20 20 20 20 20 20 20 20 20 20 | esult.(append.result............ | 
| 1cc80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 67 65 | ..................(projectile-ge | 
| 1cca0 | 74 2d 72 65 70 6f 2d 69 67 6e 6f 72 65 64 2d 64    69 72 65 63 74 6f 72 79 20 70 72 6f 6a 65 63 74 | t-repo-ignored-directory.project | 
| 1ccc0 | 20 64 69 72 20 76 63 73 29 29 29 29 0a 20 20 20    20 20 20 72 65 73 75 6c 74 29 29 29 0a 0a 28 64 | .dir.vcs)))).......result)))..(d | 
| 1cce0 | 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d    61 64 64 2d 75 6e 69 67 6e 6f 72 65 64 20 28 70 | efun.projectile-add-unignored.(p | 
| 1cd00 | 72 6f 6a 65 63 74 20 76 63 73 20 66 69 6c 65 73    29 0a 20 20 22 54 68 69 73 20 61 64 64 73 20 75 | roject.vcs.files)..."This.adds.u | 
| 1cd20 | 6e 69 67 6e 6f 72 65 64 20 66 69 6c 65 73 20 74    6f 20 46 49 4c 45 53 2e 0a 0a 55 73 65 66 75 6c | nignored.files.to.FILES...Useful | 
| 1cd40 | 20 62 65 63 61 75 73 65 20 74 68 65 20 56 43 53    20 6d 61 79 20 6e 6f 74 20 72 65 74 75 72 6e 20 | .because.the.VCS.may.not.return. | 
| 1cd60 | 69 67 6e 6f 72 65 64 20 66 69 6c 65 73 20 61 74    20 61 6c 6c 2e 20 20 49 6e 0a 74 68 69 73 20 63 | ignored.files.at.all...In.this.c | 
| 1cd80 | 61 73 65 20 75 6e 69 67 6e 6f 72 65 64 20 66 69    6c 65 73 20 77 69 6c 6c 20 62 65 20 61 62 73 65 | ase.unignored.files.will.be.abse | 
| 1cda0 | 6e 74 20 66 72 6f 6d 20 46 49 4c 45 53 2e 22 0a    20 20 28 6c 65 74 20 28 28 75 6e 69 67 6e 6f 72 | nt.from.FILES."...(let.((unignor | 
| 1cdc0 | 65 64 2d 66 69 6c 65 73 20 28 70 72 6f 6a 65 63    74 69 6c 65 2d 6b 65 65 70 2d 69 67 6e 6f 72 65 | ed-files.(projectile-keep-ignore | 
| 1cde0 | 64 2d 66 69 6c 65 73 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 | d-files......................... | 
| 1ce00 | 20 20 70 72 6f 6a 65 63 74 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ..project....................... | 
| 1ce20 | 20 20 20 20 76 63 73 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 | ....vcs......................... | 
| 1ce40 | 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 75 6e    69 67 6e 6f 72 65 64 2d 66 69 6c 65 73 2d 72 65 | ..(projectile-unignored-files-re | 
| 1ce60 | 6c 29 29 29 0a 20 20 20 20 20 20 20 20 28 75 6e    69 67 6e 6f 72 65 64 2d 70 61 74 68 73 20 28 70 | l))).........(unignored-paths.(p | 
| 1ce80 | 72 6f 6a 65 63 74 69 6c 65 2d 72 65 6d 6f 76 65    2d 69 67 6e 6f 72 65 64 0a 20 20 20 20 20 20 20 | rojectile-remove-ignored........ | 
| 1cea0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 6b | ...................(projectile-k | 
| 1cec0 | 65 65 70 2d 69 67 6e 6f 72 65 64 2d 64 69 72 65    63 74 6f 72 69 65 73 0a 20 20 20 20 20 20 20 20 | eep-ignored-directories......... | 
| 1cee0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 70 72 6f 6a 65 63 74 0a 20 20 20 20 20 | ...................project...... | 
| 1cf00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 76 63 73 0a 20 20 20 20 20 20 | ......................vcs....... | 
| 1cf20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 | .....................(projectile | 
| 1cf40 | 2d 75 6e 69 67 6e 6f 72 65 64 2d 64 69 72 65 63    74 6f 72 69 65 73 2d 72 65 6c 29 29 29 29 29 0a | -unignored-directories-rel))))). | 
| 1cf60 | 20 20 20 20 28 61 70 70 65 6e 64 20 66 69 6c 65    73 20 75 6e 69 67 6e 6f 72 65 64 2d 66 69 6c 65 | ....(append.files.unignored-file | 
| 1cf80 | 73 20 75 6e 69 67 6e 6f 72 65 64 2d 70 61 74 68    73 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f | s.unignored-paths)))..(defun.pro | 
| 1cfa0 | 6a 65 63 74 69 6c 65 2d 62 75 66 66 65 72 73 2d    77 69 74 68 2d 66 69 6c 65 20 28 62 75 66 66 65 | jectile-buffers-with-file.(buffe | 
| 1cfc0 | 72 73 29 0a 20 20 22 52 65 74 75 72 6e 20 6f 6e    6c 79 20 74 68 6f 73 65 20 42 55 46 46 45 52 53 | rs)..."Return.only.those.BUFFERS | 
| 1cfe0 | 20 62 61 63 6b 65 64 20 62 79 20 66 69 6c 65 73    2e 22 0a 20 20 28 63 6c 2d 72 65 6d 6f 76 65 2d | .backed.by.files."...(cl-remove- | 
| 1d000 | 69 66 2d 6e 6f 74 20 28 6c 61 6d 62 64 61 20 28    62 29 20 28 62 75 66 66 65 72 2d 66 69 6c 65 2d | if-not.(lambda.(b).(buffer-file- | 
| 1d020 | 6e 61 6d 65 20 62 29 29 20 62 75 66 66 65 72 73    29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 | name.b)).buffers))..(defun.proje | 
| 1d040 | 63 74 69 6c 65 2d 62 75 66 66 65 72 73 2d 77 69    74 68 2d 66 69 6c 65 2d 6f 72 2d 70 72 6f 63 65 | ctile-buffers-with-file-or-proce | 
| 1d060 | 73 73 20 28 62 75 66 66 65 72 73 29 0a 20 20 22    52 65 74 75 72 6e 20 6f 6e 6c 79 20 74 68 6f 73 | ss.(buffers)..."Return.only.thos | 
| 1d080 | 65 20 42 55 46 46 45 52 53 20 62 61 63 6b 65 64    20 62 79 20 66 69 6c 65 73 20 6f 72 20 70 72 6f | e.BUFFERS.backed.by.files.or.pro | 
| 1d0a0 | 63 65 73 73 65 73 2e 22 0a 20 20 28 63 6c 2d 72    65 6d 6f 76 65 2d 69 66 2d 6e 6f 74 20 28 6c 61 | cesses."...(cl-remove-if-not.(la | 
| 1d0c0 | 6d 62 64 61 20 28 62 29 20 28 6f 72 20 28 62 75    66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 20 62 | mbda.(b).(or.(buffer-file-name.b | 
| 1d0e0 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | )............................... | 
| 1d100 | 20 20 20 20 20 20 28 67 65 74 2d 62 75 66 66 65    72 2d 70 72 6f 63 65 73 73 20 62 29 29 29 20 62 | ......(get-buffer-process.b))).b | 
| 1d120 | 75 66 66 65 72 73 29 29 0a 0a 28 64 65 66 75 6e    20 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a | uffers))..(defun.projectile-proj | 
| 1d140 | 65 63 74 2d 62 75 66 66 65 72 73 20 28 26 6f 70    74 69 6f 6e 61 6c 20 70 72 6f 6a 65 63 74 29 0a | ect-buffers.(&optional.project). | 
| 1d160 | 20 20 22 47 65 74 20 61 20 6c 69 73 74 20 6f 66    20 61 20 70 72 6f 6a 65 63 74 27 73 20 62 75 66 | .."Get.a.list.of.a.project's.buf | 
| 1d180 | 66 65 72 73 2e 0a 49 66 20 50 52 4f 4a 45 43 54    20 69 73 20 6e 6f 74 20 73 70 65 63 69 66 69 65 | fers..If.PROJECT.is.not.specifie | 
| 1d1a0 | 64 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 61 63    74 73 20 6f 6e 20 74 68 65 20 63 75 72 72 65 6e | d.the.command.acts.on.the.curren | 
| 1d1c0 | 74 20 70 72 6f 6a 65 63 74 2e 22 0a 20 20 28 6c    65 74 2a 20 28 28 70 72 6f 6a 65 63 74 2d 72 6f | t.project."...(let*.((project-ro | 
| 1d1e0 | 6f 74 20 28 6f 72 20 70 72 6f 6a 65 63 74 20 28    70 72 6f 6a 65 63 74 69 6c 65 2d 61 63 71 75 69 | ot.(or.project.(projectile-acqui | 
| 1d200 | 72 65 2d 72 6f 6f 74 29 29 29 0a 20 20 20 20 20    20 20 20 20 28 61 6c 6c 2d 62 75 66 66 65 72 73 | re-root)))..........(all-buffers | 
| 1d220 | 20 28 63 6c 2d 72 65 6d 6f 76 65 2d 69 66 2d 6e    6f 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | .(cl-remove-if-not.............. | 
| 1d240 | 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64    61 20 28 62 75 66 66 65 72 29 0a 20 20 20 20 20 | ..........(lambda.(buffer)...... | 
| 1d260 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d | ....................(projectile- | 
| 1d280 | 70 72 6f 6a 65 63 74 2d 62 75 66 66 65 72 2d 70    20 62 75 66 66 65 72 20 70 72 6f 6a 65 63 74 2d | project-buffer-p.buffer.project- | 
| 1d2a0 | 72 6f 6f 74 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 28 62 | root))........................(b | 
| 1d2c0 | 75 66 66 65 72 2d 6c 69 73 74 29 29 29 29 0a 20    20 20 20 28 69 66 20 70 72 6f 6a 65 63 74 69 6c | uffer-list)))).....(if.projectil | 
| 1d2e0 | 65 2d 62 75 66 66 65 72 73 2d 66 69 6c 74 65 72    2d 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 | e-buffers-filter-function....... | 
| 1d300 | 20 20 28 66 75 6e 63 61 6c 6c 20 70 72 6f 6a 65    63 74 69 6c 65 2d 62 75 66 66 65 72 73 2d 66 69 | ..(funcall.projectile-buffers-fi | 
| 1d320 | 6c 74 65 72 2d 66 75 6e 63 74 69 6f 6e 20 61 6c    6c 2d 62 75 66 66 65 72 73 29 0a 20 20 20 20 20 | lter-function.all-buffers)...... | 
| 1d340 | 20 61 6c 6c 2d 62 75 66 66 65 72 73 29 29 29 0a    0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 | .all-buffers)))..(defun.projecti | 
| 1d360 | 6c 65 2d 70 72 6f 63 65 73 73 2d 63 75 72 72 65    6e 74 2d 70 72 6f 6a 65 63 74 2d 62 75 66 66 65 | le-process-current-project-buffe | 
| 1d380 | 72 73 20 28 61 63 74 69 6f 6e 29 0a 20 20 22 50    72 6f 63 65 73 73 20 74 68 65 20 63 75 72 72 65 | rs.(action)..."Process.the.curre | 
| 1d3a0 | 6e 74 20 70 72 6f 6a 65 63 74 27 73 20 62 75 66    66 65 72 73 20 75 73 69 6e 67 20 41 43 54 49 4f | nt.project's.buffers.using.ACTIO | 
| 1d3c0 | 4e 2e 22 0a 20 20 28 6c 65 74 20 28 28 70 72 6f    6a 65 63 74 2d 62 75 66 66 65 72 73 20 28 70 72 | N."...(let.((project-buffers.(pr | 
| 1d3e0 | 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74    2d 62 75 66 66 65 72 73 29 29 29 0a 20 20 20 20 | ojectile-project-buffers)))..... | 
| 1d400 | 28 64 6f 6c 69 73 74 20 28 62 75 66 66 65 72 20    70 72 6f 6a 65 63 74 2d 62 75 66 66 65 72 73 29 | (dolist.(buffer.project-buffers) | 
| 1d420 | 0a 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20    61 63 74 69 6f 6e 20 62 75 66 66 65 72 29 29 29 | .......(funcall.action.buffer))) | 
| 1d440 | 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63    74 69 6c 65 2d 70 72 6f 63 65 73 73 2d 63 75 72 | )..(defun.projectile-process-cur | 
| 1d460 | 72 65 6e 74 2d 70 72 6f 6a 65 63 74 2d 62 75 66    66 65 72 73 2d 63 75 72 72 65 6e 74 20 28 61 63 | rent-project-buffers-current.(ac | 
| 1d480 | 74 69 6f 6e 29 0a 20 20 22 49 6e 76 6f 6b 65 20    41 43 54 49 4f 4e 20 6f 6e 20 65 76 65 72 79 20 | tion)..."Invoke.ACTION.on.every. | 
| 1d4a0 | 70 72 6f 6a 65 63 74 20 62 75 66 66 65 72 20 77    69 74 68 20 74 68 61 74 20 62 75 66 66 65 72 20 | project.buffer.with.that.buffer. | 
| 1d4c0 | 63 75 72 72 65 6e 74 2e 0a 41 43 54 49 4f 4e 20    69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 6f 75 | current..ACTION.is.called.withou | 
| 1d4e0 | 74 20 61 72 67 75 6d 65 6e 74 73 2e 22 0a 20 20    28 6c 65 74 20 28 28 70 72 6f 6a 65 63 74 2d 62 | t.arguments."...(let.((project-b | 
| 1d500 | 75 66 66 65 72 73 20 28 70 72 6f 6a 65 63 74 69    6c 65 2d 70 72 6f 6a 65 63 74 2d 62 75 66 66 65 | uffers.(projectile-project-buffe | 
| 1d520 | 72 73 29 29 29 0a 20 20 20 20 28 64 6f 6c 69 73    74 20 28 62 75 66 66 65 72 20 70 72 6f 6a 65 63 | rs))).....(dolist.(buffer.projec | 
| 1d540 | 74 2d 62 75 66 66 65 72 73 29 0a 20 20 20 20 20    20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 | t-buffers).......(with-current-b | 
| 1d560 | 75 66 66 65 72 20 62 75 66 66 65 72 0a 20 20 20    20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 61 63 | uffer.buffer.........(funcall.ac | 
| 1d580 | 74 69 6f 6e 29 29 29 29 29 0a 0a 28 64 65 66 75    6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f | tion)))))..(defun.projectile-pro | 
| 1d5a0 | 6a 65 63 74 2d 62 75 66 66 65 72 2d 66 69 6c 65    73 20 28 26 6f 70 74 69 6f 6e 61 6c 20 70 72 6f | ject-buffer-files.(&optional.pro | 
| 1d5c0 | 6a 65 63 74 29 0a 20 20 22 47 65 74 20 61 20 6c    69 73 74 20 6f 66 20 61 20 70 72 6f 6a 65 63 74 | ject)..."Get.a.list.of.a.project | 
| 1d5e0 | 27 73 20 62 75 66 66 65 72 20 66 69 6c 65 73 2e    0a 49 66 20 50 52 4f 4a 45 43 54 20 69 73 20 6e | 's.buffer.files..If.PROJECT.is.n | 
| 1d600 | 6f 74 20 73 70 65 63 69 66 69 65 64 20 74 68 65    20 63 6f 6d 6d 61 6e 64 20 61 63 74 73 20 6f 6e | ot.specified.the.command.acts.on | 
| 1d620 | 20 74 68 65 20 63 75 72 72 65 6e 74 20 70 72 6f    6a 65 63 74 2e 22 0a 20 20 28 6c 65 74 20 28 28 | .the.current.project."...(let.(( | 
| 1d640 | 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 20 28 6f 72    20 70 72 6f 6a 65 63 74 20 28 70 72 6f 6a 65 63 | project-root.(or.project.(projec | 
| 1d660 | 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 72 6f 6f    74 29 29 29 29 0a 20 20 20 20 28 6d 61 70 63 61 | tile-project-root)))).....(mapca | 
| 1d680 | 72 0a 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28    62 75 66 66 65 72 29 0a 20 20 20 20 20 20 20 28 | r......(lambda.(buffer)........( | 
| 1d6a0 | 66 69 6c 65 2d 72 65 6c 61 74 69 76 65 2d 6e 61    6d 65 0a 20 20 20 20 20 20 20 20 28 62 75 66 66 | file-relative-name.........(buff | 
| 1d6c0 | 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 20 62 75 66    66 65 72 29 0a 20 20 20 20 20 20 20 20 70 72 6f | er-file-name.buffer).........pro | 
| 1d6e0 | 6a 65 63 74 2d 72 6f 6f 74 29 29 0a 20 20 20 20    20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 62 75 66 | ject-root))......(projectile-buf | 
| 1d700 | 66 65 72 73 2d 77 69 74 68 2d 66 69 6c 65 0a 20    20 20 20 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 | fers-with-file.......(projectile | 
| 1d720 | 2d 70 72 6f 6a 65 63 74 2d 62 75 66 66 65 72 73    20 70 72 6f 6a 65 63 74 29 29 29 29 29 0a 0a 28 | -project-buffers.project)))))..( | 
| 1d740 | 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65    2d 70 72 6f 6a 65 63 74 2d 62 75 66 66 65 72 2d | defun.projectile-project-buffer- | 
| 1d760 | 70 20 28 62 75 66 66 65 72 20 70 72 6f 6a 65 63    74 2d 72 6f 6f 74 29 0a 20 20 22 43 68 65 63 6b | p.(buffer.project-root)..."Check | 
| 1d780 | 20 69 66 20 42 55 46 46 45 52 20 69 73 20 75 6e    64 65 72 20 50 52 4f 4a 45 43 54 2d 52 4f 4f 54 | .if.BUFFER.is.under.PROJECT-ROOT | 
| 1d7a0 | 2e 22 0a 20 20 28 77 69 74 68 2d 63 75 72 72 65    6e 74 2d 62 75 66 66 65 72 20 62 75 66 66 65 72 | ."...(with-current-buffer.buffer | 
| 1d7c0 | 0a 20 20 20 20 28 6c 65 74 20 28 28 64 69 72 65    63 74 6f 72 79 20 28 69 66 20 62 75 66 66 65 72 | .....(let.((directory.(if.buffer | 
| 1d7e0 | 2d 66 69 6c 65 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 | -file-name...................... | 
| 1d800 | 20 20 20 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 64    69 72 65 63 74 6f 72 79 20 62 75 66 66 65 72 2d | ....(file-name-directory.buffer- | 
| 1d820 | 66 69 6c 65 2d 6e 61 6d 65 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | file-name)...................... | 
| 1d840 | 20 20 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74    6f 72 79 29 29 29 0a 20 20 20 20 20 20 28 61 6e | ..default-directory))).......(an | 
| 1d860 | 64 20 28 6e 6f 74 20 28 73 74 72 69 6e 67 2d 70    72 65 66 69 78 2d 70 20 22 20 22 20 28 62 75 66 | d.(not.(string-prefix-p.".".(buf | 
| 1d880 | 66 65 72 2d 6e 61 6d 65 20 62 75 66 66 65 72 29    29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6e | fer-name.buffer)))............(n | 
| 1d8a0 | 6f 74 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 69    67 6e 6f 72 65 64 2d 62 75 66 66 65 72 2d 70 20 | ot.(projectile-ignored-buffer-p. | 
| 1d8c0 | 62 75 66 66 65 72 29 29 0a 20 20 20 20 20 20 20    20 20 20 20 64 69 72 65 63 74 6f 72 79 0a 20 20 | buffer))............directory... | 
| 1d8e0 | 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67    2d 65 71 75 61 6c 20 28 66 69 6c 65 2d 72 65 6d | .........(string-equal.(file-rem | 
| 1d900 | 6f 74 65 2d 70 20 64 69 72 65 63 74 6f 72 79 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ote-p.directory)................ | 
| 1d920 | 20 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 2d    72 65 6d 6f 74 65 2d 70 20 70 72 6f 6a 65 63 74 | ..........(file-remote-p.project | 
| 1d940 | 2d 72 6f 6f 74 29 29 0a 20 20 20 20 20 20 20 20    20 20 20 28 6e 6f 74 20 28 73 74 72 69 6e 67 2d | -root))............(not.(string- | 
| 1d960 | 6d 61 74 63 68 2d 70 20 22 5e 68 74 74 70 5c 5c    28 73 5c 5c 29 3f 3a 2f 2f 22 20 64 69 72 65 63 | match-p."^http\\(s\\)?://".direc | 
| 1d980 | 74 6f 72 79 29 29 0a 20 20 20 20 20 20 20 20 20    20 20 28 73 74 72 69 6e 67 2d 70 72 65 66 69 78 | tory))............(string-prefix | 
| 1d9a0 | 2d 70 20 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 20    28 66 69 6c 65 2d 74 72 75 65 6e 61 6d 65 20 64 | -p.project-root.(file-truename.d | 
| 1d9c0 | 69 72 65 63 74 6f 72 79 29 20 28 65 71 20 73 79    73 74 65 6d 2d 74 79 70 65 20 27 77 69 6e 64 6f | irectory).(eq.system-type.'windo | 
| 1d9e0 | 77 73 2d 6e 74 29 29 29 29 29 29 0a 0a 28 64 65    66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 69 | ws-nt))))))..(defun.projectile-i | 
| 1da00 | 67 6e 6f 72 65 64 2d 62 75 66 66 65 72 2d 70 20    28 62 75 66 66 65 72 29 0a 20 20 22 43 68 65 63 | gnored-buffer-p.(buffer)..."Chec | 
| 1da20 | 6b 20 69 66 20 42 55 46 46 45 52 20 73 68 6f 75    6c 64 20 62 65 20 69 67 6e 6f 72 65 64 2e 0a 0a | k.if.BUFFER.should.be.ignored... | 
| 1da40 | 52 65 67 75 6c 61 72 20 65 78 70 72 65 73 73 69    6f 6e 73 20 63 61 6e 20 62 65 20 75 73 65 2e 22 | Regular.expressions.can.be.use." | 
| 1da60 | 0a 20 20 28 6f 72 0a 20 20 20 28 77 69 74 68 2d    63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 62 | ...(or....(with-current-buffer.b | 
| 1da80 | 75 66 66 65 72 0a 20 20 20 20 20 28 63 6c 2d 73    6f 6d 65 0a 20 20 20 20 20 20 28 6c 61 6d 62 64 | uffer......(cl-some.......(lambd | 
| 1daa0 | 61 20 28 6e 61 6d 65 29 0a 20 20 20 20 20 20 20    20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 | a.(name).........(string-match-p | 
| 1dac0 | 20 6e 61 6d 65 20 28 62 75 66 66 65 72 2d 6e 61    6d 65 29 29 29 0a 20 20 20 20 20 20 70 72 6f 6a | .name.(buffer-name))).......proj | 
| 1dae0 | 65 63 74 69 6c 65 2d 67 6c 6f 62 61 6c 6c 79 2d    69 67 6e 6f 72 65 64 2d 62 75 66 66 65 72 73 29 | ectile-globally-ignored-buffers) | 
| 1db00 | 29 0a 20 20 20 28 77 69 74 68 2d 63 75 72 72 65    6e 74 2d 62 75 66 66 65 72 20 62 75 66 66 65 72 | )....(with-current-buffer.buffer | 
| 1db20 | 0a 20 20 20 20 20 28 63 6c 2d 73 6f 6d 65 0a 20    20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 6d 6f | ......(cl-some.......(lambda.(mo | 
| 1db40 | 64 65 29 0a 20 20 20 20 20 20 20 20 28 73 74 72    69 6e 67 2d 6d 61 74 63 68 2d 70 20 28 63 6f 6e | de).........(string-match-p.(con | 
| 1db60 | 63 61 74 20 22 5e 22 20 6d 6f 64 65 20 22 24 22    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | cat."^".mode."$")............... | 
| 1db80 | 20 20 20 20 20 20 20 20 20 20 28 73 79 6d 62 6f    6c 2d 6e 61 6d 65 20 6d 61 6a 6f 72 2d 6d 6f 64 | ..........(symbol-name.major-mod | 
| 1dba0 | 65 29 29 29 0a 20 20 20 20 20 20 70 72 6f 6a 65    63 74 69 6c 65 2d 67 6c 6f 62 61 6c 6c 79 2d 69 | e))).......projectile-globally-i | 
| 1dbc0 | 67 6e 6f 72 65 64 2d 6d 6f 64 65 73 29 29 29 29    0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 | gnored-modes))))..(defun.project | 
| 1dbe0 | 69 6c 65 2d 72 65 63 65 6e 74 6c 79 2d 61 63 74    69 76 65 2d 66 69 6c 65 73 20 28 29 0a 20 20 22 | ile-recently-active-files.()..." | 
| 1dc00 | 47 65 74 20 6c 69 73 74 20 6f 66 20 72 65 63 65    6e 74 6c 79 20 61 63 74 69 76 65 20 66 69 6c 65 | Get.list.of.recently.active.file | 
| 1dc20 | 73 2e 0a 0a 46 69 6c 65 73 20 61 72 65 20 6f 72    64 65 72 65 64 20 62 79 20 72 65 63 65 6e 74 6c | s...Files.are.ordered.by.recentl | 
| 1dc40 | 79 20 61 63 74 69 76 65 20 62 75 66 66 65 72 73    2c 20 61 6e 64 20 74 68 65 6e 20 72 65 63 65 6e | y.active.buffers,.and.then.recen | 
| 1dc60 | 74 6c 79 0a 6f 70 65 6e 65 64 20 74 68 72 6f 75    67 68 20 75 73 65 20 6f 66 20 72 65 63 65 6e 74 | tly.opened.through.use.of.recent | 
| 1dc80 | 66 2e 22 0a 20 20 28 6c 65 74 20 28 28 70 72 6f    6a 65 63 74 2d 62 75 66 66 65 72 2d 66 69 6c 65 | f."...(let.((project-buffer-file | 
| 1dca0 | 73 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72    6f 6a 65 63 74 2d 62 75 66 66 65 72 2d 66 69 6c | s.(projectile-project-buffer-fil | 
| 1dcc0 | 65 73 29 29 29 0a 20 20 20 20 28 61 70 70 65 6e    64 20 70 72 6f 6a 65 63 74 2d 62 75 66 66 65 72 | es))).....(append.project-buffer | 
| 1dce0 | 2d 66 69 6c 65 73 0a 20 20 20 20 20 20 20 20 20    20 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 64 | -files.............(projectile-d | 
| 1dd00 | 69 66 66 65 72 65 6e 63 65 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 28 70 72 6f 6a 65 63 74 69 | ifference..............(projecti | 
| 1dd20 | 6c 65 2d 72 65 63 65 6e 74 66 2d 66 69 6c 65 73    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 70 | le-recentf-files)..............p | 
| 1dd40 | 72 6f 6a 65 63 74 2d 62 75 66 66 65 72 2d 66 69    6c 65 73 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 | roject-buffer-files))))..(defun. | 
| 1dd60 | 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65    63 74 2d 62 75 66 66 65 72 2d 6e 61 6d 65 73 20 | projectile-project-buffer-names. | 
| 1dd80 | 28 29 0a 20 20 22 47 65 74 20 61 20 6c 69 73 74    20 6f 66 20 70 72 6f 6a 65 63 74 20 62 75 66 66 | ()..."Get.a.list.of.project.buff | 
| 1dda0 | 65 72 20 6e 61 6d 65 73 2e 22 0a 20 20 28 6d 61    70 63 61 72 20 23 27 62 75 66 66 65 72 2d 6e 61 | er.names."...(mapcar.#'buffer-na | 
| 1ddc0 | 6d 65 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 70    72 6f 6a 65 63 74 2d 62 75 66 66 65 72 73 29 29 | me.(projectile-project-buffers)) | 
| 1dde0 | 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63    74 69 6c 65 2d 70 72 65 70 65 6e 64 2d 70 72 6f | )..(defun.projectile-prepend-pro | 
| 1de00 | 6a 65 63 74 2d 6e 61 6d 65 20 28 73 74 72 69 6e    67 29 0a 20 20 22 50 72 65 70 65 6e 64 20 74 68 | ject-name.(string)..."Prepend.th | 
| 1de20 | 65 20 63 75 72 72 65 6e 74 20 70 72 6f 6a 65 63    74 27 73 20 6e 61 6d 65 20 74 6f 20 53 54 52 49 | e.current.project's.name.to.STRI | 
| 1de40 | 4e 47 2e 22 0a 20 20 28 66 6f 72 6d 61 74 20 22    5b 25 73 5d 20 25 73 22 20 28 70 72 6f 6a 65 63 | NG."...(format."[%s].%s".(projec | 
| 1de60 | 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 6e 61 6d    65 29 20 73 74 72 69 6e 67 29 29 0a 0a 28 64 65 | tile-project-name).string))..(de | 
| 1de80 | 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 72    65 61 64 2d 62 75 66 66 65 72 2d 74 6f 2d 73 77 | fun.projectile-read-buffer-to-sw | 
| 1dea0 | 69 74 63 68 20 28 70 72 6f 6d 70 74 29 0a 20 20    22 52 65 61 64 20 74 68 65 20 6e 61 6d 65 20 6f | itch.(prompt)..."Read.the.name.o | 
| 1dec0 | 66 20 61 20 62 75 66 66 65 72 20 74 6f 20 73 77    69 74 63 68 20 74 6f 2c 20 70 72 6f 6d 70 74 69 | f.a.buffer.to.switch.to,.prompti | 
| 1dee0 | 6e 67 20 77 69 74 68 20 50 52 4f 4d 50 54 2e 0a    0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 65 | ng.with.PROMPT...This.function.e | 
| 1df00 | 78 63 6c 75 64 65 73 20 74 68 65 20 63 75 72 72    65 6e 74 20 62 75 66 66 65 72 20 66 72 6f 6d 20 | xcludes.the.current.buffer.from. | 
| 1df20 | 74 68 65 20 6f 66 66 65 72 65 64 0a 63 68 6f 69    63 65 73 2e 22 0a 20 20 28 70 72 6f 6a 65 63 74 | the.offered.choices."...(project | 
| 1df40 | 69 6c 65 2d 63 6f 6d 70 6c 65 74 69 6e 67 2d 72    65 61 64 0a 20 20 20 70 72 6f 6d 70 74 0a 20 20 | ile-completing-read....prompt... | 
| 1df60 | 20 28 64 65 6c 65 74 65 20 28 62 75 66 66 65 72    2d 6e 61 6d 65 20 28 63 75 72 72 65 6e 74 2d 62 | .(delete.(buffer-name.(current-b | 
| 1df80 | 75 66 66 65 72 29 29 0a 20 20 20 20 20 20 20 20    20 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 70 | uffer))............(projectile-p | 
| 1dfa0 | 72 6f 6a 65 63 74 2d 62 75 66 66 65 72 2d 6e 61    6d 65 73 29 29 29 29 0a 0a 3b 3b 3b 23 23 23 61 | roject-buffer-names))))..;;;###a | 
| 1dfc0 | 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 70    72 6f 6a 65 63 74 69 6c 65 2d 73 77 69 74 63 68 | utoload.(defun.projectile-switch | 
| 1dfe0 | 2d 74 6f 2d 62 75 66 66 65 72 20 28 29 0a 20 20    22 53 77 69 74 63 68 20 74 6f 20 61 20 70 72 6f | -to-buffer.()..."Switch.to.a.pro | 
| 1e000 | 6a 65 63 74 20 62 75 66 66 65 72 2e 22 0a 20 20    28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 | ject.buffer."...(interactive)... | 
| 1e020 | 28 73 77 69 74 63 68 2d 74 6f 2d 62 75 66 66 65    72 0a 20 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 | (switch-to-buffer....(projectile | 
| 1e040 | 2d 72 65 61 64 2d 62 75 66 66 65 72 2d 74 6f 2d    73 77 69 74 63 68 20 22 53 77 69 74 63 68 20 74 | -read-buffer-to-switch."Switch.t | 
| 1e060 | 6f 20 62 75 66 66 65 72 3a 20 22 29 29 29 0a 0a    3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 | o.buffer:.")))..;;;###autoload.( | 
| 1e080 | 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65    2d 73 77 69 74 63 68 2d 74 6f 2d 62 75 66 66 65 | defun.projectile-switch-to-buffe | 
| 1e0a0 | 72 2d 6f 74 68 65 72 2d 77 69 6e 64 6f 77 20 28    29 0a 20 20 22 53 77 69 74 63 68 20 74 6f 20 61 | r-other-window.()..."Switch.to.a | 
| 1e0c0 | 20 70 72 6f 6a 65 63 74 20 62 75 66 66 65 72 20    61 6e 64 20 73 68 6f 77 20 69 74 20 69 6e 20 61 | .project.buffer.and.show.it.in.a | 
| 1e0e0 | 6e 6f 74 68 65 72 20 77 69 6e 64 6f 77 2e 22 0a    20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a | nother.window."...(interactive). | 
| 1e100 | 20 20 28 73 77 69 74 63 68 2d 74 6f 2d 62 75 66    66 65 72 2d 6f 74 68 65 72 2d 77 69 6e 64 6f 77 | ..(switch-to-buffer-other-window | 
| 1e120 | 0a 20 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d    72 65 61 64 2d 62 75 66 66 65 72 2d 74 6f 2d 73 | ....(projectile-read-buffer-to-s | 
| 1e140 | 77 69 74 63 68 20 22 53 77 69 74 63 68 20 74 6f    20 62 75 66 66 65 72 3a 20 22 29 29 29 0a 0a 3b | witch."Switch.to.buffer:.")))..; | 
| 1e160 | 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64    65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d | ;;###autoload.(defun.projectile- | 
| 1e180 | 73 77 69 74 63 68 2d 74 6f 2d 62 75 66 66 65 72    2d 6f 74 68 65 72 2d 66 72 61 6d 65 20 28 29 0a | switch-to-buffer-other-frame.(). | 
| 1e1a0 | 20 20 22 53 77 69 74 63 68 20 74 6f 20 61 20 70    72 6f 6a 65 63 74 20 62 75 66 66 65 72 20 61 6e | .."Switch.to.a.project.buffer.an | 
| 1e1c0 | 64 20 73 68 6f 77 20 69 74 20 69 6e 20 61 6e 6f    74 68 65 72 20 66 72 61 6d 65 2e 22 0a 20 20 28 | d.show.it.in.another.frame."...( | 
| 1e1e0 | 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28    73 77 69 74 63 68 2d 74 6f 2d 62 75 66 66 65 72 | interactive)...(switch-to-buffer | 
| 1e200 | 2d 6f 74 68 65 72 2d 66 72 61 6d 65 0a 20 20 20    28 70 72 6f 6a 65 63 74 69 6c 65 2d 72 65 61 64 | -other-frame....(projectile-read | 
| 1e220 | 2d 62 75 66 66 65 72 2d 74 6f 2d 73 77 69 74 63    68 20 22 53 77 69 74 63 68 20 74 6f 20 62 75 66 | -buffer-to-switch."Switch.to.buf | 
| 1e240 | 66 65 72 3a 20 22 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 | fer:.")))..;;;###autoload.(defun | 
| 1e260 | 20 70 72 6f 6a 65 63 74 69 6c 65 2d 64 69 73 70    6c 61 79 2d 62 75 66 66 65 72 20 28 29 0a 20 20 | .projectile-display-buffer.()... | 
| 1e280 | 22 44 69 73 70 6c 61 79 20 61 20 70 72 6f 6a 65    63 74 20 62 75 66 66 65 72 20 69 6e 20 61 6e 6f | "Display.a.project.buffer.in.ano | 
| 1e2a0 | 74 68 65 72 20 77 69 6e 64 6f 77 20 77 69 74 68    6f 75 74 20 73 65 6c 65 63 74 69 6e 67 20 69 74 | ther.window.without.selecting.it | 
| 1e2c0 | 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76    65 29 0a 20 20 28 64 69 73 70 6c 61 79 2d 62 75 | ."...(interactive)...(display-bu | 
| 1e2e0 | 66 66 65 72 0a 20 20 20 28 70 72 6f 6a 65 63 74    69 6c 65 2d 63 6f 6d 70 6c 65 74 69 6e 67 2d 72 | ffer....(projectile-completing-r | 
| 1e300 | 65 61 64 0a 20 20 20 20 22 44 69 73 70 6c 61 79    20 62 75 66 66 65 72 3a 20 22 0a 20 20 20 20 28 | ead....."Display.buffer:.".....( | 
| 1e320 | 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65    63 74 2d 62 75 66 66 65 72 2d 6e 61 6d 65 73 29 | projectile-project-buffer-names) | 
| 1e340 | 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 70 72 6f 6a 65 | )))..;;;###autoload.(defun.proje | 
| 1e360 | 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 62 75    66 66 65 72 73 2d 6f 74 68 65 72 2d 62 75 66 66 | ctile-project-buffers-other-buff | 
| 1e380 | 65 72 20 28 29 0a 20 20 22 53 77 69 74 63 68 20    74 6f 20 74 68 65 20 6d 6f 73 74 20 72 65 63 65 | er.()..."Switch.to.the.most.rece | 
| 1e3a0 | 6e 74 6c 79 20 73 65 6c 65 63 74 65 64 20 62 75    66 66 65 72 20 70 72 6f 6a 65 63 74 20 62 75 66 | ntly.selected.buffer.project.buf | 
| 1e3c0 | 66 65 72 2e 0a 4f 6e 6c 79 20 62 75 66 66 65 72    73 20 6e 6f 74 20 76 69 73 69 62 6c 65 20 69 6e | fer..Only.buffers.not.visible.in | 
| 1e3e0 | 20 77 69 6e 64 6f 77 73 20 61 72 65 20 72 65 74    75 72 6e 65 64 2e 22 0a 20 20 28 69 6e 74 65 72 | .windows.are.returned."...(inter | 
| 1e400 | 61 63 74 69 76 65 29 0a 20 20 28 73 77 69 74 63    68 2d 74 6f 2d 62 75 66 66 65 72 20 28 63 61 72 | active)...(switch-to-buffer.(car | 
| 1e420 | 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f    6a 65 63 74 2d 62 75 66 66 65 72 73 2d 6e 6f 6e | .(projectile-project-buffers-non | 
| 1e440 | 2d 76 69 73 69 62 6c 65 29 29 29 20 6e 69 6c 20    74 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 | -visible))).nil.t)..(defun.proje | 
| 1e460 | 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 62 75    66 66 65 72 73 2d 6e 6f 6e 2d 76 69 73 69 62 6c | ctile-project-buffers-non-visibl | 
| 1e480 | 65 20 28 29 0a 20 20 22 47 65 74 20 61 20 6c 69    73 74 20 6f 66 20 6e 6f 6e 20 76 69 73 69 62 6c | e.()..."Get.a.list.of.non.visibl | 
| 1e4a0 | 65 20 70 72 6f 6a 65 63 74 20 62 75 66 66 65 72    73 2e 22 0a 20 20 28 63 6c 2d 72 65 6d 6f 76 65 | e.project.buffers."...(cl-remove | 
| 1e4c0 | 2d 69 66 2d 6e 6f 74 0a 20 20 20 28 6c 61 6d 62    64 61 20 28 62 75 66 66 65 72 29 0a 20 20 20 20 | -if-not....(lambda.(buffer)..... | 
| 1e4e0 | 20 28 6e 6f 74 20 28 67 65 74 2d 62 75 66 66 65    72 2d 77 69 6e 64 6f 77 20 62 75 66 66 65 72 20 | .(not.(get-buffer-window.buffer. | 
| 1e500 | 27 76 69 73 69 62 6c 65 29 29 29 0a 20 20 20 28    70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 | 'visible)))....(projectile-proje | 
| 1e520 | 63 74 2d 62 75 66 66 65 72 73 29 29 29 0a 0a 3b    3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 | ct-buffers)))..;;;###autoload.(d | 
| 1e540 | 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d    6d 75 6c 74 69 2d 6f 63 63 75 72 20 28 26 6f 70 | efun.projectile-multi-occur.(&op | 
| 1e560 | 74 69 6f 6e 61 6c 20 6e 6c 69 6e 65 73 29 0a 20    20 22 44 6f 20 61 20 60 6d 75 6c 74 69 2d 6f 63 | tional.nlines)..."Do.a.`multi-oc | 
| 1e580 | 63 75 72 27 20 69 6e 20 74 68 65 20 70 72 6f 6a    65 63 74 27 73 20 62 75 66 66 65 72 73 2e 0a 57 | cur'.in.the.project's.buffers..W | 
| 1e5a0 | 69 74 68 20 61 20 70 72 65 66 69 78 20 61 72 67    75 6d 65 6e 74 2c 20 73 68 6f 77 20 4e 4c 49 4e | ith.a.prefix.argument,.show.NLIN | 
| 1e5c0 | 45 53 20 6f 66 20 63 6f 6e 74 65 78 74 2e 22 0a    20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 | ES.of.context."...(interactive." | 
| 1e5e0 | 50 22 29 0a 20 20 28 6c 65 74 20 28 28 70 72 6f    6a 65 63 74 20 28 70 72 6f 6a 65 63 74 69 6c 65 | P")...(let.((project.(projectile | 
| 1e600 | 2d 61 63 71 75 69 72 65 2d 72 6f 6f 74 29 29 29    0a 20 20 20 20 28 6d 75 6c 74 69 2d 6f 63 63 75 | -acquire-root))).....(multi-occu | 
| 1e620 | 72 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72    6f 6a 65 63 74 2d 62 75 66 66 65 72 73 20 70 72 | r.(projectile-project-buffers.pr | 
| 1e640 | 6f 6a 65 63 74 29 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 28 63 61 72 20 28 6f 63 | oject)..................(car.(oc | 
| 1e660 | 63 75 72 2d 72 65 61 64 2d 70 72 69 6d 61 72 79    2d 61 72 67 73 29 29 0a 20 20 20 20 20 20 20 20 | cur-read-primary-args))......... | 
| 1e680 | 20 20 20 20 20 20 20 20 20 6e 6c 69 6e 65 73 29    29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 | .........nlines)))..(defun.proje | 
| 1e6a0 | 63 74 69 6c 65 2d 6e 6f 72 6d 61 6c 69 73 65 2d    70 61 74 68 73 20 28 70 61 74 74 65 72 6e 73 29 | ctile-normalise-paths.(patterns) | 
| 1e6c0 | 0a 20 20 22 52 65 6d 6f 76 65 20 6c 65 61 64 69    6e 67 20 60 2f 27 20 66 72 6f 6d 20 74 68 65 20 | ..."Remove.leading.`/'.from.the. | 
| 1e6e0 | 65 6c 65 6d 65 6e 74 73 20 6f 66 20 50 41 54 54    45 52 4e 53 2e 22 0a 20 20 28 64 65 6c 71 20 6e | elements.of.PATTERNS."...(delq.n | 
| 1e700 | 69 6c 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62    64 61 20 28 70 61 74 29 20 28 61 6e 64 20 28 73 | il.(mapcar.(lambda.(pat).(and.(s | 
| 1e720 | 74 72 69 6e 67 2d 70 72 65 66 69 78 2d 70 20 22    2f 22 20 70 61 74 29 0a 20 20 20 20 20 20 20 20 | tring-prefix-p."/".pat)......... | 
| 1e740 | 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 3b | ...............................; | 
| 1e760 | 3b 20 72 65 6d 6f 76 65 20 74 68 65 20 6c 65 61    64 69 6e 67 20 2f 0a 20 20 20 20 20 20 20 20 20 | ;.remove.the.leading./.......... | 
| 1e780 | 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 73 | ..............................(s | 
| 1e7a0 | 75 62 73 74 72 69 6e 67 20 70 61 74 20 31 29 29    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ubstring.pat.1)))............... | 
| 1e7c0 | 20 20 20 20 20 20 70 61 74 74 65 72 6e 73 29 29    29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 | ......patterns)))..(defun.projec | 
| 1e7e0 | 74 69 6c 65 2d 65 78 70 61 6e 64 2d 70 61 74 68    73 20 28 70 61 74 68 73 29 0a 20 20 22 45 78 70 | tile-expand-paths.(paths)..."Exp | 
| 1e800 | 61 6e 64 20 74 68 65 20 65 6c 65 6d 65 6e 74 73    20 6f 66 20 50 41 54 48 53 2e 0a 0a 45 6c 65 6d | and.the.elements.of.PATHS...Elem | 
| 1e820 | 65 6e 74 73 20 63 6f 6e 74 61 69 6e 69 6e 67 20    77 69 6c 64 63 61 72 64 73 20 61 72 65 20 65 78 | ents.containing.wildcards.are.ex | 
| 1e840 | 70 61 6e 64 65 64 20 61 6e 64 20 73 70 6c 69 63    65 64 20 69 6e 74 6f 20 74 68 65 0a 72 65 73 75 | panded.and.spliced.into.the.resu | 
| 1e860 | 6c 74 69 6e 67 20 70 61 74 68 73 2e 20 20 54 68    65 20 72 65 74 75 72 6e 65 64 20 50 41 54 48 53 | lting.paths...The.returned.PATHS | 
| 1e880 | 20 61 72 65 20 61 62 73 6f 6c 75 74 65 2c 20 62    61 73 65 64 20 6f 6e 20 74 68 65 0a 70 72 6f 6a | .are.absolute,.based.on.the.proj | 
| 1e8a0 | 65 63 74 69 6c 65 20 70 72 6f 6a 65 63 74 20 72    6f 6f 74 2e 22 0a 20 20 28 6c 65 74 20 28 28 64 | ectile.project.root."...(let.((d | 
| 1e8c0 | 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79    20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f | efault-directory.(projectile-pro | 
| 1e8e0 | 6a 65 63 74 2d 72 6f 6f 74 29 29 29 0a 20 20 20    20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 66 6c 61 | ject-root))).....(projectile-fla | 
| 1e900 | 74 74 65 6e 20 28 6d 61 70 63 61 72 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | tten.(mapcar.................... | 
| 1e920 | 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 70    61 74 74 65 72 6e 29 0a 20 20 20 20 20 20 20 20 | ......(lambda.(pattern)......... | 
| 1e940 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 6f 72 20 28 66 69 6c 65 2d 65 78 70 | ...................(or.(file-exp | 
| 1e960 | 61 6e 64 2d 77 69 6c 64 63 61 72 64 73 20 70 61    74 74 65 72 6e 20 74 29 0a 20 20 20 20 20 20 20 | and-wildcards.pattern.t)........ | 
| 1e980 | 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 72 6f 6a 65 63 74 | ........................(project | 
| 1e9a0 | 69 6c 65 2d 65 78 70 61 6e 64 2d 72 6f 6f 74 20    70 61 74 74 65 72 6e 29 29 29 0a 20 20 20 20 20 | ile-expand-root.pattern)))...... | 
| 1e9c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 70 61 74 68 73 29 29 29 29 0a 0a 28 | ....................paths))))..( | 
| 1e9e0 | 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65    2d 6e 6f 72 6d 61 6c 69 73 65 2d 70 61 74 74 65 | defun.projectile-normalise-patte | 
| 1ea00 | 72 6e 73 20 28 70 61 74 74 65 72 6e 73 29 0a 20    20 22 52 65 6d 6f 76 65 20 70 61 74 68 73 20 66 | rns.(patterns)..."Remove.paths.f | 
| 1ea20 | 72 6f 6d 20 50 41 54 54 45 52 4e 53 2e 22 0a 20    20 28 63 6c 2d 72 65 6d 6f 76 65 2d 69 66 20 28 | rom.PATTERNS."...(cl-remove-if.( | 
| 1ea40 | 6c 61 6d 62 64 61 20 28 70 61 74 29 20 28 73 74    72 69 6e 67 2d 70 72 65 66 69 78 2d 70 20 22 2f | lambda.(pat).(string-prefix-p."/ | 
| 1ea60 | 22 20 70 61 74 29 29 20 70 61 74 74 65 72 6e 73    29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 | ".pat)).patterns))..(defun.proje | 
| 1ea80 | 63 74 69 6c 65 2d 6d 61 6b 65 2d 72 65 6c 61 74    69 76 65 2d 74 6f 2d 72 6f 6f 74 20 28 66 69 6c | ctile-make-relative-to-root.(fil | 
| 1eaa0 | 65 73 29 0a 20 20 22 4d 61 6b 65 20 46 49 4c 45    53 20 72 65 6c 61 74 69 76 65 20 74 6f 20 74 68 | es)..."Make.FILES.relative.to.th | 
| 1eac0 | 65 20 70 72 6f 6a 65 63 74 20 72 6f 6f 74 2e 22    0a 20 20 28 6c 65 74 20 28 28 70 72 6f 6a 65 63 | e.project.root."...(let.((projec | 
| 1eae0 | 74 2d 72 6f 6f 74 20 28 70 72 6f 6a 65 63 74 69    6c 65 2d 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 29 | t-root.(projectile-project-root) | 
| 1eb00 | 29 29 0a 20 20 20 20 28 6d 61 70 63 61 72 20 28    6c 61 6d 62 64 61 20 28 66 29 20 28 66 69 6c 65 | )).....(mapcar.(lambda.(f).(file | 
| 1eb20 | 2d 72 65 6c 61 74 69 76 65 2d 6e 61 6d 65 20 66    20 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 29 29 20 | -relative-name.f.project-root)). | 
| 1eb40 | 66 69 6c 65 73 29 29 29 0a 0a 28 64 65 66 75 6e    20 70 72 6f 6a 65 63 74 69 6c 65 2d 69 67 6e 6f | files)))..(defun.projectile-igno | 
| 1eb60 | 72 65 64 2d 64 69 72 65 63 74 6f 72 79 2d 70 0a    20 20 20 20 28 64 69 72 65 63 74 6f 72 79 20 26 | red-directory-p.....(directory.& | 
| 1eb80 | 6f 70 74 69 6f 6e 61 6c 20 69 67 6e 6f 72 65 64    2d 64 69 72 65 63 74 6f 72 69 65 73 20 6c 6f 63 | optional.ignored-directories.loc | 
| 1eba0 | 61 6c 2d 64 69 72 65 63 74 6f 72 79 20 67 6c 6f    62 61 6c 6c 79 2d 69 67 6e 6f 72 65 64 2d 64 69 | al-directory.globally-ignored-di | 
| 1ebc0 | 72 65 63 74 6f 72 69 65 73 29 0a 20 20 22 43 68    65 63 6b 20 69 66 20 44 49 52 45 43 54 4f 52 59 | rectories)..."Check.if.DIRECTORY | 
| 1ebe0 | 20 73 68 6f 75 6c 64 20 62 65 20 69 67 6e 6f 72    65 64 2e 0a 0a 52 65 67 75 6c 61 72 20 65 78 70 | .should.be.ignored...Regular.exp | 
| 1ec00 | 72 65 73 73 69 6f 6e 73 20 63 61 6e 20 62 65 20    75 73 65 64 2e 20 20 50 72 65 2d 63 6f 6d 70 75 | ressions.can.be.used...Pre-compu | 
| 1ec20 | 74 65 64 20 6c 69 73 74 73 20 6f 66 0a 49 47 4e    4f 52 45 44 2d 44 49 52 45 43 54 4f 52 49 45 53 | ted.lists.of.IGNORED-DIRECTORIES | 
| 1ec40 | 20 61 6e 64 20 47 4c 4f 42 41 4c 4c 59 2d 49 47    4e 4f 52 45 44 2d 44 49 52 45 43 54 4f 52 49 45 | .and.GLOBALLY-IGNORED-DIRECTORIE | 
| 1ec60 | 53 0a 61 6e 64 20 74 68 65 20 4c 4f 43 41 4c 2d    44 49 52 45 43 54 4f 52 59 20 6e 61 6d 65 20 6d | S.and.the.LOCAL-DIRECTORY.name.m | 
| 1ec80 | 61 79 20 6f 70 74 69 6f 6e 61 6c 6c 79 20 62 65    20 70 72 6f 76 69 64 65 64 2e 22 0a 20 20 28 6c | ay.optionally.be.provided."...(l | 
| 1eca0 | 65 74 20 28 28 69 67 6e 6f 72 65 64 2d 64 69 72    65 63 74 6f 72 69 65 73 20 28 6f 72 20 69 67 6e | et.((ignored-directories.(or.ign | 
| 1ecc0 | 6f 72 65 64 2d 64 69 72 65 63 74 6f 72 69 65 73    20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 69 67 6e | ored-directories.(projectile-ign | 
| 1ece0 | 6f 72 65 64 2d 64 69 72 65 63 74 6f 72 69 65 73    29 29 29 0a 20 20 20 20 20 20 20 20 28 67 6c 6f | ored-directories))).........(glo | 
| 1ed00 | 62 61 6c 6c 79 2d 69 67 6e 6f 72 65 64 2d 64 69    72 65 63 74 6f 72 69 65 73 20 28 6f 72 20 67 6c | bally-ignored-directories.(or.gl | 
| 1ed20 | 6f 62 61 6c 6c 79 2d 69 67 6e 6f 72 65 64 2d 64    69 72 65 63 74 6f 72 69 65 73 20 28 70 72 6f 6a | obally-ignored-directories.(proj | 
| 1ed40 | 65 63 74 69 6c 65 2d 67 6c 6f 62 61 6c 6c 79 2d    69 67 6e 6f 72 65 64 2d 64 69 72 65 63 74 6f 72 | ectile-globally-ignored-director | 
| 1ed60 | 79 2d 6e 61 6d 65 73 29 29 29 0a 20 20 20 20 20    20 20 20 28 6c 6f 63 61 6c 2d 64 69 72 65 63 74 | y-names))).........(local-direct | 
| 1ed80 | 6f 72 79 20 28 6f 72 20 6c 6f 63 61 6c 2d 64 69    72 65 63 74 6f 72 79 20 28 66 69 6c 65 2d 6e 61 | ory.(or.local-directory.(file-na | 
| 1eda0 | 6d 65 2d 6e 6f 6e 64 69 72 65 63 74 6f 72 79 20    28 64 69 72 65 63 74 6f 72 79 2d 66 69 6c 65 2d | me-nondirectory.(directory-file- | 
| 1edc0 | 6e 61 6d 65 20 64 69 72 65 63 74 6f 72 79 29 29    29 29 29 0a 20 20 20 20 28 6f 72 20 28 63 6c 2d | name.directory))))).....(or.(cl- | 
| 1ede0 | 73 6f 6d 65 0a 20 20 20 20 20 20 20 20 20 28 6c    61 6d 62 64 61 20 28 6e 61 6d 65 29 0a 20 20 20 | some..........(lambda.(name).... | 
| 1ee00 | 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d    6d 61 74 63 68 2d 70 20 6e 61 6d 65 20 64 69 72 | ........(string-match-p.name.dir | 
| 1ee20 | 65 63 74 6f 72 79 29 29 0a 20 20 20 20 20 20 20    20 20 69 67 6e 6f 72 65 64 2d 64 69 72 65 63 74 | ectory))..........ignored-direct | 
| 1ee40 | 6f 72 69 65 73 29 0a 20 20 20 20 20 20 20 20 28    63 6c 2d 73 6f 6d 65 0a 20 20 20 20 20 20 20 20 | ories).........(cl-some......... | 
| 1ee60 | 20 28 6c 61 6d 62 64 61 20 28 6e 61 6d 65 29 0a    20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 | .(lambda.(name)............(stri | 
| 1ee80 | 6e 67 2d 6d 61 74 63 68 2d 70 20 6e 61 6d 65 20    6c 6f 63 61 6c 2d 64 69 72 65 63 74 6f 72 79 29 | ng-match-p.name.local-directory) | 
| 1eea0 | 29 0a 20 20 20 20 20 20 20 20 20 67 6c 6f 62 61    6c 6c 79 2d 69 67 6e 6f 72 65 64 2d 64 69 72 65 | )..........globally-ignored-dire | 
| 1eec0 | 63 74 6f 72 69 65 73 29 29 29 29 0a 0a 28 64 65    66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 69 | ctories))))..(defun.projectile-i | 
| 1eee0 | 67 6e 6f 72 65 64 2d 66 69 6c 65 2d 70 20 28 66    69 6c 65 20 26 6f 70 74 69 6f 6e 61 6c 20 69 67 | gnored-file-p.(file.&optional.ig | 
| 1ef00 | 6e 6f 72 65 64 2d 66 69 6c 65 73 29 0a 20 20 22    43 68 65 63 6b 20 69 66 20 46 49 4c 45 20 73 68 | nored-files)..."Check.if.FILE.sh | 
| 1ef20 | 6f 75 6c 64 20 62 65 20 69 67 6e 6f 72 65 64 2e    0a 0a 52 65 67 75 6c 61 72 20 65 78 70 72 65 73 | ould.be.ignored...Regular.expres | 
| 1ef40 | 73 69 6f 6e 73 20 63 61 6e 20 62 65 20 75 73 65    64 2e 20 20 41 20 70 72 65 2d 63 6f 6d 70 75 74 | sions.can.be.used...A.pre-comput | 
| 1ef60 | 65 64 20 6c 69 73 74 20 6f 66 0a 49 47 4e 4f 52    45 44 2d 46 49 4c 45 53 20 6d 61 79 20 6f 70 74 | ed.list.of.IGNORED-FILES.may.opt | 
| 1ef80 | 69 6f 6e 61 6c 6c 79 20 62 65 20 70 72 6f 76 69    64 65 64 2e 22 0a 20 20 28 63 6c 2d 73 6f 6d 65 | ionally.be.provided."...(cl-some | 
| 1efa0 | 0a 20 20 20 28 6c 61 6d 62 64 61 20 28 6e 61 6d    65 29 0a 20 20 20 20 20 28 73 74 72 69 6e 67 2d | ....(lambda.(name)......(string- | 
| 1efc0 | 6d 61 74 63 68 2d 70 20 6e 61 6d 65 20 66 69 6c    65 29 29 0a 20 20 20 28 6f 72 20 69 67 6e 6f 72 | match-p.name.file))....(or.ignor | 
| 1efe0 | 65 64 2d 66 69 6c 65 73 20 28 70 72 6f 6a 65 63    74 69 6c 65 2d 69 67 6e 6f 72 65 64 2d 66 69 6c | ed-files.(projectile-ignored-fil | 
| 1f000 | 65 73 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 70    72 6f 6a 65 63 74 69 6c 65 2d 63 68 65 63 6b 2d | es))))..(defun.projectile-check- | 
| 1f020 | 70 61 74 74 65 72 6e 2d 70 20 28 66 69 6c 65 20    70 61 74 74 65 72 6e 29 0a 20 20 22 43 68 65 63 | pattern-p.(file.pattern)..."Chec | 
| 1f040 | 6b 20 69 66 20 46 49 4c 45 20 6d 65 65 74 73 20    50 41 54 54 45 52 4e 2e 22 0a 20 20 28 6f 72 20 | k.if.FILE.meets.PATTERN."...(or. | 
| 1f060 | 28 73 74 72 69 6e 67 2d 73 75 66 66 69 78 2d 70    20 28 64 69 72 65 63 74 6f 72 79 2d 66 69 6c 65 | (string-suffix-p.(directory-file | 
| 1f080 | 2d 6e 61 6d 65 20 70 61 74 74 65 72 6e 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | -name.pattern).................. | 
| 1f0a0 | 20 20 20 20 20 20 28 64 69 72 65 63 74 6f 72 79    2d 66 69 6c 65 2d 6e 61 6d 65 20 66 69 6c 65 29 | ......(directory-file-name.file) | 
| 1f0c0 | 29 0a 20 20 20 20 20 20 28 6d 65 6d 62 65 72 20    66 69 6c 65 20 28 66 69 6c 65 2d 65 78 70 61 6e | ).......(member.file.(file-expan | 
| 1f0e0 | 64 2d 77 69 6c 64 63 61 72 64 73 20 70 61 74 74    65 72 6e 20 74 29 29 29 29 0a 0a 28 64 65 66 75 | d-wildcards.pattern.t))))..(defu | 
| 1f100 | 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 69 67 6e    6f 72 65 64 2d 72 65 6c 2d 70 20 28 66 69 6c 65 | n.projectile-ignored-rel-p.(file | 
| 1f120 | 20 64 69 72 65 63 74 6f 72 79 20 70 61 74 74 65    72 6e 73 29 0a 20 20 22 43 68 65 63 6b 20 69 66 | .directory.patterns)..."Check.if | 
| 1f140 | 20 46 49 4c 45 20 73 68 6f 75 6c 64 20 62 65 20    69 67 6e 6f 72 65 64 20 72 65 6c 61 74 69 76 65 | .FILE.should.be.ignored.relative | 
| 1f160 | 20 74 6f 20 44 49 52 45 43 54 4f 52 59 2e 0a 50    41 54 54 45 52 4e 53 20 73 68 6f 75 6c 64 20 68 | .to.DIRECTORY..PATTERNS.should.h | 
| 1f180 | 61 76 65 20 74 68 65 20 66 6f 72 6d 3a 20 28 69    67 6e 6f 72 65 64 20 2e 20 75 6e 69 67 6e 6f 72 | ave.the.form:.(ignored...unignor | 
| 1f1a0 | 65 64 29 22 0a 20 20 28 6c 65 74 20 28 28 64 65    66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 20 | ed)"...(let.((default-directory. | 
| 1f1c0 | 64 69 72 65 63 74 6f 72 79 29 29 0a 20 20 20 20    28 61 6e 64 20 28 63 6c 2d 73 6f 6d 65 0a 20 20 | directory)).....(and.(cl-some... | 
| 1f1e0 | 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20    28 70 61 74 29 20 28 70 72 6f 6a 65 63 74 69 6c | ........(lambda.(pat).(projectil | 
| 1f200 | 65 2d 63 68 65 63 6b 2d 70 61 74 74 65 72 6e 2d    70 20 66 69 6c 65 20 70 61 74 29 29 0a 20 20 20 | e-check-pattern-p.file.pat)).... | 
| 1f220 | 20 20 20 20 20 20 20 28 63 61 72 20 70 61 74 74    65 72 6e 73 29 29 0a 20 20 20 20 20 20 20 20 20 | .......(car.patterns)).......... | 
| 1f240 | 28 63 6c 2d 6e 6f 74 61 6e 79 0a 20 20 20 20 20    20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 70 61 | (cl-notany...........(lambda.(pa | 
| 1f260 | 74 29 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 63    68 65 63 6b 2d 70 61 74 74 65 72 6e 2d 70 20 66 | t).(projectile-check-pattern-p.f | 
| 1f280 | 69 6c 65 20 70 61 74 29 29 0a 20 20 20 20 20 20    20 20 20 20 28 63 64 72 20 70 61 74 74 65 72 6e | ile.pat))...........(cdr.pattern | 
| 1f2a0 | 73 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 70    72 6f 6a 65 63 74 69 6c 65 2d 69 67 6e 6f 72 65 | s)))))..(defun.projectile-ignore | 
| 1f2c0 | 64 2d 66 69 6c 65 73 20 28 29 0a 20 20 22 52 65    74 75 72 6e 20 6c 69 73 74 20 6f 66 20 69 67 6e | d-files.()..."Return.list.of.ign | 
| 1f2e0 | 6f 72 65 64 20 66 69 6c 65 73 2e 22 0a 20 20 28    70 72 6f 6a 65 63 74 69 6c 65 2d 64 69 66 66 65 | ored.files."...(projectile-diffe | 
| 1f300 | 72 65 6e 63 65 0a 20 20 20 28 6d 61 70 63 61 72    0a 20 20 20 20 23 27 70 72 6f 6a 65 63 74 69 6c | rence....(mapcar.....#'projectil | 
| 1f320 | 65 2d 65 78 70 61 6e 64 2d 72 6f 6f 74 0a 20 20    20 20 28 61 70 70 65 6e 64 0a 20 20 20 20 20 70 | e-expand-root.....(append......p | 
| 1f340 | 72 6f 6a 65 63 74 69 6c 65 2d 67 6c 6f 62 61 6c    6c 79 2d 69 67 6e 6f 72 65 64 2d 66 69 6c 65 73 | rojectile-globally-ignored-files | 
| 1f360 | 0a 20 20 20 20 20 28 70 72 6f 6a 65 63 74 69 6c    65 2d 70 72 6f 6a 65 63 74 2d 69 67 6e 6f 72 65 | ......(projectile-project-ignore | 
| 1f380 | 64 2d 66 69 6c 65 73 29 29 29 0a 20 20 20 28 70    72 6f 6a 65 63 74 69 6c 65 2d 75 6e 69 67 6e 6f | d-files)))....(projectile-unigno | 
| 1f3a0 | 72 65 64 2d 66 69 6c 65 73 29 29 29 0a 0a 28 64    65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d | red-files)))..(defun.projectile- | 
| 1f3c0 | 67 6c 6f 62 61 6c 6c 79 2d 69 67 6e 6f 72 65 64    2d 64 69 72 65 63 74 6f 72 79 2d 6e 61 6d 65 73 | globally-ignored-directory-names | 
| 1f3e0 | 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 6c 69    73 74 20 6f 66 20 69 67 6e 6f 72 65 64 20 64 69 | .()..."Return.list.of.ignored.di | 
| 1f400 | 72 65 63 74 6f 72 79 20 6e 61 6d 65 73 2e 22 0a    20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 64 69 | rectory.names."...(projectile-di | 
| 1f420 | 66 66 65 72 65 6e 63 65 0a 20 20 20 70 72 6f 6a    65 63 74 69 6c 65 2d 67 6c 6f 62 61 6c 6c 79 2d | fference....projectile-globally- | 
| 1f440 | 69 67 6e 6f 72 65 64 2d 64 69 72 65 63 74 6f 72    69 65 73 0a 20 20 20 70 72 6f 6a 65 63 74 69 6c | ignored-directories....projectil | 
| 1f460 | 65 2d 67 6c 6f 62 61 6c 6c 79 2d 75 6e 69 67 6e    6f 72 65 64 2d 64 69 72 65 63 74 6f 72 69 65 73 | e-globally-unignored-directories | 
| 1f480 | 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65    63 74 69 6c 65 2d 69 67 6e 6f 72 65 64 2d 64 69 | ))..(defun.projectile-ignored-di | 
| 1f4a0 | 72 65 63 74 6f 72 69 65 73 20 28 29 0a 20 20 22    52 65 74 75 72 6e 20 6c 69 73 74 20 6f 66 20 69 | rectories.()..."Return.list.of.i | 
| 1f4c0 | 67 6e 6f 72 65 64 20 64 69 72 65 63 74 6f 72 69    65 73 2e 22 0a 20 20 28 70 72 6f 6a 65 63 74 69 | gnored.directories."...(projecti | 
| 1f4e0 | 6c 65 2d 64 69 66 66 65 72 65 6e 63 65 0a 20 20    20 28 6d 61 70 63 61 72 0a 20 20 20 20 23 27 66 | le-difference....(mapcar.....#'f | 
| 1f500 | 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 20 28 6d 61 70 63 61 | ile-name-as-directory.....(mapca | 
| 1f520 | 72 0a 20 20 20 20 20 23 27 70 72 6f 6a 65 63 74    69 6c 65 2d 65 78 70 61 6e 64 2d 72 6f 6f 74 0a | r......#'projectile-expand-root. | 
| 1f540 | 20 20 20 20 20 28 61 70 70 65 6e 64 0a 20 20 20    20 20 20 70 72 6f 6a 65 63 74 69 6c 65 2d 67 6c | .....(append.......projectile-gl | 
| 1f560 | 6f 62 61 6c 6c 79 2d 69 67 6e 6f 72 65 64 2d 64    69 72 65 63 74 6f 72 69 65 73 0a 20 20 20 20 20 | obally-ignored-directories...... | 
| 1f580 | 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f    6a 65 63 74 2d 69 67 6e 6f 72 65 64 2d 64 69 72 | .(projectile-project-ignored-dir | 
| 1f5a0 | 65 63 74 6f 72 69 65 73 29 29 29 29 0a 20 20 20    28 70 72 6f 6a 65 63 74 69 6c 65 2d 75 6e 69 67 | ectories))))....(projectile-unig | 
| 1f5c0 | 6e 6f 72 65 64 2d 64 69 72 65 63 74 6f 72 69 65    73 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f | nored-directories)))..(defun.pro | 
| 1f5e0 | 6a 65 63 74 69 6c 65 2d 69 67 6e 6f 72 65 64 2d    64 69 72 65 63 74 6f 72 69 65 73 2d 72 65 6c 20 | jectile-ignored-directories-rel. | 
| 1f600 | 28 29 0a 20 20 22 52 65 74 75 72 6e 20 6c 69 73    74 20 6f 66 20 69 67 6e 6f 72 65 64 20 64 69 72 | ()..."Return.list.of.ignored.dir | 
| 1f620 | 65 63 74 6f 72 69 65 73 2c 20 72 65 6c 61 74 69    76 65 20 74 6f 20 74 68 65 20 72 6f 6f 74 2e 22 | ectories,.relative.to.the.root." | 
| 1f640 | 0a 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 6d    61 6b 65 2d 72 65 6c 61 74 69 76 65 2d 74 6f 2d | ...(projectile-make-relative-to- | 
| 1f660 | 72 6f 6f 74 20 28 70 72 6f 6a 65 63 74 69 6c 65    2d 69 67 6e 6f 72 65 64 2d 64 69 72 65 63 74 6f | root.(projectile-ignored-directo | 
| 1f680 | 72 69 65 73 29 29 29 0a 0a 28 64 65 66 75 6e 20    70 72 6f 6a 65 63 74 69 6c 65 2d 69 67 6e 6f 72 | ries)))..(defun.projectile-ignor | 
| 1f6a0 | 65 64 2d 66 69 6c 65 73 2d 72 65 6c 20 28 29 0a    20 20 22 52 65 74 75 72 6e 20 6c 69 73 74 20 6f | ed-files-rel.()..."Return.list.o | 
| 1f6c0 | 66 20 69 67 6e 6f 72 65 64 20 66 69 6c 65 73 2c    20 72 65 6c 61 74 69 76 65 20 74 6f 20 74 68 65 | f.ignored.files,.relative.to.the | 
| 1f6e0 | 20 72 6f 6f 74 2e 22 0a 20 20 28 70 72 6f 6a 65    63 74 69 6c 65 2d 6d 61 6b 65 2d 72 65 6c 61 74 | .root."...(projectile-make-relat | 
| 1f700 | 69 76 65 2d 74 6f 2d 72 6f 6f 74 20 28 70 72 6f    6a 65 63 74 69 6c 65 2d 69 67 6e 6f 72 65 64 2d | ive-to-root.(projectile-ignored- | 
| 1f720 | 66 69 6c 65 73 29 29 29 0a 0a 28 64 65 66 75 6e    20 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a | files)))..(defun.projectile-proj | 
| 1f740 | 65 63 74 2d 69 67 6e 6f 72 65 64 2d 66 69 6c 65    73 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 6c | ect-ignored-files.()..."Return.l | 
| 1f760 | 69 73 74 20 6f 66 20 70 72 6f 6a 65 63 74 20 69    67 6e 6f 72 65 64 20 66 69 6c 65 73 2e 0a 55 6e | ist.of.project.ignored.files..Un | 
| 1f780 | 69 67 6e 6f 72 65 64 20 66 69 6c 65 73 20 61 72    65 20 6e 6f 74 20 69 6e 63 6c 75 64 65 64 2e 22 | ignored.files.are.not.included." | 
| 1f7a0 | 0a 20 20 28 63 6c 2d 72 65 6d 6f 76 65 2d 69 66    20 27 66 69 6c 65 2d 64 69 72 65 63 74 6f 72 79 | ...(cl-remove-if.'file-directory | 
| 1f7c0 | 2d 70 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 70    72 6f 6a 65 63 74 2d 69 67 6e 6f 72 65 64 29 29 | -p.(projectile-project-ignored)) | 
| 1f7e0 | 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63    74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 69 67 6e | )..(defun.projectile-project-ign | 
| 1f800 | 6f 72 65 64 2d 64 69 72 65 63 74 6f 72 69 65 73    20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 6c 69 | ored-directories.()..."Return.li | 
| 1f820 | 73 74 20 6f 66 20 70 72 6f 6a 65 63 74 20 69 67    6e 6f 72 65 64 20 64 69 72 65 63 74 6f 72 69 65 | st.of.project.ignored.directorie | 
| 1f840 | 73 2e 0a 55 6e 69 67 6e 6f 72 65 64 20 64 69 72    65 63 74 6f 72 69 65 73 20 61 72 65 20 6e 6f 74 | s..Unignored.directories.are.not | 
| 1f860 | 20 69 6e 63 6c 75 64 65 64 2e 22 0a 20 20 28 63    6c 2d 72 65 6d 6f 76 65 2d 69 66 2d 6e 6f 74 20 | .included."...(cl-remove-if-not. | 
| 1f880 | 27 66 69 6c 65 2d 64 69 72 65 63 74 6f 72 79 2d    70 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 | 'file-directory-p.(projectile-pr | 
| 1f8a0 | 6f 6a 65 63 74 2d 69 67 6e 6f 72 65 64 29 29 29    0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 | oject-ignored)))..(defun.project | 
| 1f8c0 | 69 6c 65 2d 70 61 74 68 73 2d 74 6f 2d 69 67 6e    6f 72 65 20 28 29 0a 20 20 22 52 65 74 75 72 6e | ile-paths-to-ignore.()..."Return | 
| 1f8e0 | 20 61 20 6c 69 73 74 20 6f 66 20 69 67 6e 6f 72    65 64 20 70 72 6f 6a 65 63 74 20 70 61 74 68 73 | .a.list.of.ignored.project.paths | 
| 1f900 | 2e 22 0a 20 20 28 70 72 6f 6a 65 63 74 69 6c 65    2d 6e 6f 72 6d 61 6c 69 73 65 2d 70 61 74 68 73 | ."...(projectile-normalise-paths | 
| 1f920 | 20 28 6e 74 68 20 31 20 28 70 72 6f 6a 65 63 74    69 6c 65 2d 70 61 72 73 65 2d 64 69 72 63 6f 6e | .(nth.1.(projectile-parse-dircon | 
| 1f940 | 66 69 67 2d 66 69 6c 65 29 29 29 29 0a 0a 28 64    65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d | fig-file))))..(defun.projectile- | 
| 1f960 | 70 61 74 74 65 72 6e 73 2d 74 6f 2d 69 67 6e 6f    72 65 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 | patterns-to-ignore.()..."Return. | 
| 1f980 | 61 20 6c 69 73 74 20 6f 66 20 72 65 6c 61 74 69    76 65 20 66 69 6c 65 20 70 61 74 74 65 72 6e 73 | a.list.of.relative.file.patterns | 
| 1f9a0 | 2e 22 0a 20 20 28 70 72 6f 6a 65 63 74 69 6c 65    2d 6e 6f 72 6d 61 6c 69 73 65 2d 70 61 74 74 65 | ."...(projectile-normalise-patte | 
| 1f9c0 | 72 6e 73 20 28 6e 74 68 20 31 20 28 70 72 6f 6a    65 63 74 69 6c 65 2d 70 61 72 73 65 2d 64 69 72 | rns.(nth.1.(projectile-parse-dir | 
| 1f9e0 | 63 6f 6e 66 69 67 2d 66 69 6c 65 29 29 29 29 0a    0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 | config-file))))..(defun.projecti | 
| 1fa00 | 6c 65 2d 70 72 6f 6a 65 63 74 2d 69 67 6e 6f 72    65 64 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 | le-project-ignored.()..."Return. | 
| 1fa20 | 6c 69 73 74 20 6f 66 20 70 72 6f 6a 65 63 74 20    69 67 6e 6f 72 65 64 20 66 69 6c 65 73 2f 64 69 | list.of.project.ignored.files/di | 
| 1fa40 | 72 65 63 74 6f 72 69 65 73 2e 0a 55 6e 69 67 6e    6f 72 65 64 20 66 69 6c 65 73 2f 64 69 72 65 63 | rectories..Unignored.files/direc | 
| 1fa60 | 74 6f 72 69 65 73 20 61 72 65 20 6e 6f 74 20 69    6e 63 6c 75 64 65 64 2e 22 0a 20 20 28 6c 65 74 | tories.are.not.included."...(let | 
| 1fa80 | 20 28 28 70 61 74 68 73 20 28 70 72 6f 6a 65 63    74 69 6c 65 2d 70 61 74 68 73 2d 74 6f 2d 69 67 | .((paths.(projectile-paths-to-ig | 
| 1faa0 | 6e 6f 72 65 29 29 29 0a 20 20 20 20 28 70 72 6f    6a 65 63 74 69 6c 65 2d 65 78 70 61 6e 64 2d 70 | nore))).....(projectile-expand-p | 
| 1fac0 | 61 74 68 73 20 70 61 74 68 73 29 29 29 0a 0a 28    64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 | aths.paths)))..(defun.projectile | 
| 1fae0 | 2d 75 6e 69 67 6e 6f 72 65 64 2d 66 69 6c 65 73    20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 6c 69 | -unignored-files.()..."Return.li | 
| 1fb00 | 73 74 20 6f 66 20 75 6e 69 67 6e 6f 72 65 64 20    66 69 6c 65 73 2e 22 0a 20 20 28 6d 61 70 63 61 | st.of.unignored.files."...(mapca | 
| 1fb20 | 72 0a 20 20 20 23 27 70 72 6f 6a 65 63 74 69 6c    65 2d 65 78 70 61 6e 64 2d 72 6f 6f 74 0a 20 20 | r....#'projectile-expand-root... | 
| 1fb40 | 20 28 61 70 70 65 6e 64 0a 20 20 20 20 70 72 6f    6a 65 63 74 69 6c 65 2d 67 6c 6f 62 61 6c 6c 79 | .(append.....projectile-globally | 
| 1fb60 | 2d 75 6e 69 67 6e 6f 72 65 64 2d 66 69 6c 65 73    0a 20 20 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 | -unignored-files.....(projectile | 
| 1fb80 | 2d 70 72 6f 6a 65 63 74 2d 75 6e 69 67 6e 6f 72    65 64 2d 66 69 6c 65 73 29 29 29 29 0a 0a 28 64 | -project-unignored-files))))..(d | 
| 1fba0 | 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d    75 6e 69 67 6e 6f 72 65 64 2d 64 69 72 65 63 74 | efun.projectile-unignored-direct | 
| 1fbc0 | 6f 72 69 65 73 20 28 29 0a 20 20 22 52 65 74 75    72 6e 20 6c 69 73 74 20 6f 66 20 75 6e 69 67 6e | ories.()..."Return.list.of.unign | 
| 1fbe0 | 6f 72 65 64 20 64 69 72 65 63 74 6f 72 69 65 73    2e 22 0a 20 20 28 6d 61 70 63 61 72 0a 20 20 20 | ored.directories."...(mapcar.... | 
| 1fc00 | 23 27 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 6d 61 70 | #'file-name-as-directory....(map | 
| 1fc20 | 63 61 72 0a 20 20 20 20 23 27 70 72 6f 6a 65 63    74 69 6c 65 2d 65 78 70 61 6e 64 2d 72 6f 6f 74 | car.....#'projectile-expand-root | 
| 1fc40 | 0a 20 20 20 20 28 61 70 70 65 6e 64 0a 20 20 20    20 20 70 72 6f 6a 65 63 74 69 6c 65 2d 67 6c 6f | .....(append......projectile-glo | 
| 1fc60 | 62 61 6c 6c 79 2d 75 6e 69 67 6e 6f 72 65 64 2d    64 69 72 65 63 74 6f 72 69 65 73 0a 20 20 20 20 | bally-unignored-directories..... | 
| 1fc80 | 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f    6a 65 63 74 2d 75 6e 69 67 6e 6f 72 65 64 2d 64 | .(projectile-project-unignored-d | 
| 1fca0 | 69 72 65 63 74 6f 72 69 65 73 29 29 29 29 29 0a    0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 | irectories)))))..(defun.projecti | 
| 1fcc0 | 6c 65 2d 75 6e 69 67 6e 6f 72 65 64 2d 64 69 72    65 63 74 6f 72 69 65 73 2d 72 65 6c 20 28 29 0a | le-unignored-directories-rel.(). | 
| 1fce0 | 20 20 22 52 65 74 75 72 6e 20 6c 69 73 74 20 6f    66 20 75 6e 69 67 6e 6f 72 65 64 20 64 69 72 65 | .."Return.list.of.unignored.dire | 
| 1fd00 | 63 74 6f 72 69 65 73 2c 20 72 65 6c 61 74 69 76    65 20 74 6f 20 74 68 65 20 72 6f 6f 74 2e 22 0a | ctories,.relative.to.the.root.". | 
| 1fd20 | 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 6d 61    6b 65 2d 72 65 6c 61 74 69 76 65 2d 74 6f 2d 72 | ..(projectile-make-relative-to-r | 
| 1fd40 | 6f 6f 74 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d    75 6e 69 67 6e 6f 72 65 64 2d 64 69 72 65 63 74 | oot.(projectile-unignored-direct | 
| 1fd60 | 6f 72 69 65 73 29 29 29 0a 0a 28 64 65 66 75 6e    20 70 72 6f 6a 65 63 74 69 6c 65 2d 75 6e 69 67 | ories)))..(defun.projectile-unig | 
| 1fd80 | 6e 6f 72 65 64 2d 66 69 6c 65 73 2d 72 65 6c 20    28 29 0a 20 20 22 52 65 74 75 72 6e 20 6c 69 73 | nored-files-rel.()..."Return.lis | 
| 1fda0 | 74 20 6f 66 20 75 6e 69 67 6e 6f 72 65 64 20 66    69 6c 65 73 2c 20 72 65 6c 61 74 69 76 65 20 74 | t.of.unignored.files,.relative.t | 
| 1fdc0 | 6f 20 74 68 65 20 72 6f 6f 74 2e 22 0a 20 20 28    70 72 6f 6a 65 63 74 69 6c 65 2d 6d 61 6b 65 2d | o.the.root."...(projectile-make- | 
| 1fde0 | 72 65 6c 61 74 69 76 65 2d 74 6f 2d 72 6f 6f 74    20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 75 6e 69 | relative-to-root.(projectile-uni | 
| 1fe00 | 67 6e 6f 72 65 64 2d 66 69 6c 65 73 29 29 29 0a    0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 | gnored-files)))..(defun.projecti | 
| 1fe20 | 6c 65 2d 70 72 6f 6a 65 63 74 2d 75 6e 69 67 6e    6f 72 65 64 2d 66 69 6c 65 73 20 28 29 0a 20 20 | le-project-unignored-files.()... | 
| 1fe40 | 22 52 65 74 75 72 6e 20 6c 69 73 74 20 6f 66 20    70 72 6f 6a 65 63 74 20 75 6e 69 67 6e 6f 72 65 | "Return.list.of.project.unignore | 
| 1fe60 | 64 20 66 69 6c 65 73 2e 22 0a 20 20 28 63 6c 2d    72 65 6d 6f 76 65 2d 69 66 20 27 66 69 6c 65 2d | d.files."...(cl-remove-if.'file- | 
| 1fe80 | 64 69 72 65 63 74 6f 72 79 2d 70 20 28 70 72 6f    6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d | directory-p.(projectile-project- | 
| 1fea0 | 75 6e 69 67 6e 6f 72 65 64 29 29 29 0a 0a 28 64    65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d | unignored)))..(defun.projectile- | 
| 1fec0 | 70 72 6f 6a 65 63 74 2d 75 6e 69 67 6e 6f 72 65    64 2d 64 69 72 65 63 74 6f 72 69 65 73 20 28 29 | project-unignored-directories.() | 
| 1fee0 | 0a 20 20 22 52 65 74 75 72 6e 20 6c 69 73 74 20    6f 66 20 70 72 6f 6a 65 63 74 20 75 6e 69 67 6e | ..."Return.list.of.project.unign | 
| 1ff00 | 6f 72 65 64 20 64 69 72 65 63 74 6f 72 69 65 73    2e 22 0a 20 20 28 63 6c 2d 72 65 6d 6f 76 65 2d | ored.directories."...(cl-remove- | 
| 1ff20 | 69 66 2d 6e 6f 74 20 27 66 69 6c 65 2d 64 69 72    65 63 74 6f 72 79 2d 70 20 28 70 72 6f 6a 65 63 | if-not.'file-directory-p.(projec | 
| 1ff40 | 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 75 6e 69    67 6e 6f 72 65 64 29 29 29 0a 0a 28 64 65 66 75 | tile-project-unignored)))..(defu | 
| 1ff60 | 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 70 61 74    68 73 2d 74 6f 2d 65 6e 73 75 72 65 20 28 29 0a | n.projectile-paths-to-ensure.(). | 
| 1ff80 | 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 74    20 6f 66 20 75 6e 69 67 6e 6f 72 65 64 20 70 72 | .."Return.a.list.of.unignored.pr | 
| 1ffa0 | 6f 6a 65 63 74 20 70 61 74 68 73 2e 22 0a 20 20    28 70 72 6f 6a 65 63 74 69 6c 65 2d 6e 6f 72 6d | oject.paths."...(projectile-norm | 
| 1ffc0 | 61 6c 69 73 65 2d 70 61 74 68 73 20 28 6e 74 68    20 32 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 70 | alise-paths.(nth.2.(projectile-p | 
| 1ffe0 | 61 72 73 65 2d 64 69 72 63 6f 6e 66 69 67 2d 66    69 6c 65 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 | arse-dirconfig-file))))..(defun. | 
| 20000 | 70 72 6f 6a 65 63 74 69 6c 65 2d 66 69 6c 65 73    2d 74 6f 2d 65 6e 73 75 72 65 20 28 29 0a 20 20 | projectile-files-to-ensure.()... | 
| 20020 | 28 70 72 6f 6a 65 63 74 69 6c 65 2d 66 6c 61 74    74 65 6e 20 28 6d 61 70 63 61 72 20 28 6c 61 6d | (projectile-flatten.(mapcar.(lam | 
| 20040 | 62 64 61 20 28 70 61 74 29 20 28 66 69 6c 65 2d    65 78 70 61 6e 64 2d 77 69 6c 64 63 61 72 64 73 | bda.(pat).(file-expand-wildcards | 
| 20060 | 20 70 61 74 20 74 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 | .pat.t))........................ | 
| 20080 | 20 20 20 20 20 20 20 28 70 72 6f 6a 65 63 74 69    6c 65 2d 70 61 74 74 65 72 6e 73 2d 74 6f 2d 65 | .......(projectile-patterns-to-e | 
| 200a0 | 6e 73 75 72 65 29 29 29 29 0a 0a 28 64 65 66 75    6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 70 61 74 | nsure))))..(defun.projectile-pat | 
| 200c0 | 74 65 72 6e 73 2d 74 6f 2d 65 6e 73 75 72 65 20    28 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c | terns-to-ensure.()..."Return.a.l | 
| 200e0 | 69 73 74 20 6f 66 20 72 65 6c 61 74 69 76 65 20    66 69 6c 65 20 70 61 74 74 65 72 6e 73 2e 22 0a | ist.of.relative.file.patterns.". | 
| 20100 | 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 6e 6f    72 6d 61 6c 69 73 65 2d 70 61 74 74 65 72 6e 73 | ..(projectile-normalise-patterns | 
| 20120 | 20 28 6e 74 68 20 32 20 28 70 72 6f 6a 65 63 74    69 6c 65 2d 70 61 72 73 65 2d 64 69 72 63 6f 6e | .(nth.2.(projectile-parse-dircon | 
| 20140 | 66 69 67 2d 66 69 6c 65 29 29 29 29 0a 0a 28 64    65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d | fig-file))))..(defun.projectile- | 
| 20160 | 66 69 6c 74 65 72 69 6e 67 2d 70 61 74 74 65 72    6e 73 20 28 29 0a 20 20 28 63 6f 6e 73 20 28 70 | filtering-patterns.()...(cons.(p | 
| 20180 | 72 6f 6a 65 63 74 69 6c 65 2d 70 61 74 74 65 72    6e 73 2d 74 6f 2d 69 67 6e 6f 72 65 29 0a 20 20 | rojectile-patterns-to-ignore)... | 
| 201a0 | 20 20 20 20 20 20 28 70 72 6f 6a 65 63 74 69 6c    65 2d 70 61 74 74 65 72 6e 73 2d 74 6f 2d 65 6e | ......(projectile-patterns-to-en | 
| 201c0 | 73 75 72 65 29 29 29 0a 0a 28 64 65 66 75 6e 20    70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 | sure)))..(defun.projectile-proje | 
| 201e0 | 63 74 2d 75 6e 69 67 6e 6f 72 65 64 20 28 29 0a    20 20 22 52 65 74 75 72 6e 20 6c 69 73 74 20 6f | ct-unignored.()..."Return.list.o | 
| 20200 | 66 20 70 72 6f 6a 65 63 74 20 69 67 6e 6f 72 65    64 20 66 69 6c 65 73 2f 64 69 72 65 63 74 6f 72 | f.project.ignored.files/director | 
| 20220 | 69 65 73 2e 22 0a 20 20 28 64 65 6c 65 74 65 2d    64 75 70 73 20 28 61 70 70 65 6e 64 20 28 70 72 | ies."...(delete-dups.(append.(pr | 
| 20240 | 6f 6a 65 63 74 69 6c 65 2d 65 78 70 61 6e 64 2d    70 61 74 68 73 20 28 70 72 6f 6a 65 63 74 69 6c | ojectile-expand-paths.(projectil | 
| 20260 | 65 2d 70 61 74 68 73 2d 74 6f 2d 65 6e 73 75 72    65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | e-paths-to-ensure))............. | 
| 20280 | 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 6a    65 63 74 69 6c 65 2d 65 78 70 61 6e 64 2d 70 61 | ...........(projectile-expand-pa | 
| 202a0 | 74 68 73 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d    66 69 6c 65 73 2d 74 6f 2d 65 6e 73 75 72 65 29 | ths.(projectile-files-to-ensure) | 
| 202c0 | 29 29 29 29 0a 0a 0a 28 64 65 66 75 6e 20 70 72    6f 6a 65 63 74 69 6c 65 2d 64 69 72 63 6f 6e 66 | ))))...(defun.projectile-dirconf | 
| 202e0 | 69 67 2d 66 69 6c 65 20 28 29 0a 20 20 22 52 65    74 75 72 6e 20 74 68 65 20 61 62 73 6f 6c 75 74 | ig-file.()..."Return.the.absolut | 
| 20300 | 65 20 70 61 74 68 20 74 6f 20 74 68 65 20 70 72    6f 6a 65 63 74 27 73 20 64 69 72 63 6f 6e 66 69 | e.path.to.the.project's.dirconfi | 
| 20320 | 67 20 66 69 6c 65 2e 22 0a 20 20 28 65 78 70 61    6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 70 72 6f | g.file."...(expand-file-name.pro | 
| 20340 | 6a 65 63 74 69 6c 65 2d 64 69 72 63 6f 6e 66 69    67 2d 66 69 6c 65 20 28 70 72 6f 6a 65 63 74 69 | jectile-dirconfig-file.(projecti | 
| 20360 | 6c 65 2d 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 29    29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 | le-project-root)))..(defun.proje | 
| 20380 | 63 74 69 6c 65 2d 70 61 72 73 65 2d 64 69 72 63    6f 6e 66 69 67 2d 66 69 6c 65 20 28 29 0a 20 20 | ctile-parse-dirconfig-file.()... | 
| 203a0 | 22 50 61 72 73 65 20 70 72 6f 6a 65 63 74 20 69    67 6e 6f 72 65 20 66 69 6c 65 20 61 6e 64 20 72 | "Parse.project.ignore.file.and.r | 
| 203c0 | 65 74 75 72 6e 20 64 69 72 65 63 74 6f 72 69 65    73 20 74 6f 20 69 67 6e 6f 72 65 20 61 6e 64 20 | eturn.directories.to.ignore.and. | 
| 203e0 | 6b 65 65 70 2e 0a 0a 54 68 65 20 72 65 74 75 72    6e 20 76 61 6c 75 65 20 77 69 6c 6c 20 62 65 20 | keep...The.return.value.will.be. | 
| 20400 | 61 20 6c 69 73 74 20 6f 66 20 74 68 72 65 65 20    65 6c 65 6d 65 6e 74 73 2c 20 74 68 65 20 63 61 | a.list.of.three.elements,.the.ca | 
| 20420 | 72 20 62 65 69 6e 67 0a 74 68 65 20 6c 69 73 74    20 6f 66 20 64 69 72 65 63 74 6f 72 69 65 73 20 | r.being.the.list.of.directories. | 
| 20440 | 74 6f 20 6b 65 65 70 2c 20 74 68 65 20 63 61 64    72 20 62 65 69 6e 67 20 74 68 65 20 6c 69 73 74 | to.keep,.the.cadr.being.the.list | 
| 20460 | 20 6f 66 20 66 69 6c 65 73 0a 6f 72 20 64 69 72    65 63 74 6f 72 69 65 73 20 74 6f 20 69 67 6e 6f | .of.files.or.directories.to.igno | 
| 20480 | 72 65 2c 20 61 6e 64 20 74 68 65 20 63 61 64 64    72 20 62 65 69 6e 67 20 74 68 65 20 6c 69 73 74 | re,.and.the.caddr.being.the.list | 
| 204a0 | 20 6f 66 20 66 69 6c 65 73 0a 6f 72 20 64 69 72    65 63 74 6f 72 69 65 73 20 74 6f 20 65 6e 73 75 | .of.files.or.directories.to.ensu | 
| 204c0 | 72 65 2e 0a 0a 53 74 72 69 6e 67 73 20 73 74 61    72 74 69 6e 67 20 77 69 74 68 20 2b 20 77 69 6c | re...Strings.starting.with.+.wil | 
| 204e0 | 6c 20 62 65 20 61 64 64 65 64 20 74 6f 20 74 68    65 20 6c 69 73 74 20 6f 66 20 64 69 72 65 63 74 | l.be.added.to.the.list.of.direct | 
| 20500 | 6f 72 69 65 73 0a 74 6f 20 6b 65 65 70 2c 20 61    6e 64 20 73 74 72 69 6e 67 73 20 73 74 61 72 74 | ories.to.keep,.and.strings.start | 
| 20520 | 69 6e 67 20 77 69 74 68 20 2d 20 77 69 6c 6c 20    62 65 20 61 64 64 65 64 20 74 6f 20 74 68 65 20 | ing.with.-.will.be.added.to.the. | 
| 20540 | 6c 69 73 74 20 6f 66 0a 64 69 72 65 63 74 6f 72    69 65 73 20 74 6f 20 69 67 6e 6f 72 65 2e 20 20 | list.of.directories.to.ignore... | 
| 20560 | 46 6f 72 20 62 61 63 6b 77 61 72 64 20 63 6f 6d    70 61 74 69 62 69 6c 69 74 79 2c 20 77 69 74 68 | For.backward.compatibility,.with | 
| 20580 | 6f 75 74 20 61 0a 70 72 65 66 69 78 20 74 68 65    20 73 74 72 69 6e 67 20 77 69 6c 6c 20 62 65 20 | out.a.prefix.the.string.will.be. | 
| 205a0 | 61 73 73 75 6d 65 64 20 74 6f 20 62 65 20 61 6e    20 69 67 6e 6f 72 65 20 73 74 72 69 6e 67 2e 22 | assumed.to.be.an.ignore.string." | 
| 205c0 | 0a 20 20 28 6c 65 74 20 28 6b 65 65 70 20 69 67    6e 6f 72 65 20 65 6e 73 75 72 65 20 28 64 69 72 | ...(let.(keep.ignore.ensure.(dir | 
| 205e0 | 63 6f 6e 66 69 67 20 28 70 72 6f 6a 65 63 74 69    6c 65 2d 64 69 72 63 6f 6e 66 69 67 2d 66 69 6c | config.(projectile-dirconfig-fil | 
| 20600 | 65 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28    70 72 6f 6a 65 63 74 69 6c 65 2d 66 69 6c 65 2d | e))).....(when.(projectile-file- | 
| 20620 | 65 78 69 73 74 73 2d 70 20 64 69 72 63 6f 6e 66    69 67 29 0a 20 20 20 20 20 20 28 77 69 74 68 2d | exists-p.dirconfig).......(with- | 
| 20640 | 74 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 20    20 20 20 20 28 69 6e 73 65 72 74 2d 66 69 6c 65 | temp-buffer.........(insert-file | 
| 20660 | 2d 63 6f 6e 74 65 6e 74 73 20 64 69 72 63 6f 6e    66 69 67 29 0a 20 20 20 20 20 20 20 20 28 77 68 | -contents.dirconfig).........(wh | 
| 20680 | 69 6c 65 20 28 6e 6f 74 20 28 65 6f 62 70 29 29    0a 20 20 20 20 20 20 20 20 20 20 28 70 63 61 73 | ile.(not.(eobp))...........(pcas | 
| 206a0 | 65 20 28 63 68 61 72 2d 61 66 74 65 72 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 69 67 | e.(char-after).............;;.ig | 
| 206c0 | 6e 6f 72 65 20 63 6f 6d 6d 65 6e 74 20 6c 69 6e    65 73 20 69 66 20 70 72 65 66 69 78 20 63 68 61 | nore.comment.lines.if.prefix.cha | 
| 206e0 | 72 20 68 61 73 20 62 65 65 6e 20 73 65 74 0a 20    20 20 20 20 20 20 20 20 20 20 20 28 28 70 72 65 | r.has.been.set.............((pre | 
| 20700 | 64 20 28 6c 61 6d 62 64 61 20 28 6c 65 61 64 69    6e 67 2d 63 68 61 72 29 0a 20 20 20 20 20 20 20 | d.(lambda.(leading-char)........ | 
| 20720 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61    6e 64 20 70 72 6f 6a 65 63 74 69 6c 65 2d 64 69 | ..............(and.projectile-di | 
| 20740 | 72 63 6f 6e 66 69 67 2d 63 6f 6d 6d 65 6e 74 2d    70 72 65 66 69 78 0a 20 20 20 20 20 20 20 20 20 | rconfig-comment-prefix.......... | 
| 20760 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 65 71 6c 20 6c 65 61 64 69 6e 67 2d 63 68 | .................(eql.leading-ch | 
| 20780 | 61 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 20 | ar.............................. | 
| 207a0 | 20 20 70 72 6f 6a 65 63 74 69 6c 65 2d 64 69 72    63 6f 6e 66 69 67 2d 63 6f 6d 6d 65 6e 74 2d 70 | ..projectile-dirconfig-comment-p | 
| 207c0 | 72 65 66 69 78 29 29 29 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 6e 69 6c 29 0a 20 20 20 20 | refix))))..............nil)..... | 
| 207e0 | 20 20 20 20 20 20 20 20 28 3f 2b 20 28 70 75 73    68 20 28 62 75 66 66 65 72 2d 73 75 62 73 74 72 | ........(?+.(push.(buffer-substr | 
| 20800 | 69 6e 67 20 28 31 2b 20 28 70 6f 69 6e 74 29 29    20 28 6c 69 6e 65 2d 65 6e 64 2d 70 6f 73 69 74 | ing.(1+.(point)).(line-end-posit | 
| 20820 | 69 6f 6e 29 29 20 6b 65 65 70 29 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 28 3f 2d 20 28 70 75 | ion)).keep)).............(?-.(pu | 
| 20840 | 73 68 20 28 62 75 66 66 65 72 2d 73 75 62 73 74    72 69 6e 67 20 28 31 2b 20 28 70 6f 69 6e 74 29 | sh.(buffer-substring.(1+.(point) | 
| 20860 | 29 20 28 6c 69 6e 65 2d 65 6e 64 2d 70 6f 73 69    74 69 6f 6e 29 29 20 69 67 6e 6f 72 65 29 29 0a | ).(line-end-position)).ignore)). | 
| 20880 | 20 20 20 20 20 20 20 20 20 20 20 20 28 3f 21 20    28 70 75 73 68 20 28 62 75 66 66 65 72 2d 73 75 | ............(?!.(push.(buffer-su | 
| 208a0 | 62 73 74 72 69 6e 67 20 28 31 2b 20 28 70 6f 69    6e 74 29 29 20 28 6c 69 6e 65 2d 65 6e 64 2d 70 | bstring.(1+.(point)).(line-end-p | 
| 208c0 | 6f 73 69 74 69 6f 6e 29 29 20 65 6e 73 75 72 65    29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 | osition)).ensure)).............( | 
| 208e0 | 5f 20 28 70 75 73 68 20 28 62 75 66 66 65 72 2d    73 75 62 73 74 72 69 6e 67 20 28 70 6f 69 6e 74 | _.(push.(buffer-substring.(point | 
| 20900 | 29 20 28 6c 69 6e 65 2d 65 6e 64 2d 70 6f 73 69    74 69 6f 6e 29 29 20 69 67 6e 6f 72 65 29 29 29 | ).(line-end-position)).ignore))) | 
| 20920 | 0a 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 77    61 72 64 2d 6c 69 6e 65 29 29 29 0a 20 20 20 20 | ...........(forward-line)))..... | 
| 20940 | 20 20 28 6c 69 73 74 20 28 6d 61 70 63 61 72 20    28 6c 61 6d 62 64 61 20 28 66 29 20 28 66 69 6c | ..(list.(mapcar.(lambda.(f).(fil | 
| 20960 | 65 2d 6e 61 6d 65 2d 61 73 2d 64 69 72 65 63 74    6f 72 79 20 28 73 74 72 69 6e 67 2d 74 72 69 6d | e-name-as-directory.(string-trim | 
| 20980 | 20 66 29 29 29 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 28 64 65 6c 65 74 | .f))).....................(delet | 
| 209a0 | 65 20 22 22 20 28 72 65 76 65 72 73 65 20 6b 65    65 70 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 | e."".(reverse.keep)))........... | 
| 209c0 | 20 20 28 6d 61 70 63 61 72 20 23 27 73 74 72 69    6e 67 2d 74 72 69 6d 0a 20 20 20 20 20 20 20 20 | ..(mapcar.#'string-trim......... | 
| 209e0 | 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 6c    65 74 65 20 22 22 20 28 72 65 76 65 72 73 65 20 | ............(delete."".(reverse. | 
| 20a00 | 69 67 6e 6f 72 65 29 29 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 28 6d 61 70 63 61 72 20 23 27 | ignore))).............(mapcar.#' | 
| 20a20 | 73 74 72 69 6e 67 2d 74 72 69 6d 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | string-trim..................... | 
| 20a40 | 28 64 65 6c 65 74 65 20 22 22 20 28 72 65 76 65    72 73 65 20 65 6e 73 75 72 65 29 29 29 29 29 29 | (delete."".(reverse.ensure)))))) | 
| 20a60 | 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63    74 69 6c 65 2d 65 78 70 61 6e 64 2d 72 6f 6f 74 | )..(defun.projectile-expand-root | 
| 20a80 | 20 28 6e 61 6d 65 20 26 6f 70 74 69 6f 6e 61 6c    20 64 69 72 29 0a 20 20 22 45 78 70 61 6e 64 20 | .(name.&optional.dir)..."Expand. | 
| 20aa0 | 4e 41 4d 45 20 74 6f 20 70 72 6f 6a 65 63 74 20    72 6f 6f 74 2e 0a 57 68 65 6e 20 44 49 52 20 69 | NAME.to.project.root..When.DIR.i | 
| 20ac0 | 73 20 73 70 65 63 69 66 69 65 64 20 69 74 20 75    73 65 73 20 44 49 52 27 73 20 70 72 6f 6a 65 63 | s.specified.it.uses.DIR's.projec | 
| 20ae0 | 74 2c 20 6f 74 68 65 72 77 69 73 65 20 69 74 20    61 63 74 73 0a 6f 6e 20 74 68 65 20 63 75 72 72 | t,.otherwise.it.acts.on.the.curr | 
| 20b00 | 65 6e 74 20 70 72 6f 6a 65 63 74 2e 0a 0a 4e 65    76 65 72 20 75 73 65 20 6f 6e 20 6d 61 6e 79 20 | ent.project...Never.use.on.many. | 
| 20b20 | 66 69 6c 65 73 20 73 69 6e 63 65 20 69 74 27 73    20 67 6f 69 6e 67 20 74 6f 20 72 65 63 61 6c 63 | files.since.it's.going.to.recalc | 
| 20b40 | 75 6c 61 74 65 20 74 68 65 0a 70 72 6f 6a 65 63    74 2d 72 6f 6f 74 20 66 6f 72 20 65 76 65 72 79 | ulate.the.project-root.for.every | 
| 20b60 | 20 66 69 6c 65 2e 22 0a 20 20 28 65 78 70 61 6e    64 2d 66 69 6c 65 2d 6e 61 6d 65 20 6e 61 6d 65 | .file."...(expand-file-name.name | 
| 20b80 | 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f    6a 65 63 74 2d 72 6f 6f 74 20 64 69 72 29 29 29 | .(projectile-project-root.dir))) | 
| 20ba0 | 0a 0a 28 63 6c 2d 64 65 66 75 6e 20 70 72 6f 6a    65 63 74 69 6c 65 2d 63 6f 6d 70 6c 65 74 69 6e | ..(cl-defun.projectile-completin | 
| 20bc0 | 67 2d 72 65 61 64 20 28 70 72 6f 6d 70 74 20 63    68 6f 69 63 65 73 20 26 6b 65 79 20 69 6e 69 74 | g-read.(prompt.choices.&key.init | 
| 20be0 | 69 61 6c 2d 69 6e 70 75 74 20 61 63 74 69 6f 6e    29 0a 20 20 22 50 72 65 73 65 6e 74 20 61 20 70 | ial-input.action)..."Present.a.p | 
| 20c00 | 72 6f 6a 65 63 74 20 74 61 69 6c 6f 72 65 64 20    50 52 4f 4d 50 54 20 77 69 74 68 20 43 48 4f 49 | roject.tailored.PROMPT.with.CHOI | 
| 20c20 | 43 45 53 2e 22 0a 20 20 28 6c 65 74 20 28 28 70    72 6f 6d 70 74 20 28 70 72 6f 6a 65 63 74 69 6c | CES."...(let.((prompt.(projectil | 
| 20c40 | 65 2d 70 72 65 70 65 6e 64 2d 70 72 6f 6a 65 63    74 2d 6e 61 6d 65 20 70 72 6f 6d 70 74 29 29 0a | e-prepend-project-name.prompt)). | 
| 20c60 | 20 20 20 20 20 20 20 20 72 65 73 29 0a 20 20 20    20 28 73 65 74 71 20 72 65 73 0a 20 20 20 20 20 | ........res).....(setq.res...... | 
| 20c80 | 20 20 20 20 20 28 70 63 61 73 65 20 28 69 66 20    28 65 71 20 70 72 6f 6a 65 63 74 69 6c 65 2d 63 | .....(pcase.(if.(eq.projectile-c | 
| 20ca0 | 6f 6d 70 6c 65 74 69 6f 6e 2d 73 79 73 74 65 6d    20 27 61 75 74 6f 29 0a 20 20 20 20 20 20 20 20 | ompletion-system.'auto)......... | 
| 20cc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f    6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | .............(cond.............. | 
| 20ce0 | 20 20 20 20 20 20 20 20 20 28 28 62 6f 75 6e 64    2d 61 6e 64 2d 74 72 75 65 2d 70 20 69 64 6f 2d | .........((bound-and-true-p.ido- | 
| 20d00 | 6d 6f 64 65 29 20 20 27 69 64 6f 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | mode)..'ido).................... | 
| 20d20 | 20 20 20 28 28 62 6f 75 6e 64 2d 61 6e 64 2d 74    72 75 65 2d 70 20 68 65 6c 6d 2d 6d 6f 64 65 29 | ...((bound-and-true-p.helm-mode) | 
| 20d40 | 20 27 68 65 6c 6d 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 | .'helm).......................(( | 
| 20d60 | 62 6f 75 6e 64 2d 61 6e 64 2d 74 72 75 65 2d 70    20 69 76 79 2d 6d 6f 64 65 29 20 20 27 69 76 79 | bound-and-true-p.ivy-mode)..'ivy | 
| 20d80 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 28 74 20 27 64 65 66 61 | ).......................(t.'defa | 
| 20da0 | 75 6c 74 29 29 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 70 72 6f 6a 65 63 74 | ult))....................project | 
| 20dc0 | 69 6c 65 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 73    79 73 74 65 6d 29 0a 20 20 20 20 20 20 20 20 20 | ile-completion-system).......... | 
| 20de0 | 20 20 20 28 27 64 65 66 61 75 6c 74 20 28 63 6f    6d 70 6c 65 74 69 6e 67 2d 72 65 61 64 20 70 72 | ...('default.(completing-read.pr | 
| 20e00 | 6f 6d 70 74 20 63 68 6f 69 63 65 73 20 6e 69 6c    20 6e 69 6c 20 69 6e 69 74 69 61 6c 2d 69 6e 70 | ompt.choices.nil.nil.initial-inp | 
| 20e20 | 75 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 28 27 69 64 6f 20 28 69 64 6f 2d 63 6f 6d 70 | ut)).............('ido.(ido-comp | 
| 20e40 | 6c 65 74 69 6e 67 2d 72 65 61 64 20 70 72 6f 6d    70 74 20 63 68 6f 69 63 65 73 20 6e 69 6c 20 6e | leting-read.prompt.choices.nil.n | 
| 20e60 | 69 6c 20 69 6e 69 74 69 61 6c 2d 69 6e 70 75 74    29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 | il.initial-input)).............( | 
| 20e80 | 27 68 65 6c 6d 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 28 69 66 20 28 61 6e 64 20 28 66 62 6f | 'helm..............(if.(and.(fbo | 
| 20ea0 | 75 6e 64 70 20 27 68 65 6c 6d 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | undp.'helm)..................... | 
| 20ec0 | 20 20 28 66 62 6f 75 6e 64 70 20 27 68 65 6c 6d    2d 6d 61 6b 65 2d 73 6f 75 72 63 65 29 29 0a 20 | ..(fboundp.'helm-make-source)).. | 
| 20ee0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 68 65 6c 6d 20 3a 73 6f 75 72 63 65 73 0a 20 | ................(helm.:sources.. | 
| 20f00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 68 65 6c 6d 2d 6d 61 6b 65 | ......................(helm-make | 
| 20f20 | 2d 73 6f 75 72 63 65 20 22 50 72 6f 6a 65 63 74    69 6c 65 22 20 27 68 65 6c 6d 2d 73 6f 75 72 63 | -source."Projectile".'helm-sourc | 
| 20f40 | 65 2d 73 79 6e 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 20 | e-sync.......................... | 
| 20f60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    3a 63 61 6e 64 69 64 61 74 65 73 20 63 68 6f 69 | ................:candidates.choi | 
| 20f80 | 63 65 73 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 | ces............................. | 
| 20fa0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 61 63    74 69 6f 6e 20 28 69 66 20 61 63 74 69 6f 6e 0a | .............:action.(if.action. | 
| 20fc0 | 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 | ................................ | 
| 20fe0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 70 72 6f 67 31 20 61 63 74 69 | .....................(prog1.acti | 
| 21000 | 6f 6e 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 | on.............................. | 
| 21020 | 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 73 65 74 71 20 | ..........................(setq. | 
| 21040 | 61 63 74 69 6f 6e 20 6e 69 6c 29 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | action.nil)).................... | 
| 21060 | 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 | ................................ | 
| 21080 | 23 27 69 64 65 6e 74 69 74 79 29 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | #'identity)).................... | 
| 210a0 | 20 20 20 20 3a 70 72 6f 6d 70 74 20 70 72 6f 6d    70 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | ....:prompt.prompt.............. | 
| 210c0 | 20 20 20 20 20 20 20 20 20 20 3a 69 6e 70 75 74    20 69 6e 69 74 69 61 6c 2d 69 6e 70 75 74 0a 20 | ..........:input.initial-input.. | 
| 210e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 3a 62 75 66 66 65 72 20 22 2a | ......................:buffer."* | 
| 21100 | 68 65 6c 6d 2d 70 72 6f 6a 65 63 74 69 6c 65 2a    22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | helm-projectile*").............. | 
| 21120 | 20 20 28 75 73 65 72 2d 65 72 72 6f 72 20 22 50    6c 65 61 73 65 20 69 6e 73 74 61 6c 6c 20 68 65 | ..(user-error."Please.install.he | 
| 21140 | 6c 6d 22 29 29 29 0a 20 20 20 20 20 20 20 20 20    20 20 20 28 27 69 76 79 0a 20 20 20 20 20 20 20 | lm"))).............('ivy........ | 
| 21160 | 20 20 20 20 20 20 28 69 66 20 28 66 62 6f 75 6e    64 70 20 27 69 76 79 2d 72 65 61 64 29 0a 20 20 | ......(if.(fboundp.'ivy-read)... | 
| 21180 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    69 76 79 2d 72 65 61 64 20 70 72 6f 6d 70 74 20 | ...............(ivy-read.prompt. | 
| 211a0 | 63 68 6f 69 63 65 73 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 | choices......................... | 
| 211c0 | 20 20 20 3a 69 6e 69 74 69 61 6c 2d 69 6e 70 75    74 20 69 6e 69 74 69 61 6c 2d 69 6e 70 75 74 0a | ...:initial-input.initial-input. | 
| 211e0 | 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 3a 61 63 74 69 | ...........................:acti | 
| 21200 | 6f 6e 20 28 70 72 6f 67 31 20 61 63 74 69 6f 6e    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | on.(prog1.action................ | 
| 21220 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 73 65 74 71 20 61 63 74 69 | ......................(setq.acti | 
| 21240 | 6f 6e 20 6e 69 6c 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 | on.nil))........................ | 
| 21260 | 20 20 20 20 3a 63 61 6c 6c 65 72 20 27 70 72 6f    6a 65 63 74 69 6c 65 2d 63 6f 6d 70 6c 65 74 69 | ....:caller.'projectile-completi | 
| 21280 | 6e 67 2d 72 65 61 64 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 28 75 73 65 72 2d 65 72 | ng-read)................(user-er | 
| 212a0 | 72 6f 72 20 22 50 6c 65 61 73 65 20 69 6e 73 74    61 6c 6c 20 69 76 79 22 29 29 29 0a 20 20 20 20 | ror."Please.install.ivy")))..... | 
| 212c0 | 20 20 20 20 20 20 20 20 28 5f 20 28 66 75 6e 63    61 6c 6c 20 70 72 6f 6a 65 63 74 69 6c 65 2d 63 | ........(_.(funcall.projectile-c | 
| 212e0 | 6f 6d 70 6c 65 74 69 6f 6e 2d 73 79 73 74 65 6d    20 70 72 6f 6d 70 74 20 63 68 6f 69 63 65 73 29 | ompletion-system.prompt.choices) | 
| 21300 | 29 29 29 0a 20 20 20 20 28 69 66 20 61 63 74 69    6f 6e 0a 20 20 20 20 20 20 20 20 28 66 75 6e 63 | ))).....(if.action.........(func | 
| 21320 | 61 6c 6c 20 61 63 74 69 6f 6e 20 72 65 73 29 0a    20 20 20 20 20 20 72 65 73 29 29 29 0a 0a 28 64 | all.action.res).......res)))..(d | 
| 21340 | 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d    70 72 6f 6a 65 63 74 2d 66 69 6c 65 73 20 28 70 | efun.projectile-project-files.(p | 
| 21360 | 72 6f 6a 65 63 74 2d 72 6f 6f 74 29 0a 20 20 22    52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 | roject-root)..."Return.a.list.of | 
| 21380 | 20 66 69 6c 65 73 20 66 6f 72 20 74 68 65 20 50    52 4f 4a 45 43 54 2d 52 4f 4f 54 2e 22 0a 20 20 | .files.for.the.PROJECT-ROOT."... | 
| 213a0 | 28 6c 65 74 20 28 66 69 6c 65 73 29 0a 20 20 20    20 3b 3b 20 49 66 20 74 68 65 20 63 61 63 68 65 | (let.(files).....;;.If.the.cache | 
| 213c0 | 20 69 73 20 74 6f 6f 20 73 74 61 6c 65 2c 20 64    6f 6e 27 74 20 75 73 65 20 69 74 2e 0a 20 20 20 | .is.too.stale,.don't.use.it..... | 
| 213e0 | 20 28 77 68 65 6e 20 70 72 6f 6a 65 63 74 69 6c    65 2d 66 69 6c 65 73 2d 63 61 63 68 65 2d 65 78 | .(when.projectile-files-cache-ex | 
| 21400 | 70 69 72 65 0a 20 20 20 20 20 20 28 6c 65 74 20    28 28 63 61 63 68 65 2d 74 69 6d 65 0a 20 20 20 | pire.......(let.((cache-time.... | 
| 21420 | 20 20 20 20 20 20 20 20 20 20 28 67 65 74 68 61    73 68 20 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 20 | ..........(gethash.project-root. | 
| 21440 | 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65    63 74 73 2d 63 61 63 68 65 2d 74 69 6d 65 29 29 | projectile-projects-cache-time)) | 
| 21460 | 29 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e 20    28 6f 72 20 28 6e 75 6c 6c 20 63 61 63 68 65 2d | ).........(when.(or.(null.cache- | 
| 21480 | 74 69 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 28 3c 20 28 2b 20 63 61 | time)...................(<.(+.ca | 
| 214a0 | 63 68 65 2d 74 69 6d 65 20 70 72 6f 6a 65 63 74    69 6c 65 2d 66 69 6c 65 73 2d 63 61 63 68 65 2d | che-time.projectile-files-cache- | 
| 214c0 | 65 78 70 69 72 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 70 72 | expire)......................(pr | 
| 214e0 | 6f 6a 65 63 74 69 6c 65 2d 74 69 6d 65 2d 73 65    63 6f 6e 64 73 29 29 29 0a 20 20 20 20 20 20 20 | ojectile-time-seconds)))........ | 
| 21500 | 20 20 20 28 72 65 6d 68 61 73 68 20 70 72 6f 6a    65 63 74 2d 72 6f 6f 74 20 70 72 6f 6a 65 63 74 | ...(remhash.project-root.project | 
| 21520 | 69 6c 65 2d 70 72 6f 6a 65 63 74 73 2d 63 61 63    68 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 72 | ile-projects-cache)...........(r | 
| 21540 | 65 6d 68 61 73 68 20 70 72 6f 6a 65 63 74 2d 72    6f 6f 74 20 70 72 6f 6a 65 63 74 69 6c 65 2d 70 | emhash.project-root.projectile-p | 
| 21560 | 72 6f 6a 65 63 74 73 2d 63 61 63 68 65 2d 74 69    6d 65 29 29 29 29 0a 0a 20 20 20 20 3b 3b 20 55 | rojects-cache-time))))......;;.U | 
| 21580 | 73 65 20 74 68 65 20 63 61 63 68 65 2c 20 69 66    20 72 65 71 75 65 73 74 65 64 20 61 6e 64 20 61 | se.the.cache,.if.requested.and.a | 
| 215a0 | 76 61 69 6c 61 62 6c 65 2e 0a 20 20 20 20 28 77    68 65 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 65 | vailable......(when.projectile-e | 
| 215c0 | 6e 61 62 6c 65 2d 63 61 63 68 69 6e 67 0a 20 20    20 20 20 20 28 73 65 74 71 20 66 69 6c 65 73 20 | nable-caching.......(setq.files. | 
| 215e0 | 28 67 65 74 68 61 73 68 20 70 72 6f 6a 65 63 74    2d 72 6f 6f 74 20 70 72 6f 6a 65 63 74 69 6c 65 | (gethash.project-root.projectile | 
| 21600 | 2d 70 72 6f 6a 65 63 74 73 2d 63 61 63 68 65 29    29 29 0a 0a 20 20 20 20 3b 3b 20 43 61 6c 63 75 | -projects-cache)))......;;.Calcu | 
| 21620 | 6c 61 74 65 20 74 68 65 20 6c 69 73 74 20 6f 66    20 66 69 6c 65 73 2e 0a 20 20 20 20 28 77 68 65 | late.the.list.of.files......(whe | 
| 21640 | 6e 20 28 6e 75 6c 6c 20 66 69 6c 65 73 29 0a 20    20 20 20 20 20 28 77 68 65 6e 20 70 72 6f 6a 65 | n.(null.files).......(when.proje | 
| 21660 | 63 74 69 6c 65 2d 65 6e 61 62 6c 65 2d 63 61 63    68 69 6e 67 0a 20 20 20 20 20 20 20 20 28 6d 65 | ctile-enable-caching.........(me | 
| 21680 | 73 73 61 67 65 20 22 50 72 6f 6a 65 63 74 69 6c    65 20 69 73 20 69 6e 69 74 69 61 6c 69 7a 69 6e | ssage."Projectile.is.initializin | 
| 216a0 | 67 20 63 61 63 68 65 20 66 6f 72 20 25 73 20 2e    2e 2e 22 20 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 | g.cache.for.%s....".project-root | 
| 216c0 | 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 66    69 6c 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 | )).......(setq.files............ | 
| 216e0 | 20 28 69 66 20 28 65 71 20 70 72 6f 6a 65 63 74    69 6c 65 2d 69 6e 64 65 78 69 6e 67 2d 6d 65 74 | .(if.(eq.projectile-indexing-met | 
| 21700 | 68 6f 64 20 27 61 6c 69 65 6e 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 49 | hod.'alien).................;;.I | 
| 21720 | 6e 20 61 6c 69 65 6e 20 6d 6f 64 65 20 77 65 20    63 61 6e 20 6a 75 73 74 20 73 6b 69 70 20 72 65 | n.alien.mode.we.can.just.skip.re | 
| 21740 | 61 64 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 3b 3b 20 2e 70 72 6f 6a 65 63 | ading.................;;..projec | 
| 21760 | 74 69 6c 65 20 61 6e 64 20 66 69 6e 64 20 61 6c    6c 20 66 69 6c 65 73 20 69 6e 20 74 68 65 20 72 | tile.and.find.all.files.in.the.r | 
| 21780 | 6f 6f 74 20 64 69 72 2e 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 28 70 72 6f 6a 65 63 | oot.dir..................(projec | 
| 217a0 | 74 69 6c 65 2d 64 69 72 2d 66 69 6c 65 73 2d 61    6c 69 65 6e 20 70 72 6f 6a 65 63 74 2d 72 6f 6f | tile-dir-files-alien.project-roo | 
| 217c0 | 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    20 3b 3b 20 49 66 20 61 20 70 72 6f 6a 65 63 74 | t)...............;;.If.a.project | 
| 217e0 | 20 69 73 20 64 65 66 69 6e 65 64 20 61 73 20 61    20 6c 69 73 74 20 6f 66 20 73 75 62 66 6f 6c 64 | .is.defined.as.a.list.of.subfold | 
| 21800 | 65 72 73 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 20 3b 3b 20 74 68 65 6e 20 77 65 27 6c 6c 20 | ers...............;;.then.we'll. | 
| 21820 | 68 61 76 65 20 74 68 65 20 66 69 6c 65 73 20 72    65 74 75 72 6e 65 64 20 66 6f 72 20 65 61 63 68 | have.the.files.returned.for.each | 
| 21840 | 20 73 75 62 66 6f 6c 64 65 72 2c 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 3b 3b 20 73 6f 20 | .subfolder,...............;;.so. | 
| 21860 | 74 68 65 79 20 61 72 65 20 72 65 6c 61 74 69 76    65 20 74 6f 20 74 68 65 20 70 72 6f 6a 65 63 74 | they.are.relative.to.the.project | 
| 21880 | 20 72 6f 6f 74 2e 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 20 | .root................;;......... | 
| 218a0 | 20 20 20 20 20 20 3b 3b 20 54 4f 44 4f 3a 20 54    68 61 74 27 73 20 70 72 65 74 74 79 20 73 6c 6f | ......;;.TODO:.That's.pretty.slo | 
| 218c0 | 77 20 61 6e 64 20 77 65 20 6e 65 65 64 20 74 6f    20 69 6d 70 72 6f 76 65 20 69 74 2e 0a 20 20 20 | w.and.we.need.to.improve.it..... | 
| 218e0 | 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 4f 6e    65 20 6f 70 74 69 6f 6e 73 20 77 6f 75 6c 64 20 | ...........;;.One.options.would. | 
| 21900 | 62 65 20 74 6f 20 70 61 73 73 20 65 78 70 6c 69    63 69 74 6c 79 20 74 68 65 20 73 75 62 64 69 72 | be.to.pass.explicitly.the.subdir | 
| 21920 | 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    3b 3b 20 74 6f 20 63 6f 6d 6d 61 6e 64 73 20 6c | s...............;;.to.commands.l | 
| 21940 | 69 6b 65 20 60 67 69 74 20 6c 73 2d 66 69 6c 65    73 60 20 77 68 69 63 68 20 77 6f 75 6c 64 20 72 | ike.`git.ls-files`.which.would.r | 
| 21960 | 65 74 75 72 6e 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 3b 3b 20 66 69 6c 65 73 20 70 61 74 | eturn...............;;.files.pat | 
| 21980 | 68 73 20 72 65 6c 61 74 69 76 65 20 74 6f 20 74    68 65 20 70 72 6f 6a 65 63 74 20 72 6f 6f 74 2e | hs.relative.to.the.project.root. | 
| 219a0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    63 6c 2d 6d 61 70 63 61 6e 0a 20 20 20 20 20 20 | ...............(cl-mapcan....... | 
| 219c0 | 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61    20 28 64 69 72 29 0a 20 20 20 20 20 20 20 20 20 | .........(lambda.(dir).......... | 
| 219e0 | 20 20 20 20 20 20 20 20 28 6d 61 70 63 61 72 20    28 6c 61 6d 62 64 61 20 28 66 29 0a 20 20 20 20 | ........(mapcar.(lambda.(f)..... | 
| 21a00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 28 66 69 6c 65 2d 72 65 6c | .......................(file-rel | 
| 21a20 | 61 74 69 76 65 2d 6e 61 6d 65 20 28 63 6f 6e 63    61 74 20 64 69 72 20 66 29 0a 20 20 20 20 20 20 | ative-name.(concat.dir.f)....... | 
| 21a40 | 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 | ................................ | 
| 21a60 | 20 20 20 20 20 20 20 20 20 70 72 6f 6a 65 63 74    2d 72 6f 6f 74 29 29 0a 20 20 20 20 20 20 20 20 | .........project-root))......... | 
| 21a80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 64 69 72 | .................(projectile-dir | 
| 21aa0 | 2d 66 69 6c 65 73 20 64 69 72 29 29 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 | -files.dir)))................(pr | 
| 21ac0 | 6f 6a 65 63 74 69 6c 65 2d 67 65 74 2d 70 72 6f    6a 65 63 74 2d 64 69 72 65 63 74 6f 72 69 65 73 | ojectile-get-project-directories | 
| 21ae0 | 20 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 29 29 29    29 0a 0a 20 20 20 20 20 20 3b 3b 20 53 61 76 65 | .project-root))))........;;.Save | 
| 21b00 | 20 74 68 65 20 63 61 63 68 65 64 20 6c 69 73 74    2e 0a 20 20 20 20 20 20 28 77 68 65 6e 20 70 72 | .the.cached.list........(when.pr | 
| 21b20 | 6f 6a 65 63 74 69 6c 65 2d 65 6e 61 62 6c 65 2d    63 61 63 68 69 6e 67 0a 20 20 20 20 20 20 20 20 | ojectile-enable-caching......... | 
| 21b40 | 28 70 72 6f 6a 65 63 74 69 6c 65 2d 63 61 63 68    65 2d 70 72 6f 6a 65 63 74 20 70 72 6f 6a 65 63 | (projectile-cache-project.projec | 
| 21b60 | 74 2d 72 6f 6f 74 20 66 69 6c 65 73 29 29 29 0a    0a 20 20 20 20 3b 3b 3b 20 53 6f 72 74 69 6e 67 | t-root.files)))......;;;.Sorting | 
| 21b80 | 0a 20 20 20 20 3b 3b 0a 20 20 20 20 3b 3b 20 46    69 6c 65 73 20 63 61 6e 27 74 20 62 65 20 63 61 | .....;;.....;;.Files.can't.be.ca | 
| 21ba0 | 63 68 65 64 20 69 6e 20 73 6f 72 74 65 64 20 6f    72 64 65 72 20 61 73 20 73 6f 6d 65 20 73 6f 72 | ched.in.sorted.order.as.some.sor | 
| 21bc0 | 74 69 6e 67 20 73 63 68 65 6d 65 73 0a 20 20 20    20 3b 3b 20 72 65 71 75 69 72 65 20 64 79 6e 61 | ting.schemes.....;;.require.dyna | 
| 21be0 | 6d 69 63 20 64 61 74 61 2e 20 20 53 6f 72 74 69    6e 67 20 69 73 20 69 67 6e 6f 72 65 64 20 63 6f | mic.data...Sorting.is.ignored.co | 
| 21c00 | 6d 70 6c 65 74 65 6c 79 20 77 68 65 6e 20 69 6e    0a 20 20 20 20 3b 3b 20 61 6c 69 65 6e 20 6d 6f | mpletely.when.in.....;;.alien.mo | 
| 21c20 | 64 65 2e 0a 20 20 20 20 28 69 66 20 28 65 71 20    70 72 6f 6a 65 63 74 69 6c 65 2d 69 6e 64 65 78 | de......(if.(eq.projectile-index | 
| 21c40 | 69 6e 67 2d 6d 65 74 68 6f 64 20 27 61 6c 69 65    6e 29 0a 20 20 20 20 20 20 20 20 66 69 6c 65 73 | ing-method.'alien).........files | 
| 21c60 | 0a 20 20 20 20 20 20 28 70 72 6f 6a 65 63 74 69    6c 65 2d 73 6f 72 74 2d 66 69 6c 65 73 20 66 69 | .......(projectile-sort-files.fi | 
| 21c80 | 6c 65 73 29 29 29 29 0a 0a 28 64 65 66 75 6e 20    70 72 6f 6a 65 63 74 69 6c 65 2d 63 75 72 72 65 | les))))..(defun.projectile-curre | 
| 21ca0 | 6e 74 2d 70 72 6f 6a 65 63 74 2d 66 69 6c 65 73    20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 | nt-project-files.()..."Return.a. | 
| 21cc0 | 6c 69 73 74 20 6f 66 20 74 68 65 20 66 69 6c 65    73 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 | list.of.the.files.in.the.current | 
| 21ce0 | 20 70 72 6f 6a 65 63 74 2e 22 0a 20 20 28 70 72    6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 | .project."...(projectile-project | 
| 21d00 | 2d 66 69 6c 65 73 20 28 70 72 6f 6a 65 63 74 69    6c 65 2d 61 63 71 75 69 72 65 2d 72 6f 6f 74 29 | -files.(projectile-acquire-root) | 
| 21d20 | 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65    63 74 69 6c 65 2d 70 72 6f 63 65 73 73 2d 63 75 | ))..(defun.projectile-process-cu | 
| 21d40 | 72 72 65 6e 74 2d 70 72 6f 6a 65 63 74 2d 66 69    6c 65 73 20 28 61 63 74 69 6f 6e 29 0a 20 20 22 | rrent-project-files.(action)..." | 
| 21d60 | 50 72 6f 63 65 73 73 20 74 68 65 20 63 75 72 72    65 6e 74 20 70 72 6f 6a 65 63 74 27 73 20 66 69 | Process.the.current.project's.fi | 
| 21d80 | 6c 65 73 20 75 73 69 6e 67 20 41 43 54 49 4f 4e    2e 22 0a 20 20 28 6c 65 74 20 28 28 70 72 6f 6a | les.using.ACTION."...(let.((proj | 
| 21da0 | 65 63 74 2d 66 69 6c 65 73 20 28 70 72 6f 6a 65    63 74 69 6c 65 2d 63 75 72 72 65 6e 74 2d 70 72 | ect-files.(projectile-current-pr | 
| 21dc0 | 6f 6a 65 63 74 2d 66 69 6c 65 73 29 29 0a 20 20    20 20 20 20 20 20 28 64 65 66 61 75 6c 74 2d 64 | oject-files)).........(default-d | 
| 21de0 | 69 72 65 63 74 6f 72 79 20 28 70 72 6f 6a 65 63    74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 72 6f 6f | irectory.(projectile-project-roo | 
| 21e00 | 74 29 29 29 0a 20 20 20 20 28 64 6f 6c 69 73 74    20 28 66 69 6c 65 6e 61 6d 65 20 70 72 6f 6a 65 | t))).....(dolist.(filename.proje | 
| 21e20 | 63 74 2d 66 69 6c 65 73 29 0a 20 20 20 20 20 20    28 66 75 6e 63 61 6c 6c 20 61 63 74 69 6f 6e 20 | ct-files).......(funcall.action. | 
| 21e40 | 66 69 6c 65 6e 61 6d 65 29 29 29 29 0a 0a 28 64    65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d | filename))))..(defun.projectile- | 
| 21e60 | 70 72 6f 6a 65 63 74 2d 64 69 72 73 20 28 70 72    6f 6a 65 63 74 29 0a 20 20 22 52 65 74 75 72 6e | project-dirs.(project)..."Return | 
| 21e80 | 20 61 20 6c 69 73 74 20 6f 66 20 64 69 72 73 20    66 6f 72 20 50 52 4f 4a 45 43 54 2e 22 0a 20 20 | .a.list.of.dirs.for.PROJECT."... | 
| 21ea0 | 28 64 65 6c 65 74 65 2d 64 75 70 73 0a 20 20 20    28 64 65 6c 71 20 6e 69 6c 0a 20 20 20 20 20 20 | (delete-dups....(delq.nil....... | 
| 21ec0 | 20 20 20 28 6d 61 70 63 61 72 20 23 27 66 69 6c    65 2d 6e 61 6d 65 2d 64 69 72 65 63 74 6f 72 79 | ...(mapcar.#'file-name-directory | 
| 21ee0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 | ..................(projectile-pr | 
| 21f00 | 6f 6a 65 63 74 2d 66 69 6c 65 73 20 70 72 6f 6a    65 63 74 29 29 29 29 29 0a 0a 28 64 65 66 75 6e | oject-files.project)))))..(defun | 
| 21f20 | 20 70 72 6f 6a 65 63 74 69 6c 65 2d 63 75 72 72    65 6e 74 2d 70 72 6f 6a 65 63 74 2d 64 69 72 73 | .projectile-current-project-dirs | 
| 21f40 | 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20    6c 69 73 74 20 6f 66 20 64 69 72 73 20 66 6f 72 | .()..."Return.a.list.of.dirs.for | 
| 21f60 | 20 74 68 65 20 63 75 72 72 65 6e 74 20 70 72 6f    6a 65 63 74 2e 22 0a 20 20 28 70 72 6f 6a 65 63 | .the.current.project."...(projec | 
| 21f80 | 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 64 69 72    73 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 61 63 | tile-project-dirs.(projectile-ac | 
| 21fa0 | 71 75 69 72 65 2d 72 6f 6f 74 29 29 29 0a 0a 28    64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 | quire-root)))..(defun.projectile | 
| 21fc0 | 2d 67 65 74 2d 6f 74 68 65 72 2d 66 69 6c 65 73    20 28 66 69 6c 65 2d 6e 61 6d 65 20 26 6f 70 74 | -get-other-files.(file-name.&opt | 
| 21fe0 | 69 6f 6e 61 6c 20 66 6c 65 78 2d 6d 61 74 63 68    69 6e 67 29 0a 20 20 22 52 65 74 75 72 6e 20 61 | ional.flex-matching)..."Return.a | 
| 22000 | 20 6c 69 73 74 20 6f 66 20 6f 74 68 65 72 20 66    69 6c 65 73 20 66 6f 72 20 46 49 4c 45 2d 4e 41 | .list.of.other.files.for.FILE-NA | 
| 22020 | 4d 45 2e 0a 54 68 65 20 6c 69 73 74 20 64 65 70    65 6e 64 73 20 6f 6e 20 60 3a 72 65 6c 61 74 65 | ME..The.list.depends.on.`:relate | 
| 22040 | 64 2d 66 69 6c 65 73 2d 66 6e 27 20 70 72 6f 6a    65 63 74 20 6f 70 74 69 6f 6e 20 61 6e 64 0a 60 | d-files-fn'.project.option.and.` | 
| 22060 | 70 72 6f 6a 65 63 74 69 6c 65 2d 6f 74 68 65 72    2d 66 69 6c 65 2d 61 6c 69 73 74 27 2e 20 20 46 | projectile-other-file-alist'...F | 
| 22080 | 6f 72 20 74 68 65 20 6c 61 74 74 65 72 2c 20 46    4c 45 58 2d 4d 41 54 43 48 49 4e 47 20 63 61 6e | or.the.latter,.FLEX-MATCHING.can | 
| 220a0 | 20 62 65 20 75 73 65 64 0a 74 6f 20 6d 61 74 63    68 20 61 6e 79 20 62 61 73 65 6e 61 6d 65 2e 22 | .be.used.to.match.any.basename." | 
| 220c0 | 0a 20 20 28 69 66 2d 6c 65 74 20 28 28 70 6c 69    73 74 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 2d | ...(if-let.((plist.(projectile-- | 
| 220e0 | 72 65 6c 61 74 65 64 2d 66 69 6c 65 73 2d 70 6c    69 73 74 2d 62 79 2d 6b 69 6e 64 20 20 66 69 6c | related-files-plist-by-kind..fil | 
| 22100 | 65 2d 6e 61 6d 65 20 3a 6f 74 68 65 72 29 29 29    0a 20 20 20 20 20 20 28 70 72 6f 6a 65 63 74 69 | e-name.:other))).......(projecti | 
| 22120 | 6c 65 2d 2d 72 65 6c 61 74 65 64 2d 66 69 6c 65    73 2d 66 72 6f 6d 2d 70 6c 69 73 74 20 70 6c 69 | le--related-files-from-plist.pli | 
| 22140 | 73 74 29 0a 20 20 20 20 28 70 72 6f 6a 65 63 74    69 6c 65 2d 2d 6f 74 68 65 72 2d 65 78 74 65 6e | st).....(projectile--other-exten | 
| 22160 | 73 69 6f 6e 2d 66 69 6c 65 73 20 66 69 6c 65 2d    6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 | sion-files.file-name............ | 
| 22180 | 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 70 72 6f | ............................(pro | 
| 221a0 | 6a 65 63 74 69 6c 65 2d 63 75 72 72 65 6e 74 2d    70 72 6f 6a 65 63 74 2d 66 69 6c 65 73 29 0a 20 | jectile-current-project-files).. | 
| 221c0 | 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 | ................................ | 
| 221e0 | 20 20 20 20 20 20 66 6c 65 78 2d 6d 61 74 63 68    69 6e 67 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 | ......flex-matching)))..(defun.p | 
| 22200 | 72 6f 6a 65 63 74 69 6c 65 2d 2d 66 69 6e 64 2d    6f 74 68 65 72 2d 66 69 6c 65 20 28 26 6f 70 74 | rojectile--find-other-file.(&opt | 
| 22220 | 69 6f 6e 61 6c 20 66 6c 65 78 2d 6d 61 74 63 68    69 6e 67 20 66 66 2d 76 61 72 69 61 6e 74 29 0a | ional.flex-matching.ff-variant). | 
| 22240 | 20 20 22 53 77 69 74 63 68 20 62 65 74 77 65 65    6e 20 66 69 6c 65 73 20 77 69 74 68 20 74 68 65 | .."Switch.between.files.with.the | 
| 22260 | 20 73 61 6d 65 20 6e 61 6d 65 20 62 75 74 20 64    69 66 66 65 72 65 6e 74 20 65 78 74 65 6e 73 69 | .same.name.but.different.extensi | 
| 22280 | 6f 6e 73 2e 0a 57 69 74 68 20 46 4c 45 58 2d 4d    41 54 43 48 49 4e 47 2c 20 6d 61 74 63 68 20 61 | ons..With.FLEX-MATCHING,.match.a | 
| 222a0 | 6e 79 20 66 69 6c 65 20 74 68 61 74 20 63 6f 6e    74 61 69 6e 73 20 74 68 65 20 62 61 73 65 20 6e | ny.file.that.contains.the.base.n | 
| 222c0 | 61 6d 65 20 6f 66 20 63 75 72 72 65 6e 74 20 66    69 6c 65 2e 0a 4f 74 68 65 72 20 66 69 6c 65 20 | ame.of.current.file..Other.file. | 
| 222e0 | 65 78 74 65 6e 73 69 6f 6e 73 20 63 61 6e 20 62    65 20 63 75 73 74 6f 6d 69 7a 65 64 20 77 69 74 | extensions.can.be.customized.wit | 
| 22300 | 68 20 74 68 65 20 76 61 72 69 61 62 6c 65 0a 60    70 72 6f 6a 65 63 74 69 6c 65 2d 6f 74 68 65 72 | h.the.variable.`projectile-other | 
| 22320 | 2d 66 69 6c 65 2d 61 6c 69 73 74 27 2e 20 20 57    69 74 68 20 46 46 2d 56 41 52 49 41 4e 54 20 73 | -file-alist'...With.FF-VARIANT.s | 
| 22340 | 65 74 20 74 6f 20 61 20 64 65 66 75 6e 2c 20 75    73 65 20 74 68 61 74 0a 69 6e 73 74 65 61 64 20 | et.to.a.defun,.use.that.instead. | 
| 22360 | 6f 66 20 60 66 69 6e 64 2d 66 69 6c 65 27 2e 20    20 20 41 20 74 79 70 69 63 61 6c 20 65 78 61 6d | of.`find-file'....A.typical.exam | 
| 22380 | 70 6c 65 20 6f 66 20 73 75 63 68 20 61 20 64 65    66 75 6e 20 77 6f 75 6c 64 20 62 65 0a 60 66 69 | ple.of.such.a.defun.would.be.`fi | 
| 223a0 | 6e 64 2d 66 69 6c 65 2d 6f 74 68 65 72 2d 77 69    6e 64 6f 77 27 20 6f 72 20 60 66 69 6e 64 2d 66 | nd-file-other-window'.or.`find-f | 
| 223c0 | 69 6c 65 2d 6f 74 68 65 72 2d 66 72 61 6d 65 27    22 0a 20 20 28 6c 65 74 20 28 28 66 66 20 28 6f | ile-other-frame'"...(let.((ff.(o | 
| 223e0 | 72 20 66 66 2d 76 61 72 69 61 6e 74 20 23 27 66    69 6e 64 2d 66 69 6c 65 29 29 0a 20 20 20 20 20 | r.ff-variant.#'find-file))...... | 
| 22400 | 20 20 20 28 6f 74 68 65 72 2d 66 69 6c 65 73 20    28 70 72 6f 6a 65 63 74 69 6c 65 2d 67 65 74 2d | ...(other-files.(projectile-get- | 
| 22420 | 6f 74 68 65 72 2d 66 69 6c 65 73 20 28 62 75 66    66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 29 20 66 | other-files.(buffer-file-name).f | 
| 22440 | 6c 65 78 2d 6d 61 74 63 68 69 6e 67 29 29 29 0a    20 20 20 20 28 69 66 20 6f 74 68 65 72 2d 66 69 | lex-matching))).....(if.other-fi | 
| 22460 | 6c 65 73 0a 20 20 20 20 20 20 20 20 28 6c 65 74    20 28 28 66 69 6c 65 2d 6e 61 6d 65 20 28 70 72 | les.........(let.((file-name.(pr | 
| 22480 | 6f 6a 65 63 74 69 6c 65 2d 2d 63 68 6f 6f 73 65    2d 66 72 6f 6d 2d 63 61 6e 64 69 64 61 74 65 73 | ojectile--choose-from-candidates | 
| 224a0 | 20 6f 74 68 65 72 2d 66 69 6c 65 73 29 29 29 0a    20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 | .other-files)))...........(funca | 
| 224c0 | 6c 6c 20 66 66 20 28 65 78 70 61 6e 64 2d 66 69    6c 65 2d 6e 61 6d 65 20 66 69 6c 65 2d 6e 61 6d | ll.ff.(expand-file-name.file-nam | 
| 224e0 | 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | e............................... | 
| 22500 | 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 6a 65    63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 72 6f | ..........(projectile-project-ro | 
| 22520 | 6f 74 29 29 29 29 0a 20 20 20 20 20 20 28 65 72    72 6f 72 20 22 4e 6f 20 6f 74 68 65 72 20 66 69 | ot)))).......(error."No.other.fi | 
| 22540 | 6c 65 20 66 6f 75 6e 64 22 29 29 29 29 0a 0a 0a    3b 3b 3b 20 49 6e 74 65 72 61 63 74 69 76 65 20 | le.found"))))...;;;.Interactive. | 
| 22560 | 63 6f 6d 6d 61 6e 64 73 0a 3b 3b 3b 23 23 23 61    75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 70 | commands.;;;###autoload.(defun.p | 
| 22580 | 72 6f 6a 65 63 74 69 6c 65 2d 66 69 6e 64 2d 6f    74 68 65 72 2d 66 69 6c 65 20 28 26 6f 70 74 69 | rojectile-find-other-file.(&opti | 
| 225a0 | 6f 6e 61 6c 20 66 6c 65 78 2d 6d 61 74 63 68 69    6e 67 29 0a 20 20 22 53 77 69 74 63 68 20 62 65 | onal.flex-matching)..."Switch.be | 
| 225c0 | 74 77 65 65 6e 20 66 69 6c 65 73 20 77 69 74 68    20 74 68 65 20 73 61 6d 65 20 6e 61 6d 65 20 62 | tween.files.with.the.same.name.b | 
| 225e0 | 75 74 20 64 69 66 66 65 72 65 6e 74 20 65 78 74    65 6e 73 69 6f 6e 73 2e 0a 57 69 74 68 20 46 4c | ut.different.extensions..With.FL | 
| 22600 | 45 58 2d 4d 41 54 43 48 49 4e 47 2c 20 6d 61 74    63 68 20 61 6e 79 20 66 69 6c 65 20 74 68 61 74 | EX-MATCHING,.match.any.file.that | 
| 22620 | 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 62 61    73 65 20 6e 61 6d 65 20 6f 66 20 63 75 72 72 65 | .contains.the.base.name.of.curre | 
| 22640 | 6e 74 20 66 69 6c 65 2e 0a 4f 74 68 65 72 20 66    69 6c 65 20 65 78 74 65 6e 73 69 6f 6e 73 20 63 | nt.file..Other.file.extensions.c | 
| 22660 | 61 6e 20 62 65 20 63 75 73 74 6f 6d 69 7a 65 64    20 77 69 74 68 20 74 68 65 20 76 61 72 69 61 62 | an.be.customized.with.the.variab | 
| 22680 | 6c 65 0a 60 70 72 6f 6a 65 63 74 69 6c 65 2d 6f    74 68 65 72 2d 66 69 6c 65 2d 61 6c 69 73 74 27 | le.`projectile-other-file-alist' | 
| 226a0 | 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76    65 20 22 50 22 29 0a 20 20 28 70 72 6f 6a 65 63 | ."...(interactive."P")...(projec | 
| 226c0 | 74 69 6c 65 2d 2d 66 69 6e 64 2d 6f 74 68 65 72    2d 66 69 6c 65 20 66 6c 65 78 2d 6d 61 74 63 68 | tile--find-other-file.flex-match | 
| 226e0 | 69 6e 67 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 70 72 6f | ing))..;;;###autoload.(defun.pro | 
| 22700 | 6a 65 63 74 69 6c 65 2d 66 69 6e 64 2d 6f 74 68    65 72 2d 66 69 6c 65 2d 6f 74 68 65 72 2d 77 69 | jectile-find-other-file-other-wi | 
| 22720 | 6e 64 6f 77 20 28 26 6f 70 74 69 6f 6e 61 6c 20    66 6c 65 78 2d 6d 61 74 63 68 69 6e 67 29 0a 20 | ndow.(&optional.flex-matching).. | 
| 22740 | 20 22 53 77 69 74 63 68 20 62 65 74 77 65 65 6e    20 66 69 6c 65 73 20 77 69 74 68 20 64 69 66 66 | ."Switch.between.files.with.diff | 
| 22760 | 65 72 65 6e 74 20 65 78 74 65 6e 73 69 6f 6e 73    20 69 6e 20 6f 74 68 65 72 20 77 69 6e 64 6f 77 | erent.extensions.in.other.window | 
| 22780 | 2e 0a 53 77 69 74 63 68 20 62 65 74 77 65 65 6e    20 66 69 6c 65 73 20 77 69 74 68 20 74 68 65 20 | ..Switch.between.files.with.the. | 
| 227a0 | 73 61 6d 65 20 6e 61 6d 65 20 62 75 74 20 64 69    66 66 65 72 65 6e 74 20 65 78 74 65 6e 73 69 6f | same.name.but.different.extensio | 
| 227c0 | 6e 73 20 69 6e 20 6f 74 68 65 72 0a 77 69 6e 64    6f 77 2e 20 20 57 69 74 68 20 46 4c 45 58 2d 4d | ns.in.other.window...With.FLEX-M | 
| 227e0 | 41 54 43 48 49 4e 47 2c 20 6d 61 74 63 68 20 61    6e 79 20 66 69 6c 65 20 74 68 61 74 20 63 6f 6e | ATCHING,.match.any.file.that.con | 
| 22800 | 74 61 69 6e 73 20 74 68 65 20 62 61 73 65 20 6e    61 6d 65 20 6f 66 0a 63 75 72 72 65 6e 74 20 66 | tains.the.base.name.of.current.f | 
| 22820 | 69 6c 65 2e 20 20 4f 74 68 65 72 20 66 69 6c 65    20 65 78 74 65 6e 73 69 6f 6e 73 20 63 61 6e 20 | ile...Other.file.extensions.can. | 
| 22840 | 62 65 20 63 75 73 74 6f 6d 69 7a 65 64 20 77 69    74 68 20 74 68 65 20 76 61 72 69 61 62 6c 65 0a | be.customized.with.the.variable. | 
| 22860 | 60 70 72 6f 6a 65 63 74 69 6c 65 2d 6f 74 68 65    72 2d 66 69 6c 65 2d 61 6c 69 73 74 27 2e 22 0a | `projectile-other-file-alist'.". | 
| 22880 | 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22    50 22 29 0a 20 20 28 70 72 6f 6a 65 63 74 69 6c | ..(interactive."P")...(projectil | 
| 228a0 | 65 2d 2d 66 69 6e 64 2d 6f 74 68 65 72 2d 66 69    6c 65 20 66 6c 65 78 2d 6d 61 74 63 68 69 6e 67 | e--find-other-file.flex-matching | 
| 228c0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 228e0 | 23 27 66 69 6e 64 2d 66 69 6c 65 2d 6f 74 68 65    72 2d 77 69 6e 64 6f 77 29 29 0a 0a 3b 3b 3b 23 | #'find-file-other-window))..;;;# | 
| 22900 | 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75    6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 66 69 6e | ##autoload.(defun.projectile-fin | 
| 22920 | 64 2d 6f 74 68 65 72 2d 66 69 6c 65 2d 6f 74 68    65 72 2d 66 72 61 6d 65 20 28 26 6f 70 74 69 6f | d-other-file-other-frame.(&optio | 
| 22940 | 6e 61 6c 20 66 6c 65 78 2d 6d 61 74 63 68 69 6e    67 29 0a 20 20 22 53 77 69 74 63 68 20 62 65 74 | nal.flex-matching)..."Switch.bet | 
| 22960 | 77 65 65 6e 20 66 69 6c 65 73 20 77 69 74 68 20    64 69 66 66 65 72 65 6e 74 20 65 78 74 65 6e 73 | ween.files.with.different.extens | 
| 22980 | 69 6f 6e 73 20 69 6e 20 6f 74 68 65 72 20 66 72    61 6d 65 2e 0a 53 77 69 74 63 68 20 62 65 74 77 | ions.in.other.frame..Switch.betw | 
| 229a0 | 65 65 6e 20 66 69 6c 65 73 20 77 69 74 68 20 74    68 65 20 73 61 6d 65 20 6e 61 6d 65 20 62 75 74 | een.files.with.the.same.name.but | 
| 229c0 | 20 64 69 66 66 65 72 65 6e 74 20 65 78 74 65 6e    73 69 6f 6e 73 20 69 6e 20 6f 74 68 65 72 20 66 | .different.extensions.in.other.f | 
| 229e0 | 72 61 6d 65 2e 0a 57 69 74 68 20 46 4c 45 58 2d    4d 41 54 43 48 49 4e 47 2c 20 6d 61 74 63 68 20 | rame..With.FLEX-MATCHING,.match. | 
| 22a00 | 61 6e 79 20 66 69 6c 65 20 74 68 61 74 20 63 6f    6e 74 61 69 6e 73 20 74 68 65 20 62 61 73 65 20 | any.file.that.contains.the.base. | 
| 22a20 | 6e 61 6d 65 20 6f 66 20 63 75 72 72 65 6e 74 0a    66 69 6c 65 2e 20 20 4f 74 68 65 72 20 66 69 6c | name.of.current.file...Other.fil | 
| 22a40 | 65 20 65 78 74 65 6e 73 69 6f 6e 73 20 63 61 6e    20 62 65 20 63 75 73 74 6f 6d 69 7a 65 64 20 77 | e.extensions.can.be.customized.w | 
| 22a60 | 69 74 68 20 74 68 65 20 76 61 72 69 61 62 6c 65    0a 60 70 72 6f 6a 65 63 74 69 6c 65 2d 6f 74 68 | ith.the.variable.`projectile-oth | 
| 22a80 | 65 72 2d 66 69 6c 65 2d 61 6c 69 73 74 27 2e 22    0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 | er-file-alist'."...(interactive. | 
| 22aa0 | 22 50 22 29 0a 20 20 28 70 72 6f 6a 65 63 74 69    6c 65 2d 2d 66 69 6e 64 2d 6f 74 68 65 72 2d 66 | "P")...(projectile--find-other-f | 
| 22ac0 | 69 6c 65 20 66 6c 65 78 2d 6d 61 74 63 68 69 6e    67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ile.flex-matching............... | 
| 22ae0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 23 27 66 69 6e 64 2d 66 69 6c 65 2d 6f 74 68 | .................#'find-file-oth | 
| 22b00 | 65 72 2d 66 72 61 6d 65 29 29 0a 0a 28 64 65 66    75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 2d 66 | er-frame))..(defun.projectile--f | 
| 22b20 | 69 6c 65 2d 6e 61 6d 65 2d 73 61 6e 73 2d 65 78    74 65 6e 73 69 6f 6e 73 20 28 66 69 6c 65 2d 6e | ile-name-sans-extensions.(file-n | 
| 22b40 | 61 6d 65 29 0a 20 20 22 52 65 74 75 72 6e 20 46    49 4c 45 2d 4e 41 4d 45 20 73 61 6e 73 20 61 6e | ame)..."Return.FILE-NAME.sans.an | 
| 22b60 | 79 20 65 78 74 65 6e 73 69 6f 6e 73 2e 0a 54 68    65 20 65 78 74 65 6e 73 69 6f 6e 73 2c 20 69 6e | y.extensions..The.extensions,.in | 
| 22b80 | 20 61 20 66 69 6c 65 6e 61 6d 65 2c 20 61 72 65    20 77 68 61 74 20 66 6f 6c 6c 6f 77 73 20 74 68 | .a.filename,.are.what.follows.th | 
| 22ba0 | 65 20 66 69 72 73 74 20 27 2e 27 2c 20 77 69 74    68 20 74 68 65 0a 65 78 63 65 70 74 69 6f 6e 20 | e.first.'.',.with.the.exception. | 
| 22bc0 | 6f 66 20 61 20 6c 65 61 64 69 6e 67 20 27 2e 27    22 0a 20 20 28 73 65 74 71 20 66 69 6c 65 2d 6e | of.a.leading.'.'"...(setq.file-n | 
| 22be0 | 61 6d 65 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 6e    6f 6e 64 69 72 65 63 74 6f 72 79 20 66 69 6c 65 | ame.(file-name-nondirectory.file | 
| 22c00 | 2d 6e 61 6d 65 29 29 0a 20 20 28 73 75 62 73 74    72 69 6e 67 20 66 69 6c 65 2d 6e 61 6d 65 20 30 | -name))...(substring.file-name.0 | 
| 22c20 | 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22    5c 5c 2e 2e 2a 22 20 66 69 6c 65 2d 6e 61 6d 65 | .(string-match."\\..*".file-name | 
| 22c40 | 20 31 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 72    6f 6a 65 63 74 69 6c 65 2d 2d 66 69 6c 65 2d 6e | .1)))..(defun.projectile--file-n | 
| 22c60 | 61 6d 65 2d 65 78 74 65 6e 73 69 6f 6e 73 20 28    66 69 6c 65 2d 6e 61 6d 65 29 0a 20 20 22 52 65 | ame-extensions.(file-name)..."Re | 
| 22c80 | 74 75 72 6e 20 46 49 4c 45 2d 4e 41 4d 45 27 73    20 65 78 74 65 6e 73 69 6f 6e 73 2e 0a 54 68 65 | turn.FILE-NAME's.extensions..The | 
| 22ca0 | 20 65 78 74 65 6e 73 69 6f 6e 73 2c 20 69 6e 20    61 20 66 69 6c 65 6e 61 6d 65 2c 20 61 72 65 20 | .extensions,.in.a.filename,.are. | 
| 22cc0 | 77 68 61 74 20 66 6f 6c 6c 6f 77 73 20 74 68 65    20 66 69 72 73 74 20 27 2e 27 2c 20 77 69 74 68 | what.follows.the.first.'.',.with | 
| 22ce0 | 20 74 68 65 0a 65 78 63 65 70 74 69 6f 6e 20 6f    66 20 61 20 6c 65 61 64 69 6e 67 20 27 2e 27 22 | .the.exception.of.a.leading.'.'" | 
| 22d00 | 0a 20 20 3b 3b 77 6f 75 6c 64 20 69 74 20 6d 61    6b 65 20 73 65 6e 73 65 20 74 6f 20 72 65 74 75 | ...;;would.it.make.sense.to.retu | 
| 22d20 | 72 6e 20 6e 69 6c 20 69 6e 73 74 65 61 64 20 6f    66 20 61 6e 20 65 6d 70 74 79 20 73 74 72 69 6e | rn.nil.instead.of.an.empty.strin | 
| 22d40 | 67 20 69 66 20 6e 6f 20 65 78 74 65 6e 73 69 6f    6e 73 20 61 72 65 20 66 6f 75 6e 64 3f 0a 20 20 | g.if.no.extensions.are.found?... | 
| 22d60 | 28 73 65 74 71 20 66 69 6c 65 2d 6e 61 6d 65 20    28 66 69 6c 65 2d 6e 61 6d 65 2d 6e 6f 6e 64 69 | (setq.file-name.(file-name-nondi | 
| 22d80 | 72 65 63 74 6f 72 79 20 66 69 6c 65 2d 6e 61 6d    65 29 29 0a 20 20 28 6c 65 74 20 28 65 78 74 65 | rectory.file-name))...(let.(exte | 
| 22da0 | 6e 73 69 6f 6e 73 2d 73 74 61 72 74 29 0a 20 20    20 20 28 73 75 62 73 74 72 69 6e 67 20 66 69 6c | nsions-start).....(substring.fil | 
| 22dc0 | 65 2d 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 69 66 20 28 73 65 74 71 20 | e-name................(if.(setq. | 
| 22de0 | 65 78 74 65 6e 73 69 6f 6e 73 2d 73 74 61 72 74    20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 | extensions-start.(string-match." | 
| 22e00 | 5c 5c 2e 2e 2a 22 20 66 69 6c 65 2d 6e 61 6d 65    20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 | \\..*".file-name.1))............ | 
| 22e20 | 20 20 20 20 20 20 20 20 28 31 2b 20 65 78 74 65    6e 73 69 6f 6e 73 2d 73 74 61 72 74 29 0a 20 20 | ........(1+.extensions-start)... | 
| 22e40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    6c 65 6e 67 74 68 20 66 69 6c 65 2d 6e 61 6d 65 | ...............(length.file-name | 
| 22e60 | 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 72    6f 6a 65 63 74 69 6c 65 2d 61 73 73 6f 63 69 61 | )))))..(defun.projectile-associa | 
| 22e80 | 74 65 64 2d 66 69 6c 65 2d 6e 61 6d 65 2d 65 78    74 65 6e 73 69 6f 6e 73 20 28 66 69 6c 65 2d 6e | ted-file-name-extensions.(file-n | 
| 22ea0 | 61 6d 65 29 0a 20 20 22 52 65 74 75 72 6e 20 70    72 6f 6a 65 63 74 69 6c 65 2d 6f 74 68 65 72 2d | ame)..."Return.projectile-other- | 
| 22ec0 | 66 69 6c 65 2d 65 78 74 65 6e 73 69 6f 6e 73 20    61 73 73 6f 63 69 61 74 65 64 20 74 6f 20 46 49 | file-extensions.associated.to.FI | 
| 22ee0 | 4c 45 2d 4e 41 4d 45 27 73 20 65 78 74 65 6e 73    69 6f 6e 73 2e 0a 49 66 20 6e 6f 20 61 73 73 6f | LE-NAME's.extensions..If.no.asso | 
| 22f00 | 63 69 61 74 65 64 20 6f 74 68 65 72 2d 66 69 6c    65 2d 65 78 74 65 6e 73 69 6f 6e 73 20 66 6f 72 | ciated.other-file-extensions.for | 
| 22f20 | 20 74 68 65 20 63 6f 6d 70 6c 65 74 65 20 28 6e    65 73 74 65 64 29 20 65 78 74 65 6e 73 69 6f 6e | .the.complete.(nested).extension | 
| 22f40 | 0a 61 72 65 20 66 6f 75 6e 64 2c 20 72 65 6d 6f    76 65 20 73 75 62 65 78 74 65 6e 73 69 6f 6e 73 | .are.found,.remove.subextensions | 
| 22f60 | 20 66 72 6f 6d 20 46 49 4c 45 4e 41 4d 45 27 73    20 65 78 74 65 6e 73 69 6f 6e 73 20 75 6e 74 69 | .from.FILENAME's.extensions.unti | 
| 22f80 | 6c 20 61 20 6d 61 74 63 68 20 69 73 0a 66 6f 75    6e 64 2e 22 0a 20 20 28 6c 65 74 20 28 28 63 75 | l.a.match.is.found."...(let.((cu | 
| 22fa0 | 72 72 65 6e 74 2d 65 78 74 65 6e 73 69 6f 6e 73    20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 2d 66 69 | rrent-extensions.(projectile--fi | 
| 22fc0 | 6c 65 2d 6e 61 6d 65 2d 65 78 74 65 6e 73 69 6f    6e 73 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 6e 6f | le-name-extensions.(file-name-no | 
| 22fe0 | 6e 64 69 72 65 63 74 6f 72 79 20 66 69 6c 65 2d    6e 61 6d 65 29 29 29 0a 20 20 20 20 20 20 20 20 | ndirectory.file-name)))......... | 
| 23000 | 61 73 73 6f 63 69 61 74 65 64 2d 65 78 74 65 6e    73 69 6f 6e 73 29 0a 20 20 20 20 28 63 61 74 63 | associated-extensions).....(catc | 
| 23020 | 68 20 27 62 72 65 61 6b 0a 20 20 20 20 20 20 28    77 68 69 6c 65 20 28 6e 6f 74 20 28 73 74 72 69 | h.'break.......(while.(not.(stri | 
| 23040 | 6e 67 3d 20 22 22 20 63 75 72 72 65 6e 74 2d 65    78 74 65 6e 73 69 6f 6e 73 29 29 0a 20 20 20 20 | ng=."".current-extensions))..... | 
| 23060 | 20 20 20 20 28 69 66 20 28 73 65 74 71 20 61 73    73 6f 63 69 61 74 65 64 2d 65 78 74 65 6e 73 69 | ....(if.(setq.associated-extensi | 
| 23080 | 6f 6e 73 20 28 63 64 72 20 28 61 73 73 6f 63 20    63 75 72 72 65 6e 74 2d 65 78 74 65 6e 73 69 6f | ons.(cdr.(assoc.current-extensio | 
| 230a0 | 6e 73 20 70 72 6f 6a 65 63 74 69 6c 65 2d 6f 74    68 65 72 2d 66 69 6c 65 2d 61 6c 69 73 74 29 29 | ns.projectile-other-file-alist)) | 
| 230c0 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 74    68 72 6f 77 20 27 62 72 65 61 6b 20 61 73 73 6f | ).............(throw.'break.asso | 
| 230e0 | 63 69 61 74 65 64 2d 65 78 74 65 6e 73 69 6f 6e    73 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 | ciated-extensions)).........(set | 
| 23100 | 71 20 63 75 72 72 65 6e 74 2d 65 78 74 65 6e 73    69 6f 6e 73 20 28 70 72 6f 6a 65 63 74 69 6c 65 | q.current-extensions.(projectile | 
| 23120 | 2d 2d 66 69 6c 65 2d 6e 61 6d 65 2d 65 78 74 65    6e 73 69 6f 6e 73 20 63 75 72 72 65 6e 74 2d 65 | --file-name-extensions.current-e | 
| 23140 | 78 74 65 6e 73 69 6f 6e 73 29 29 29 29 29 29 0a    0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 | xtensions))))))..(defun.projecti | 
| 23160 | 6c 65 2d 2d 6f 74 68 65 72 2d 65 78 74 65 6e 73    69 6f 6e 2d 66 69 6c 65 73 20 28 63 75 72 72 65 | le--other-extension-files.(curre | 
| 23180 | 6e 74 2d 66 69 6c 65 20 70 72 6f 6a 65 63 74 2d    66 69 6c 65 2d 6c 69 73 74 20 26 6f 70 74 69 6f | nt-file.project-file-list.&optio | 
| 231a0 | 6e 61 6c 20 66 6c 65 78 2d 6d 61 74 63 68 69 6e    67 29 0a 20 20 22 4e 61 72 72 6f 77 20 74 6f 20 | nal.flex-matching)..."Narrow.to. | 
| 231c0 | 66 69 6c 65 73 20 77 69 74 68 20 74 68 65 20 73    61 6d 65 20 6e 61 6d 65 73 20 62 75 74 20 64 69 | files.with.the.same.names.but.di | 
| 231e0 | 66 66 65 72 65 6e 74 20 65 78 74 65 6e 73 69 6f    6e 73 2e 0a 52 65 74 75 72 6e 73 20 61 20 6c 69 | fferent.extensions..Returns.a.li | 
| 23200 | 73 74 20 6f 66 20 70 6f 73 73 69 62 6c 65 20 66    69 6c 65 73 20 66 6f 72 20 75 73 65 72 73 20 74 | st.of.possible.files.for.users.t | 
| 23220 | 6f 20 63 68 6f 6f 73 65 2e 0a 0a 57 69 74 68 20    46 4c 45 58 2d 4d 41 54 43 48 49 4e 47 2c 20 6d | o.choose...With.FLEX-MATCHING,.m | 
| 23240 | 61 74 63 68 20 61 6e 79 20 66 69 6c 65 20 74 68    61 74 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 | atch.any.file.that.contains.the. | 
| 23260 | 62 61 73 65 20 6e 61 6d 65 20 6f 66 20 63 75 72    72 65 6e 74 20 66 69 6c 65 22 0a 20 20 28 6c 65 | base.name.of.current.file"...(le | 
| 23280 | 74 2a 20 28 28 66 69 6c 65 2d 65 78 74 2d 6c 69    73 74 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 61 | t*.((file-ext-list.(projectile-a | 
| 232a0 | 73 73 6f 63 69 61 74 65 64 2d 66 69 6c 65 2d 6e    61 6d 65 2d 65 78 74 65 6e 73 69 6f 6e 73 20 63 | ssociated-file-name-extensions.c | 
| 232c0 | 75 72 72 65 6e 74 2d 66 69 6c 65 29 29 0a 20 20    20 20 20 20 20 20 20 28 66 75 6c 6c 64 69 72 6e | urrent-file))..........(fulldirn | 
| 232e0 | 61 6d 65 20 28 69 66 20 28 66 69 6c 65 2d 6e 61    6d 65 2d 64 69 72 65 63 74 6f 72 79 20 63 75 72 | ame.(if.(file-name-directory.cur | 
| 23300 | 72 65 6e 74 2d 66 69 6c 65 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | rent-file)...................... | 
| 23320 | 20 20 20 20 20 28 66 69 6c 65 2d 6e 61 6d 65 2d    64 69 72 65 63 74 6f 72 79 20 63 75 72 72 65 6e | .....(file-name-directory.curren | 
| 23340 | 74 2d 66 69 6c 65 29 20 22 2e 2f 22 29 29 0a 20    20 20 20 20 20 20 20 20 28 64 69 72 6e 61 6d 65 | t-file)."./"))..........(dirname | 
| 23360 | 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 6e 6f 6e 64    69 72 65 63 74 6f 72 79 20 28 64 69 72 65 63 74 | .(file-name-nondirectory.(direct | 
| 23380 | 6f 72 79 2d 66 69 6c 65 2d 6e 61 6d 65 20 66 75    6c 6c 64 69 72 6e 61 6d 65 29 29 29 0a 20 20 20 | ory-file-name.fulldirname))).... | 
| 233a0 | 20 20 20 20 20 20 28 66 69 6c 65 6e 61 6d 65 20    28 72 65 67 65 78 70 2d 71 75 6f 74 65 20 28 70 | ......(filename.(regexp-quote.(p | 
| 233c0 | 72 6f 6a 65 63 74 69 6c 65 2d 2d 66 69 6c 65 2d    6e 61 6d 65 2d 73 61 6e 73 2d 65 78 74 65 6e 73 | rojectile--file-name-sans-extens | 
| 233e0 | 69 6f 6e 73 20 63 75 72 72 65 6e 74 2d 66 69 6c    65 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 66 | ions.current-file)))..........(f | 
| 23400 | 69 6c 65 2d 6c 69 73 74 20 28 6d 61 70 63 61 72    20 28 6c 61 6d 62 64 61 20 28 65 78 74 29 0a 20 | ile-list.(mapcar.(lambda.(ext).. | 
| 23420 | 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 69 66 | .............................(if | 
| 23440 | 20 66 6c 65 78 2d 6d 61 74 63 68 69 6e 67 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .flex-matching.................. | 
| 23460 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 63 6f 6e 63 61 74 20 22 2e 2a 22 20 66 69 | .................(concat.".*".fi | 
| 23480 | 6c 65 6e 61 6d 65 20 22 2e 2a 22 20 22 5c 2e 22    20 65 78 74 20 22 5c 5c 27 22 29 0a 20 20 20 20 | lename.".*"."\.".ext."\\'")..... | 
| 234a0 | 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 63 6f 6e | ............................(con | 
| 234c0 | 63 61 74 20 22 5e 22 20 66 69 6c 65 6e 61 6d 65    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | cat."^".filename................ | 
| 234e0 | 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 75 6e 6c 65 73 73 | .........................(unless | 
| 23500 | 20 28 65 71 75 61 6c 20 65 78 74 20 22 22 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .(equal.ext."")................. | 
| 23520 | 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 63 6f 6e 63 61 | ..........................(conca | 
| 23540 | 74 20 22 5c 2e 22 20 65 78 74 29 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | t."\.".ext)).................... | 
| 23560 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 22 5c 5c 27 22 29 29 29 0a 20 20 | ....................."\\'")))... | 
| 23580 | 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 66 69 6c 65 2d 65 | ..........................file-e | 
| 235a0 | 78 74 2d 6c 69 73 74 29 29 0a 20 20 20 20 20 20    20 20 20 28 63 61 6e 64 69 64 61 74 65 73 20 28 | xt-list))..........(candidates.( | 
| 235c0 | 63 6c 2d 72 65 6d 6f 76 65 2d 69 66 2d 6e 6f 74    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | cl-remove-if-not................ | 
| 235e0 | 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28    70 72 6f 6a 65 63 74 2d 66 69 6c 65 29 0a 20 20 | .......(lambda.(project-file)... | 
| 23600 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 73 74 72 69 6e 67 2d 6d 61 | ......................(string-ma | 
| 23620 | 74 63 68 20 66 69 6c 65 6e 61 6d 65 20 70 72 6f    6a 65 63 74 2d 66 69 6c 65 29 29 0a 20 20 20 20 | tch.filename.project-file))..... | 
| 23640 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 70 72 6f 6a 65 63 74 2d 66 69 6c 65 2d 6c | ..................project-file-l | 
| 23660 | 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 28    63 61 6e 64 69 64 61 74 65 73 0a 20 20 20 20 20 | ist))..........(candidates...... | 
| 23680 | 20 20 20 20 20 28 70 72 6f 6a 65 63 74 69 6c 65    2d 66 6c 61 74 74 65 6e 20 28 6d 61 70 63 61 72 | .....(projectile-flatten.(mapcar | 
| 236a0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 236c0 | 28 6c 61 6d 62 64 61 20 28 66 69 6c 65 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | (lambda.(file).................. | 
| 236e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 63 6c 2d 72 65 6d 6f 76 65 2d 69 66 2d 6e 6f | ................(cl-remove-if-no | 
| 23700 | 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 20 20 20 20 20 | t............................... | 
| 23720 | 20 20 20 20 28 6c 61 6d 62 64 61 20 28 70 72 6f    6a 65 63 74 2d 66 69 6c 65 29 0a 20 20 20 20 20 | ....(lambda.(project-file)...... | 
| 23740 | 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 | ...............................( | 
| 23760 | 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 66 69 6c    65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | string-match.file............... | 
| 23780 | 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 | ................................ | 
| 237a0 | 20 20 20 20 28 63 6f 6e 63 61 74 20 28 66 69 6c    65 2d 6e 61 6d 65 2d 62 61 73 65 20 70 72 6f 6a | ....(concat.(file-name-base.proj | 
| 237c0 | 65 63 74 2d 66 69 6c 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 | ect-file)....................... | 
| 237e0 | 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 | ................................ | 
| 23800 | 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 75    61 6c 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 65 78 | ....(unless.(equal.(file-name-ex | 
| 23820 | 74 65 6e 73 69 6f 6e 20 70 72 6f 6a 65 63 74 2d    66 69 6c 65 29 20 6e 69 6c 29 0a 20 20 20 20 20 | tension.project-file).nil)...... | 
| 23840 | 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 | ................................ | 
| 23860 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 22 | .......................(concat." | 
| 23880 | 5c 2e 22 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 65    78 74 65 6e 73 69 6f 6e 20 70 72 6f 6a 65 63 74 | \.".(file-name-extension.project | 
| 238a0 | 2d 66 69 6c 65 29 29 29 29 29 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | -file))))))..................... | 
| 238c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61    6e 64 69 64 61 74 65 73 29 29 0a 20 20 20 20 20 | ..............candidates))...... | 
| 238e0 | 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 66 69 6c 65 2d 6c | ..........................file-l | 
| 23900 | 69 73 74 29 29 29 0a 20 20 20 20 20 20 20 20 20    28 63 61 6e 64 69 64 61 74 65 73 0a 20 20 20 20 | ist)))..........(candidates..... | 
| 23920 | 20 20 20 20 20 20 28 63 6c 2d 72 65 6d 6f 76 65    2d 69 66 2d 6e 6f 74 20 28 6c 61 6d 62 64 61 20 | ......(cl-remove-if-not.(lambda. | 
| 23940 | 28 66 69 6c 65 29 20 28 6e 6f 74 20 28 62 61 63    6b 75 70 2d 66 69 6c 65 2d 6e 61 6d 65 2d 70 20 | (file).(not.(backup-file-name-p. | 
| 23960 | 66 69 6c 65 29 29 29 20 63 61 6e 64 69 64 61 74    65 73 29 29 0a 20 20 20 20 20 20 20 20 20 28 63 | file))).candidates))..........(c | 
| 23980 | 61 6e 64 69 64 61 74 65 73 0a 20 20 20 20 20 20    20 20 20 20 28 63 6c 2d 73 6f 72 74 20 28 63 6f | andidates...........(cl-sort.(co | 
| 239a0 | 70 79 2d 73 65 71 75 65 6e 63 65 20 63 61 6e 64    69 64 61 74 65 73 29 0a 20 20 20 20 20 20 20 20 | py-sequence.candidates)......... | 
| 239c0 | 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62    64 61 20 28 66 69 6c 65 20 5f 29 0a 20 20 20 20 | ...........(lambda.(file._)..... | 
| 239e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 6c 65 74 20 28 28 63 61 6e 64 69 64 61 74 | .................(let.((candidat | 
| 23a00 | 65 2d 64 69 72 6e 61 6d 65 20 28 66 69 6c 65 2d    6e 61 6d 65 2d 6e 6f 6e 64 69 72 65 63 74 6f 72 | e-dirname.(file-name-nondirector | 
| 23a20 | 79 20 28 64 69 72 65 63 74 6f 72 79 2d 66 69 6c    65 2d 6e 61 6d 65 20 28 66 69 6c 65 2d 6e 61 6d | y.(directory-file-name.(file-nam | 
| 23a40 | 65 2d 64 69 72 65 63 74 6f 72 79 20 66 69 6c 65    29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 | e-directory.file)))))........... | 
| 23a60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e    6c 65 73 73 20 28 65 71 75 61 6c 20 66 75 6c 6c | .............(unless.(equal.full | 
| 23a80 | 64 69 72 6e 61 6d 65 20 28 66 69 6c 65 2d 6e 61    6d 65 2d 64 69 72 65 63 74 6f 72 79 20 66 69 6c | dirname.(file-name-directory.fil | 
| 23aa0 | 65 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 28 65 71 | e))..........................(eq | 
| 23ac0 | 75 61 6c 20 64 69 72 6e 61 6d 65 20 63 61 6e 64    69 64 61 74 65 2d 64 69 72 6e 61 6d 65 29 29 29 | ual.dirname.candidate-dirname))) | 
| 23ae0 | 29 29 29 29 0a 20 20 20 20 63 61 6e 64 69 64 61    74 65 73 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 | )))).....candidates))..(defun.pr | 
| 23b00 | 6f 6a 65 63 74 69 6c 65 2d 73 65 6c 65 63 74 2d    66 69 6c 65 73 20 28 70 72 6f 6a 65 63 74 2d 66 | ojectile-select-files.(project-f | 
| 23b20 | 69 6c 65 73 20 26 6f 70 74 69 6f 6e 61 6c 20 69    6e 76 61 6c 69 64 61 74 65 2d 63 61 63 68 65 29 | iles.&optional.invalidate-cache) | 
| 23b40 | 0a 20 20 22 53 65 6c 65 63 74 20 61 20 6c 69 73    74 20 6f 66 20 66 69 6c 65 73 20 62 61 73 65 64 | ..."Select.a.list.of.files.based | 
| 23b60 | 20 6f 6e 20 66 69 6c 65 6e 61 6d 65 20 61 74 20    70 6f 69 6e 74 2e 0a 0a 57 69 74 68 20 61 20 70 | .on.filename.at.point...With.a.p | 
| 23b80 | 72 65 66 69 78 20 61 72 67 20 49 4e 56 41 4c 49    44 41 54 45 2d 43 41 43 48 45 20 69 6e 76 61 6c | refix.arg.INVALIDATE-CACHE.inval | 
| 23ba0 | 69 64 61 74 65 73 20 74 68 65 20 63 61 63 68 65    20 66 69 72 73 74 2e 22 0a 20 20 28 70 72 6f 6a | idates.the.cache.first."...(proj | 
| 23bc0 | 65 63 74 69 6c 65 2d 6d 61 79 62 65 2d 69 6e 76    61 6c 69 64 61 74 65 2d 63 61 63 68 65 20 69 6e | ectile-maybe-invalidate-cache.in | 
| 23be0 | 76 61 6c 69 64 61 74 65 2d 63 61 63 68 65 29 0a    20 20 28 6c 65 74 2a 20 28 28 66 69 6c 65 20 28 | validate-cache)...(let*.((file.( | 
| 23c00 | 69 66 20 28 72 65 67 69 6f 6e 2d 61 63 74 69 76    65 2d 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 | if.(region-active-p)............ | 
| 23c20 | 20 20 20 20 20 20 20 20 28 62 75 66 66 65 72 2d    73 75 62 73 74 72 69 6e 67 20 28 72 65 67 69 6f | ........(buffer-substring.(regio | 
| 23c40 | 6e 2d 62 65 67 69 6e 6e 69 6e 67 29 20 28 72 65    67 69 6f 6e 2d 65 6e 64 29 29 0a 20 20 20 20 20 | n-beginning).(region-end))...... | 
| 23c60 | 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20    28 74 68 69 6e 67 2d 61 74 2d 70 6f 69 6e 74 20 | ............(or.(thing-at-point. | 
| 23c80 | 27 66 69 6c 65 6e 61 6d 65 29 20 22 22 29 29 29    0a 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 20 | 'filename)."")))..........(file. | 
| 23ca0 | 28 69 66 20 28 73 74 72 69 6e 67 2d 6d 61 74 63    68 20 22 5c 5c 2e 3f 5c 5c 2e 2f 22 20 66 69 6c | (if.(string-match."\\.?\\./".fil | 
| 23cc0 | 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 66 69 6c 65 2d 72 65 6c 61 | e)....................(file-rela | 
| 23ce0 | 74 69 76 65 2d 6e 61 6d 65 20 28 66 69 6c 65 2d    74 72 75 65 6e 61 6d 65 20 66 69 6c 65 29 20 28 | tive-name.(file-truename.file).( | 
| 23d00 | 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65    63 74 2d 72 6f 6f 74 29 29 0a 20 20 20 20 20 20 | projectile-project-root))....... | 
| 23d20 | 20 20 20 20 20 20 20 20 20 20 20 66 69 6c 65 29    29 0a 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 | ...........file))..........(file | 
| 23d40 | 73 20 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 28 | s.(if.file.....................( | 
| 23d60 | 63 6c 2d 72 65 6d 6f 76 65 2d 69 66 2d 6e 6f 74    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | cl-remove-if-not................ | 
| 23d80 | 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 70    72 6f 6a 65 63 74 2d 66 69 6c 65 29 0a 20 20 20 | ......(lambda.(project-file).... | 
| 23da0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 | ....................(string-matc | 
| 23dc0 | 68 20 66 69 6c 65 20 70 72 6f 6a 65 63 74 2d 66    69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 | h.file.project-file))........... | 
| 23de0 | 20 20 20 20 20 20 20 20 20 20 20 70 72 6f 6a 65    63 74 2d 66 69 6c 65 73 29 0a 20 20 20 20 20 20 | ...........project-files)....... | 
| 23e00 | 20 20 20 20 20 20 20 20 20 20 20 20 6e 69 6c 29    29 29 0a 20 20 20 20 66 69 6c 65 73 29 29 0a 0a | ............nil))).....files)).. | 
| 23e20 | 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c    65 2d 2d 66 69 6e 64 2d 66 69 6c 65 2d 64 77 69 | (defun.projectile--find-file-dwi | 
| 23e40 | 6d 20 28 69 6e 76 61 6c 69 64 61 74 65 2d 63 61    63 68 65 20 26 6f 70 74 69 6f 6e 61 6c 20 66 66 | m.(invalidate-cache.&optional.ff | 
| 23e60 | 2d 76 61 72 69 61 6e 74 29 0a 20 20 22 4a 75 6d    70 20 74 6f 20 61 20 70 72 6f 6a 65 63 74 27 73 | -variant)..."Jump.to.a.project's | 
| 23e80 | 20 66 69 6c 65 73 20 75 73 69 6e 67 20 63 6f 6d    70 6c 65 74 69 6f 6e 20 62 61 73 65 64 20 6f 6e | .files.using.completion.based.on | 
| 23ea0 | 20 63 6f 6e 74 65 78 74 2e 0a 0a 57 69 74 68 20    61 20 49 4e 56 41 4c 49 44 41 54 45 2d 43 41 43 | .context...With.a.INVALIDATE-CAC | 
| 23ec0 | 48 45 20 69 6e 76 61 6c 69 64 61 74 65 73 20 74    68 65 20 63 61 63 68 65 20 66 69 72 73 74 2e 0a | HE.invalidates.the.cache.first.. | 
| 23ee0 | 0a 57 69 74 68 20 46 46 2d 56 41 52 49 41 4e 54    20 73 65 74 20 74 6f 20 61 20 64 65 66 75 6e 2c | .With.FF-VARIANT.set.to.a.defun, | 
| 23f00 | 20 75 73 65 20 74 68 61 74 20 69 6e 73 74 65 61    64 20 6f 66 20 60 66 69 6e 64 2d 66 69 6c 65 27 | .use.that.instead.of.`find-file' | 
| 23f20 | 2e 0a 41 20 74 79 70 69 63 61 6c 20 65 78 61 6d    70 6c 65 20 6f 66 20 73 75 63 68 20 61 20 64 65 | ..A.typical.example.of.such.a.de | 
| 23f40 | 66 75 6e 20 77 6f 75 6c 64 20 62 65 20 60 66 69    6e 64 2d 66 69 6c 65 2d 6f 74 68 65 72 2d 77 69 | fun.would.be.`find-file-other-wi | 
| 23f60 | 6e 64 6f 77 27 20 6f 72 0a 60 66 69 6e 64 2d 66    69 6c 65 2d 6f 74 68 65 72 2d 66 72 61 6d 65 27 | ndow'.or.`find-file-other-frame' | 
| 23f80 | 0a 0a 53 75 62 72 6f 75 74 69 6e 65 20 66 6f 72    20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 66 69 6e | ..Subroutine.for.`projectile-fin | 
| 23fa0 | 64 2d 66 69 6c 65 2d 64 77 69 6d 27 20 61 6e 64    0a 60 70 72 6f 6a 65 63 74 69 6c 65 2d 66 69 6e | d-file-dwim'.and.`projectile-fin | 
| 23fc0 | 64 2d 66 69 6c 65 2d 64 77 69 6d 2d 6f 74 68 65    72 2d 77 69 6e 64 6f 77 27 22 0a 20 20 28 6c 65 | d-file-dwim-other-window'"...(le | 
| 23fe0 | 74 2a 20 28 28 70 72 6f 6a 65 63 74 2d 72 6f 6f    74 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 61 63 | t*.((project-root.(projectile-ac | 
| 24000 | 71 75 69 72 65 2d 72 6f 6f 74 29 29 0a 20 20 20    20 20 20 20 20 20 28 70 72 6f 6a 65 63 74 2d 66 | quire-root))..........(project-f | 
| 24020 | 69 6c 65 73 20 28 70 72 6f 6a 65 63 74 69 6c 65    2d 70 72 6f 6a 65 63 74 2d 66 69 6c 65 73 20 70 | iles.(projectile-project-files.p | 
| 24040 | 72 6f 6a 65 63 74 2d 72 6f 6f 74 29 29 0a 20 20    20 20 20 20 20 20 20 28 66 69 6c 65 73 20 28 70 | roject-root))..........(files.(p | 
| 24060 | 72 6f 6a 65 63 74 69 6c 65 2d 73 65 6c 65 63 74    2d 66 69 6c 65 73 20 70 72 6f 6a 65 63 74 2d 66 | rojectile-select-files.project-f | 
| 24080 | 69 6c 65 73 20 69 6e 76 61 6c 69 64 61 74 65 2d    63 61 63 68 65 29 29 0a 20 20 20 20 20 20 20 20 | iles.invalidate-cache))......... | 
| 240a0 | 20 28 66 69 6c 65 20 28 63 6f 6e 64 20 28 28 3d    20 28 6c 65 6e 67 74 68 20 66 69 6c 65 73 29 20 | .(file.(cond.((=.(length.files). | 
| 240c0 | 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 28 63 61 72 20 66 69 | 1).......................(car.fi | 
| 240e0 | 6c 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 28 28 3e 20 28 | les))......................((>.( | 
| 24100 | 6c 65 6e 67 74 68 20 66 69 6c 65 73 29 20 31 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | length.files).1)................ | 
| 24120 | 20 20 20 20 20 20 20 28 70 72 6f 6a 65 63 74 69    6c 65 2d 63 6f 6d 70 6c 65 74 69 6e 67 2d 72 65 | .......(projectile-completing-re | 
| 24140 | 61 64 20 22 53 77 69 74 63 68 20 74 6f 3a 20 22    20 66 69 6c 65 73 29 29 0a 20 20 20 20 20 20 20 | ad."Switch.to:.".files))........ | 
| 24160 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ..............(t................ | 
| 24180 | 20 20 20 20 20 20 20 28 70 72 6f 6a 65 63 74 69    6c 65 2d 63 6f 6d 70 6c 65 74 69 6e 67 2d 72 65 | .......(projectile-completing-re | 
| 241a0 | 61 64 20 22 53 77 69 74 63 68 20 74 6f 3a 20 22    20 70 72 6f 6a 65 63 74 2d 66 69 6c 65 73 29 29 | ad."Switch.to:.".project-files)) | 
| 241c0 | 29 29 0a 20 20 20 20 20 20 20 20 20 28 66 66 20    28 6f 72 20 66 66 2d 76 61 72 69 61 6e 74 20 23 | ))..........(ff.(or.ff-variant.# | 
| 241e0 | 27 66 69 6e 64 2d 66 69 6c 65 29 29 29 0a 20 20    20 20 28 66 75 6e 63 61 6c 6c 20 66 66 20 28 65 | 'find-file))).....(funcall.ff.(e | 
| 24200 | 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20    66 69 6c 65 20 70 72 6f 6a 65 63 74 2d 72 6f 6f | xpand-file-name.file.project-roo | 
| 24220 | 74 29 29 0a 20 20 20 20 28 72 75 6e 2d 68 6f 6f    6b 73 20 27 70 72 6f 6a 65 63 74 69 6c 65 2d 66 | t)).....(run-hooks.'projectile-f | 
| 24240 | 69 6e 64 2d 66 69 6c 65 2d 68 6f 6f 6b 29 29 29    0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 | ind-file-hook)))..;;;###autoload | 
| 24260 | 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69    6c 65 2d 66 69 6e 64 2d 66 69 6c 65 2d 64 77 69 | .(defun.projectile-find-file-dwi | 
| 24280 | 6d 20 28 26 6f 70 74 69 6f 6e 61 6c 20 69 6e 76    61 6c 69 64 61 74 65 2d 63 61 63 68 65 29 0a 20 | m.(&optional.invalidate-cache).. | 
| 242a0 | 20 22 4a 75 6d 70 20 74 6f 20 61 20 70 72 6f 6a    65 63 74 27 73 20 66 69 6c 65 73 20 75 73 69 6e | ."Jump.to.a.project's.files.usin | 
| 242c0 | 67 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 62 61 73    65 64 20 6f 6e 20 63 6f 6e 74 65 78 74 2e 0a 0a | g.completion.based.on.context... | 
| 242e0 | 57 69 74 68 20 61 20 70 72 65 66 69 78 20 61 72    67 20 49 4e 56 41 4c 49 44 41 54 45 2d 43 41 43 | With.a.prefix.arg.INVALIDATE-CAC | 
| 24300 | 48 45 20 69 6e 76 61 6c 69 64 61 74 65 73 20 74    68 65 20 63 61 63 68 65 20 66 69 72 73 74 2e 0a | HE.invalidates.the.cache.first.. | 
| 24320 | 0a 49 66 20 70 6f 69 6e 74 20 69 73 20 6f 6e 20    61 20 66 69 6c 65 6e 61 6d 65 2c 20 50 72 6f 6a | .If.point.is.on.a.filename,.Proj | 
| 24340 | 65 63 74 69 6c 65 20 66 69 72 73 74 20 74 72 69    65 73 20 74 6f 20 73 65 61 72 63 68 20 66 6f 72 | ectile.first.tries.to.search.for | 
| 24360 | 20 74 68 61 74 0a 66 69 6c 65 20 69 6e 20 70 72    6f 6a 65 63 74 3a 0a 0a 2d 20 49 66 20 69 74 20 | .that.file.in.project:..-.If.it. | 
| 24380 | 66 69 6e 64 73 20 6a 75 73 74 20 61 20 66 69 6c    65 2c 20 69 74 20 73 77 69 74 63 68 65 73 20 74 | finds.just.a.file,.it.switches.t | 
| 243a0 | 6f 20 74 68 61 74 20 66 69 6c 65 20 69 6e 73 74    61 6e 74 6c 79 2e 20 20 54 68 69 73 20 77 6f 72 | o.that.file.instantly...This.wor | 
| 243c0 | 6b 73 0a 65 76 65 6e 20 69 66 20 74 68 65 20 66    69 6c 65 6e 61 6d 65 20 69 73 20 69 6e 63 6f 6d | ks.even.if.the.filename.is.incom | 
| 243e0 | 70 6c 65 74 65 2c 20 62 75 74 20 74 68 65 72 65    27 73 20 6f 6e 6c 79 20 61 20 73 69 6e 67 6c 65 | plete,.but.there's.only.a.single | 
| 24400 | 20 66 69 6c 65 20 69 6e 20 74 68 65 0a 63 75 72    72 65 6e 74 20 70 72 6f 6a 65 63 74 20 74 68 61 | .file.in.the.current.project.tha | 
| 24420 | 74 20 6d 61 74 63 68 65 73 20 74 68 65 20 66 69    6c 65 6e 61 6d 65 20 61 74 20 70 6f 69 6e 74 2e | t.matches.the.filename.at.point. | 
| 24440 | 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 69    66 0a 74 68 65 72 65 27 73 20 6f 6e 6c 79 20 61 | ..For.example,.if.there's.only.a | 
| 24460 | 20 73 69 6e 67 6c 65 20 66 69 6c 65 20 6e 61 6d    65 64 20 5c 22 70 72 6f 6a 65 63 74 69 6c 65 2f | .single.file.named.\"projectile/ | 
| 24480 | 70 72 6f 6a 65 63 74 69 6c 65 2e 65 6c 5c 22 20    62 75 74 20 74 68 65 0a 63 75 72 72 65 6e 74 20 | projectile.el\".but.the.current. | 
| 244a0 | 66 69 6c 65 6e 61 6d 65 20 69 73 20 5c 22 70 72    6f 6a 65 63 74 69 6c 65 2f 70 72 6f 6a 5c 22 20 | filename.is.\"projectile/proj\". | 
| 244c0 | 28 69 6e 63 6f 6d 70 6c 65 74 65 29 2c 0a 60 70    72 6f 6a 65 63 74 69 6c 65 2d 66 69 6e 64 2d 66 | (incomplete),.`projectile-find-f | 
| 244e0 | 69 6c 65 2d 64 77 69 6d 27 20 73 74 69 6c 6c 20    73 77 69 74 63 68 65 73 20 74 6f 20 5c 22 70 72 | ile-dwim'.still.switches.to.\"pr | 
| 24500 | 6f 6a 65 63 74 69 6c 65 2f 70 72 6f 6a 65 63 74    69 6c 65 2e 65 6c 5c 22 0a 69 6d 6d 65 64 69 61 | ojectile/projectile.el\".immedia | 
| 24520 | 74 65 6c 79 20 62 65 63 61 75 73 65 20 74 68 69    73 20 69 73 20 74 68 65 20 6f 6e 6c 79 20 66 69 | tely.because.this.is.the.only.fi | 
| 24540 | 6c 65 6e 61 6d 65 20 74 68 61 74 20 6d 61 74 63    68 65 73 2e 0a 0a 2d 20 49 66 20 69 74 20 66 69 | lename.that.matches...-.If.it.fi | 
| 24560 | 6e 64 73 20 61 20 6c 69 73 74 20 6f 66 20 66 69    6c 65 73 2c 20 74 68 65 20 6c 69 73 74 20 69 73 | nds.a.list.of.files,.the.list.is | 
| 24580 | 20 64 69 73 70 6c 61 79 65 64 20 66 6f 72 20 73    65 6c 65 63 74 69 6e 67 2e 20 20 41 20 6c 69 73 | .displayed.for.selecting...A.lis | 
| 245a0 | 74 0a 6f 66 20 66 69 6c 65 73 20 69 73 20 64 69    73 70 6c 61 79 65 64 20 77 68 65 6e 20 61 20 66 | t.of.files.is.displayed.when.a.f | 
| 245c0 | 69 6c 65 6e 61 6d 65 20 61 70 70 65 61 72 73 20    6d 6f 72 65 20 74 68 61 6e 20 6f 6e 65 20 69 6e | ilename.appears.more.than.one.in | 
| 245e0 | 20 74 68 65 20 70 72 6f 6a 65 63 74 0a 6f 72 20    74 68 65 20 66 69 6c 65 6e 61 6d 65 20 61 74 20 | .the.project.or.the.filename.at. | 
| 24600 | 70 6f 69 6e 74 20 69 73 20 61 20 70 72 65 66 69    78 20 6f 66 20 6d 6f 72 65 20 74 68 61 6e 20 74 | point.is.a.prefix.of.more.than.t | 
| 24620 | 77 6f 20 66 69 6c 65 73 20 69 6e 20 61 20 70 72    6f 6a 65 63 74 2e 0a 46 6f 72 20 65 78 61 6d 70 | wo.files.in.a.project..For.examp | 
| 24640 | 6c 65 2c 20 69 66 20 60 70 72 6f 6a 65 63 74 69    6c 65 2d 66 69 6e 64 2d 66 69 6c 65 2d 64 77 69 | le,.if.`projectile-find-file-dwi | 
| 24660 | 6d 27 20 69 73 20 65 78 65 63 75 74 65 64 20 6f    6e 20 61 20 66 69 6c 65 70 61 74 68 20 6c 69 6b | m'.is.executed.on.a.filepath.lik | 
| 24680 | 65 0a 5c 22 70 72 6f 6a 65 63 74 69 6c 65 2f 5c    22 2c 20 69 74 20 6c 69 73 74 73 20 74 68 65 20 | e.\"projectile/\",.it.lists.the. | 
| 246a0 | 63 6f 6e 74 65 6e 74 20 6f 66 20 74 68 61 74 20    64 69 72 65 63 74 6f 72 79 2e 20 20 49 66 20 69 | content.of.that.directory...If.i | 
| 246c0 | 74 20 69 73 20 65 78 65 63 75 74 65 64 0a 6f 6e    20 61 20 70 61 72 74 69 61 6c 20 66 69 6c 65 6e | t.is.executed.on.a.partial.filen | 
| 246e0 | 61 6d 65 20 6c 69 6b 65 20 5c 22 70 72 6f 6a 65    63 74 69 6c 65 2f 61 5c 22 2c 20 61 20 6c 69 73 | ame.like.\"projectile/a\",.a.lis | 
| 24700 | 74 20 6f 66 20 66 69 6c 65 73 20 77 69 74 68 20    63 68 61 72 61 63 74 65 72 0a 5c 22 61 5c 22 20 | t.of.files.with.character.\"a\". | 
| 24720 | 69 6e 20 74 68 61 74 20 64 69 72 65 63 74 6f 72    79 20 69 73 20 70 72 65 73 65 6e 74 65 64 2e 0a | in.that.directory.is.presented.. | 
| 24740 | 0a 2d 20 49 66 20 69 74 20 66 69 6e 64 73 20 6e    6f 74 68 69 6e 67 2c 20 64 69 73 70 6c 61 79 20 | .-.If.it.finds.nothing,.display. | 
| 24760 | 61 20 6c 69 73 74 20 6f 66 20 61 6c 6c 20 66 69    6c 65 73 20 69 6e 20 70 72 6f 6a 65 63 74 20 66 | a.list.of.all.files.in.project.f | 
| 24780 | 6f 72 20 73 65 6c 65 63 74 69 6e 67 2e 22 0a 20    20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 50 | or.selecting."...(interactive."P | 
| 247a0 | 22 29 0a 20 20 28 70 72 6f 6a 65 63 74 69 6c 65    2d 2d 66 69 6e 64 2d 66 69 6c 65 2d 64 77 69 6d | ")...(projectile--find-file-dwim | 
| 247c0 | 20 69 6e 76 61 6c 69 64 61 74 65 2d 63 61 63 68    65 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c | .invalidate-cache))..;;;###autol | 
| 247e0 | 6f 61 64 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65    63 74 69 6c 65 2d 66 69 6e 64 2d 66 69 6c 65 2d | oad.(defun.projectile-find-file- | 
| 24800 | 64 77 69 6d 2d 6f 74 68 65 72 2d 77 69 6e 64 6f    77 20 28 26 6f 70 74 69 6f 6e 61 6c 20 69 6e 76 | dwim-other-window.(&optional.inv | 
| 24820 | 61 6c 69 64 61 74 65 2d 63 61 63 68 65 29 0a 20    20 22 4a 75 6d 70 20 74 6f 20 61 20 70 72 6f 6a | alidate-cache)..."Jump.to.a.proj | 
| 24840 | 65 63 74 27 73 20 66 69 6c 65 73 20 75 73 69 6e    67 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 62 61 73 | ect's.files.using.completion.bas | 
| 24860 | 65 64 20 6f 6e 20 63 6f 6e 74 65 78 74 20 69 6e    20 6f 74 68 65 72 20 77 69 6e 64 6f 77 2e 0a 0a | ed.on.context.in.other.window... | 
| 24880 | 57 69 74 68 20 61 20 70 72 65 66 69 78 20 61 72    67 20 49 4e 56 41 4c 49 44 41 54 45 2d 43 41 43 | With.a.prefix.arg.INVALIDATE-CAC | 
| 248a0 | 48 45 20 69 6e 76 61 6c 69 64 61 74 65 73 20 74    68 65 20 63 61 63 68 65 20 66 69 72 73 74 2e 0a | HE.invalidates.the.cache.first.. | 
| 248c0 | 0a 49 66 20 70 6f 69 6e 74 20 69 73 20 6f 6e 20    61 20 66 69 6c 65 6e 61 6d 65 2c 20 50 72 6f 6a | .If.point.is.on.a.filename,.Proj | 
| 248e0 | 65 63 74 69 6c 65 20 66 69 72 73 74 20 74 72 69    65 73 20 74 6f 20 73 65 61 72 63 68 20 66 6f 72 | ectile.first.tries.to.search.for | 
| 24900 | 20 74 68 61 74 0a 66 69 6c 65 20 69 6e 20 70 72    6f 6a 65 63 74 3a 0a 0a 2d 20 49 66 20 69 74 20 | .that.file.in.project:..-.If.it. | 
| 24920 | 66 69 6e 64 73 20 6a 75 73 74 20 61 20 66 69 6c    65 2c 20 69 74 20 73 77 69 74 63 68 65 73 20 74 | finds.just.a.file,.it.switches.t | 
| 24940 | 6f 20 74 68 61 74 20 66 69 6c 65 20 69 6e 73 74    61 6e 74 6c 79 2e 20 20 54 68 69 73 20 77 6f 72 | o.that.file.instantly...This.wor | 
| 24960 | 6b 73 0a 65 76 65 6e 20 69 66 20 74 68 65 20 66    69 6c 65 6e 61 6d 65 20 69 73 20 69 6e 63 6f 6d | ks.even.if.the.filename.is.incom | 
| 24980 | 70 6c 65 74 65 2c 20 62 75 74 20 74 68 65 72 65    27 73 20 6f 6e 6c 79 20 61 20 73 69 6e 67 6c 65 | plete,.but.there's.only.a.single | 
| 249a0 | 20 66 69 6c 65 20 69 6e 20 74 68 65 0a 63 75 72    72 65 6e 74 20 70 72 6f 6a 65 63 74 20 74 68 61 | .file.in.the.current.project.tha | 
| 249c0 | 74 20 6d 61 74 63 68 65 73 20 74 68 65 20 66 69    6c 65 6e 61 6d 65 20 61 74 20 70 6f 69 6e 74 2e | t.matches.the.filename.at.point. | 
| 249e0 | 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 69    66 0a 74 68 65 72 65 27 73 20 6f 6e 6c 79 20 61 | ..For.example,.if.there's.only.a | 
| 24a00 | 20 73 69 6e 67 6c 65 20 66 69 6c 65 20 6e 61 6d    65 64 20 5c 22 70 72 6f 6a 65 63 74 69 6c 65 2f | .single.file.named.\"projectile/ | 
| 24a20 | 70 72 6f 6a 65 63 74 69 6c 65 2e 65 6c 5c 22 20    62 75 74 20 74 68 65 0a 63 75 72 72 65 6e 74 20 | projectile.el\".but.the.current. | 
| 24a40 | 66 69 6c 65 6e 61 6d 65 20 69 73 20 5c 22 70 72    6f 6a 65 63 74 69 6c 65 2f 70 72 6f 6a 5c 22 20 | filename.is.\"projectile/proj\". | 
| 24a60 | 28 69 6e 63 6f 6d 70 6c 65 74 65 29 2c 0a 60 70    72 6f 6a 65 63 74 69 6c 65 2d 66 69 6e 64 2d 66 | (incomplete),.`projectile-find-f | 
| 24a80 | 69 6c 65 2d 64 77 69 6d 2d 6f 74 68 65 72 2d 77    69 6e 64 6f 77 27 20 73 74 69 6c 6c 20 73 77 69 | ile-dwim-other-window'.still.swi | 
| 24aa0 | 74 63 68 65 73 20 74 6f 0a 5c 22 70 72 6f 6a 65    63 74 69 6c 65 2f 70 72 6f 6a 65 63 74 69 6c 65 | tches.to.\"projectile/projectile | 
| 24ac0 | 2e 65 6c 5c 22 20 69 6d 6d 65 64 69 61 74 65 6c    79 20 62 65 63 61 75 73 65 20 74 68 69 73 20 69 | .el\".immediately.because.this.i | 
| 24ae0 | 73 20 74 68 65 20 6f 6e 6c 79 20 66 69 6c 65 6e    61 6d 65 0a 74 68 61 74 20 6d 61 74 63 68 65 73 | s.the.only.filename.that.matches | 
| 24b00 | 2e 0a 0a 2d 20 49 66 20 69 74 20 66 69 6e 64 73    20 61 20 6c 69 73 74 20 6f 66 20 66 69 6c 65 73 | ...-.If.it.finds.a.list.of.files | 
| 24b20 | 2c 20 74 68 65 20 6c 69 73 74 20 69 73 20 64 69    73 70 6c 61 79 65 64 20 66 6f 72 20 73 65 6c 65 | ,.the.list.is.displayed.for.sele | 
| 24b40 | 63 74 69 6e 67 2e 20 20 41 20 6c 69 73 74 0a 6f    66 20 66 69 6c 65 73 20 69 73 20 64 69 73 70 6c | cting...A.list.of.files.is.displ | 
| 24b60 | 61 79 65 64 20 77 68 65 6e 20 61 20 66 69 6c 65    6e 61 6d 65 20 61 70 70 65 61 72 73 20 6d 6f 72 | ayed.when.a.filename.appears.mor | 
| 24b80 | 65 20 74 68 61 6e 20 6f 6e 65 20 69 6e 20 74 68    65 20 70 72 6f 6a 65 63 74 0a 6f 72 20 74 68 65 | e.than.one.in.the.project.or.the | 
| 24ba0 | 20 66 69 6c 65 6e 61 6d 65 20 61 74 20 70 6f 69    6e 74 20 69 73 20 61 20 70 72 65 66 69 78 20 6f | .filename.at.point.is.a.prefix.o | 
| 24bc0 | 66 20 6d 6f 72 65 20 74 68 61 6e 20 74 77 6f 20    66 69 6c 65 73 20 69 6e 20 61 20 70 72 6f 6a 65 | f.more.than.two.files.in.a.proje | 
| 24be0 | 63 74 2e 0a 46 6f 72 20 65 78 61 6d 70 6c 65 2c    20 69 66 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d | ct..For.example,.if.`projectile- | 
| 24c00 | 66 69 6e 64 2d 66 69 6c 65 2d 64 77 69 6d 2d 6f    74 68 65 72 2d 77 69 6e 64 6f 77 27 20 69 73 20 | find-file-dwim-other-window'.is. | 
| 24c20 | 65 78 65 63 75 74 65 64 20 6f 6e 20 61 0a 66 69    6c 65 70 61 74 68 20 6c 69 6b 65 20 5c 22 70 72 | executed.on.a.filepath.like.\"pr | 
| 24c40 | 6f 6a 65 63 74 69 6c 65 2f 5c 22 2c 20 69 74 20    6c 69 73 74 73 20 74 68 65 20 63 6f 6e 74 65 6e | ojectile/\",.it.lists.the.conten | 
| 24c60 | 74 20 6f 66 20 74 68 61 74 20 64 69 72 65 63 74    6f 72 79 2e 20 20 49 66 0a 69 74 20 69 73 20 65 | t.of.that.directory...If.it.is.e | 
| 24c80 | 78 65 63 75 74 65 64 20 6f 6e 20 61 20 70 61 72    74 69 61 6c 20 66 69 6c 65 6e 61 6d 65 20 6c 69 | xecuted.on.a.partial.filename.li | 
| 24ca0 | 6b 65 20 5c 22 70 72 6f 6a 65 63 74 69 6c 65 2f    61 5c 22 2c 20 61 20 6c 69 73 74 20 6f 66 20 66 | ke.\"projectile/a\",.a.list.of.f | 
| 24cc0 | 69 6c 65 73 0a 77 69 74 68 20 63 68 61 72 61 63    74 65 72 20 5c 22 61 5c 22 20 69 6e 20 74 68 61 | iles.with.character.\"a\".in.tha | 
| 24ce0 | 74 20 64 69 72 65 63 74 6f 72 79 20 69 73 20 70    72 65 73 65 6e 74 65 64 2e 0a 0a 2d 20 49 66 20 | t.directory.is.presented...-.If. | 
| 24d00 | 69 74 20 66 69 6e 64 73 20 6e 6f 74 68 69 6e 67    2c 20 64 69 73 70 6c 61 79 20 61 20 6c 69 73 74 | it.finds.nothing,.display.a.list | 
| 24d20 | 20 6f 66 20 61 6c 6c 20 66 69 6c 65 73 20 69 6e    20 70 72 6f 6a 65 63 74 20 66 6f 72 20 73 65 6c | .of.all.files.in.project.for.sel | 
| 24d40 | 65 63 74 69 6e 67 2e 22 0a 20 20 28 69 6e 74 65    72 61 63 74 69 76 65 20 22 50 22 29 0a 20 20 28 | ecting."...(interactive."P")...( | 
| 24d60 | 70 72 6f 6a 65 63 74 69 6c 65 2d 2d 66 69 6e 64    2d 66 69 6c 65 2d 64 77 69 6d 20 69 6e 76 61 6c | projectile--find-file-dwim.inval | 
| 24d80 | 69 64 61 74 65 2d 63 61 63 68 65 20 23 27 66 69    6e 64 2d 66 69 6c 65 2d 6f 74 68 65 72 2d 77 69 | idate-cache.#'find-file-other-wi | 
| 24da0 | 6e 64 6f 77 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 70 72 | ndow))..;;;###autoload.(defun.pr | 
| 24dc0 | 6f 6a 65 63 74 69 6c 65 2d 66 69 6e 64 2d 66 69    6c 65 2d 64 77 69 6d 2d 6f 74 68 65 72 2d 66 72 | ojectile-find-file-dwim-other-fr | 
| 24de0 | 61 6d 65 20 28 26 6f 70 74 69 6f 6e 61 6c 20 69    6e 76 61 6c 69 64 61 74 65 2d 63 61 63 68 65 29 | ame.(&optional.invalidate-cache) | 
| 24e00 | 0a 20 20 22 4a 75 6d 70 20 74 6f 20 61 20 70 72    6f 6a 65 63 74 27 73 20 66 69 6c 65 73 20 75 73 | ..."Jump.to.a.project's.files.us | 
| 24e20 | 69 6e 67 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 62    61 73 65 64 20 6f 6e 20 63 6f 6e 74 65 78 74 20 | ing.completion.based.on.context. | 
| 24e40 | 69 6e 20 6f 74 68 65 72 20 66 72 61 6d 65 2e 0a    0a 57 69 74 68 20 61 20 70 72 65 66 69 78 20 61 | in.other.frame...With.a.prefix.a | 
| 24e60 | 72 67 20 49 4e 56 41 4c 49 44 41 54 45 2d 43 41    43 48 45 20 69 6e 76 61 6c 69 64 61 74 65 73 20 | rg.INVALIDATE-CACHE.invalidates. | 
| 24e80 | 74 68 65 20 63 61 63 68 65 20 66 69 72 73 74 2e    0a 0a 49 66 20 70 6f 69 6e 74 20 69 73 20 6f 6e | the.cache.first...If.point.is.on | 
| 24ea0 | 20 61 20 66 69 6c 65 6e 61 6d 65 2c 20 50 72 6f    6a 65 63 74 69 6c 65 20 66 69 72 73 74 20 74 72 | .a.filename,.Projectile.first.tr | 
| 24ec0 | 69 65 73 20 74 6f 20 73 65 61 72 63 68 20 66 6f    72 20 74 68 61 74 0a 66 69 6c 65 20 69 6e 20 70 | ies.to.search.for.that.file.in.p | 
| 24ee0 | 72 6f 6a 65 63 74 3a 0a 0a 2d 20 49 66 20 69 74    20 66 69 6e 64 73 20 6a 75 73 74 20 61 20 66 69 | roject:..-.If.it.finds.just.a.fi | 
| 24f00 | 6c 65 2c 20 69 74 20 73 77 69 74 63 68 65 73 20    74 6f 20 74 68 61 74 20 66 69 6c 65 20 69 6e 73 | le,.it.switches.to.that.file.ins | 
| 24f20 | 74 61 6e 74 6c 79 2e 20 20 54 68 69 73 20 77 6f    72 6b 73 0a 65 76 65 6e 20 69 66 20 74 68 65 20 | tantly...This.works.even.if.the. | 
| 24f40 | 66 69 6c 65 6e 61 6d 65 20 69 73 20 69 6e 63 6f    6d 70 6c 65 74 65 2c 20 62 75 74 20 74 68 65 72 | filename.is.incomplete,.but.ther | 
| 24f60 | 65 27 73 20 6f 6e 6c 79 20 61 20 73 69 6e 67 6c    65 20 66 69 6c 65 20 69 6e 20 74 68 65 0a 63 75 | e's.only.a.single.file.in.the.cu | 
| 24f80 | 72 72 65 6e 74 20 70 72 6f 6a 65 63 74 20 74 68    61 74 20 6d 61 74 63 68 65 73 20 74 68 65 20 66 | rrent.project.that.matches.the.f | 
| 24fa0 | 69 6c 65 6e 61 6d 65 20 61 74 20 70 6f 69 6e 74    2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 | ilename.at.point...For.example,. | 
| 24fc0 | 69 66 0a 74 68 65 72 65 27 73 20 6f 6e 6c 79 20    61 20 73 69 6e 67 6c 65 20 66 69 6c 65 20 6e 61 | if.there's.only.a.single.file.na | 
| 24fe0 | 6d 65 64 20 5c 22 70 72 6f 6a 65 63 74 69 6c 65    2f 70 72 6f 6a 65 63 74 69 6c 65 2e 65 6c 5c 22 | med.\"projectile/projectile.el\" | 
| 25000 | 20 62 75 74 20 74 68 65 0a 63 75 72 72 65 6e 74    20 66 69 6c 65 6e 61 6d 65 20 69 73 20 5c 22 70 | .but.the.current.filename.is.\"p | 
| 25020 | 72 6f 6a 65 63 74 69 6c 65 2f 70 72 6f 6a 5c 22    20 28 69 6e 63 6f 6d 70 6c 65 74 65 29 2c 0a 60 | rojectile/proj\".(incomplete),.` | 
| 25040 | 70 72 6f 6a 65 63 74 69 6c 65 2d 66 69 6e 64 2d    66 69 6c 65 2d 64 77 69 6d 2d 6f 74 68 65 72 2d | projectile-find-file-dwim-other- | 
| 25060 | 66 72 61 6d 65 27 20 73 74 69 6c 6c 20 73 77 69    74 63 68 65 73 20 74 6f 0a 5c 22 70 72 6f 6a 65 | frame'.still.switches.to.\"proje | 
| 25080 | 63 74 69 6c 65 2f 70 72 6f 6a 65 63 74 69 6c 65    2e 65 6c 5c 22 20 69 6d 6d 65 64 69 61 74 65 6c | ctile/projectile.el\".immediatel | 
| 250a0 | 79 20 62 65 63 61 75 73 65 20 74 68 69 73 20 69    73 20 74 68 65 20 6f 6e 6c 79 20 66 69 6c 65 6e | y.because.this.is.the.only.filen | 
| 250c0 | 61 6d 65 0a 74 68 61 74 20 6d 61 74 63 68 65 73    2e 0a 0a 2d 20 49 66 20 69 74 20 66 69 6e 64 73 | ame.that.matches...-.If.it.finds | 
| 250e0 | 20 61 20 6c 69 73 74 20 6f 66 20 66 69 6c 65 73    2c 20 74 68 65 20 6c 69 73 74 20 69 73 20 64 69 | .a.list.of.files,.the.list.is.di | 
| 25100 | 73 70 6c 61 79 65 64 20 66 6f 72 20 73 65 6c 65    63 74 69 6e 67 2e 20 20 41 20 6c 69 73 74 0a 6f | splayed.for.selecting...A.list.o | 
| 25120 | 66 20 66 69 6c 65 73 20 69 73 20 64 69 73 70 6c    61 79 65 64 20 77 68 65 6e 20 61 20 66 69 6c 65 | f.files.is.displayed.when.a.file | 
| 25140 | 6e 61 6d 65 20 61 70 70 65 61 72 73 20 6d 6f 72    65 20 74 68 61 6e 20 6f 6e 65 20 69 6e 20 74 68 | name.appears.more.than.one.in.th | 
| 25160 | 65 20 70 72 6f 6a 65 63 74 0a 6f 72 20 74 68 65    20 66 69 6c 65 6e 61 6d 65 20 61 74 20 70 6f 69 | e.project.or.the.filename.at.poi | 
| 25180 | 6e 74 20 69 73 20 61 20 70 72 65 66 69 78 20 6f    66 20 6d 6f 72 65 20 74 68 61 6e 20 74 77 6f 20 | nt.is.a.prefix.of.more.than.two. | 
| 251a0 | 66 69 6c 65 73 20 69 6e 20 61 20 70 72 6f 6a 65    63 74 2e 0a 46 6f 72 20 65 78 61 6d 70 6c 65 2c | files.in.a.project..For.example, | 
| 251c0 | 20 69 66 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d    66 69 6e 64 2d 66 69 6c 65 2d 64 77 69 6d 2d 6f | .if.`projectile-find-file-dwim-o | 
| 251e0 | 74 68 65 72 2d 66 72 61 6d 65 27 20 69 73 20 65    78 65 63 75 74 65 64 20 6f 6e 20 61 0a 66 69 6c | ther-frame'.is.executed.on.a.fil | 
| 25200 | 65 70 61 74 68 20 6c 69 6b 65 20 5c 22 70 72 6f    6a 65 63 74 69 6c 65 2f 5c 22 2c 20 69 74 20 6c | epath.like.\"projectile/\",.it.l | 
| 25220 | 69 73 74 73 20 74 68 65 20 63 6f 6e 74 65 6e 74    20 6f 66 20 74 68 61 74 20 64 69 72 65 63 74 6f | ists.the.content.of.that.directo | 
| 25240 | 72 79 2e 20 20 49 66 0a 69 74 20 69 73 20 65 78    65 63 75 74 65 64 20 6f 6e 20 61 20 70 61 72 74 | ry...If.it.is.executed.on.a.part | 
| 25260 | 69 61 6c 20 66 69 6c 65 6e 61 6d 65 20 6c 69 6b    65 20 5c 22 70 72 6f 6a 65 63 74 69 6c 65 2f 61 | ial.filename.like.\"projectile/a | 
| 25280 | 5c 22 2c 20 61 20 6c 69 73 74 20 6f 66 20 66 69    6c 65 73 0a 77 69 74 68 20 63 68 61 72 61 63 74 | \",.a.list.of.files.with.charact | 
| 252a0 | 65 72 20 5c 22 61 5c 22 20 69 6e 20 74 68 61 74    20 64 69 72 65 63 74 6f 72 79 20 69 73 20 70 72 | er.\"a\".in.that.directory.is.pr | 
| 252c0 | 65 73 65 6e 74 65 64 2e 0a 0a 2d 20 49 66 20 69    74 20 66 69 6e 64 73 20 6e 6f 74 68 69 6e 67 2c | esented...-.If.it.finds.nothing, | 
| 252e0 | 20 64 69 73 70 6c 61 79 20 61 20 6c 69 73 74 20    6f 66 20 61 6c 6c 20 66 69 6c 65 73 20 69 6e 20 | .display.a.list.of.all.files.in. | 
| 25300 | 70 72 6f 6a 65 63 74 20 66 6f 72 20 73 65 6c 65    63 74 69 6e 67 2e 22 0a 20 20 28 69 6e 74 65 72 | project.for.selecting."...(inter | 
| 25320 | 61 63 74 69 76 65 20 22 50 22 29 0a 20 20 28 70    72 6f 6a 65 63 74 69 6c 65 2d 2d 66 69 6e 64 2d | active."P")...(projectile--find- | 
| 25340 | 66 69 6c 65 2d 64 77 69 6d 20 69 6e 76 61 6c 69    64 61 74 65 2d 63 61 63 68 65 20 23 27 66 69 6e | file-dwim.invalidate-cache.#'fin | 
| 25360 | 64 2d 66 69 6c 65 2d 6f 74 68 65 72 2d 66 72 61    6d 65 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f | d-file-other-frame))..(defun.pro | 
| 25380 | 6a 65 63 74 69 6c 65 2d 2d 66 69 6e 64 2d 66 69    6c 65 20 28 69 6e 76 61 6c 69 64 61 74 65 2d 63 | jectile--find-file.(invalidate-c | 
| 253a0 | 61 63 68 65 20 26 6f 70 74 69 6f 6e 61 6c 20 66    66 2d 76 61 72 69 61 6e 74 29 0a 20 20 22 4a 75 | ache.&optional.ff-variant)..."Ju | 
| 253c0 | 6d 70 20 74 6f 20 61 20 70 72 6f 6a 65 63 74 27    73 20 66 69 6c 65 20 75 73 69 6e 67 20 63 6f 6d | mp.to.a.project's.file.using.com | 
| 253e0 | 70 6c 65 74 69 6f 6e 2e 0a 57 69 74 68 20 49 4e    56 41 4c 49 44 41 54 45 2d 43 41 43 48 45 20 69 | pletion..With.INVALIDATE-CACHE.i | 
| 25400 | 6e 76 61 6c 69 64 61 74 65 73 20 74 68 65 20 63    61 63 68 65 20 66 69 72 73 74 2e 20 20 57 69 74 | nvalidates.the.cache.first...Wit | 
| 25420 | 68 20 46 46 2d 56 41 52 49 41 4e 54 20 73 65 74    20 74 6f 20 61 0a 64 65 66 75 6e 2c 20 75 73 65 | h.FF-VARIANT.set.to.a.defun,.use | 
| 25440 | 20 74 68 61 74 20 69 6e 73 74 65 61 64 20 6f 66    20 60 66 69 6e 64 2d 66 69 6c 65 27 2e 20 20 20 | .that.instead.of.`find-file'.... | 
| 25460 | 41 20 74 79 70 69 63 61 6c 20 65 78 61 6d 70 6c    65 20 6f 66 20 73 75 63 68 20 61 20 64 65 66 75 | A.typical.example.of.such.a.defu | 
| 25480 | 6e 0a 77 6f 75 6c 64 20 62 65 20 60 66 69 6e 64    2d 66 69 6c 65 2d 6f 74 68 65 72 2d 77 69 6e 64 | n.would.be.`find-file-other-wind | 
| 254a0 | 6f 77 27 20 6f 72 20 60 66 69 6e 64 2d 66 69 6c    65 2d 6f 74 68 65 72 2d 66 72 61 6d 65 27 22 0a | ow'.or.`find-file-other-frame'". | 
| 254c0 | 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22    50 22 29 0a 20 20 28 70 72 6f 6a 65 63 74 69 6c | ..(interactive."P")...(projectil | 
| 254e0 | 65 2d 6d 61 79 62 65 2d 69 6e 76 61 6c 69 64 61    74 65 2d 63 61 63 68 65 20 69 6e 76 61 6c 69 64 | e-maybe-invalidate-cache.invalid | 
| 25500 | 61 74 65 2d 63 61 63 68 65 29 0a 20 20 28 6c 65    74 2a 20 28 28 70 72 6f 6a 65 63 74 2d 72 6f 6f | ate-cache)...(let*.((project-roo | 
| 25520 | 74 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 61 63    71 75 69 72 65 2d 72 6f 6f 74 29 29 0a 20 20 20 | t.(projectile-acquire-root)).... | 
| 25540 | 20 20 20 20 20 20 28 66 69 6c 65 20 28 70 72 6f    6a 65 63 74 69 6c 65 2d 63 6f 6d 70 6c 65 74 69 | ......(file.(projectile-completi | 
| 25560 | 6e 67 2d 72 65 61 64 20 22 46 69 6e 64 20 66 69    6c 65 3a 20 22 0a 20 20 20 20 20 20 20 20 20 20 | ng-read."Find.file:."........... | 
| 25580 | 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 | ................................ | 
| 255a0 | 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f    6a 65 63 74 2d 66 69 6c 65 73 20 70 72 6f 6a 65 | .(projectile-project-files.proje | 
| 255c0 | 63 74 2d 72 6f 6f 74 29 29 29 0a 20 20 20 20 20    20 20 20 20 28 66 66 20 28 6f 72 20 66 66 2d 76 | ct-root)))..........(ff.(or.ff-v | 
| 255e0 | 61 72 69 61 6e 74 20 23 27 66 69 6e 64 2d 66 69    6c 65 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 | ariant.#'find-file))).....(when. | 
| 25600 | 66 69 6c 65 0a 20 20 20 20 20 20 28 66 75 6e 63    61 6c 6c 20 66 66 20 28 65 78 70 61 6e 64 2d 66 | file.......(funcall.ff.(expand-f | 
| 25620 | 69 6c 65 2d 6e 61 6d 65 20 66 69 6c 65 20 70 72    6f 6a 65 63 74 2d 72 6f 6f 74 29 29 0a 20 20 20 | ile-name.file.project-root)).... | 
| 25640 | 20 20 20 28 72 75 6e 2d 68 6f 6f 6b 73 20 27 70    72 6f 6a 65 63 74 69 6c 65 2d 66 69 6e 64 2d 66 | ...(run-hooks.'projectile-find-f | 
| 25660 | 69 6c 65 2d 68 6f 6f 6b 29 29 29 29 0a 0a 3b 3b    3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 | ile-hook))))..;;;###autoload.(de | 
| 25680 | 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 66    69 6e 64 2d 66 69 6c 65 20 28 26 6f 70 74 69 6f | fun.projectile-find-file.(&optio | 
| 256a0 | 6e 61 6c 20 69 6e 76 61 6c 69 64 61 74 65 2d 63    61 63 68 65 29 0a 20 20 22 4a 75 6d 70 20 74 6f | nal.invalidate-cache)..."Jump.to | 
| 256c0 | 20 61 20 70 72 6f 6a 65 63 74 27 73 20 66 69 6c    65 20 75 73 69 6e 67 20 63 6f 6d 70 6c 65 74 69 | .a.project's.file.using.completi | 
| 256e0 | 6f 6e 2e 0a 57 69 74 68 20 61 20 70 72 65 66 69    78 20 61 72 67 20 49 4e 56 41 4c 49 44 41 54 45 | on..With.a.prefix.arg.INVALIDATE | 
| 25700 | 2d 43 41 43 48 45 20 69 6e 76 61 6c 69 64 61 74    65 73 20 74 68 65 20 63 61 63 68 65 20 66 69 72 | -CACHE.invalidates.the.cache.fir | 
| 25720 | 73 74 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74    69 76 65 20 22 50 22 29 0a 20 20 28 70 72 6f 6a | st."...(interactive."P")...(proj | 
| 25740 | 65 63 74 69 6c 65 2d 2d 66 69 6e 64 2d 66 69 6c    65 20 69 6e 76 61 6c 69 64 61 74 65 2d 63 61 63 | ectile--find-file.invalidate-cac | 
| 25760 | 68 65 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 70 72 6f 6a | he))..;;;###autoload.(defun.proj | 
| 25780 | 65 63 74 69 6c 65 2d 66 69 6e 64 2d 66 69 6c 65    2d 6f 74 68 65 72 2d 77 69 6e 64 6f 77 20 28 26 | ectile-find-file-other-window.(& | 
| 257a0 | 6f 70 74 69 6f 6e 61 6c 20 69 6e 76 61 6c 69 64    61 74 65 2d 63 61 63 68 65 29 0a 20 20 22 4a 75 | optional.invalidate-cache)..."Ju | 
| 257c0 | 6d 70 20 74 6f 20 61 20 70 72 6f 6a 65 63 74 27    73 20 66 69 6c 65 20 75 73 69 6e 67 20 63 6f 6d | mp.to.a.project's.file.using.com | 
| 257e0 | 70 6c 65 74 69 6f 6e 20 61 6e 64 20 73 68 6f 77    20 69 74 20 69 6e 20 61 6e 6f 74 68 65 72 20 77 | pletion.and.show.it.in.another.w | 
| 25800 | 69 6e 64 6f 77 2e 0a 0a 57 69 74 68 20 61 20 70    72 65 66 69 78 20 61 72 67 20 49 4e 56 41 4c 49 | indow...With.a.prefix.arg.INVALI | 
| 25820 | 44 41 54 45 2d 43 41 43 48 45 20 69 6e 76 61 6c    69 64 61 74 65 73 20 74 68 65 20 63 61 63 68 65 | DATE-CACHE.invalidates.the.cache | 
| 25840 | 20 66 69 72 73 74 2e 22 0a 20 20 28 69 6e 74 65    72 61 63 74 69 76 65 20 22 50 22 29 0a 20 20 28 | .first."...(interactive."P")...( | 
| 25860 | 70 72 6f 6a 65 63 74 69 6c 65 2d 2d 66 69 6e 64    2d 66 69 6c 65 20 69 6e 76 61 6c 69 64 61 74 65 | projectile--find-file.invalidate | 
| 25880 | 2d 63 61 63 68 65 20 23 27 66 69 6e 64 2d 66 69    6c 65 2d 6f 74 68 65 72 2d 77 69 6e 64 6f 77 29 | -cache.#'find-file-other-window) | 
| 258a0 | 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 70 72 6f 6a 65 63 74 | )..;;;###autoload.(defun.project | 
| 258c0 | 69 6c 65 2d 66 69 6e 64 2d 66 69 6c 65 2d 6f 74    68 65 72 2d 66 72 61 6d 65 20 28 26 6f 70 74 69 | ile-find-file-other-frame.(&opti | 
| 258e0 | 6f 6e 61 6c 20 69 6e 76 61 6c 69 64 61 74 65 2d    63 61 63 68 65 29 0a 20 20 22 4a 75 6d 70 20 74 | onal.invalidate-cache)..."Jump.t | 
| 25900 | 6f 20 61 20 70 72 6f 6a 65 63 74 27 73 20 66 69    6c 65 20 75 73 69 6e 67 20 63 6f 6d 70 6c 65 74 | o.a.project's.file.using.complet | 
| 25920 | 69 6f 6e 20 61 6e 64 20 73 68 6f 77 20 69 74 20    69 6e 20 61 6e 6f 74 68 65 72 20 66 72 61 6d 65 | ion.and.show.it.in.another.frame | 
| 25940 | 2e 0a 0a 57 69 74 68 20 61 20 70 72 65 66 69 78    20 61 72 67 20 49 4e 56 41 4c 49 44 41 54 45 2d | ...With.a.prefix.arg.INVALIDATE- | 
| 25960 | 43 41 43 48 45 20 69 6e 76 61 6c 69 64 61 74 65    73 20 74 68 65 20 63 61 63 68 65 20 66 69 72 73 | CACHE.invalidates.the.cache.firs | 
| 25980 | 74 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69    76 65 20 22 50 22 29 0a 20 20 28 70 72 6f 6a 65 | t."...(interactive."P")...(proje | 
| 259a0 | 63 74 69 6c 65 2d 2d 66 69 6e 64 2d 66 69 6c 65    20 69 6e 76 61 6c 69 64 61 74 65 2d 63 61 63 68 | ctile--find-file.invalidate-cach | 
| 259c0 | 65 20 23 27 66 69 6e 64 2d 66 69 6c 65 2d 6f 74    68 65 72 2d 66 72 61 6d 65 29 29 0a 0a 3b 3b 3b | e.#'find-file-other-frame))..;;; | 
| 259e0 | 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66    75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 74 6f | ###autoload.(defun.projectile-to | 
| 25a00 | 67 67 6c 65 2d 70 72 6f 6a 65 63 74 2d 72 65 61    64 2d 6f 6e 6c 79 20 28 29 0a 20 20 22 54 6f 67 | ggle-project-read-only.()..."Tog | 
| 25a20 | 67 6c 65 20 70 72 6f 6a 65 63 74 20 72 65 61 64    20 6f 6e 6c 79 2e 22 0a 20 20 28 69 6e 74 65 72 | gle.project.read.only."...(inter | 
| 25a40 | 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74 20 28    28 69 6e 68 69 62 69 74 2d 72 65 61 64 2d 6f 6e | active)...(let.((inhibit-read-on | 
| 25a60 | 6c 79 20 74 29 0a 20 20 20 20 20 20 20 20 28 76    61 6c 20 28 6e 6f 74 20 62 75 66 66 65 72 2d 72 | ly.t).........(val.(not.buffer-r | 
| 25a80 | 65 61 64 2d 6f 6e 6c 79 29 29 0a 20 20 20 20 20    20 20 20 28 64 65 66 61 75 6c 74 2d 64 69 72 65 | ead-only)).........(default-dire | 
| 25aa0 | 63 74 6f 72 79 20 28 70 72 6f 6a 65 63 74 69 6c    65 2d 61 63 71 75 69 72 65 2d 72 6f 6f 74 29 29 | ctory.(projectile-acquire-root)) | 
| 25ac0 | 29 0a 20 20 20 20 28 61 64 64 2d 64 69 72 2d 6c    6f 63 61 6c 2d 76 61 72 69 61 62 6c 65 20 6e 69 | ).....(add-dir-local-variable.ni | 
| 25ae0 | 6c 20 27 62 75 66 66 65 72 2d 72 65 61 64 2d 6f    6e 6c 79 20 76 61 6c 29 0a 20 20 20 20 28 73 61 | l.'buffer-read-only.val).....(sa | 
| 25b00 | 76 65 2d 62 75 66 66 65 72 29 0a 20 20 20 20 28    6b 69 6c 6c 2d 62 75 66 66 65 72 29 0a 20 20 20 | ve-buffer).....(kill-buffer).... | 
| 25b20 | 20 28 77 68 65 6e 20 62 75 66 66 65 72 2d 66 69    6c 65 2d 6e 61 6d 65 0a 20 20 20 20 20 20 28 72 | .(when.buffer-file-name.......(r | 
| 25b40 | 65 61 64 2d 6f 6e 6c 79 2d 6d 6f 64 65 20 28 69    66 20 76 61 6c 20 2b 31 20 2d 31 29 29 0a 20 20 | ead-only-mode.(if.val.+1.-1))... | 
| 25b60 | 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 5b 25    73 5d 20 72 65 61 64 2d 6f 6e 6c 79 2d 6d 6f 64 | ....(message."[%s].read-only-mod | 
| 25b80 | 65 20 69 73 20 25 73 22 20 28 70 72 6f 6a 65 63    74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 6e 61 6d | e.is.%s".(projectile-project-nam | 
| 25ba0 | 65 29 20 28 69 66 20 76 61 6c 20 22 6f 6e 22 20    22 6f 66 66 22 29 29 29 29 29 0a 0a 3b 3b 3b 23 | e).(if.val."on"."off")))))..;;;# | 
| 25bc0 | 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75    6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 61 64 64 | ##autoload.(defun.projectile-add | 
| 25be0 | 2d 64 69 72 2d 6c 6f 63 61 6c 2d 76 61 72 69 61    62 6c 65 20 28 6d 6f 64 65 20 76 61 72 69 61 62 | -dir-local-variable.(mode.variab | 
| 25c00 | 6c 65 20 76 61 6c 75 65 29 0a 20 20 22 52 75 6e    20 60 61 64 64 2d 64 69 72 2d 6c 6f 63 61 6c 2d | le.value)..."Run.`add-dir-local- | 
| 25c20 | 76 61 72 69 61 62 6c 65 27 20 77 69 74 68 20 2e    64 69 72 2d 6c 6f 63 61 6c 73 2e 65 6c 20 69 6e | variable'.with..dir-locals.el.in | 
| 25c40 | 20 72 6f 6f 74 20 6f 66 20 70 72 6f 6a 65 63 74    2e 0a 0a 50 61 72 61 6d 65 74 65 72 73 20 4d 4f | .root.of.project...Parameters.MO | 
| 25c60 | 44 45 20 56 41 52 49 41 42 4c 45 20 56 41 4c 55    45 20 61 72 65 20 70 61 73 73 65 64 20 64 69 72 | DE.VARIABLE.VALUE.are.passed.dir | 
| 25c80 | 65 63 74 6c 79 20 74 6f 20 60 61 64 64 2d 64 69    72 2d 6c 6f 63 61 6c 2d 76 61 72 69 61 62 6c 65 | ectly.to.`add-dir-local-variable | 
| 25ca0 | 27 2e 22 0a 20 20 28 6c 65 74 20 28 28 69 6e 68    69 62 69 74 2d 72 65 61 64 2d 6f 6e 6c 79 20 74 | '."...(let.((inhibit-read-only.t | 
| 25cc0 | 29 0a 20 20 20 20 20 20 20 20 28 64 65 66 61 75    6c 74 2d 64 69 72 65 63 74 6f 72 79 20 28 70 72 | ).........(default-directory.(pr | 
| 25ce0 | 6f 6a 65 63 74 69 6c 65 2d 61 63 71 75 69 72 65    2d 72 6f 6f 74 29 29 29 0a 20 20 20 20 28 61 64 | ojectile-acquire-root))).....(ad | 
| 25d00 | 64 2d 64 69 72 2d 6c 6f 63 61 6c 2d 76 61 72 69    61 62 6c 65 20 6d 6f 64 65 20 76 61 72 69 61 62 | d-dir-local-variable.mode.variab | 
| 25d20 | 6c 65 20 76 61 6c 75 65 29 0a 20 20 20 20 28 73    61 76 65 2d 62 75 66 66 65 72 29 0a 20 20 20 20 | le.value).....(save-buffer)..... | 
| 25d40 | 28 6b 69 6c 6c 2d 62 75 66 66 65 72 29 29 29 0a    0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a | (kill-buffer)))..;;;###autoload. | 
| 25d60 | 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c    65 2d 64 65 6c 65 74 65 2d 64 69 72 2d 6c 6f 63 | (defun.projectile-delete-dir-loc | 
| 25d80 | 61 6c 2d 76 61 72 69 61 62 6c 65 20 28 6d 6f 64    65 20 76 61 72 69 61 62 6c 65 29 0a 20 20 22 52 | al-variable.(mode.variable)..."R | 
| 25da0 | 75 6e 20 60 64 65 6c 65 74 65 2d 64 69 72 2d 6c    6f 63 61 6c 2d 76 61 72 69 61 62 6c 65 27 20 77 | un.`delete-dir-local-variable'.w | 
| 25dc0 | 69 74 68 20 2e 64 69 72 2d 6c 6f 63 61 6c 73 2e    65 6c 20 69 6e 20 72 6f 6f 74 20 6f 66 20 70 72 | ith..dir-locals.el.in.root.of.pr | 
| 25de0 | 6f 6a 65 63 74 2e 0a 0a 50 61 72 61 6d 65 74 65    72 73 20 4d 4f 44 45 20 56 41 52 49 41 42 4c 45 | oject...Parameters.MODE.VARIABLE | 
| 25e00 | 20 56 41 4c 55 45 20 61 72 65 20 70 61 73 73 65    64 20 64 69 72 65 63 74 6c 79 20 74 6f 0a 60 64 | .VALUE.are.passed.directly.to.`d | 
| 25e20 | 65 6c 65 74 65 2d 64 69 72 2d 6c 6f 63 61 6c 2d    76 61 72 69 61 62 6c 65 27 2e 22 0a 20 20 28 6c | elete-dir-local-variable'."...(l | 
| 25e40 | 65 74 20 28 28 69 6e 68 69 62 69 74 2d 72 65 61    64 2d 6f 6e 6c 79 20 74 29 0a 20 20 20 20 20 20 | et.((inhibit-read-only.t)....... | 
| 25e60 | 20 20 28 64 65 66 61 75 6c 74 2d 64 69 72 65 63    74 6f 72 79 20 28 70 72 6f 6a 65 63 74 69 6c 65 | ..(default-directory.(projectile | 
| 25e80 | 2d 61 63 71 75 69 72 65 2d 72 6f 6f 74 29 29 29    0a 20 20 20 20 28 64 65 6c 65 74 65 2d 64 69 72 | -acquire-root))).....(delete-dir | 
| 25ea0 | 2d 6c 6f 63 61 6c 2d 76 61 72 69 61 62 6c 65 20    6d 6f 64 65 20 76 61 72 69 61 62 6c 65 29 0a 20 | -local-variable.mode.variable).. | 
| 25ec0 | 20 20 20 28 73 61 76 65 2d 62 75 66 66 65 72 29    0a 20 20 20 20 28 6b 69 6c 6c 2d 62 75 66 66 65 | ...(save-buffer).....(kill-buffe | 
| 25ee0 | 72 29 29 29 0a 0a 0c 0a 3b 3b 3b 3b 20 53 6f 72    74 69 6e 67 20 70 72 6f 6a 65 63 74 20 66 69 6c | r)))....;;;;.Sorting.project.fil | 
| 25f00 | 65 73 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63    74 69 6c 65 2d 73 6f 72 74 2d 66 69 6c 65 73 20 | es.(defun.projectile-sort-files. | 
| 25f20 | 28 66 69 6c 65 73 29 0a 20 20 22 53 6f 72 74 20    46 49 4c 45 53 20 61 63 63 6f 72 64 69 6e 67 20 | (files)..."Sort.FILES.according. | 
| 25f40 | 74 6f 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 73    6f 72 74 2d 6f 72 64 65 72 27 2e 22 0a 20 20 28 | to.`projectile-sort-order'."...( | 
| 25f60 | 63 6c 2d 63 61 73 65 20 70 72 6f 6a 65 63 74 69    6c 65 2d 73 6f 72 74 2d 6f 72 64 65 72 0a 20 20 | cl-case.projectile-sort-order... | 
| 25f80 | 20 20 28 64 65 66 61 75 6c 74 20 66 69 6c 65 73    29 0a 20 20 20 20 28 72 65 63 65 6e 74 66 20 28 | ..(default.files).....(recentf.( | 
| 25fa0 | 70 72 6f 6a 65 63 74 69 6c 65 2d 73 6f 72 74 2d    62 79 2d 72 65 63 65 6e 74 66 2d 66 69 72 73 74 | projectile-sort-by-recentf-first | 
| 25fc0 | 20 66 69 6c 65 73 29 29 0a 20 20 20 20 28 72 65    63 65 6e 74 6c 79 2d 61 63 74 69 76 65 20 28 70 | .files)).....(recently-active.(p | 
| 25fe0 | 72 6f 6a 65 63 74 69 6c 65 2d 73 6f 72 74 2d 62    79 2d 72 65 63 65 6e 74 6c 79 2d 61 63 74 69 76 | rojectile-sort-by-recently-activ | 
| 26000 | 65 2d 66 69 72 73 74 20 66 69 6c 65 73 29 29 0a    20 20 20 20 28 6d 6f 64 69 66 69 63 61 74 69 6f | e-first.files)).....(modificatio | 
| 26020 | 6e 2d 74 69 6d 65 20 28 70 72 6f 6a 65 63 74 69    6c 65 2d 73 6f 72 74 2d 62 79 2d 6d 6f 64 69 66 | n-time.(projectile-sort-by-modif | 
| 26040 | 69 63 61 74 69 6f 6e 2d 74 69 6d 65 20 66 69 6c    65 73 29 29 0a 20 20 20 20 28 61 63 63 65 73 73 | ication-time.files)).....(access | 
| 26060 | 2d 74 69 6d 65 20 28 70 72 6f 6a 65 63 74 69 6c    65 2d 73 6f 72 74 2d 62 79 2d 61 63 63 65 73 73 | -time.(projectile-sort-by-access | 
| 26080 | 2d 74 69 6d 65 20 66 69 6c 65 73 29 29 29 29 0a    0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 | -time.files))))..(defun.projecti | 
| 260a0 | 6c 65 2d 73 6f 72 74 2d 62 79 2d 72 65 63 65 6e    74 66 2d 66 69 72 73 74 20 28 66 69 6c 65 73 29 | le-sort-by-recentf-first.(files) | 
| 260c0 | 0a 20 20 22 53 6f 72 74 20 46 49 4c 45 53 20 62    79 20 61 20 72 65 63 65 6e 74 20 66 69 72 73 74 | ..."Sort.FILES.by.a.recent.first | 
| 260e0 | 20 73 63 68 65 6d 65 2e 22 0a 20 20 28 6c 65 74    20 28 28 70 72 6f 6a 65 63 74 2d 72 65 63 65 6e | .scheme."...(let.((project-recen | 
| 26100 | 74 66 2d 66 69 6c 65 73 20 28 70 72 6f 6a 65 63    74 69 6c 65 2d 72 65 63 65 6e 74 66 2d 66 69 6c | tf-files.(projectile-recentf-fil | 
| 26120 | 65 73 29 29 29 0a 20 20 20 20 28 61 70 70 65 6e    64 20 70 72 6f 6a 65 63 74 2d 72 65 63 65 6e 74 | es))).....(append.project-recent | 
| 26140 | 66 2d 66 69 6c 65 73 0a 20 20 20 20 20 20 20 20    20 20 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d | f-files.............(projectile- | 
| 26160 | 64 69 66 66 65 72 65 6e 63 65 20 66 69 6c 65 73    20 70 72 6f 6a 65 63 74 2d 72 65 63 65 6e 74 66 | difference.files.project-recentf | 
| 26180 | 2d 66 69 6c 65 73 29 29 29 29 0a 0a 28 64 65 66    75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 73 6f | -files))))..(defun.projectile-so | 
| 261a0 | 72 74 2d 62 79 2d 72 65 63 65 6e 74 6c 79 2d 61    63 74 69 76 65 2d 66 69 72 73 74 20 28 66 69 6c | rt-by-recently-active-first.(fil | 
| 261c0 | 65 73 29 0a 20 20 22 53 6f 72 74 20 46 49 4c 45    53 20 62 79 20 6d 6f 73 74 20 72 65 63 65 6e 74 | es)..."Sort.FILES.by.most.recent | 
| 261e0 | 6c 79 20 61 63 74 69 76 65 20 62 75 66 66 65 72    73 20 6f 72 20 6f 70 65 6e 65 64 20 66 69 6c 65 | ly.active.buffers.or.opened.file | 
| 26200 | 73 2e 22 0a 20 20 28 6c 65 74 20 28 28 70 72 6f    6a 65 63 74 2d 72 65 63 65 6e 74 6c 79 2d 61 63 | s."...(let.((project-recently-ac | 
| 26220 | 74 69 76 65 2d 66 69 6c 65 73 20 28 70 72 6f 6a    65 63 74 69 6c 65 2d 72 65 63 65 6e 74 6c 79 2d | tive-files.(projectile-recently- | 
| 26240 | 61 63 74 69 76 65 2d 66 69 6c 65 73 29 29 29 0a    20 20 20 20 28 61 70 70 65 6e 64 20 70 72 6f 6a | active-files))).....(append.proj | 
| 26260 | 65 63 74 2d 72 65 63 65 6e 74 6c 79 2d 61 63 74    69 76 65 2d 66 69 6c 65 73 0a 20 20 20 20 20 20 | ect-recently-active-files....... | 
| 26280 | 20 20 20 20 20 20 28 70 72 6f 6a 65 63 74 69 6c    65 2d 64 69 66 66 65 72 65 6e 63 65 20 66 69 6c | ......(projectile-difference.fil | 
| 262a0 | 65 73 20 70 72 6f 6a 65 63 74 2d 72 65 63 65 6e    74 6c 79 2d 61 63 74 69 76 65 2d 66 69 6c 65 73 | es.project-recently-active-files | 
| 262c0 | 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f    6a 65 63 74 69 6c 65 2d 73 6f 72 74 2d 62 79 2d | ))))..(defun.projectile-sort-by- | 
| 262e0 | 6d 6f 64 69 66 69 63 61 74 69 6f 6e 2d 74 69 6d    65 20 28 66 69 6c 65 73 29 0a 20 20 22 53 6f 72 | modification-time.(files)..."Sor | 
| 26300 | 74 20 46 49 4c 45 53 20 62 79 20 6d 6f 64 69 66    69 63 61 74 69 6f 6e 20 74 69 6d 65 2e 22 0a 20 | t.FILES.by.modification.time.".. | 
| 26320 | 20 28 6c 65 74 20 28 28 64 65 66 61 75 6c 74 2d    64 69 72 65 63 74 6f 72 79 20 28 70 72 6f 6a 65 | .(let.((default-directory.(proje | 
| 26340 | 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 72 6f    6f 74 29 29 29 0a 20 20 20 20 28 63 6c 2d 73 6f | ctile-project-root))).....(cl-so | 
| 26360 | 72 74 0a 20 20 20 20 20 28 63 6f 70 79 2d 73 65    71 75 65 6e 63 65 20 66 69 6c 65 73 29 0a 20 20 | rt......(copy-sequence.files)... | 
| 26380 | 20 20 20 28 6c 61 6d 62 64 61 20 28 66 69 6c 65    31 20 66 69 6c 65 32 29 0a 20 20 20 20 20 20 20 | ...(lambda.(file1.file2)........ | 
| 263a0 | 28 6c 65 74 20 28 28 66 69 6c 65 31 2d 6d 74 69    6d 65 20 28 6e 74 68 20 35 20 28 66 69 6c 65 2d | (let.((file1-mtime.(nth.5.(file- | 
| 263c0 | 61 74 74 72 69 62 75 74 65 73 20 66 69 6c 65 31    29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | attributes.file1)))............. | 
| 263e0 | 20 28 66 69 6c 65 32 2d 6d 74 69 6d 65 20 28 6e    74 68 20 35 20 28 66 69 6c 65 2d 61 74 74 72 69 | .(file2-mtime.(nth.5.(file-attri | 
| 26400 | 62 75 74 65 73 20 66 69 6c 65 32 29 29 29 29 0a    20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 74 | butes.file2))))..........(not.(t | 
| 26420 | 69 6d 65 2d 6c 65 73 73 2d 70 20 66 69 6c 65 31    2d 6d 74 69 6d 65 20 66 69 6c 65 32 2d 6d 74 69 | ime-less-p.file1-mtime.file2-mti | 
| 26440 | 6d 65 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75    6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 73 6f 72 | me)))))))..(defun.projectile-sor | 
| 26460 | 74 2d 62 79 2d 61 63 63 65 73 73 2d 74 69 6d 65    20 28 66 69 6c 65 73 29 0a 20 20 22 53 6f 72 74 | t-by-access-time.(files)..."Sort | 
| 26480 | 20 46 49 4c 45 53 20 62 79 20 61 63 63 65 73 73    20 74 69 6d 65 2e 22 0a 20 20 28 6c 65 74 20 28 | .FILES.by.access.time."...(let.( | 
| 264a0 | 28 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f    72 79 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 70 | (default-directory.(projectile-p | 
| 264c0 | 72 6f 6a 65 63 74 2d 72 6f 6f 74 29 29 29 0a 20    20 20 20 28 63 6c 2d 73 6f 72 74 0a 20 20 20 20 | roject-root))).....(cl-sort..... | 
| 264e0 | 20 28 63 6f 70 79 2d 73 65 71 75 65 6e 63 65 20    66 69 6c 65 73 29 0a 20 20 20 20 20 28 6c 61 6d | .(copy-sequence.files)......(lam | 
| 26500 | 62 64 61 20 28 66 69 6c 65 31 20 66 69 6c 65 32    29 0a 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 | bda.(file1.file2)........(let.(( | 
| 26520 | 66 69 6c 65 31 2d 61 74 69 6d 65 20 28 6e 74 68    20 34 20 28 66 69 6c 65 2d 61 74 74 72 69 62 75 | file1-atime.(nth.4.(file-attribu | 
| 26540 | 74 65 73 20 66 69 6c 65 31 29 29 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 32 | tes.file1)))..............(file2 | 
| 26560 | 2d 61 74 69 6d 65 20 28 6e 74 68 20 34 20 28 66    69 6c 65 2d 61 74 74 72 69 62 75 74 65 73 20 66 | -atime.(nth.4.(file-attributes.f | 
| 26580 | 69 6c 65 32 29 29 29 29 0a 20 20 20 20 20 20 20    20 20 28 6e 6f 74 20 28 74 69 6d 65 2d 6c 65 73 | ile2))))..........(not.(time-les | 
| 265a0 | 73 2d 70 20 66 69 6c 65 31 2d 61 74 69 6d 65 20    66 69 6c 65 32 2d 61 74 69 6d 65 29 29 29 29 29 | s-p.file1-atime.file2-atime))))) | 
| 265c0 | 29 29 0a 0a 0c 0a 3b 3b 3b 3b 20 46 69 6e 64 20    64 69 72 65 63 74 6f 72 79 20 69 6e 20 70 72 6f | ))....;;;;.Find.directory.in.pro | 
| 265e0 | 6a 65 63 74 20 66 75 6e 63 74 69 6f 6e 61 6c 69    74 79 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 | ject.functionality.(defun.projec | 
| 26600 | 74 69 6c 65 2d 2d 66 69 6e 64 2d 64 69 72 20 28    69 6e 76 61 6c 69 64 61 74 65 2d 63 61 63 68 65 | tile--find-dir.(invalidate-cache | 
| 26620 | 20 26 6f 70 74 69 6f 6e 61 6c 20 64 69 72 65 64    2d 76 61 72 69 61 6e 74 29 0a 20 20 22 4a 75 6d | .&optional.dired-variant)..."Jum | 
| 26640 | 70 20 74 6f 20 61 20 70 72 6f 6a 65 63 74 27 73    20 64 69 72 65 63 74 6f 72 79 20 75 73 69 6e 67 | p.to.a.project's.directory.using | 
| 26660 | 20 63 6f 6d 70 6c 65 74 69 6f 6e 2e 0a 0a 57 69    74 68 20 49 4e 56 41 4c 49 44 41 54 45 2d 43 41 | .completion...With.INVALIDATE-CA | 
| 26680 | 43 48 45 20 69 6e 76 61 6c 69 64 61 74 65 73 20    74 68 65 20 63 61 63 68 65 20 66 69 72 73 74 2e | CHE.invalidates.the.cache.first. | 
| 266a0 | 20 20 57 69 74 68 20 44 49 52 45 44 2d 56 41 52    49 41 4e 54 20 73 65 74 20 74 6f 20 61 0a 64 65 | ..With.DIRED-VARIANT.set.to.a.de | 
| 266c0 | 66 75 6e 2c 20 75 73 65 20 74 68 61 74 20 69 6e    73 74 65 61 64 20 6f 66 20 60 64 69 72 65 64 27 | fun,.use.that.instead.of.`dired' | 
| 266e0 | 2e 20 20 41 20 74 79 70 69 63 61 6c 20 65 78 61    6d 70 6c 65 20 6f 66 20 73 75 63 68 20 61 20 64 | ...A.typical.example.of.such.a.d | 
| 26700 | 65 66 75 6e 20 77 6f 75 6c 64 20 62 65 0a 60 64    69 72 65 64 2d 6f 74 68 65 72 2d 77 69 6e 64 6f | efun.would.be.`dired-other-windo | 
| 26720 | 77 27 20 6f 72 20 60 64 69 72 65 64 2d 6f 74 68    65 72 2d 66 72 61 6d 65 27 22 0a 20 20 28 70 72 | w'.or.`dired-other-frame'"...(pr | 
| 26740 | 6f 6a 65 63 74 69 6c 65 2d 6d 61 79 62 65 2d 69    6e 76 61 6c 69 64 61 74 65 2d 63 61 63 68 65 20 | ojectile-maybe-invalidate-cache. | 
| 26760 | 69 6e 76 61 6c 69 64 61 74 65 2d 63 61 63 68 65    29 0a 20 20 28 6c 65 74 2a 20 28 28 70 72 6f 6a | invalidate-cache)...(let*.((proj | 
| 26780 | 65 63 74 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d    61 63 71 75 69 72 65 2d 72 6f 6f 74 29 29 0a 20 | ect.(projectile-acquire-root)).. | 
| 267a0 | 20 20 20 20 20 20 20 20 28 64 69 72 20 28 70 72    6f 6a 65 63 74 69 6c 65 2d 63 6f 6d 70 6c 65 74 | ........(dir.(projectile-complet | 
| 267c0 | 65 2d 64 69 72 20 70 72 6f 6a 65 63 74 29 29 0a    20 20 20 20 20 20 20 20 20 28 64 69 72 65 64 2d | e-dir.project))..........(dired- | 
| 267e0 | 76 20 28 6f 72 20 64 69 72 65 64 2d 76 61 72 69    61 6e 74 20 23 27 64 69 72 65 64 29 29 29 0a 20 | v.(or.dired-variant.#'dired))).. | 
| 26800 | 20 20 20 28 66 75 6e 63 61 6c 6c 20 64 69 72 65    64 2d 76 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 | ...(funcall.dired-v.(expand-file | 
| 26820 | 2d 6e 61 6d 65 20 64 69 72 20 70 72 6f 6a 65 63    74 29 29 0a 20 20 20 20 28 72 75 6e 2d 68 6f 6f | -name.dir.project)).....(run-hoo | 
| 26840 | 6b 73 20 27 70 72 6f 6a 65 63 74 69 6c 65 2d 66    69 6e 64 2d 64 69 72 2d 68 6f 6f 6b 29 29 29 0a | ks.'projectile-find-dir-hook))). | 
| 26860 | 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a    28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c | .;;;###autoload.(defun.projectil | 
| 26880 | 65 2d 66 69 6e 64 2d 64 69 72 20 28 26 6f 70 74    69 6f 6e 61 6c 20 69 6e 76 61 6c 69 64 61 74 65 | e-find-dir.(&optional.invalidate | 
| 268a0 | 2d 63 61 63 68 65 29 0a 20 20 22 4a 75 6d 70 20    74 6f 20 61 20 70 72 6f 6a 65 63 74 27 73 20 64 | -cache)..."Jump.to.a.project's.d | 
| 268c0 | 69 72 65 63 74 6f 72 79 20 75 73 69 6e 67 20 63    6f 6d 70 6c 65 74 69 6f 6e 2e 0a 0a 57 69 74 68 | irectory.using.completion...With | 
| 268e0 | 20 61 20 70 72 65 66 69 78 20 61 72 67 20 49 4e    56 41 4c 49 44 41 54 45 2d 43 41 43 48 45 20 69 | .a.prefix.arg.INVALIDATE-CACHE.i | 
| 26900 | 6e 76 61 6c 69 64 61 74 65 73 20 74 68 65 20 63    61 63 68 65 20 66 69 72 73 74 2e 22 0a 20 20 28 | nvalidates.the.cache.first."...( | 
| 26920 | 69 6e 74 65 72 61 63 74 69 76 65 20 22 50 22 29    0a 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 2d | interactive."P")...(projectile-- | 
| 26940 | 66 69 6e 64 2d 64 69 72 20 69 6e 76 61 6c 69 64    61 74 65 2d 63 61 63 68 65 29 29 0a 0a 3b 3b 3b | find-dir.invalidate-cache))..;;; | 
| 26960 | 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66    75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 66 69 | ###autoload.(defun.projectile-fi | 
| 26980 | 6e 64 2d 64 69 72 2d 6f 74 68 65 72 2d 77 69 6e    64 6f 77 20 28 26 6f 70 74 69 6f 6e 61 6c 20 69 | nd-dir-other-window.(&optional.i | 
| 269a0 | 6e 76 61 6c 69 64 61 74 65 2d 63 61 63 68 65 29    0a 20 20 22 4a 75 6d 70 20 74 6f 20 61 20 70 72 | nvalidate-cache)..."Jump.to.a.pr | 
| 269c0 | 6f 6a 65 63 74 27 73 20 64 69 72 65 63 74 6f 72    79 20 69 6e 20 6f 74 68 65 72 20 77 69 6e 64 6f | oject's.directory.in.other.windo | 
| 269e0 | 77 20 75 73 69 6e 67 20 63 6f 6d 70 6c 65 74 69    6f 6e 2e 0a 0a 57 69 74 68 20 61 20 70 72 65 66 | w.using.completion...With.a.pref | 
| 26a00 | 69 78 20 61 72 67 20 49 4e 56 41 4c 49 44 41 54    45 2d 43 41 43 48 45 20 69 6e 76 61 6c 69 64 61 | ix.arg.INVALIDATE-CACHE.invalida | 
| 26a20 | 74 65 73 20 74 68 65 20 63 61 63 68 65 20 66 69    72 73 74 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 | tes.the.cache.first."...(interac | 
| 26a40 | 74 69 76 65 20 22 50 22 29 0a 20 20 28 70 72 6f    6a 65 63 74 69 6c 65 2d 2d 66 69 6e 64 2d 64 69 | tive."P")...(projectile--find-di | 
| 26a60 | 72 20 69 6e 76 61 6c 69 64 61 74 65 2d 63 61 63    68 65 20 23 27 64 69 72 65 64 2d 6f 74 68 65 72 | r.invalidate-cache.#'dired-other | 
| 26a80 | 2d 77 69 6e 64 6f 77 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 | -window))..;;;###autoload.(defun | 
| 26aa0 | 20 70 72 6f 6a 65 63 74 69 6c 65 2d 66 69 6e 64    2d 64 69 72 2d 6f 74 68 65 72 2d 66 72 61 6d 65 | .projectile-find-dir-other-frame | 
| 26ac0 | 20 28 26 6f 70 74 69 6f 6e 61 6c 20 69 6e 76 61    6c 69 64 61 74 65 2d 63 61 63 68 65 29 0a 20 20 | .(&optional.invalidate-cache)... | 
| 26ae0 | 22 4a 75 6d 70 20 74 6f 20 61 20 70 72 6f 6a 65    63 74 27 73 20 64 69 72 65 63 74 6f 72 79 20 69 | "Jump.to.a.project's.directory.i | 
| 26b00 | 6e 20 6f 74 68 65 72 20 66 72 61 6d 65 20 75 73    69 6e 67 20 63 6f 6d 70 6c 65 74 69 6f 6e 2e 0a | n.other.frame.using.completion.. | 
| 26b20 | 0a 57 69 74 68 20 61 20 70 72 65 66 69 78 20 61    72 67 20 49 4e 56 41 4c 49 44 41 54 45 2d 43 41 | .With.a.prefix.arg.INVALIDATE-CA | 
| 26b40 | 43 48 45 20 69 6e 76 61 6c 69 64 61 74 65 73 20    74 68 65 20 63 61 63 68 65 20 66 69 72 73 74 2e | CHE.invalidates.the.cache.first. | 
| 26b60 | 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65    20 22 50 22 29 0a 20 20 28 70 72 6f 6a 65 63 74 | "...(interactive."P")...(project | 
| 26b80 | 69 6c 65 2d 2d 66 69 6e 64 2d 64 69 72 20 69 6e    76 61 6c 69 64 61 74 65 2d 63 61 63 68 65 20 23 | ile--find-dir.invalidate-cache.# | 
| 26ba0 | 27 64 69 72 65 64 2d 6f 74 68 65 72 2d 66 72 61    6d 65 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f | 'dired-other-frame))..(defun.pro | 
| 26bc0 | 6a 65 63 74 69 6c 65 2d 63 6f 6d 70 6c 65 74 65    2d 64 69 72 20 28 70 72 6f 6a 65 63 74 29 0a 20 | jectile-complete-dir.(project).. | 
| 26be0 | 20 28 6c 65 74 20 28 28 70 72 6f 6a 65 63 74 2d    64 69 72 73 20 28 70 72 6f 6a 65 63 74 69 6c 65 | .(let.((project-dirs.(projectile | 
| 26c00 | 2d 70 72 6f 6a 65 63 74 2d 64 69 72 73 20 70 72    6f 6a 65 63 74 29 29 29 0a 20 20 20 20 28 70 72 | -project-dirs.project))).....(pr | 
| 26c20 | 6f 6a 65 63 74 69 6c 65 2d 63 6f 6d 70 6c 65 74    69 6e 67 2d 72 65 61 64 0a 20 20 20 20 20 22 46 | ojectile-completing-read......"F | 
| 26c40 | 69 6e 64 20 64 69 72 3a 20 22 0a 20 20 20 20 20    28 69 66 20 70 72 6f 6a 65 63 74 69 6c 65 2d 66 | ind.dir:."......(if.projectile-f | 
| 26c60 | 69 6e 64 2d 64 69 72 2d 69 6e 63 6c 75 64 65 73    2d 74 6f 70 2d 6c 65 76 65 6c 0a 20 20 20 20 20 | ind-dir-includes-top-level...... | 
| 26c80 | 20 20 20 20 28 61 70 70 65 6e 64 20 27 28 22 2e    2f 22 29 20 70 72 6f 6a 65 63 74 2d 64 69 72 73 | ....(append.'("./").project-dirs | 
| 26ca0 | 29 0a 20 20 20 20 20 20 20 70 72 6f 6a 65 63 74    2d 64 69 72 73 29 29 29 29 0a 0a 3b 3b 3b 23 23 | )........project-dirs))))..;;;## | 
| 26cc0 | 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e    20 70 72 6f 6a 65 63 74 69 6c 65 2d 66 69 6e 64 | #autoload.(defun.projectile-find | 
| 26ce0 | 2d 74 65 73 74 2d 66 69 6c 65 20 28 26 6f 70 74    69 6f 6e 61 6c 20 69 6e 76 61 6c 69 64 61 74 65 | -test-file.(&optional.invalidate | 
| 26d00 | 2d 63 61 63 68 65 29 0a 20 20 22 4a 75 6d 70 20    74 6f 20 61 20 70 72 6f 6a 65 63 74 27 73 20 74 | -cache)..."Jump.to.a.project's.t | 
| 26d20 | 65 73 74 20 66 69 6c 65 20 75 73 69 6e 67 20 63    6f 6d 70 6c 65 74 69 6f 6e 2e 0a 0a 57 69 74 68 | est.file.using.completion...With | 
| 26d40 | 20 61 20 70 72 65 66 69 78 20 61 72 67 20 49 4e    56 41 4c 49 44 41 54 45 2d 43 41 43 48 45 20 69 | .a.prefix.arg.INVALIDATE-CACHE.i | 
| 26d60 | 6e 76 61 6c 69 64 61 74 65 73 20 74 68 65 20 63    61 63 68 65 20 66 69 72 73 74 2e 22 0a 20 20 28 | nvalidates.the.cache.first."...( | 
| 26d80 | 69 6e 74 65 72 61 63 74 69 76 65 20 22 50 22 29    0a 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 6d | interactive."P")...(projectile-m | 
| 26da0 | 61 79 62 65 2d 69 6e 76 61 6c 69 64 61 74 65 2d    63 61 63 68 65 20 69 6e 76 61 6c 69 64 61 74 65 | aybe-invalidate-cache.invalidate | 
| 26dc0 | 2d 63 61 63 68 65 29 0a 20 20 28 6c 65 74 20 28    28 66 69 6c 65 20 28 70 72 6f 6a 65 63 74 69 6c | -cache)...(let.((file.(projectil | 
| 26de0 | 65 2d 63 6f 6d 70 6c 65 74 69 6e 67 2d 72 65 61    64 20 22 46 69 6e 64 20 74 65 73 74 20 66 69 6c | e-completing-read."Find.test.fil | 
| 26e00 | 65 3a 20 22 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | e:."............................ | 
| 26e20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    70 72 6f 6a 65 63 74 69 6c 65 2d 63 75 72 72 65 | ...............(projectile-curre | 
| 26e40 | 6e 74 2d 70 72 6f 6a 65 63 74 2d 74 65 73 74 2d    66 69 6c 65 73 29 29 29 29 0a 20 20 20 20 28 66 | nt-project-test-files)))).....(f | 
| 26e60 | 69 6e 64 2d 66 69 6c 65 20 28 65 78 70 61 6e 64    2d 66 69 6c 65 2d 6e 61 6d 65 20 66 69 6c 65 20 | ind-file.(expand-file-name.file. | 
| 26e80 | 28 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a    65 63 74 2d 72 6f 6f 74 29 29 29 29 29 0a 0a 28 | (projectile-project-root)))))..( | 
| 26ea0 | 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65    2d 74 65 73 74 2d 66 69 6c 65 73 20 28 66 69 6c | defun.projectile-test-files.(fil | 
| 26ec0 | 65 73 29 0a 20 20 22 52 65 74 75 72 6e 20 6f 6e    6c 79 20 74 68 65 20 74 65 73 74 20 46 49 4c 45 | es)..."Return.only.the.test.FILE | 
| 26ee0 | 53 2e 22 0a 20 20 28 63 6c 2d 72 65 6d 6f 76 65    2d 69 66 2d 6e 6f 74 20 27 70 72 6f 6a 65 63 74 | S."...(cl-remove-if-not.'project | 
| 26f00 | 69 6c 65 2d 74 65 73 74 2d 66 69 6c 65 2d 70 20    66 69 6c 65 73 29 29 0a 0a 28 64 65 66 75 6e 20 | ile-test-file-p.files))..(defun. | 
| 26f20 | 70 72 6f 6a 65 63 74 69 6c 65 2d 2d 6d 65 72 67    65 2d 72 65 6c 61 74 65 64 2d 66 69 6c 65 73 2d | projectile--merge-related-files- | 
| 26f40 | 66 6e 73 20 28 72 65 6c 61 74 65 64 2d 66 69 6c    65 73 2d 66 6e 73 29 0a 20 20 22 4d 65 72 67 65 | fns.(related-files-fns)..."Merge | 
| 26f60 | 20 6d 75 6c 74 69 70 6c 65 20 52 45 4c 41 54 45    44 2d 46 49 4c 45 53 2d 46 4e 53 20 69 6e 74 6f | .multiple.RELATED-FILES-FNS.into | 
| 26f80 | 20 6f 6e 65 20 66 75 6e 63 74 69 6f 6e 2e 22 0a    20 20 28 6c 61 6d 62 64 61 20 28 70 61 74 68 29 | .one.function."...(lambda.(path) | 
| 26fa0 | 0a 20 20 20 20 28 6c 65 74 20 28 6d 65 72 67 65    64 2d 70 6c 69 73 74 29 0a 20 20 20 20 20 20 28 | .....(let.(merged-plist).......( | 
| 26fc0 | 64 6f 6c 69 73 74 20 28 66 6e 20 72 65 6c 61 74    65 64 2d 66 69 6c 65 73 2d 66 6e 73 20 6d 65 72 | dolist.(fn.related-files-fns.mer | 
| 26fe0 | 67 65 64 2d 70 6c 69 73 74 29 0a 20 20 20 20 20    20 20 20 28 6c 65 74 20 28 28 70 6c 69 73 74 20 | ged-plist).........(let.((plist. | 
| 27000 | 28 66 75 6e 63 61 6c 6c 20 66 6e 20 70 61 74 68    29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 63 | (funcall.fn.path)))...........(c | 
| 27020 | 6c 2d 6c 6f 6f 70 20 66 6f 72 20 28 6b 65 79 20    76 61 6c 75 65 29 20 6f 6e 20 70 6c 69 73 74 20 | l-loop.for.(key.value).on.plist. | 
| 27040 | 62 79 20 23 27 63 64 64 72 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 20 | by.#'cddr....................do. | 
| 27060 | 28 6c 65 74 20 28 28 76 61 6c 75 65 73 20 28 69    66 20 28 63 6f 6e 73 70 20 76 61 6c 75 65 29 20 | (let.((values.(if.(consp.value). | 
| 27080 | 76 61 6c 75 65 20 28 6c 69 73 74 20 76 61 6c 75    65 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 | value.(list.value))))........... | 
| 270a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69    66 20 28 70 6c 69 73 74 2d 6d 65 6d 62 65 72 20 | ..............(if.(plist-member. | 
| 270c0 | 6d 65 72 67 65 64 2d 70 6c 69 73 74 20 6b 65 79    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | merged-plist.key)............... | 
| 270e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e    63 6f 6e 63 20 28 70 6c 69 73 74 2d 67 65 74 20 | ..............(nconc.(plist-get. | 
| 27100 | 6d 65 72 67 65 64 2d 70 6c 69 73 74 20 6b 65 79    29 20 76 61 6c 75 65 73 29 0a 20 20 20 20 20 20 | merged-plist.key).values)....... | 
| 27120 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 73 65 74 71 20 6d 65 72 67 65 64 | ....................(setq.merged | 
| 27140 | 2d 70 6c 69 73 74 20 28 70 6c 69 73 74 2d 70 75    74 20 6d 65 72 67 65 64 2d 70 6c 69 73 74 20 6b | -plist.(plist-put.merged-plist.k | 
| 27160 | 65 79 20 76 61 6c 75 65 73 29 29 29 29 29 29 29    29 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a | ey.values))))))))))..(defun.proj | 
| 27180 | 65 63 74 69 6c 65 2d 2d 72 65 6c 61 74 65 64 2d    66 69 6c 65 73 2d 70 6c 69 73 74 20 28 70 72 6f | ectile--related-files-plist.(pro | 
| 271a0 | 6a 65 63 74 2d 72 6f 6f 74 20 66 69 6c 65 29 0a    20 20 22 52 65 74 75 72 6e 20 61 20 70 6c 69 73 | ject-root.file)..."Return.a.plis | 
| 271c0 | 74 20 63 6f 6e 74 61 69 6e 69 6e 67 20 61 6c 6c    20 72 65 6c 61 74 65 64 20 66 69 6c 65 73 20 69 | t.containing.all.related.files.i | 
| 271e0 | 6e 66 6f 72 6d 61 74 69 6f 6e 20 66 6f 72 20 46    49 4c 45 2e 0a 50 52 4f 4a 45 43 54 2d 52 4f 4f | nformation.for.FILE..PROJECT-ROO | 
| 27200 | 54 20 69 73 20 74 68 65 20 70 72 6f 6a 65 63 74    20 72 6f 6f 74 2e 22 0a 20 20 28 69 66 2d 6c 65 | T.is.the.project.root."...(if-le | 
| 27220 | 74 20 28 28 72 65 6c 2d 70 61 74 68 20 28 69 66    20 28 66 69 6c 65 2d 6e 61 6d 65 2d 61 62 73 6f | t.((rel-path.(if.(file-name-abso | 
| 27240 | 6c 75 74 65 2d 70 20 66 69 6c 65 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | lute-p.file).................... | 
| 27260 | 20 20 20 20 20 20 28 66 69 6c 65 2d 72 65 6c 61    74 69 76 65 2d 6e 61 6d 65 20 66 69 6c 65 20 70 | ......(file-relative-name.file.p | 
| 27280 | 72 6f 6a 65 63 74 2d 72 6f 6f 74 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | roject-root).................... | 
| 272a0 | 20 20 20 20 66 69 6c 65 29 29 0a 20 20 20 20 20    20 20 20 20 20 20 28 63 75 73 74 6f 6d 2d 66 75 | ....file))............(custom-fu | 
| 272c0 | 6e 63 74 69 6f 6e 20 28 66 75 6e 63 61 6c 6c 20    70 72 6f 6a 65 63 74 69 6c 65 2d 72 65 6c 61 74 | nction.(funcall.projectile-relat | 
| 272e0 | 65 64 2d 66 69 6c 65 73 2d 66 6e 2d 66 75 6e 63    74 69 6f 6e 20 28 70 72 6f 6a 65 63 74 69 6c 65 | ed-files-fn-function.(projectile | 
| 27300 | 2d 70 72 6f 6a 65 63 74 2d 74 79 70 65 29 29 29    29 0a 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c | -project-type)))).......(funcall | 
| 27320 | 20 28 63 6f 6e 64 20 28 28 66 75 6e 63 74 69 6f    6e 70 20 63 75 73 74 6f 6d 2d 66 75 6e 63 74 69 | .(cond.((functionp.custom-functi | 
| 27340 | 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 63 75 73 74 6f 6d | on).......................custom | 
| 27360 | 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 20 20 | -function)...................... | 
| 27380 | 28 28 63 6f 6e 73 70 20 63 75 73 74 6f 6d 2d 66    75 6e 63 74 69 6f 6e 29 0a 20 20 20 20 20 20 20 | ((consp.custom-function)........ | 
| 273a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    70 72 6f 6a 65 63 74 69 6c 65 2d 2d 6d 65 72 67 | ...............(projectile--merg | 
| 273c0 | 65 2d 72 65 6c 61 74 65 64 2d 66 69 6c 65 73 2d    66 6e 73 20 63 75 73 74 6f 6d 2d 66 75 6e 63 74 | e-related-files-fns.custom-funct | 
| 273e0 | 69 6f 6e 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 0a 20 20 | ion))......................(t... | 
| 27400 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 65 72 72 6f 72 20 22 55 6e 73 75 | ....................(error."Unsu | 
| 27420 | 70 70 6f 72 74 65 64 20 76 61 6c 75 65 20 74 79    70 65 20 6f 66 20 3a 72 65 6c 61 74 65 64 2d 66 | pported.value.type.of.:related-f | 
| 27440 | 69 6c 65 73 2d 66 6e 22 29 29 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 72 65 6c 2d 70 | iles-fn")))................rel-p | 
| 27460 | 61 74 68 29 29 29 0a 0a 28 64 65 66 75 6e 20 70    72 6f 6a 65 63 74 69 6c 65 2d 2d 72 65 6c 61 74 | ath)))..(defun.projectile--relat | 
| 27480 | 65 64 2d 66 69 6c 65 73 2d 70 6c 69 73 74 2d 62    79 2d 6b 69 6e 64 20 28 66 69 6c 65 20 6b 69 6e | ed-files-plist-by-kind.(file.kin | 
| 274a0 | 64 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 70    6c 69 73 74 20 63 6f 6e 74 61 69 6e 69 6e 67 20 | d)..."Return.a.plist.containing. | 
| 274c0 | 3a 70 61 74 68 73 20 61 6e 64 2f 6f 72 20 3a 70    72 65 64 69 63 61 74 65 20 6f 66 20 4b 49 4e 44 | :paths.and/or.:predicate.of.KIND | 
| 274e0 | 20 66 6f 72 20 46 49 4c 45 2e 22 0a 20 20 28 69    66 2d 6c 65 74 20 28 28 70 72 6f 6a 65 63 74 2d | .for.FILE."...(if-let.((project- | 
| 27500 | 72 6f 6f 74 20 28 70 72 6f 6a 65 63 74 69 6c 65    2d 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 29 29 0a | root.(projectile-project-root)). | 
| 27520 | 20 20 20 20 20 20 20 20 20 20 20 28 70 6c 69 73    74 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 2d 72 | ...........(plist.(projectile--r | 
| 27540 | 65 6c 61 74 65 64 2d 66 69 6c 65 73 2d 70 6c 69    73 74 20 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 20 | elated-files-plist.project-root. | 
| 27560 | 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20    20 20 28 68 61 73 2d 6b 69 6e 64 3f 20 28 70 6c | file))............(has-kind?.(pl | 
| 27580 | 69 73 74 2d 6d 65 6d 62 65 72 20 70 6c 69 73 74    20 6b 69 6e 64 29 29 29 0a 20 20 20 20 20 20 28 | ist-member.plist.kind))).......( | 
| 275a0 | 6c 65 74 2a 20 28 28 6b 69 6e 64 2d 76 61 6c 75    65 20 28 70 6c 69 73 74 2d 67 65 74 20 70 6c 69 | let*.((kind-value.(plist-get.pli | 
| 275c0 | 73 74 20 6b 69 6e 64 29 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 28 76 61 6c 75 65 73 20 28 | st.kind))..............(values.( | 
| 275e0 | 69 66 20 28 63 6c 2d 74 79 70 65 70 20 6b 69 6e    64 2d 76 61 6c 75 65 20 27 28 6f 72 20 73 74 72 | if.(cl-typep.kind-value.'(or.str | 
| 27600 | 69 6e 67 20 66 75 6e 63 74 69 6f 6e 29 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ing.function)).................. | 
| 27620 | 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 6b 69    6e 64 2d 76 61 6c 75 65 29 0a 20 20 20 20 20 20 | ........(list.kind-value)....... | 
| 27640 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 6b 69 6e 64 2d 76 61 6c 75 65 29 29 0a 20 20 | .................kind-value))... | 
| 27660 | 20 20 20 20 20 20 20 20 20 20 20 28 70 61 74 68    73 20 28 64 65 6c 65 74 65 2d 64 75 70 73 20 28 | ...........(paths.(delete-dups.( | 
| 27680 | 63 6c 2d 72 65 6d 6f 76 65 2d 69 66 2d 6e 6f 74    20 27 73 74 72 69 6e 67 70 20 76 61 6c 75 65 73 | cl-remove-if-not.'stringp.values | 
| 276a0 | 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 28 70 72 65 64 69 63 61 74 65 73 20 28 64 65 | )))..............(predicates.(de | 
| 276c0 | 6c 65 74 65 2d 64 75 70 73 20 28 63 6c 2d 72 65    6d 6f 76 65 2d 69 66 2d 6e 6f 74 20 27 66 75 6e | lete-dups.(cl-remove-if-not.'fun | 
| 276e0 | 63 74 69 6f 6e 70 20 76 61 6c 75 65 73 29 29 29    29 0a 20 20 20 20 20 20 20 20 28 61 70 70 65 6e | ctionp.values)))).........(appen | 
| 27700 | 64 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 4d 61    6b 65 20 73 75 72 65 20 74 68 61 74 20 3a 70 61 | d..........;;.Make.sure.that.:pa | 
| 27720 | 74 68 73 20 65 78 69 73 74 73 20 65 76 65 6e 20    77 69 74 68 20 6e 69 6c 20 69 66 20 74 68 65 72 | ths.exists.even.with.nil.if.ther | 
| 27740 | 65 20 69 73 20 6e 6f 20 70 72 65 64 69 63 61 74    65 73 0a 20 20 20 20 20 20 20 20 20 28 77 68 65 | e.is.no.predicates..........(whe | 
| 27760 | 6e 20 28 6f 72 20 70 61 74 68 73 20 28 6e 75 6c    6c 20 70 72 65 64 69 63 61 74 65 73 29 29 0a 20 | n.(or.paths.(null.predicates)).. | 
| 27780 | 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20    3a 70 61 74 68 73 20 28 63 6c 2d 72 65 6d 6f 76 | ..........(list.:paths.(cl-remov | 
| 277a0 | 65 2d 69 66 2d 6e 6f 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 | e-if-not........................ | 
| 277c0 | 20 20 28 6c 61 6d 62 64 61 20 28 66 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ..(lambda.(f)................... | 
| 277e0 | 20 20 20 20 20 20 20 20 20 28 70 72 6f 6a 65 63    74 69 6c 65 2d 66 69 6c 65 2d 65 78 69 73 74 73 | .........(projectile-file-exists | 
| 27800 | 2d 70 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 65    78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 2d | -p.(projectile-expand-file-name- | 
| 27820 | 77 69 6c 64 63 61 72 64 20 66 20 70 72 6f 6a 65    63 74 2d 72 6f 6f 74 29 29 29 0a 20 20 20 20 20 | wildcard.f.project-root)))...... | 
| 27840 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 70 61 74 68 73 29 29 29 0a 20 20 20 | ....................paths))).... | 
| 27860 | 20 20 20 20 20 20 28 77 68 65 6e 20 70 72 65 64    69 63 61 74 65 73 0a 20 20 20 20 20 20 20 20 20 | ......(when.predicates.......... | 
| 27880 | 20 20 28 6c 69 73 74 20 3a 70 72 65 64 69 63 61    74 65 20 28 69 66 20 28 3d 20 31 20 28 6c 65 6e | ..(list.:predicate.(if.(=.1.(len | 
| 278a0 | 67 74 68 20 70 72 65 64 69 63 61 74 65 73 29 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | gth.predicates))................ | 
| 278c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 63 61 72 20 70 72 65 64 69 63 61 74 65 73 | .................(car.predicates | 
| 278e0 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | )............................... | 
| 27900 | 28 6c 61 6d 62 64 61 20 28 6f 74 68 65 72 2d 66    69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 | (lambda.(other-file)............ | 
| 27920 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 63 6c 2d 73 6f 6d 65 20 28 6c | .....................(cl-some.(l | 
| 27940 | 61 6d 62 64 61 20 28 70 72 65 64 69 63 61 74 65    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ambda.(predicate)............... | 
| 27960 | 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 66 75 | .............................(fu | 
| 27980 | 6e 63 61 6c 6c 20 70 72 65 64 69 63 61 74 65 20    6f 74 68 65 72 2d 66 69 6c 65 29 29 0a 20 20 20 | ncall.predicate.other-file)).... | 
| 279a0 | 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 | ................................ | 
| 279c0 | 20 20 20 20 20 20 70 72 65 64 69 63 61 74 65 73    29 29 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 | ......predicates)))))))))..(defu | 
| 279e0 | 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 2d 72 65    6c 61 74 65 64 2d 66 69 6c 65 73 2d 66 72 6f 6d | n.projectile--related-files-from | 
| 27a00 | 2d 70 6c 69 73 74 20 28 70 6c 69 73 74 29 0a 20    20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 | -plist.(plist)..."Return.a.list. | 
| 27a20 | 6f 66 20 66 69 6c 65 73 20 6d 61 74 63 68 69 6e    67 20 74 6f 20 50 4c 49 53 54 20 66 72 6f 6d 20 | of.files.matching.to.PLIST.from. | 
| 27a40 | 63 75 72 72 65 6e 74 20 70 72 6f 6a 65 63 74 20    66 69 6c 65 73 2e 22 0a 20 20 28 6c 65 74 2a 20 | current.project.files."...(let*. | 
| 27a60 | 28 28 70 72 65 64 69 63 61 74 65 20 28 70 6c 69    73 74 2d 67 65 74 20 70 6c 69 73 74 20 3a 70 72 | ((predicate.(plist-get.plist.:pr | 
| 27a80 | 65 64 69 63 61 74 65 29 29 0a 20 20 20 20 20 20    20 20 20 28 70 61 74 68 73 20 28 70 6c 69 73 74 | edicate))..........(paths.(plist | 
| 27aa0 | 2d 67 65 74 20 70 6c 69 73 74 20 3a 70 61 74 68    73 29 29 29 0a 20 20 20 20 28 64 65 6c 65 74 65 | -get.plist.:paths))).....(delete | 
| 27ac0 | 2d 64 75 70 73 20 28 61 70 70 65 6e 64 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | -dups.(append................... | 
| 27ae0 | 70 61 74 68 73 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 28 77 68 65 6e 20 70 72 | paths...................(when.pr | 
| 27b00 | 65 64 69 63 61 74 65 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d | edicate.....................(cl- | 
| 27b20 | 72 65 6d 6f 76 65 2d 69 66 2d 6e 6f 74 20 70 72    65 64 69 63 61 74 65 20 28 70 72 6f 6a 65 63 74 | remove-if-not.predicate.(project | 
| 27b40 | 69 6c 65 2d 63 75 72 72 65 6e 74 2d 70 72 6f 6a    65 63 74 2d 66 69 6c 65 73 29 29 29 29 29 29 29 | ile-current-project-files))))))) | 
| 27b60 | 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74    69 6c 65 2d 2d 72 65 6c 61 74 65 64 2d 66 69 6c | ..(defun.projectile--related-fil | 
| 27b80 | 65 73 2d 6b 69 6e 64 73 28 66 69 6c 65 29 0a 20    20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 | es-kinds(file)..."Return.a.list. | 
| 27ba0 | 6f 20 6b 65 79 77 6f 72 64 73 20 6d 65 61 6e 69    6e 67 20 61 76 61 69 6c 61 62 6c 65 20 72 65 6c | o.keywords.meaning.available.rel | 
| 27bc0 | 61 74 65 64 20 6b 69 6e 64 73 20 66 6f 72 20 46    49 4c 45 2e 22 0a 20 20 28 69 66 2d 6c 65 74 20 | ated.kinds.for.FILE."...(if-let. | 
| 27be0 | 28 28 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 20 28    70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 | ((project-root.(projectile-proje | 
| 27c00 | 63 74 2d 72 6f 6f 74 29 29 0a 20 20 20 20 20 20    20 20 20 20 20 28 70 6c 69 73 74 20 28 70 72 6f | ct-root))............(plist.(pro | 
| 27c20 | 6a 65 63 74 69 6c 65 2d 2d 72 65 6c 61 74 65 64    2d 66 69 6c 65 73 2d 70 6c 69 73 74 20 70 72 6f | jectile--related-files-plist.pro | 
| 27c40 | 6a 65 63 74 2d 72 6f 6f 74 20 66 69 6c 65 29 29    29 0a 20 20 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 | ject-root.file))).......(cl-loop | 
| 27c60 | 20 66 6f 72 20 6b 65 79 20 69 6e 20 70 6c 69 73    74 20 62 79 20 23 27 63 64 64 72 0a 20 20 20 20 | .for.key.in.plist.by.#'cddr..... | 
| 27c80 | 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6c 65    63 74 20 6b 65 79 29 29 29 0a 0a 28 64 65 66 75 | ...........collect.key)))..(defu | 
| 27ca0 | 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 2d 72 65    6c 61 74 65 64 2d 66 69 6c 65 73 20 28 66 69 6c | n.projectile--related-files.(fil | 
| 27cc0 | 65 20 6b 69 6e 64 29 0a 20 20 22 52 65 74 75 72    6e 20 61 20 6c 69 73 74 20 6f 66 20 72 65 6c 61 | e.kind)..."Return.a.list.of.rela | 
| 27ce0 | 74 65 64 20 66 69 6c 65 73 20 6f 66 20 4b 49 4e    44 20 66 6f 72 20 46 49 4c 45 2e 22 0a 20 20 28 | ted.files.of.KIND.for.FILE."...( | 
| 27d00 | 70 72 6f 6a 65 63 74 69 6c 65 2d 2d 72 65 6c 61    74 65 64 2d 66 69 6c 65 73 2d 66 72 6f 6d 2d 70 | projectile--related-files-from-p | 
| 27d20 | 6c 69 73 74 20 28 70 72 6f 6a 65 63 74 69 6c 65    2d 2d 72 65 6c 61 74 65 64 2d 66 69 6c 65 73 2d | list.(projectile--related-files- | 
| 27d40 | 70 6c 69 73 74 2d 62 79 2d 6b 69 6e 64 20 66 69    6c 65 20 6b 69 6e 64 29 29 29 0a 0a 28 64 65 66 | plist-by-kind.file.kind)))..(def | 
| 27d60 | 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 2d 66    69 6e 64 2d 72 65 6c 61 74 65 64 2d 66 69 6c 65 | un.projectile--find-related-file | 
| 27d80 | 20 28 66 69 6c 65 20 26 6f 70 74 69 6f 6e 61 6c    20 6b 69 6e 64 29 0a 20 20 22 43 68 6f 6f 73 65 | .(file.&optional.kind)..."Choose | 
| 27da0 | 20 61 20 66 69 6c 65 20 66 72 6f 6d 20 66 69 6c    65 73 20 72 65 6c 61 74 65 64 20 74 6f 20 46 49 | .a.file.from.files.related.to.FI | 
| 27dc0 | 4c 45 20 61 73 20 4b 49 4e 44 2e 0a 49 66 20 4b    49 4e 44 20 69 73 20 6e 6f 74 20 70 72 6f 76 69 | LE.as.KIND..If.KIND.is.not.provi | 
| 27de0 | 64 65 64 2c 20 61 20 6c 69 73 74 20 6f 66 20 70    6f 73 73 69 62 6c 65 20 6b 69 6e 64 73 20 63 61 | ded,.a.list.of.possible.kinds.ca | 
| 27e00 | 6e 20 62 65 20 63 68 6f 73 65 6e 2e 22 0a 20 20    28 75 6e 6c 65 73 73 20 6b 69 6e 64 0a 20 20 20 | n.be.chosen."...(unless.kind.... | 
| 27e20 | 20 28 69 66 2d 6c 65 74 20 28 28 61 76 61 69 6c    61 62 6c 65 2d 6b 69 6e 64 73 20 28 70 72 6f 6a | .(if-let.((available-kinds.(proj | 
| 27e40 | 65 63 74 69 6c 65 2d 2d 72 65 6c 61 74 65 64 2d    66 69 6c 65 73 2d 6b 69 6e 64 73 20 66 69 6c 65 | ectile--related-files-kinds.file | 
| 27e60 | 29 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74    71 20 6b 69 6e 64 20 28 69 66 20 28 3d 20 28 6c | ))).........(setq.kind.(if.(=.(l | 
| 27e80 | 65 6e 67 74 68 20 61 76 61 69 6c 61 62 6c 65 2d    6b 69 6e 64 73 29 20 31 29 0a 20 20 20 20 20 20 | ength.available-kinds).1)....... | 
| 27ea0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 63 61 72 20 61 76 61 69 6c 61 62 6c 65 2d | .................(car.available- | 
| 27ec0 | 6b 69 6e 64 73 29 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 74 | kinds)......................(int | 
| 27ee0 | 65 72 6e 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d    63 6f 6d 70 6c 65 74 69 6e 67 2d 72 65 61 64 20 | ern.(projectile-completing-read. | 
| 27f00 | 22 4b 69 6e 64 20 3a 22 20 61 76 61 69 6c 61 62    6c 65 2d 6b 69 6e 64 73 29 29 29 29 0a 20 20 20 | "Kind.:".available-kinds)))).... | 
| 27f20 | 20 20 20 28 65 72 72 6f 72 20 22 4e 6f 20 72 65    6c 61 74 65 64 20 66 69 6c 65 73 20 66 6f 75 6e | ...(error."No.related.files.foun | 
| 27f40 | 64 22 29 29 29 0a 0a 20 20 28 69 66 2d 6c 65 74    20 28 28 63 61 6e 64 69 64 61 74 65 73 20 28 70 | d")))....(if-let.((candidates.(p | 
| 27f60 | 72 6f 6a 65 63 74 69 6c 65 2d 2d 72 65 6c 61 74    65 64 2d 66 69 6c 65 73 20 66 69 6c 65 20 6b 69 | rojectile--related-files.file.ki | 
| 27f80 | 6e 64 29 29 29 0a 20 20 20 20 20 20 28 70 72 6f    6a 65 63 74 69 6c 65 2d 65 78 70 61 6e 64 2d 72 | nd))).......(projectile-expand-r | 
| 27fa0 | 6f 6f 74 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d    2d 63 68 6f 6f 73 65 2d 66 72 6f 6d 2d 63 61 6e | oot.(projectile--choose-from-can | 
| 27fc0 | 64 69 64 61 74 65 73 20 63 61 6e 64 69 64 61 74    65 73 29 29 0a 20 20 20 20 28 65 72 72 6f 72 0a | didates.candidates)).....(error. | 
| 27fe0 | 20 20 20 20 20 22 4e 6f 20 6d 61 74 63 68 69 6e    67 20 72 65 6c 61 74 65 64 20 66 69 6c 65 20 61 | ....."No.matching.related.file.a | 
| 28000 | 73 20 60 25 73 27 20 66 6f 75 6e 64 20 66 6f 72    20 70 72 6f 6a 65 63 74 20 74 79 70 65 20 60 25 | s.`%s'.found.for.project.type.`% | 
| 28020 | 73 27 22 0a 20 20 20 20 20 6b 69 6e 64 20 28 70    72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 | s'"......kind.(projectile-projec | 
| 28040 | 74 2d 74 79 70 65 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 75 | t-type))))..;;;###autoload.(defu | 
| 28060 | 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 66 69 6e    64 2d 72 65 6c 61 74 65 64 2d 66 69 6c 65 2d 6f | n.projectile-find-related-file-o | 
| 28080 | 74 68 65 72 2d 77 69 6e 64 6f 77 20 28 29 0a 20    20 22 4f 70 65 6e 20 72 65 6c 61 74 65 64 20 66 | ther-window.()..."Open.related.f | 
| 280a0 | 69 6c 65 20 69 6e 20 6f 74 68 65 72 20 77 69 6e    64 6f 77 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 | ile.in.other.window."...(interac | 
| 280c0 | 74 69 76 65 29 0a 20 20 28 66 69 6e 64 2d 66 69    6c 65 2d 6f 74 68 65 72 2d 77 69 6e 64 6f 77 0a | tive)...(find-file-other-window. | 
| 280e0 | 20 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 2d    66 69 6e 64 2d 72 65 6c 61 74 65 64 2d 66 69 6c | ...(projectile--find-related-fil | 
| 28100 | 65 20 28 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e    61 6d 65 29 29 29 29 0a 0a 3b 3b 3b 23 23 23 61 | e.(buffer-file-name))))..;;;###a | 
| 28120 | 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 70    72 6f 6a 65 63 74 69 6c 65 2d 66 69 6e 64 2d 72 | utoload.(defun.projectile-find-r | 
| 28140 | 65 6c 61 74 65 64 2d 66 69 6c 65 2d 6f 74 68 65    72 2d 66 72 61 6d 65 20 28 29 0a 20 20 22 4f 70 | elated-file-other-frame.()..."Op | 
| 28160 | 65 6e 20 72 65 6c 61 74 65 64 20 66 69 6c 65 20    69 6e 20 6f 74 68 65 72 20 66 72 61 6d 65 2e 22 | en.related.file.in.other.frame." | 
| 28180 | 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29    0a 20 20 28 66 69 6e 64 2d 66 69 6c 65 2d 6f 74 | ...(interactive)...(find-file-ot | 
| 281a0 | 68 65 72 2d 66 72 61 6d 65 0a 20 20 20 28 70 72    6f 6a 65 63 74 69 6c 65 2d 2d 66 69 6e 64 2d 72 | her-frame....(projectile--find-r | 
| 281c0 | 65 6c 61 74 65 64 2d 66 69 6c 65 20 28 62 75 66    66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 29 29 29 | elated-file.(buffer-file-name))) | 
| 281e0 | 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 70 72 6f 6a 65 63 74 | )..;;;###autoload.(defun.project | 
| 28200 | 69 6c 65 2d 66 69 6e 64 2d 72 65 6c 61 74 65 64    2d 66 69 6c 65 28 29 0a 20 20 22 4f 70 65 6e 20 | ile-find-related-file()..."Open. | 
| 28220 | 72 65 6c 61 74 65 64 20 66 69 6c 65 2e 22 0a 20    20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 | related.file."...(interactive).. | 
| 28240 | 20 28 66 69 6e 64 2d 66 69 6c 65 0a 20 20 20 28    70 72 6f 6a 65 63 74 69 6c 65 2d 2d 66 69 6e 64 | .(find-file....(projectile--find | 
| 28260 | 2d 72 65 6c 61 74 65 64 2d 66 69 6c 65 20 28 62    75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 29 | -related-file.(buffer-file-name) | 
| 28280 | 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 70 72 6f 6a 65 | )))..;;;###autoload.(defun.proje | 
| 282a0 | 63 74 69 6c 65 2d 72 65 6c 61 74 65 64 2d 66 69    6c 65 73 2d 66 6e 2d 67 72 6f 75 70 73 28 6b 69 | ctile-related-files-fn-groups(ki | 
| 282c0 | 6e 64 20 67 72 6f 75 70 73 29 0a 20 20 22 47 65    6e 65 72 61 74 65 20 61 20 72 65 6c 61 74 65 64 | nd.groups)..."Generate.a.related | 
| 282e0 | 2d 66 69 6c 65 73 2d 66 6e 20 77 68 69 63 68 20    72 65 6c 61 74 65 73 20 61 73 20 4b 49 4e 44 20 | -files-fn.which.relates.as.KIND. | 
| 28300 | 66 6f 72 20 66 69 6c 65 73 20 69 6e 20 65 61 63    68 20 6f 66 20 47 52 4f 55 50 53 2e 22 0a 20 20 | for.files.in.each.of.GROUPS."... | 
| 28320 | 28 6c 61 6d 62 64 61 20 28 70 61 74 68 29 0a 20    20 20 20 28 69 66 2d 6c 65 74 20 28 28 67 72 6f | (lambda.(path).....(if-let.((gro | 
| 28340 | 75 70 2d 66 6f 75 6e 64 20 28 63 6c 2d 66 69 6e    64 2d 69 66 20 28 6c 61 6d 62 64 61 20 28 67 72 | up-found.(cl-find-if.(lambda.(gr | 
| 28360 | 6f 75 70 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 | oup)............................ | 
| 28380 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 65    6d 62 65 72 20 70 61 74 68 20 67 72 6f 75 70 29 | .............(member.path.group) | 
| 283a0 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | )............................... | 
| 283c0 | 20 20 20 20 20 20 20 20 67 72 6f 75 70 73 29 29    29 0a 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 | ........groups))).........(list. | 
| 283e0 | 6b 69 6e 64 20 28 63 6c 2d 72 65 6d 6f 76 65 20    70 61 74 68 20 67 72 6f 75 70 2d 66 6f 75 6e 64 | kind.(cl-remove.path.group-found | 
| 28400 | 20 3a 74 65 73 74 20 27 65 71 75 61 6c 29 29 29    29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f | .:test.'equal)))))..;;;###autolo | 
| 28420 | 61 64 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63    74 69 6c 65 2d 72 65 6c 61 74 65 64 2d 66 69 6c | ad.(defun.projectile-related-fil | 
| 28440 | 65 73 2d 66 6e 2d 65 78 74 65 6e 73 69 6f 6e 73    28 6b 69 6e 64 20 65 78 74 65 6e 73 69 6f 6e 73 | es-fn-extensions(kind.extensions | 
| 28460 | 29 0a 20 20 22 47 65 6e 65 72 61 74 65 20 61 20    72 65 6c 61 74 65 64 2d 66 69 6c 65 73 2d 66 6e | )..."Generate.a.related-files-fn | 
| 28480 | 20 77 68 69 63 68 20 72 65 6c 61 74 65 73 20 61    73 20 4b 49 4e 44 20 66 6f 72 20 66 69 6c 65 73 | .which.relates.as.KIND.for.files | 
| 284a0 | 20 68 61 76 69 6e 67 20 45 58 54 45 4e 53 49 4f    4e 53 2e 22 0a 20 20 28 6c 61 6d 62 64 61 20 28 | .having.EXTENSIONS."...(lambda.( | 
| 284c0 | 70 61 74 68 29 0a 20 20 20 20 28 6c 65 74 2a 20    28 28 65 78 74 20 28 66 69 6c 65 2d 6e 61 6d 65 | path).....(let*.((ext.(file-name | 
| 284e0 | 2d 65 78 74 65 6e 73 69 6f 6e 20 70 61 74 68 29    29 0a 20 20 20 20 20 20 20 20 20 20 20 28 62 61 | -extension.path))............(ba | 
| 28500 | 73 65 6e 61 6d 65 20 28 66 69 6c 65 2d 6e 61 6d    65 2d 62 61 73 65 20 70 61 74 68 29 29 0a 20 20 | sename.(file-name-base.path))... | 
| 28520 | 20 20 20 20 20 20 20 20 20 28 62 61 73 65 6e 61    6d 65 2d 72 65 67 65 78 70 20 28 72 65 67 65 78 | .........(basename-regexp.(regex | 
| 28540 | 70 2d 71 75 6f 74 65 20 62 61 73 65 6e 61 6d 65    29 29 29 0a 20 20 20 20 20 20 28 77 68 65 6e 20 | p-quote.basename))).......(when. | 
| 28560 | 28 6d 65 6d 62 65 72 20 65 78 74 20 65 78 74 65    6e 73 69 6f 6e 73 29 0a 20 20 20 20 20 20 20 20 | (member.ext.extensions)......... | 
| 28580 | 28 6c 69 73 74 20 6b 69 6e 64 20 28 6c 61 6d 62    64 61 20 28 6f 74 68 65 72 2d 70 61 74 68 29 0a | (list.kind.(lambda.(other-path). | 
| 285a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 61 6e 64 20 28 73 74 72 69 6e | .....................(and.(strin | 
| 285c0 | 67 2d 6d 61 74 63 68 2d 70 20 62 61 73 65 6e 61    6d 65 2d 72 65 67 65 78 70 20 6f 74 68 65 72 2d | g-match-p.basename-regexp.other- | 
| 285e0 | 70 61 74 68 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 | path)........................... | 
| 28600 | 28 65 71 75 61 6c 20 62 61 73 65 6e 61 6d 65 20    28 66 69 6c 65 2d 6e 61 6d 65 2d 62 61 73 65 20 | (equal.basename.(file-name-base. | 
| 28620 | 6f 74 68 65 72 2d 70 61 74 68 29 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | other-path)).................... | 
| 28640 | 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6f 74    68 65 72 2d 65 78 74 20 28 66 69 6c 65 2d 6e 61 | .......(let.((other-ext.(file-na | 
| 28660 | 6d 65 2d 65 78 74 65 6e 73 69 6f 6e 20 6f 74 68    65 72 2d 70 61 74 68 29 29 29 0a 20 20 20 20 20 | me-extension.other-path)))...... | 
| 28680 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 28 61 6e 64 20 28 6d 65 6d | .......................(and.(mem | 
| 286a0 | 62 65 72 20 6f 74 68 65 72 2d 65 78 74 20 65 78    74 65 6e 73 69 6f 6e 73 29 0a 20 20 20 20 20 20 | ber.other-ext.extensions)....... | 
| 286c0 | 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 6e 6f 74 20 | ...........................(not. | 
| 286e0 | 28 65 71 75 61 6c 20 6f 74 68 65 72 2d 65 78 74    20 65 78 74 29 29 29 29 29 29 29 29 29 29 29 0a | (equal.other-ext.ext))))))))))). | 
| 28700 | 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a    28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c | .;;;###autoload.(defun.projectil | 
| 28720 | 65 2d 72 65 6c 61 74 65 64 2d 66 69 6c 65 73 2d    66 6e 2d 74 65 73 74 2d 77 69 74 68 2d 70 72 65 | e-related-files-fn-test-with-pre | 
| 28740 | 66 69 78 28 65 78 74 65 6e 73 69 6f 6e 20 74 65    73 74 2d 70 72 65 66 69 78 29 0a 20 20 22 47 65 | fix(extension.test-prefix)..."Ge | 
| 28760 | 6e 65 72 61 74 65 20 61 20 72 65 6c 61 74 65 64    2d 66 69 6c 65 73 2d 66 6e 20 77 68 69 63 68 20 | nerate.a.related-files-fn.which. | 
| 28780 | 72 65 6c 61 74 65 73 20 74 65 73 74 73 20 61 6e    64 20 69 6d 70 6c 2e 0a 55 73 65 20 66 69 6c 65 | relates.tests.and.impl..Use.file | 
| 287a0 | 73 20 77 69 74 68 20 45 58 54 45 4e 53 49 4f 4e    20 62 61 73 65 64 20 6f 6e 20 54 45 53 54 2d 50 | s.with.EXTENSION.based.on.TEST-P | 
| 287c0 | 52 45 46 49 58 2e 22 0a 20 20 28 6c 61 6d 62 64    61 20 28 70 61 74 68 29 0a 20 20 20 20 28 77 68 | REFIX."...(lambda.(path).....(wh | 
| 287e0 | 65 6e 20 28 65 71 75 61 6c 20 28 66 69 6c 65 2d    6e 61 6d 65 2d 65 78 74 65 6e 73 69 6f 6e 20 70 | en.(equal.(file-name-extension.p | 
| 28800 | 61 74 68 29 20 65 78 74 65 6e 73 69 6f 6e 29 0a    20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 66 69 | ath).extension).......(let*.((fi | 
| 28820 | 6c 65 2d 6e 61 6d 65 20 28 66 69 6c 65 2d 6e 61    6d 65 2d 6e 6f 6e 64 69 72 65 63 74 6f 72 79 20 | le-name.(file-name-nondirectory. | 
| 28840 | 70 61 74 68 29 29 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 28 66 69 6e 64 2d 69 6d 70 6c 3f 20 | path))..............(find-impl?. | 
| 28860 | 28 73 74 72 69 6e 67 2d 70 72 65 66 69 78 2d 70    20 74 65 73 74 2d 70 72 65 66 69 78 20 66 69 6c | (string-prefix-p.test-prefix.fil | 
| 28880 | 65 2d 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 28 66 69 6c 65 2d 6e 61 6d 65 | e-name))..............(file-name | 
| 288a0 | 2d 74 6f 2d 66 69 6e 64 20 28 69 66 20 66 69 6e    64 2d 69 6d 70 6c 3f 0a 20 20 20 20 20 20 20 20 | -to-find.(if.find-impl?......... | 
| 288c0 | 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 73 75 62 | ............................(sub | 
| 288e0 | 73 74 72 69 6e 67 20 66 69 6c 65 2d 6e 61 6d 65    20 28 6c 65 6e 67 74 68 20 74 65 73 74 2d 70 72 | string.file-name.(length.test-pr | 
| 28900 | 65 66 69 78 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 | efix)).......................... | 
| 28920 | 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74    20 74 65 73 74 2d 70 72 65 66 69 78 20 66 69 6c | .........(concat.test-prefix.fil | 
| 28940 | 65 2d 6e 61 6d 65 29 29 29 29 0a 20 20 20 20 20    20 20 20 28 6c 69 73 74 20 28 69 66 20 66 69 6e | e-name)))).........(list.(if.fin | 
| 28960 | 64 2d 69 6d 70 6c 3f 20 3a 69 6d 70 6c 20 3a 74    65 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 | d-impl?.:impl.:test)............ | 
| 28980 | 20 20 20 28 6c 61 6d 62 64 61 20 28 6f 74 68 65    72 2d 70 61 74 68 29 0a 20 20 20 20 20 20 20 20 | ...(lambda.(other-path)......... | 
| 289a0 | 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 73 74    72 69 6e 67 2d 73 75 66 66 69 78 2d 70 20 66 69 | ........(and.(string-suffix-p.fi | 
| 289c0 | 6c 65 2d 6e 61 6d 65 2d 74 6f 2d 66 69 6e 64 20    6f 74 68 65 72 2d 70 61 74 68 29 0a 20 20 20 20 | le-name-to-find.other-path)..... | 
| 289e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 65 71 75 61 6c 20 28 66 69 6c 65 2d 6e 61 | .................(equal.(file-na | 
| 28a00 | 6d 65 2d 6e 6f 6e 64 69 72 65 63 74 6f 72 79 20    6f 74 68 65 72 2d 70 61 74 68 29 20 66 69 6c 65 | me-nondirectory.other-path).file | 
| 28a20 | 2d 6e 61 6d 65 2d 74 6f 2d 66 69 6e 64 29 29 29    29 29 29 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 | -name-to-find))))))))..;;;###aut | 
| 28a40 | 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 70 72 6f    6a 65 63 74 69 6c 65 2d 72 65 6c 61 74 65 64 2d | oload.(defun.projectile-related- | 
| 28a60 | 66 69 6c 65 73 2d 66 6e 2d 74 65 73 74 2d 77 69    74 68 2d 73 75 66 66 69 78 28 65 78 74 65 6e 73 | files-fn-test-with-suffix(extens | 
| 28a80 | 69 6f 6e 20 74 65 73 74 2d 73 75 66 66 69 78 29    0a 20 20 22 47 65 6e 65 72 61 74 65 20 61 20 72 | ion.test-suffix)..."Generate.a.r | 
| 28aa0 | 65 6c 61 74 65 64 2d 66 69 6c 65 73 2d 66 6e 20    77 68 69 63 68 20 72 65 6c 61 74 65 73 20 74 65 | elated-files-fn.which.relates.te | 
| 28ac0 | 73 74 73 20 61 6e 64 20 69 6d 70 6c 2e 0a 55 73    65 20 66 69 6c 65 73 20 77 69 74 68 20 45 58 54 | sts.and.impl..Use.files.with.EXT | 
| 28ae0 | 45 4e 53 49 4f 4e 20 62 61 73 65 64 20 6f 6e 20    54 45 53 54 2d 53 55 46 46 49 58 2e 22 0a 20 20 | ENSION.based.on.TEST-SUFFIX."... | 
| 28b00 | 28 6c 61 6d 62 64 61 20 28 70 61 74 68 29 0a 20    20 20 20 28 77 68 65 6e 20 28 65 71 75 61 6c 20 | (lambda.(path).....(when.(equal. | 
| 28b20 | 28 66 69 6c 65 2d 6e 61 6d 65 2d 65 78 74 65 6e    73 69 6f 6e 20 70 61 74 68 29 20 65 78 74 65 6e | (file-name-extension.path).exten | 
| 28b40 | 73 69 6f 6e 29 0a 20 20 20 20 20 20 28 6c 65 74    2a 20 28 28 66 69 6c 65 2d 6e 61 6d 65 20 28 66 | sion).......(let*.((file-name.(f | 
| 28b60 | 69 6c 65 2d 6e 61 6d 65 2d 6e 6f 6e 64 69 72 65    63 74 6f 72 79 20 70 61 74 68 29 29 0a 20 20 20 | ile-name-nondirectory.path)).... | 
| 28b80 | 20 20 20 20 20 20 20 20 20 20 28 64 6f 74 2d 65    78 74 20 28 63 6f 6e 63 61 74 20 22 2e 22 20 65 | ..........(dot-ext.(concat.".".e | 
| 28ba0 | 78 74 65 6e 73 69 6f 6e 29 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 28 73 75 66 66 69 78 2d | xtension))..............(suffix- | 
| 28bc0 | 65 78 74 20 28 63 6f 6e 63 61 74 20 74 65 73 74    2d 73 75 66 66 69 78 20 64 6f 74 2d 65 78 74 29 | ext.(concat.test-suffix.dot-ext) | 
| 28be0 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28    66 69 6e 64 2d 69 6d 70 6c 3f 20 28 73 74 72 69 | )..............(find-impl?.(stri | 
| 28c00 | 6e 67 2d 73 75 66 66 69 78 2d 70 20 73 75 66 66    69 78 2d 65 78 74 20 66 69 6c 65 2d 6e 61 6d 65 | ng-suffix-p.suffix-ext.file-name | 
| 28c20 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    28 66 69 6c 65 2d 6e 61 6d 65 2d 74 6f 2d 66 69 | ))..............(file-name-to-fi | 
| 28c40 | 6e 64 20 28 69 66 20 66 69 6e 64 2d 69 6d 70 6c    3f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | nd.(if.find-impl?............... | 
| 28c60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 28 73 | ......................(concat.(s | 
| 28c80 | 75 62 73 74 72 69 6e 67 20 66 69 6c 65 2d 6e 61    6d 65 20 30 20 28 2d 20 28 6c 65 6e 67 74 68 20 | ubstring.file-name.0.(-.(length. | 
| 28ca0 | 73 75 66 66 69 78 2d 65 78 74 29 29 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | suffix-ext)))................... | 
| 28cc0 | 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 64 6f 74 2d 65 78 | ..........................dot-ex | 
| 28ce0 | 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 20 20 20 | t).............................. | 
| 28d00 | 20 20 20 20 20 28 63 6f 6e 63 61 74 20 28 73 75    62 73 74 72 69 6e 67 20 66 69 6c 65 2d 6e 61 6d | .....(concat.(substring.file-nam | 
| 28d20 | 65 20 30 20 28 2d 20 28 6c 65 6e 67 74 68 20 64    6f 74 2d 65 78 74 29 29 29 0a 20 20 20 20 20 20 | e.0.(-.(length.dot-ext)))....... | 
| 28d40 | 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 | ................................ | 
| 28d60 | 20 20 20 20 73 75 66 66 69 78 2d 65 78 74 29 29    29 29 0a 20 20 20 20 20 20 20 20 28 6c 69 73 74 | ....suffix-ext)))).........(list | 
| 28d80 | 20 28 69 66 20 66 69 6e 64 2d 69 6d 70 6c 3f 20    3a 69 6d 70 6c 20 3a 74 65 73 74 29 0a 20 20 20 | .(if.find-impl?.:impl.:test).... | 
| 28da0 | 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62    64 61 20 28 6f 74 68 65 72 2d 70 61 74 68 29 0a | ...........(lambda.(other-path). | 
| 28dc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 61 6e 64 20 28 73 74 72 69 6e 67 2d 73 75 66 | ................(and.(string-suf | 
| 28de0 | 66 69 78 2d 70 20 66 69 6c 65 2d 6e 61 6d 65 2d    74 6f 2d 66 69 6e 64 20 6f 74 68 65 72 2d 70 61 | fix-p.file-name-to-find.other-pa | 
| 28e00 | 74 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 28 65 71 75 61 6c 20 | th)......................(equal. | 
| 28e20 | 28 66 69 6c 65 2d 6e 61 6d 65 2d 6e 6f 6e 64 69    72 65 63 74 6f 72 79 20 6f 74 68 65 72 2d 70 61 | (file-name-nondirectory.other-pa | 
| 28e40 | 74 68 29 20 66 69 6c 65 2d 6e 61 6d 65 2d 74 6f    2d 66 69 6e 64 29 29 29 29 29 29 29 29 0a 0a 28 | th).file-name-to-find))))))))..( | 
| 28e60 | 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65    2d 74 65 73 74 2d 66 69 6c 65 2d 70 20 28 66 69 | defun.projectile-test-file-p.(fi | 
| 28e80 | 6c 65 29 0a 20 20 22 43 68 65 63 6b 20 69 66 20    46 49 4c 45 20 69 73 20 61 20 74 65 73 74 20 66 | le)..."Check.if.FILE.is.a.test.f | 
| 28ea0 | 69 6c 65 2e 22 0a 20 20 28 6c 65 74 20 28 28 6b    69 6e 64 73 20 28 70 72 6f 6a 65 63 74 69 6c 65 | ile."...(let.((kinds.(projectile | 
| 28ec0 | 2d 2d 72 65 6c 61 74 65 64 2d 66 69 6c 65 73 2d    6b 69 6e 64 73 20 66 69 6c 65 29 29 29 0a 20 20 | --related-files-kinds.file)))... | 
| 28ee0 | 20 20 28 63 6f 6e 64 20 28 28 6d 65 6d 62 65 72    20 3a 69 6d 70 6c 20 6b 69 6e 64 73 29 20 74 29 | ..(cond.((member.:impl.kinds).t) | 
| 28f00 | 0a 20 20 20 20 20 20 20 20 20 20 28 28 6d 65 6d    62 65 72 20 3a 74 65 73 74 20 6b 69 6e 64 73 29 | ...........((member.:test.kinds) | 
| 28f20 | 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20    28 74 20 28 6f 72 20 28 63 6c 2d 73 6f 6d 65 20 | .nil)...........(t.(or.(cl-some. | 
| 28f40 | 28 6c 61 6d 62 64 61 20 28 70 61 74 29 20 28 73    74 72 69 6e 67 2d 70 72 65 66 69 78 2d 70 20 70 | (lambda.(pat).(string-prefix-p.p | 
| 28f60 | 61 74 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 6e 6f    6e 64 69 72 65 63 74 6f 72 79 20 66 69 6c 65 29 | at.(file-name-nondirectory.file) | 
| 28f80 | 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 28 64 65 | ))...........................(de | 
| 28fa0 | 6c 71 20 6e 69 6c 20 28 6c 69 73 74 20 28 66 75    6e 63 61 6c 6c 20 70 72 6f 6a 65 63 74 69 6c 65 | lq.nil.(list.(funcall.projectile | 
| 28fc0 | 2d 74 65 73 74 2d 70 72 65 66 69 78 2d 66 75 6e    63 74 69 6f 6e 20 28 70 72 6f 6a 65 63 74 69 6c | -test-prefix-function.(projectil | 
| 28fe0 | 65 2d 70 72 6f 6a 65 63 74 2d 74 79 70 65 29 29    29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | e-project-type)))))............. | 
| 29000 | 20 20 20 20 20 28 63 6c 2d 73 6f 6d 65 20 28 6c    61 6d 62 64 61 20 28 70 61 74 29 20 28 73 74 72 | .....(cl-some.(lambda.(pat).(str | 
| 29020 | 69 6e 67 2d 73 75 66 66 69 78 2d 70 20 70 61 74    20 28 66 69 6c 65 2d 6e 61 6d 65 2d 73 61 6e 73 | ing-suffix-p.pat.(file-name-sans | 
| 29040 | 2d 65 78 74 65 6e 73 69 6f 6e 20 28 66 69 6c 65    2d 6e 61 6d 65 2d 6e 6f 6e 64 69 72 65 63 74 6f | -extension.(file-name-nondirecto | 
| 29060 | 72 79 20 66 69 6c 65 29 29 29 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ry.file))))..................... | 
| 29080 | 20 20 20 20 20 20 28 64 65 6c 71 20 6e 69 6c 20    28 6c 69 73 74 20 28 66 75 6e 63 61 6c 6c 20 70 | ......(delq.nil.(list.(funcall.p | 
| 290a0 | 72 6f 6a 65 63 74 69 6c 65 2d 74 65 73 74 2d 73    75 66 66 69 78 2d 66 75 6e 63 74 69 6f 6e 20 28 | rojectile-test-suffix-function.( | 
| 290c0 | 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65    63 74 2d 74 79 70 65 29 29 29 29 29 29 29 29 29 | projectile-project-type))))))))) | 
| 290e0 | 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63    74 69 6c 65 2d 63 75 72 72 65 6e 74 2d 70 72 6f | )..(defun.projectile-current-pro | 
| 29100 | 6a 65 63 74 2d 74 65 73 74 2d 66 69 6c 65 73 20    28 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c | ject-test-files.()..."Return.a.l | 
| 29120 | 69 73 74 20 6f 66 20 74 65 73 74 20 66 69 6c 65    73 20 66 6f 72 20 74 68 65 20 63 75 72 72 65 6e | ist.of.test.files.for.the.curren | 
| 29140 | 74 20 70 72 6f 6a 65 63 74 2e 22 0a 20 20 28 70    72 6f 6a 65 63 74 69 6c 65 2d 74 65 73 74 2d 66 | t.project."...(projectile-test-f | 
| 29160 | 69 6c 65 73 20 28 70 72 6f 6a 65 63 74 69 6c 65    2d 63 75 72 72 65 6e 74 2d 70 72 6f 6a 65 63 74 | iles.(projectile-current-project | 
| 29180 | 2d 66 69 6c 65 73 29 29 29 0a 0a 28 64 65 66 76    61 72 20 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 | -files)))..(defvar.projectile-pr | 
| 291a0 | 6f 6a 65 63 74 2d 74 79 70 65 73 20 6e 69 6c 0a    20 20 22 41 6e 20 61 6c 69 73 74 20 68 6f 6c 64 | oject-types.nil..."An.alist.hold | 
| 291c0 | 69 6e 67 20 61 6c 6c 20 70 72 6f 6a 65 63 74 20    74 79 70 65 73 20 74 68 61 74 20 61 72 65 20 6b | ing.all.project.types.that.are.k | 
| 291e0 | 6e 6f 77 6e 20 74 6f 20 50 72 6f 6a 65 63 74 69    6c 65 2e 0a 54 68 65 20 70 72 6f 6a 65 63 74 20 | nown.to.Projectile..The.project. | 
| 29200 | 74 79 70 65 73 20 61 72 65 20 73 79 6d 62 6f 6c    73 20 61 6e 64 20 74 68 65 79 20 61 72 65 20 6c | types.are.symbols.and.they.are.l | 
| 29220 | 69 6e 6b 65 64 20 74 6f 20 70 6c 69 73 74 73 20    68 6f 6c 64 69 6e 67 0a 74 68 65 20 70 72 6f 70 | inked.to.plists.holding.the.prop | 
| 29240 | 65 72 74 69 65 73 20 6f 66 20 74 68 65 20 76 61    72 69 6f 75 73 20 70 72 6f 6a 65 63 74 20 74 79 | erties.of.the.various.project.ty | 
| 29260 | 70 65 73 2e 22 29 0a 0a 28 64 65 66 75 6e 20 70    72 6f 6a 65 63 74 69 6c 65 2d 2d 63 6f 6d 62 69 | pes.")..(defun.projectile--combi | 
| 29280 | 6e 65 2d 70 6c 69 73 74 73 20 28 26 72 65 73 74    20 70 6c 69 73 74 73 29 0a 20 20 22 43 72 65 61 | ne-plists.(&rest.plists)..."Crea | 
| 292a0 | 74 65 20 61 20 73 69 6e 67 6c 65 20 70 72 6f 70    65 72 74 79 20 6c 69 73 74 20 66 72 6f 6d 20 61 | te.a.single.property.list.from.a | 
| 292c0 | 6c 6c 20 70 6c 69 73 74 73 20 69 6e 20 50 4c 49    53 54 53 2e 0a 54 68 65 20 70 72 6f 63 65 73 73 | ll.plists.in.PLISTS..The.process | 
| 292e0 | 20 73 74 61 72 74 73 20 62 79 20 63 6f 70 79 69    6e 67 20 74 68 65 20 66 69 72 73 74 20 6c 69 73 | .starts.by.copying.the.first.lis | 
| 29300 | 74 2c 20 61 6e 64 20 74 68 65 6e 20 73 65 74 74    69 6e 67 20 70 72 6f 70 65 72 74 69 65 73 0a 66 | t,.and.then.setting.properties.f | 
| 29320 | 72 6f 6d 20 74 68 65 20 6f 74 68 65 72 20 6c 69    73 74 73 2e 20 20 53 65 74 74 69 6e 67 73 20 69 | rom.the.other.lists...Settings.i | 
| 29340 | 6e 20 74 68 65 20 6c 61 73 74 20 6c 69 73 74 20    61 72 65 20 74 68 65 20 6d 6f 73 74 20 73 69 67 | n.the.last.list.are.the.most.sig | 
| 29360 | 6e 69 66 69 63 61 6e 74 0a 6f 6e 65 73 20 61 6e    64 20 6f 76 65 72 72 75 6c 65 20 73 65 74 74 69 | nificant.ones.and.overrule.setti | 
| 29380 | 6e 67 73 20 69 6e 20 74 68 65 20 6f 74 68 65 72    20 6c 69 73 74 73 2e 22 0a 20 20 28 6c 65 74 20 | ngs.in.the.other.lists."...(let. | 
| 293a0 | 28 28 72 74 6e 20 28 63 6f 70 79 2d 73 65 71 75    65 6e 63 65 20 28 70 6f 70 20 70 6c 69 73 74 73 | ((rtn.(copy-sequence.(pop.plists | 
| 293c0 | 29 29 29 0a 20 20 20 20 20 20 20 20 70 20 76 20    6c 73 29 0a 20 20 20 20 28 77 68 69 6c 65 20 70 | ))).........p.v.ls).....(while.p | 
| 293e0 | 6c 69 73 74 73 0a 20 20 20 20 20 20 28 73 65 74    71 20 6c 73 20 28 70 6f 70 20 70 6c 69 73 74 73 | lists.......(setq.ls.(pop.plists | 
| 29400 | 29 29 0a 20 20 20 20 20 20 28 77 68 69 6c 65 20    6c 73 0a 09 28 73 65 74 71 20 70 20 28 70 6f 70 | )).......(while.ls..(setq.p.(pop | 
| 29420 | 20 6c 73 29 20 76 20 28 70 6f 70 20 6c 73 29 29    0a 09 28 73 65 74 71 20 72 74 6e 20 28 70 6c 69 | .ls).v.(pop.ls))..(setq.rtn.(pli | 
| 29440 | 73 74 2d 70 75 74 20 72 74 6e 20 70 20 76 29 29    29 29 0a 20 20 20 20 72 74 6e 29 29 0a 0a 28 63 | st-put.rtn.p.v)))).....rtn))..(c | 
| 29460 | 6c 2d 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69    6c 65 2d 2d 62 75 69 6c 64 2d 70 72 6f 6a 65 63 | l-defun.projectile--build-projec | 
| 29480 | 74 2d 70 6c 69 73 74 0a 20 20 20 20 28 6d 61 72    6b 65 72 2d 66 69 6c 65 73 20 26 6b 65 79 20 70 | t-plist.....(marker-files.&key.p | 
| 294a0 | 72 6f 6a 65 63 74 2d 66 69 6c 65 20 63 6f 6d 70    69 6c 61 74 69 6f 6e 2d 64 69 72 20 63 6f 6e 66 | roject-file.compilation-dir.conf | 
| 294c0 | 69 67 75 72 65 20 63 6f 6d 70 69 6c 65 20 69 6e    73 74 61 6c 6c 20 70 61 63 6b 61 67 65 20 74 65 | igure.compile.install.package.te | 
| 294e0 | 73 74 20 72 75 6e 20 74 65 73 74 2d 73 75 66 66    69 78 20 74 65 73 74 2d 70 72 65 66 69 78 20 73 | st.run.test-suffix.test-prefix.s | 
| 29500 | 72 63 2d 64 69 72 20 74 65 73 74 2d 64 69 72 20    72 65 6c 61 74 65 64 2d 66 69 6c 65 73 2d 66 6e | rc-dir.test-dir.related-files-fn | 
| 29520 | 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 70 72    6f 6a 65 63 74 20 74 79 70 65 20 70 6c 69 73 74 | )..."Return.a.project.type.plist | 
| 29540 | 20 77 69 74 68 20 74 68 65 20 70 72 6f 76 69 64    65 64 20 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 41 | .with.the.provided.arguments...A | 
| 29560 | 20 70 72 6f 6a 65 63 74 20 74 79 70 65 20 69 73    20 64 65 66 69 6e 65 64 20 62 79 20 50 52 4f 4a | .project.type.is.defined.by.PROJ | 
| 29580 | 45 43 54 2d 54 59 50 45 2c 20 61 20 73 65 74 20    6f 66 20 4d 41 52 4b 45 52 2d 46 49 4c 45 53 2c | ECT-TYPE,.a.set.of.MARKER-FILES, | 
| 295a0 | 0a 61 6e 64 20 6f 70 74 69 6f 6e 61 6c 20 6b 65    79 77 6f 72 64 20 61 72 67 75 6d 65 6e 74 73 3a | .and.optional.keyword.arguments: | 
| 295c0 | 0a 50 52 4f 4a 45 43 54 2d 46 49 4c 45 20 74 68    65 20 6d 61 69 6e 20 70 72 6f 6a 65 63 74 20 66 | .PROJECT-FILE.the.main.project.f | 
| 295e0 | 69 6c 65 20 69 6e 20 74 68 65 20 72 6f 6f 74 20    70 72 6f 6a 65 63 74 20 64 69 72 65 63 74 6f 72 | ile.in.the.root.project.director | 
| 29600 | 79 2e 0a 43 4f 4d 50 49 4c 41 54 49 4f 4e 2d 44    49 52 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 | y..COMPILATION-DIR.the.directory | 
| 29620 | 20 74 6f 20 72 75 6e 20 74 68 65 20 74 65 73 74    73 2d 20 61 6e 64 20 63 6f 6d 70 69 6c 61 74 69 | .to.run.the.tests-.and.compilati | 
| 29640 | 6f 6e 73 20 69 6e 2c 0a 43 4f 4e 46 49 47 55 52    45 20 77 68 69 63 68 20 73 70 65 63 69 66 69 65 | ons.in,.CONFIGURE.which.specifie | 
| 29660 | 73 20 61 20 63 6f 6d 6d 61 6e 64 20 74 68 61 74    20 63 6f 6e 66 69 67 75 72 65 73 20 74 68 65 20 | s.a.command.that.configures.the. | 
| 29680 | 70 72 6f 6a 65 63 74 0a 20 20 20 20 20 20 20 20    20 20 60 25 73 27 20 69 6e 20 74 68 65 20 63 6f | project...........`%s'.in.the.co | 
| 296a0 | 6d 6d 61 6e 64 20 77 69 6c 6c 20 62 65 20 73 75    62 73 74 69 74 75 74 65 64 20 77 69 74 68 20 28 | mmand.will.be.substituted.with.( | 
| 296c0 | 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65    63 74 2d 72 6f 6f 74 29 0a 20 20 20 20 20 20 20 | projectile-project-root)........ | 
| 296e0 | 20 20 20 62 65 66 6f 72 65 20 74 68 65 20 63 6f    6d 6d 61 6e 64 20 69 73 20 72 75 6e 2c 0a 43 4f | ...before.the.command.is.run,.CO | 
| 29700 | 4d 50 49 4c 45 20 77 68 69 63 68 20 73 70 65 63    69 66 69 65 73 20 61 20 63 6f 6d 6d 61 6e 64 20 | MPILE.which.specifies.a.command. | 
| 29720 | 74 68 61 74 20 62 75 69 6c 64 73 20 74 68 65 20    70 72 6f 6a 65 63 74 2c 0a 49 4e 53 54 41 4c 4c | that.builds.the.project,.INSTALL | 
| 29740 | 20 77 68 69 63 68 20 73 70 65 63 69 66 69 65 73    20 61 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 69 6e | .which.specifies.a.command.to.in | 
| 29760 | 73 74 61 6c 6c 20 74 68 65 20 70 72 6f 6a 65 63    74 2e 0a 50 41 43 4b 41 47 45 20 77 68 69 63 68 | stall.the.project..PACKAGE.which | 
| 29780 | 20 73 70 65 63 69 66 69 65 73 20 61 20 63 6f 6d    6d 61 6e 64 20 74 6f 20 70 61 63 6b 61 67 65 20 | .specifies.a.command.to.package. | 
| 297a0 | 74 68 65 20 70 72 6f 6a 65 63 74 2e 0a 54 45 53    54 20 77 68 69 63 68 20 73 70 65 63 69 66 69 65 | the.project..TEST.which.specifie | 
| 297c0 | 64 20 61 20 63 6f 6d 6d 61 6e 64 20 74 68 61 74    20 74 65 73 74 73 20 74 68 65 20 70 72 6f 6a 65 | d.a.command.that.tests.the.proje | 
| 297e0 | 63 74 2c 0a 52 55 4e 20 77 68 69 63 68 20 73 70    65 63 69 66 69 65 73 20 61 20 63 6f 6d 6d 61 6e | ct,.RUN.which.specifies.a.comman | 
| 29800 | 64 20 74 68 61 74 20 72 75 6e 73 20 74 68 65 20    70 72 6f 6a 65 63 74 2c 0a 54 45 53 54 2d 53 55 | d.that.runs.the.project,.TEST-SU | 
| 29820 | 46 46 49 58 20 77 68 69 63 68 20 73 70 65 63 69    66 69 65 73 20 74 65 73 74 20 66 69 6c 65 20 73 | FFIX.which.specifies.test.file.s | 
| 29840 | 75 66 66 69 78 2c 20 61 6e 64 0a 54 45 53 54 2d    50 52 45 46 49 58 20 77 68 69 63 68 20 73 70 65 | uffix,.and.TEST-PREFIX.which.spe | 
| 29860 | 63 69 66 69 65 73 20 74 65 73 74 20 66 69 6c 65    20 70 72 65 66 69 78 2e 0a 53 52 43 2d 44 49 52 | cifies.test.file.prefix..SRC-DIR | 
| 29880 | 20 77 68 69 63 68 20 73 70 65 63 69 66 69 65 73    20 74 68 65 20 70 61 74 68 20 74 6f 20 74 68 65 | .which.specifies.the.path.to.the | 
| 298a0 | 20 73 6f 75 72 63 65 20 72 65 6c 61 74 69 76 65    20 74 6f 20 74 68 65 20 70 72 6f 6a 65 63 74 20 | .source.relative.to.the.project. | 
| 298c0 | 72 6f 6f 74 2e 0a 54 45 53 54 2d 44 49 52 20 77    68 69 63 68 20 73 70 65 63 69 66 69 65 73 20 74 | root..TEST-DIR.which.specifies.t | 
| 298e0 | 68 65 20 70 61 74 68 20 74 6f 20 74 68 65 20 74    65 73 74 73 20 72 65 6c 61 74 69 76 65 20 74 6f | he.path.to.the.tests.relative.to | 
| 29900 | 20 74 68 65 20 70 72 6f 6a 65 63 74 20 72 6f 6f    74 2e 0a 52 45 4c 41 54 45 44 2d 46 49 4c 45 53 | .the.project.root..RELATED-FILES | 
| 29920 | 2d 46 4e 20 77 68 69 63 68 20 73 70 65 63 69 66    69 65 73 20 61 20 63 75 73 74 6f 6d 20 66 75 6e | -FN.which.specifies.a.custom.fun | 
| 29940 | 63 74 69 6f 6e 20 74 6f 20 66 69 6e 64 20 74 68    65 20 72 65 6c 61 74 65 64 0a 66 69 6c 65 73 20 | ction.to.find.the.related.files. | 
| 29960 | 73 75 63 68 20 61 73 20 74 65 73 74 2f 69 6d 70    6c 2f 6f 74 68 65 72 20 66 69 6c 65 73 20 61 73 | such.as.test/impl/other.files.as | 
| 29980 | 20 62 65 6c 6f 77 3a 0a 20 20 20 20 43 55 53 54    4f 4d 2d 46 55 4e 43 54 49 4f 4e 20 61 63 63 65 | .below:.....CUSTOM-FUNCTION.acce | 
| 299a0 | 70 74 73 20 46 49 4c 45 20 61 73 20 72 65 6c 61    74 69 76 65 20 70 61 74 68 20 66 72 6f 6d 20 74 | pts.FILE.as.relative.path.from.t | 
| 299c0 | 68 65 20 70 72 6f 6a 65 63 74 20 72 6f 6f 74 20    61 6e 64 0a 20 20 20 20 72 65 74 75 72 6e 73 20 | he.project.root.and.....returns. | 
| 299e0 | 61 20 70 6c 69 73 74 20 63 6f 6e 74 61 69 6e 69    6e 67 20 3a 74 65 73 74 2c 20 3a 69 6d 70 6c 20 | a.plist.containing.:test,.:impl. | 
| 29a00 | 6f 72 20 3a 6f 74 68 65 72 20 61 73 20 6b 65 79    20 61 6e 64 20 74 68 65 0a 20 20 20 20 72 65 6c | or.:other.as.key.and.the.....rel | 
| 29a20 | 61 74 69 76 65 20 70 61 74 68 2f 70 61 74 68 73    20 6f 72 20 70 72 65 64 69 63 61 74 65 20 61 73 | ative.path/paths.or.predicate.as | 
| 29a40 | 20 76 61 6c 75 65 2e 20 20 50 52 45 44 49 43 41    54 45 20 61 63 63 65 70 74 73 20 61 0a 20 20 20 | .value...PREDICATE.accepts.a.... | 
| 29a60 | 20 72 65 6c 61 74 69 76 65 20 70 61 74 68 20 61    73 20 74 68 65 20 69 6e 70 75 74 2e 22 0a 20 20 | .relative.path.as.the.input."... | 
| 29a80 | 28 6c 65 74 20 28 28 70 72 6f 6a 65 63 74 2d 70    6c 69 73 74 20 28 6c 69 73 74 20 27 6d 61 72 6b | (let.((project-plist.(list.'mark | 
| 29aa0 | 65 72 2d 66 69 6c 65 73 20 6d 61 72 6b 65 72 2d    66 69 6c 65 73 0a 20 20 20 20 20 20 20 20 20 20 | er-files.marker-files........... | 
| 29ac0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 27 70 72 6f 6a 65 63 74 2d 66 69 6c 65 | ...................'project-file | 
| 29ae0 | 20 70 72 6f 6a 65 63 74 2d 66 69 6c 65 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .project-file................... | 
| 29b00 | 20 20 20 20 20 20 20 20 20 20 20 27 63 6f 6d 70    69 6c 61 74 69 6f 6e 2d 64 69 72 20 63 6f 6d 70 | ...........'compilation-dir.comp | 
| 29b20 | 69 6c 61 74 69 6f 6e 2d 64 69 72 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ilation-dir..................... | 
| 29b40 | 20 20 20 20 20 20 20 20 20 27 63 6f 6e 66 69 67    75 72 65 2d 63 6f 6d 6d 61 6e 64 20 63 6f 6e 66 | .........'configure-command.conf | 
| 29b60 | 69 67 75 72 65 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | igure........................... | 
| 29b80 | 20 20 20 27 63 6f 6d 70 69 6c 65 2d 63 6f 6d 6d    61 6e 64 20 63 6f 6d 70 69 6c 65 0a 20 20 20 20 | ...'compile-command.compile..... | 
| 29ba0 | 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 74 65 73 74 2d 63 | .........................'test-c | 
| 29bc0 | 6f 6d 6d 61 6e 64 20 74 65 73 74 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ommand.test..................... | 
| 29be0 | 20 20 20 20 20 20 20 20 20 27 69 6e 73 74 61 6c    6c 2d 63 6f 6d 6d 61 6e 64 20 69 6e 73 74 61 6c | .........'install-command.instal | 
| 29c00 | 6c 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 27 | l..............................' | 
| 29c20 | 70 61 63 6b 61 67 65 2d 63 6f 6d 6d 61 6e 64 20    70 61 63 6b 61 67 65 0a 20 20 20 20 20 20 20 20 | package-command.package......... | 
| 29c40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 27 72 75 6e 2d 63 6f 6d 6d 61 6e | .....................'run-comman | 
| 29c60 | 64 20 72 75 6e 29 29 0a 20 20 20 20 20 20 20 20    28 70 72 6f 6a 65 63 74 2d 66 69 6c 65 73 20 28 | d.run)).........(project-files.( | 
| 29c80 | 69 66 20 28 6c 69 73 74 70 20 70 72 6f 6a 65 63    74 2d 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 | if.(listp.project-file)......... | 
| 29ca0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 70 72 6f 6a 65 63 74 2d 66 69 6c 65 0a | ...................project-file. | 
| 29cc0 | 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 20 70 | .........................(list.p | 
| 29ce0 | 72 6f 6a 65 63 74 2d 66 69 6c 65 29 29 29 29 0a    20 20 20 20 28 64 6f 6c 69 73 74 20 28 70 72 6f | roject-file)))).....(dolist.(pro | 
| 29d00 | 6a 65 63 74 2d 66 69 6c 65 20 70 72 6f 6a 65 63    74 2d 66 69 6c 65 73 29 0a 20 20 20 20 20 20 28 | ject-file.project-files).......( | 
| 29d20 | 77 68 65 6e 20 28 61 6e 64 20 70 72 6f 6a 65 63    74 2d 66 69 6c 65 20 28 6e 6f 74 20 28 6d 65 6d | when.(and.project-file.(not.(mem | 
| 29d40 | 62 65 72 20 70 72 6f 6a 65 63 74 2d 66 69 6c 65    20 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a | ber.project-file.projectile-proj | 
| 29d60 | 65 63 74 2d 72 6f 6f 74 2d 66 69 6c 65 73 29 29    29 0a 20 20 20 20 20 20 20 20 28 61 64 64 2d 74 | ect-root-files))).........(add-t | 
| 29d80 | 6f 2d 6c 69 73 74 20 27 70 72 6f 6a 65 63 74 69    6c 65 2d 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 2d | o-list.'projectile-project-root- | 
| 29da0 | 66 69 6c 65 73 20 70 72 6f 6a 65 63 74 2d 66 69    6c 65 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 | files.project-file))).....(when. | 
| 29dc0 | 74 65 73 74 2d 73 75 66 66 69 78 0a 20 20 20 20    20 20 28 70 6c 69 73 74 2d 70 75 74 20 70 72 6f | test-suffix.......(plist-put.pro | 
| 29de0 | 6a 65 63 74 2d 70 6c 69 73 74 20 27 74 65 73 74    2d 73 75 66 66 69 78 20 74 65 73 74 2d 73 75 66 | ject-plist.'test-suffix.test-suf | 
| 29e00 | 66 69 78 29 29 0a 20 20 20 20 28 77 68 65 6e 20    74 65 73 74 2d 70 72 65 66 69 78 0a 20 20 20 20 | fix)).....(when.test-prefix..... | 
| 29e20 | 20 20 28 70 6c 69 73 74 2d 70 75 74 20 70 72 6f    6a 65 63 74 2d 70 6c 69 73 74 20 27 74 65 73 74 | ..(plist-put.project-plist.'test | 
| 29e40 | 2d 70 72 65 66 69 78 20 74 65 73 74 2d 70 72 65    66 69 78 29 29 0a 20 20 20 20 28 77 68 65 6e 20 | -prefix.test-prefix)).....(when. | 
| 29e60 | 73 72 63 2d 64 69 72 0a 20 20 20 20 20 20 28 70    6c 69 73 74 2d 70 75 74 20 70 72 6f 6a 65 63 74 | src-dir.......(plist-put.project | 
| 29e80 | 2d 70 6c 69 73 74 20 27 73 72 63 2d 64 69 72 20    73 72 63 2d 64 69 72 29 29 0a 20 20 20 20 28 77 | -plist.'src-dir.src-dir)).....(w | 
| 29ea0 | 68 65 6e 20 74 65 73 74 2d 64 69 72 0a 20 20 20    20 20 20 28 70 6c 69 73 74 2d 70 75 74 20 70 72 | hen.test-dir.......(plist-put.pr | 
| 29ec0 | 6f 6a 65 63 74 2d 70 6c 69 73 74 20 27 74 65 73    74 2d 64 69 72 20 74 65 73 74 2d 64 69 72 29 29 | oject-plist.'test-dir.test-dir)) | 
| 29ee0 | 0a 20 20 20 20 28 77 68 65 6e 20 72 65 6c 61 74    65 64 2d 66 69 6c 65 73 2d 66 6e 0a 20 20 20 20 | .....(when.related-files-fn..... | 
| 29f00 | 20 20 28 70 6c 69 73 74 2d 70 75 74 20 70 72 6f    6a 65 63 74 2d 70 6c 69 73 74 20 27 72 65 6c 61 | ..(plist-put.project-plist.'rela | 
| 29f20 | 74 65 64 2d 66 69 6c 65 73 2d 66 6e 20 72 65 6c    61 74 65 64 2d 66 69 6c 65 73 2d 66 6e 29 29 0a | ted-files-fn.related-files-fn)). | 
| 29f40 | 20 20 20 20 70 72 6f 6a 65 63 74 2d 70 6c 69 73    74 29 29 0a 0a 28 63 6c 2d 64 65 66 75 6e 20 70 | ....project-plist))..(cl-defun.p | 
| 29f60 | 72 6f 6a 65 63 74 69 6c 65 2d 72 65 67 69 73 74    65 72 2d 70 72 6f 6a 65 63 74 2d 74 79 70 65 0a | rojectile-register-project-type. | 
| 29f80 | 20 20 20 20 28 70 72 6f 6a 65 63 74 2d 74 79 70    65 20 6d 61 72 6b 65 72 2d 66 69 6c 65 73 20 26 | ....(project-type.marker-files.& | 
| 29fa0 | 6b 65 79 20 70 72 6f 6a 65 63 74 2d 66 69 6c 65    20 63 6f 6d 70 69 6c 61 74 69 6f 6e 2d 64 69 72 | key.project-file.compilation-dir | 
| 29fc0 | 20 63 6f 6e 66 69 67 75 72 65 20 63 6f 6d 70 69    6c 65 20 69 6e 73 74 61 6c 6c 20 70 61 63 6b 61 | .configure.compile.install.packa | 
| 29fe0 | 67 65 20 74 65 73 74 20 72 75 6e 20 74 65 73 74    2d 73 75 66 66 69 78 20 74 65 73 74 2d 70 72 65 | ge.test.run.test-suffix.test-pre | 
| 2a000 | 66 69 78 20 73 72 63 2d 64 69 72 20 74 65 73 74    2d 64 69 72 20 72 65 6c 61 74 65 64 2d 66 69 6c | fix.src-dir.test-dir.related-fil | 
| 2a020 | 65 73 2d 66 6e 29 0a 20 20 22 52 65 67 69 73 74    65 72 20 61 20 70 72 6f 6a 65 63 74 20 74 79 70 | es-fn)..."Register.a.project.typ | 
| 2a040 | 65 20 77 69 74 68 20 70 72 6f 6a 65 63 74 69 6c    65 2e 0a 0a 41 20 70 72 6f 6a 65 63 74 20 74 79 | e.with.projectile...A.project.ty | 
| 2a060 | 70 65 20 69 73 20 64 65 66 69 6e 65 64 20 62 79    20 50 52 4f 4a 45 43 54 2d 54 59 50 45 2c 20 61 | pe.is.defined.by.PROJECT-TYPE,.a | 
| 2a080 | 20 73 65 74 20 6f 66 20 4d 41 52 4b 45 52 2d 46    49 4c 45 53 2c 0a 61 6e 64 20 6f 70 74 69 6f 6e | .set.of.MARKER-FILES,.and.option | 
| 2a0a0 | 61 6c 20 6b 65 79 77 6f 72 64 20 61 72 67 75 6d    65 6e 74 73 3a 0a 50 52 4f 4a 45 43 54 2d 46 49 | al.keyword.arguments:.PROJECT-FI | 
| 2a0c0 | 4c 45 20 74 68 65 20 6d 61 69 6e 20 70 72 6f 6a    65 63 74 20 66 69 6c 65 20 69 6e 20 74 68 65 20 | LE.the.main.project.file.in.the. | 
| 2a0e0 | 72 6f 6f 74 20 70 72 6f 6a 65 63 74 20 64 69 72    65 63 74 6f 72 79 2e 0a 43 4f 4d 50 49 4c 41 54 | root.project.directory..COMPILAT | 
| 2a100 | 49 4f 4e 2d 44 49 52 20 74 68 65 20 64 69 72 65    63 74 6f 72 79 20 74 6f 20 72 75 6e 20 74 68 65 | ION-DIR.the.directory.to.run.the | 
| 2a120 | 20 74 65 73 74 73 2d 20 61 6e 64 20 63 6f 6d 70    69 6c 61 74 69 6f 6e 73 20 69 6e 2c 0a 43 4f 4e | .tests-.and.compilations.in,.CON | 
| 2a140 | 46 49 47 55 52 45 20 77 68 69 63 68 20 73 70 65    63 69 66 69 65 73 20 61 20 63 6f 6d 6d 61 6e 64 | FIGURE.which.specifies.a.command | 
| 2a160 | 20 74 68 61 74 20 63 6f 6e 66 69 67 75 72 65 73    20 74 68 65 20 70 72 6f 6a 65 63 74 0a 20 20 20 | .that.configures.the.project.... | 
| 2a180 | 20 20 20 20 20 20 20 60 25 73 27 20 69 6e 20 74    68 65 20 63 6f 6d 6d 61 6e 64 20 77 69 6c 6c 20 | .......`%s'.in.the.command.will. | 
| 2a1a0 | 62 65 20 73 75 62 73 74 69 74 75 74 65 64 20 77    69 74 68 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d | be.substituted.with.(projectile- | 
| 2a1c0 | 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 29 0a 20 20    20 20 20 20 20 20 20 20 62 65 66 6f 72 65 20 74 | project-root)...........before.t | 
| 2a1e0 | 68 65 20 63 6f 6d 6d 61 6e 64 20 69 73 20 72 75    6e 2c 0a 43 4f 4d 50 49 4c 45 20 77 68 69 63 68 | he.command.is.run,.COMPILE.which | 
| 2a200 | 20 73 70 65 63 69 66 69 65 73 20 61 20 63 6f 6d    6d 61 6e 64 20 74 68 61 74 20 62 75 69 6c 64 73 | .specifies.a.command.that.builds | 
| 2a220 | 20 74 68 65 20 70 72 6f 6a 65 63 74 2c 0a 49 4e    53 54 41 4c 4c 20 77 68 69 63 68 20 73 70 65 63 | .the.project,.INSTALL.which.spec | 
| 2a240 | 69 66 69 65 73 20 61 20 63 6f 6d 6d 61 6e 64 20    74 6f 20 69 6e 73 74 61 6c 6c 20 74 68 65 20 70 | ifies.a.command.to.install.the.p | 
| 2a260 | 72 6f 6a 65 63 74 2e 0a 50 41 43 4b 41 47 45 20    77 68 69 63 68 20 73 70 65 63 69 66 69 65 73 20 | roject..PACKAGE.which.specifies. | 
| 2a280 | 61 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 70 61 63    6b 61 67 65 20 74 68 65 20 70 72 6f 6a 65 63 74 | a.command.to.package.the.project | 
| 2a2a0 | 2e 0a 54 45 53 54 20 77 68 69 63 68 20 73 70 65    63 69 66 69 65 64 20 61 20 63 6f 6d 6d 61 6e 64 | ..TEST.which.specified.a.command | 
| 2a2c0 | 20 74 68 61 74 20 74 65 73 74 73 20 74 68 65 20    70 72 6f 6a 65 63 74 2c 0a 52 55 4e 20 77 68 69 | .that.tests.the.project,.RUN.whi | 
| 2a2e0 | 63 68 20 73 70 65 63 69 66 69 65 73 20 61 20 63    6f 6d 6d 61 6e 64 20 74 68 61 74 20 72 75 6e 73 | ch.specifies.a.command.that.runs | 
| 2a300 | 20 74 68 65 20 70 72 6f 6a 65 63 74 2c 0a 54 45    53 54 2d 53 55 46 46 49 58 20 77 68 69 63 68 20 | .the.project,.TEST-SUFFIX.which. | 
| 2a320 | 73 70 65 63 69 66 69 65 73 20 74 65 73 74 20 66    69 6c 65 20 73 75 66 66 69 78 2c 20 61 6e 64 0a | specifies.test.file.suffix,.and. | 
| 2a340 | 54 45 53 54 2d 50 52 45 46 49 58 20 77 68 69 63    68 20 73 70 65 63 69 66 69 65 73 20 74 65 73 74 | TEST-PREFIX.which.specifies.test | 
| 2a360 | 20 66 69 6c 65 20 70 72 65 66 69 78 2e 0a 53 52    43 2d 44 49 52 20 77 68 69 63 68 20 73 70 65 63 | .file.prefix..SRC-DIR.which.spec | 
| 2a380 | 69 66 69 65 73 20 74 68 65 20 70 61 74 68 20 74    6f 20 74 68 65 20 73 6f 75 72 63 65 20 72 65 6c | ifies.the.path.to.the.source.rel | 
| 2a3a0 | 61 74 69 76 65 20 74 6f 20 74 68 65 20 70 72 6f    6a 65 63 74 20 72 6f 6f 74 2e 0a 54 45 53 54 2d | ative.to.the.project.root..TEST- | 
| 2a3c0 | 44 49 52 20 77 68 69 63 68 20 73 70 65 63 69 66    69 65 73 20 74 68 65 20 70 61 74 68 20 74 6f 20 | DIR.which.specifies.the.path.to. | 
| 2a3e0 | 74 68 65 20 74 65 73 74 73 20 72 65 6c 61 74 69    76 65 20 74 6f 20 74 68 65 20 70 72 6f 6a 65 63 | the.tests.relative.to.the.projec | 
| 2a400 | 74 20 72 6f 6f 74 2e 0a 52 45 4c 41 54 45 44 2d    46 49 4c 45 53 2d 46 4e 20 77 68 69 63 68 20 73 | t.root..RELATED-FILES-FN.which.s | 
| 2a420 | 70 65 63 69 66 69 65 73 20 61 20 63 75 73 74 6f    6d 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 66 69 | pecifies.a.custom.function.to.fi | 
| 2a440 | 6e 64 20 74 68 65 20 72 65 6c 61 74 65 64 0a 66    69 6c 65 73 20 73 75 63 68 20 61 73 20 74 65 73 | nd.the.related.files.such.as.tes | 
| 2a460 | 74 2f 69 6d 70 6c 2f 6f 74 68 65 72 20 66 69 6c    65 73 20 61 73 20 62 65 6c 6f 77 3a 0a 20 20 20 | t/impl/other.files.as.below:.... | 
| 2a480 | 20 43 55 53 54 4f 4d 2d 46 55 4e 43 54 49 4f 4e    20 61 63 63 65 70 74 73 20 46 49 4c 45 20 61 73 | .CUSTOM-FUNCTION.accepts.FILE.as | 
| 2a4a0 | 20 72 65 6c 61 74 69 76 65 20 70 61 74 68 20 66    72 6f 6d 20 74 68 65 20 70 72 6f 6a 65 63 74 20 | .relative.path.from.the.project. | 
| 2a4c0 | 72 6f 6f 74 20 61 6e 64 0a 20 20 20 20 72 65 74    75 72 6e 73 20 61 20 70 6c 69 73 74 20 63 6f 6e | root.and.....returns.a.plist.con | 
| 2a4e0 | 74 61 69 6e 69 6e 67 20 3a 74 65 73 74 2c 20 3a    69 6d 70 6c 20 6f 72 20 3a 6f 74 68 65 72 20 61 | taining.:test,.:impl.or.:other.a | 
| 2a500 | 73 20 6b 65 79 20 61 6e 64 20 74 68 65 0a 20 20    20 20 72 65 6c 61 74 69 76 65 20 70 61 74 68 2f | s.key.and.the.....relative.path/ | 
| 2a520 | 70 61 74 68 73 20 6f 72 20 70 72 65 64 69 63 61    74 65 20 61 73 20 76 61 6c 75 65 2e 20 20 50 52 | paths.or.predicate.as.value...PR | 
| 2a540 | 45 44 49 43 41 54 45 20 61 63 63 65 70 74 73 20    61 0a 20 20 20 20 72 65 6c 61 74 69 76 65 20 70 | EDICATE.accepts.a.....relative.p | 
| 2a560 | 61 74 68 20 61 73 20 74 68 65 20 69 6e 70 75 74    2e 22 0a 20 20 28 73 65 74 71 20 70 72 6f 6a 65 | ath.as.the.input."...(setq.proje | 
| 2a580 | 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 74 79    70 65 73 0a 20 20 20 20 20 20 20 20 28 63 6f 6e | ctile-project-types.........(con | 
| 2a5a0 | 73 20 60 28 2c 70 72 6f 6a 65 63 74 2d 74 79 70    65 20 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 | s.`(,project-type............... | 
| 2a5c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 2c 28 70 72 6f 6a 65 63 74 69 6c 65 2d 2d | ..................,(projectile-- | 
| 2a5e0 | 62 75 69 6c 64 2d 70 72 6f 6a 65 63 74 2d 70 6c    69 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 | build-project-plist............. | 
| 2a600 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 6d 61 72 6b 65 72 2d 66 69 6c 65 73 | ....................marker-files | 
| 2a620 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 2a640 | 20 3a 70 72 6f 6a 65 63 74 2d 66 69 6c 65 20 70    72 6f 6a 65 63 74 2d 66 69 6c 65 0a 20 20 20 20 | .:project-file.project-file..... | 
| 2a660 | 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 3a 63 6f 6d | ............................:com | 
| 2a680 | 70 69 6c 61 74 69 6f 6e 2d 64 69 72 20 63 6f 6d    70 69 6c 61 74 69 6f 6e 2d 64 69 72 0a 20 20 20 | pilation-dir.compilation-dir.... | 
| 2a6a0 | 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 3a 63 6f | .............................:co | 
| 2a6c0 | 6e 66 69 67 75 72 65 20 63 6f 6e 66 69 67 75 72    65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | nfigure.configure............... | 
| 2a6e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 3a 63 6f 6d 70 69 6c 65 20 63 6f 6d 70 69 | ..................:compile.compi | 
| 2a700 | 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | le.............................. | 
| 2a720 | 20 20 20 3a 69 6e 73 74 61 6c 6c 20 69 6e 73 74    61 6c 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ...:install.install............. | 
| 2a740 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 3a 70 61 63 6b 61 67 65 20 70 61 63 | ....................:package.pac | 
| 2a760 | 6b 61 67 65 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | kage............................ | 
| 2a780 | 20 20 20 20 20 3a 74 65 73 74 20 74 65 73 74 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .....:test.test................. | 
| 2a7a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    3a 72 75 6e 20 72 75 6e 0a 20 20 20 20 20 20 20 | ................:run.run........ | 
| 2a7c0 | 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 3a 74 65 73 74 2d 73 | .........................:test-s | 
| 2a7e0 | 75 66 66 69 78 20 74 65 73 74 2d 73 75 66 66 69    78 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | uffix.test-suffix............... | 
| 2a800 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 3a 74 65 73 74 2d 70 72 65 66 69 78 20 74 | ..................:test-prefix.t | 
| 2a820 | 65 73 74 2d 70 72 65 66 69 78 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | est-prefix...................... | 
| 2a840 | 20 20 20 20 20 20 20 20 20 20 20 3a 73 72 63 2d    64 69 72 20 73 72 63 2d 64 69 72 0a 20 20 20 20 | ...........:src-dir.src-dir..... | 
| 2a860 | 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 3a 74 65 73 | ............................:tes | 
| 2a880 | 74 2d 64 69 72 20 74 65 73 74 2d 64 69 72 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | t-dir.test-dir.................. | 
| 2a8a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a    72 65 6c 61 74 65 64 2d 66 69 6c 65 73 2d 66 6e | ...............:related-files-fn | 
| 2a8c0 | 20 72 65 6c 61 74 65 64 2d 66 69 6c 65 73 2d 66    6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | .related-files-fn))............. | 
| 2a8e0 | 20 20 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f    6a 65 63 74 2d 74 79 70 65 73 29 29 29 0a 0a 28 | ..projectile-project-types)))..( | 
| 2a900 | 63 6c 2d 64 65 66 75 6e 20 70 72 6f 6a 65 63 74    69 6c 65 2d 75 70 64 61 74 65 2d 70 72 6f 6a 65 | cl-defun.projectile-update-proje | 
| 2a920 | 63 74 2d 74 79 70 65 0a 20 20 20 20 28 70 72 6f    6a 65 63 74 2d 74 79 70 65 0a 20 20 20 20 20 26 | ct-type.....(project-type......& | 
| 2a940 | 6b 65 79 20 70 72 65 63 65 64 65 6e 63 65 0a 20    20 20 20 20 28 6d 61 72 6b 65 72 2d 66 69 6c 65 | key.precedence......(marker-file | 
| 2a960 | 73 20 6e 69 6c 20 6d 61 72 6b 65 72 2d 66 69 6c    65 73 2d 73 70 65 63 69 66 69 65 64 29 0a 20 20 | s.nil.marker-files-specified)... | 
| 2a980 | 20 20 20 28 70 72 6f 6a 65 63 74 2d 66 69 6c 65    20 6e 69 6c 20 70 72 6f 6a 65 63 74 2d 66 69 6c | ...(project-file.nil.project-fil | 
| 2a9a0 | 65 2d 73 70 65 63 69 66 69 65 64 29 0a 20 20 20    20 20 28 63 6f 6d 70 69 6c 61 74 69 6f 6e 2d 64 | e-specified)......(compilation-d | 
| 2a9c0 | 69 72 20 6e 69 6c 20 63 6f 6d 70 69 6c 61 74 69    6f 6e 2d 64 69 72 2d 73 70 65 63 69 66 69 65 64 | ir.nil.compilation-dir-specified | 
| 2a9e0 | 29 0a 20 20 20 20 20 28 63 6f 6e 66 69 67 75 72    65 20 6e 69 6c 20 63 6f 6e 66 69 67 75 72 65 2d | )......(configure.nil.configure- | 
| 2aa00 | 73 70 65 63 69 66 69 65 64 29 0a 20 20 20 20 20    28 63 6f 6d 70 69 6c 65 20 6e 69 6c 20 63 6f 6d | specified)......(compile.nil.com | 
| 2aa20 | 70 69 6c 65 2d 73 70 65 63 69 66 69 65 64 29 0a    20 20 20 20 20 28 69 6e 73 74 61 6c 6c 20 6e 69 | pile-specified)......(install.ni | 
| 2aa40 | 6c 20 69 6e 73 74 61 6c 6c 2d 73 70 65 63 69 66    69 65 64 29 0a 20 20 20 20 20 28 70 61 63 6b 61 | l.install-specified)......(packa | 
| 2aa60 | 67 65 20 6e 69 6c 20 70 61 63 6b 61 67 65 2d 73    70 65 63 69 66 69 65 64 29 0a 20 20 20 20 20 28 | ge.nil.package-specified)......( | 
| 2aa80 | 74 65 73 74 20 6e 69 6c 20 74 65 73 74 2d 73 70    65 63 69 66 69 65 64 29 0a 20 20 20 20 20 28 72 | test.nil.test-specified)......(r | 
| 2aaa0 | 75 6e 20 6e 69 6c 20 72 75 6e 2d 73 70 65 63 69    66 69 65 64 29 0a 20 20 20 20 20 28 74 65 73 74 | un.nil.run-specified)......(test | 
| 2aac0 | 2d 73 75 66 66 69 78 20 6e 69 6c 20 74 65 73 74    2d 73 75 66 66 69 78 2d 73 70 65 63 69 66 69 65 | -suffix.nil.test-suffix-specifie | 
| 2aae0 | 64 29 0a 20 20 20 20 20 28 74 65 73 74 2d 70 72    65 66 69 78 20 6e 69 6c 20 74 65 73 74 2d 70 72 | d)......(test-prefix.nil.test-pr | 
| 2ab00 | 65 66 69 78 2d 73 70 65 63 69 66 69 65 64 29 0a    20 20 20 20 20 28 73 72 63 2d 64 69 72 20 6e 69 | efix-specified)......(src-dir.ni | 
| 2ab20 | 6c 20 73 72 63 2d 64 69 72 2d 73 70 65 63 69 66    69 65 64 29 0a 20 20 20 20 20 28 74 65 73 74 2d | l.src-dir-specified)......(test- | 
| 2ab40 | 64 69 72 20 6e 69 6c 20 74 65 73 74 2d 64 69 72    2d 73 70 65 63 69 66 69 65 64 29 0a 20 20 20 20 | dir.nil.test-dir-specified)..... | 
| 2ab60 | 20 28 72 65 6c 61 74 65 64 2d 66 69 6c 65 73 2d    66 6e 20 6e 69 6c 20 72 65 6c 61 74 65 64 2d 66 | .(related-files-fn.nil.related-f | 
| 2ab80 | 69 6c 65 73 2d 66 6e 2d 73 70 65 63 69 66 69 65    64 29 29 0a 20 20 20 20 22 55 70 64 61 74 65 20 | iles-fn-specified))....."Update. | 
| 2aba0 | 61 6e 20 65 78 69 73 74 69 6e 67 20 70 72 6f 6a    65 63 74 69 6c 65 20 70 72 6f 6a 65 63 74 20 74 | an.existing.projectile.project.t | 
| 2abc0 | 79 70 65 2e 0a 0a 50 61 73 73 65 64 20 69 74 65    6d 73 20 77 69 6c 6c 20 6f 76 65 72 72 69 64 65 | ype...Passed.items.will.override | 
| 2abe0 | 20 65 78 69 73 74 69 6e 67 20 76 61 6c 75 65 73    20 66 6f 72 20 74 68 65 20 70 72 6f 6a 65 63 74 | .existing.values.for.the.project | 
| 2ac00 | 20 74 79 70 65 20 67 69 76 65 6e 0a 62 79 20 50    52 4f 4a 45 43 54 2d 54 59 50 45 2e 20 20 6e 69 | .type.given.by.PROJECT-TYPE...ni | 
| 2ac20 | 6c 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f    20 72 65 6d 6f 76 65 20 61 20 70 72 6f 6a 65 63 | l.can.be.used.to.remove.a.projec | 
| 2ac40 | 74 20 74 79 70 65 20 61 74 74 72 69 62 75 74 65    2e 20 20 52 61 69 73 65 0a 61 6e 20 65 72 72 6f | t.type.attribute...Raise.an.erro | 
| 2ac60 | 72 20 69 66 20 50 52 4f 4a 45 43 54 2d 54 59 50    45 20 69 73 20 6e 6f 74 20 61 6c 72 65 61 64 79 | r.if.PROJECT-TYPE.is.not.already | 
| 2ac80 | 20 72 65 67 69 73 74 65 72 65 64 20 77 69 74 68    20 70 72 6f 6a 65 63 74 69 6c 65 2e 20 20 54 68 | .registered.with.projectile...Th | 
| 2aca0 | 69 73 0a 66 75 6e 63 74 69 6f 6e 20 6d 61 79 20    61 6c 73 6f 20 74 61 6b 65 20 74 68 65 20 6b 65 | is.function.may.also.take.the.ke | 
| 2acc0 | 79 77 6f 72 64 20 61 72 67 75 6d 65 6e 74 20 50    52 45 43 45 44 45 4e 43 45 20 77 68 69 63 68 20 | yword.argument.PRECEDENCE.which. | 
| 2ace0 | 77 68 65 6e 20 73 65 74 20 74 6f 20 e2 80 98 68    69 67 68 e2 80 99 0a 77 69 6c 6c 20 6d 61 6b 65 | when.set.to....high....will.make | 
| 2ad00 | 20 70 72 6f 6a 65 63 74 69 6c 65 20 70 72 69 6f    72 69 74 69 73 65 20 74 68 69 73 20 70 72 6f 6a | .projectile.prioritise.this.proj | 
| 2ad20 | 65 63 74 20 74 79 70 65 20 6f 76 65 72 20 6f 74    68 65 72 20 63 6c 61 73 68 69 6e 67 20 70 72 6f | ect.type.over.other.clashing.pro | 
| 2ad40 | 6a 65 63 74 0a 74 79 70 65 73 2c 20 61 6e 64 20    61 20 76 61 6c 75 65 20 6f 66 20 e2 80 98 6c 6f | ject.types,.and.a.value.of....lo | 
| 2ad60 | 77 e2 80 99 20 77 69 6c 6c 20 6d 61 6b 65 20 70    72 6f 6a 65 63 74 69 6c 65 20 70 72 65 66 65 72 | w....will.make.projectile.prefer | 
| 2ad80 | 20 28 61 6c 6c 29 20 6f 74 68 65 72 20 70 72 6f    6a 65 63 74 0a 74 79 70 65 73 20 62 79 20 64 65 | .(all).other.project.types.by.de | 
| 2ada0 | 66 61 75 6c 74 2e 20 20 4f 74 68 65 72 77 69 73    65 2c 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 | fault...Otherwise,.the.arguments | 
| 2adc0 | 20 74 6f 20 74 68 69 73 20 66 75 6e 63 74 69 6f    6e 20 61 72 65 20 61 73 20 66 6f 72 0a 60 70 72 | .to.this.function.are.as.for.`pr | 
| 2ade0 | 6f 6a 65 63 74 69 6c 65 2d 72 65 67 69 73 74 65    72 2d 70 72 6f 6a 65 63 74 2d 74 79 70 65 27 3a | ojectile-register-project-type': | 
| 2ae00 | 0a 0a 41 20 70 72 6f 6a 65 63 74 20 74 79 70 65    20 69 73 20 64 65 66 69 6e 65 64 20 62 79 20 50 | ..A.project.type.is.defined.by.P | 
| 2ae20 | 52 4f 4a 45 43 54 2d 54 59 50 45 2c 20 61 20 73    65 74 20 6f 66 20 4d 41 52 4b 45 52 2d 46 49 4c | ROJECT-TYPE,.a.set.of.MARKER-FIL | 
| 2ae40 | 45 53 2c 0a 61 6e 64 20 6f 70 74 69 6f 6e 61 6c    20 6b 65 79 77 6f 72 64 20 61 72 67 75 6d 65 6e | ES,.and.optional.keyword.argumen | 
| 2ae60 | 74 73 3a 0a 4d 41 52 4b 45 52 2d 46 49 4c 45 53    20 61 20 73 65 74 20 6f 66 20 69 6e 64 69 63 61 | ts:.MARKER-FILES.a.set.of.indica | 
| 2ae80 | 74 6f 72 20 66 69 6c 65 73 20 66 6f 72 20 50 52    4f 4a 45 43 54 2d 54 59 50 45 2e 0a 50 52 4f 4a | tor.files.for.PROJECT-TYPE..PROJ | 
| 2aea0 | 45 43 54 2d 46 49 4c 45 20 74 68 65 20 6d 61 69    6e 20 70 72 6f 6a 65 63 74 20 66 69 6c 65 20 69 | ECT-FILE.the.main.project.file.i | 
| 2aec0 | 6e 20 74 68 65 20 72 6f 6f 74 20 70 72 6f 6a 65    63 74 20 64 69 72 65 63 74 6f 72 79 2e 0a 43 4f | n.the.root.project.directory..CO | 
| 2aee0 | 4d 50 49 4c 41 54 49 4f 4e 2d 44 49 52 20 74 68    65 20 64 69 72 65 63 74 6f 72 79 20 74 6f 20 72 | MPILATION-DIR.the.directory.to.r | 
| 2af00 | 75 6e 20 74 68 65 20 74 65 73 74 73 2d 20 61 6e    64 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 73 20 69 | un.the.tests-.and.compilations.i | 
| 2af20 | 6e 2c 0a 43 4f 4e 46 49 47 55 52 45 20 77 68 69    63 68 20 73 70 65 63 69 66 69 65 73 20 61 20 63 | n,.CONFIGURE.which.specifies.a.c | 
| 2af40 | 6f 6d 6d 61 6e 64 20 74 68 61 74 20 63 6f 6e 66    69 67 75 72 65 73 20 74 68 65 20 70 72 6f 6a 65 | ommand.that.configures.the.proje | 
| 2af60 | 63 74 0a 20 20 20 20 20 20 20 20 20 20 60 25 73    27 20 69 6e 20 74 68 65 20 63 6f 6d 6d 61 6e 64 | ct...........`%s'.in.the.command | 
| 2af80 | 20 77 69 6c 6c 20 62 65 20 73 75 62 73 74 69 74    75 74 65 64 20 77 69 74 68 20 28 70 72 6f 6a 65 | .will.be.substituted.with.(proje | 
| 2afa0 | 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 72 6f    6f 74 29 0a 20 20 20 20 20 20 20 20 20 20 62 65 | ctile-project-root)...........be | 
| 2afc0 | 66 6f 72 65 20 74 68 65 20 63 6f 6d 6d 61 6e 64    20 69 73 20 72 75 6e 2c 0a 43 4f 4d 50 49 4c 45 | fore.the.command.is.run,.COMPILE | 
| 2afe0 | 20 77 68 69 63 68 20 73 70 65 63 69 66 69 65 73    20 61 20 63 6f 6d 6d 61 6e 64 20 74 68 61 74 20 | .which.specifies.a.command.that. | 
| 2b000 | 62 75 69 6c 64 73 20 74 68 65 20 70 72 6f 6a 65    63 74 2c 0a 49 4e 53 54 41 4c 4c 20 77 68 69 63 | builds.the.project,.INSTALL.whic | 
| 2b020 | 68 20 73 70 65 63 69 66 69 65 73 20 61 20 63 6f    6d 6d 61 6e 64 20 74 6f 20 69 6e 73 74 61 6c 6c | h.specifies.a.command.to.install | 
| 2b040 | 20 74 68 65 20 70 72 6f 6a 65 63 74 2e 0a 50 41    43 4b 41 47 45 20 77 68 69 63 68 20 73 70 65 63 | .the.project..PACKAGE.which.spec | 
| 2b060 | 69 66 69 65 73 20 61 20 63 6f 6d 6d 61 6e 64 20    74 6f 20 70 61 63 6b 61 67 65 20 74 68 65 20 70 | ifies.a.command.to.package.the.p | 
| 2b080 | 72 6f 6a 65 63 74 2e 0a 54 45 53 54 20 77 68 69    63 68 20 73 70 65 63 69 66 69 65 64 20 61 20 63 | roject..TEST.which.specified.a.c | 
| 2b0a0 | 6f 6d 6d 61 6e 64 20 74 68 61 74 20 74 65 73 74    73 20 74 68 65 20 70 72 6f 6a 65 63 74 2c 0a 52 | ommand.that.tests.the.project,.R | 
| 2b0c0 | 55 4e 20 77 68 69 63 68 20 73 70 65 63 69 66 69    65 73 20 61 20 63 6f 6d 6d 61 6e 64 20 74 68 61 | UN.which.specifies.a.command.tha | 
| 2b0e0 | 74 20 72 75 6e 73 20 74 68 65 20 70 72 6f 6a 65    63 74 2c 0a 54 45 53 54 2d 53 55 46 46 49 58 20 | t.runs.the.project,.TEST-SUFFIX. | 
| 2b100 | 77 68 69 63 68 20 73 70 65 63 69 66 69 65 73 20    74 65 73 74 20 66 69 6c 65 20 73 75 66 66 69 78 | which.specifies.test.file.suffix | 
| 2b120 | 2c 20 61 6e 64 0a 54 45 53 54 2d 50 52 45 46 49    58 20 77 68 69 63 68 20 73 70 65 63 69 66 69 65 | ,.and.TEST-PREFIX.which.specifie | 
| 2b140 | 73 20 74 65 73 74 20 66 69 6c 65 20 70 72 65 66    69 78 2e 0a 53 52 43 2d 44 49 52 20 77 68 69 63 | s.test.file.prefix..SRC-DIR.whic | 
| 2b160 | 68 20 73 70 65 63 69 66 69 65 73 20 74 68 65 20    70 61 74 68 20 74 6f 20 74 68 65 20 73 6f 75 72 | h.specifies.the.path.to.the.sour | 
| 2b180 | 63 65 20 72 65 6c 61 74 69 76 65 20 74 6f 20 74    68 65 20 70 72 6f 6a 65 63 74 20 72 6f 6f 74 2e | ce.relative.to.the.project.root. | 
| 2b1a0 | 0a 54 45 53 54 2d 44 49 52 20 77 68 69 63 68 20    73 70 65 63 69 66 69 65 73 20 74 68 65 20 70 61 | .TEST-DIR.which.specifies.the.pa | 
| 2b1c0 | 74 68 20 74 6f 20 74 68 65 20 74 65 73 74 73 20    72 65 6c 61 74 69 76 65 20 74 6f 20 74 68 65 20 | th.to.the.tests.relative.to.the. | 
| 2b1e0 | 70 72 6f 6a 65 63 74 20 72 6f 6f 74 2e 0a 52 45    4c 41 54 45 44 2d 46 49 4c 45 53 2d 46 4e 20 77 | project.root..RELATED-FILES-FN.w | 
| 2b200 | 68 69 63 68 20 73 70 65 63 69 66 69 65 73 20 61    20 63 75 73 74 6f 6d 20 66 75 6e 63 74 69 6f 6e | hich.specifies.a.custom.function | 
| 2b220 | 20 74 6f 20 66 69 6e 64 20 74 68 65 20 72 65 6c    61 74 65 64 0a 66 69 6c 65 73 20 73 75 63 68 20 | .to.find.the.related.files.such. | 
| 2b240 | 61 73 20 74 65 73 74 2f 69 6d 70 6c 2f 6f 74 68    65 72 20 66 69 6c 65 73 20 61 73 20 62 65 6c 6f | as.test/impl/other.files.as.belo | 
| 2b260 | 77 3a 0a 20 20 20 20 43 55 53 54 4f 4d 2d 46 55    4e 43 54 49 4f 4e 20 61 63 63 65 70 74 73 20 46 | w:.....CUSTOM-FUNCTION.accepts.F | 
| 2b280 | 49 4c 45 20 61 73 20 72 65 6c 61 74 69 76 65 20    70 61 74 68 20 66 72 6f 6d 20 74 68 65 20 70 72 | ILE.as.relative.path.from.the.pr | 
| 2b2a0 | 6f 6a 65 63 74 20 72 6f 6f 74 20 61 6e 64 0a 20    20 20 20 72 65 74 75 72 6e 73 20 61 20 70 6c 69 | oject.root.and.....returns.a.pli | 
| 2b2c0 | 73 74 20 63 6f 6e 74 61 69 6e 69 6e 67 20 3a 74    65 73 74 2c 20 3a 69 6d 70 6c 20 6f 72 20 3a 6f | st.containing.:test,.:impl.or.:o | 
| 2b2e0 | 74 68 65 72 20 61 73 20 6b 65 79 20 61 6e 64 20    74 68 65 0a 20 20 20 20 72 65 6c 61 74 69 76 65 | ther.as.key.and.the.....relative | 
| 2b300 | 20 70 61 74 68 2f 70 61 74 68 73 20 6f 72 20 70    72 65 64 69 63 61 74 65 20 61 73 20 76 61 6c 75 | .path/paths.or.predicate.as.valu | 
| 2b320 | 65 2e 20 20 50 52 45 44 49 43 41 54 45 20 61 63    63 65 70 74 73 20 61 0a 20 20 20 20 72 65 6c 61 | e...PREDICATE.accepts.a.....rela | 
| 2b340 | 74 69 76 65 20 70 61 74 68 20 61 73 20 74 68 65    20 69 6e 70 75 74 2e 22 0a 20 20 20 20 28 6c 65 | tive.path.as.the.input.".....(le | 
| 2b360 | 74 2a 20 28 28 65 78 69 73 74 69 6e 67 2d 70 72    6f 6a 65 63 74 2d 70 6c 69 73 74 0a 20 20 20 20 | t*.((existing-project-plist..... | 
| 2b380 | 20 20 20 20 20 20 20 20 28 6f 72 20 28 63 6c 2d    66 69 6e 64 2d 69 66 0a 20 20 20 20 20 20 20 20 | ........(or.(cl-find-if......... | 
| 2b3a0 | 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61    20 28 70 29 20 28 65 71 20 70 72 6f 6a 65 63 74 | .........(lambda.(p).(eq.project | 
| 2b3c0 | 2d 74 79 70 65 20 28 63 61 72 20 70 29 29 29 20    70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 | -type.(car.p))).projectile-proje | 
| 2b3e0 | 63 74 2d 74 79 70 65 73 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 | ct-types).................(error | 
| 2b400 | 20 22 4e 6f 20 65 78 69 73 74 69 6e 67 20 70 72    6f 6a 65 63 74 20 66 6f 75 6e 64 20 66 6f 72 3a | ."No.existing.project.found.for: | 
| 2b420 | 20 25 73 22 20 70 72 6f 6a 65 63 74 2d 74 79 70    65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 | .%s".project-type)))............ | 
| 2b440 | 28 6e 65 77 2d 70 6c 69 73 74 0a 20 20 20 20 20    20 20 20 20 20 20 20 28 61 70 70 65 6e 64 0a 20 | (new-plist.............(append.. | 
| 2b460 | 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65    6e 20 6d 61 72 6b 65 72 2d 66 69 6c 65 73 2d 73 | ............(when.marker-files-s | 
| 2b480 | 70 65 63 69 66 69 65 64 20 60 28 6d 61 72 6b 65    72 2d 66 69 6c 65 73 20 2c 6d 61 72 6b 65 72 2d | pecified.`(marker-files.,marker- | 
| 2b4a0 | 66 69 6c 65 73 29 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 28 77 68 65 6e 20 70 72 6f 6a 65 | files))..............(when.proje | 
| 2b4c0 | 63 74 2d 66 69 6c 65 2d 73 70 65 63 69 66 69 65    64 20 60 28 70 72 6f 6a 65 63 74 2d 66 69 6c 65 | ct-file-specified.`(project-file | 
| 2b4e0 | 20 2c 70 72 6f 6a 65 63 74 2d 66 69 6c 65 29 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 | .,project-file))..............(w | 
| 2b500 | 68 65 6e 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 2d    64 69 72 2d 73 70 65 63 69 66 69 65 64 20 60 28 | hen.compilation-dir-specified.`( | 
| 2b520 | 63 6f 6d 70 69 6c 61 74 69 6f 6e 2d 64 69 72 20    2c 63 6f 6d 70 69 6c 61 74 69 6f 6e 2d 64 69 72 | compilation-dir.,compilation-dir | 
| 2b540 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    28 77 68 65 6e 20 63 6f 6e 66 69 67 75 72 65 2d | ))..............(when.configure- | 
| 2b560 | 73 70 65 63 69 66 69 65 64 20 60 28 63 6f 6e 66    69 67 75 72 65 2d 63 6f 6d 6d 61 6e 64 20 2c 63 | specified.`(configure-command.,c | 
| 2b580 | 6f 6e 66 69 67 75 72 65 29 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 28 77 68 65 6e 20 63 6f | onfigure))..............(when.co | 
| 2b5a0 | 6d 70 69 6c 65 2d 73 70 65 63 69 66 69 65 64 20    60 28 63 6f 6d 70 69 6c 65 2d 63 6f 6d 6d 61 6e | mpile-specified.`(compile-comman | 
| 2b5c0 | 64 20 2c 63 6f 6d 70 69 6c 65 29 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 | d.,compile))..............(when. | 
| 2b5e0 | 74 65 73 74 2d 73 70 65 63 69 66 69 65 64 20 60    28 74 65 73 74 2d 63 6f 6d 6d 61 6e 64 20 2c 74 | test-specified.`(test-command.,t | 
| 2b600 | 65 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 28 77 68 65 6e 20 69 6e 73 74 61 6c 6c | est))..............(when.install | 
| 2b620 | 2d 73 70 65 63 69 66 69 65 64 20 60 28 69 6e 73    74 61 6c 6c 2d 63 6f 6d 6d 61 6e 64 20 2c 69 6e | -specified.`(install-command.,in | 
| 2b640 | 73 74 61 6c 6c 29 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 28 77 68 65 6e 20 70 61 63 6b 61 | stall))..............(when.packa | 
| 2b660 | 67 65 2d 73 70 65 63 69 66 69 65 64 20 60 28 70    61 63 6b 61 67 65 2d 63 6f 6d 6d 61 6e 64 20 2c | ge-specified.`(package-command., | 
| 2b680 | 70 61 63 6b 61 67 65 29 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 28 77 68 65 6e 20 72 75 6e | package))..............(when.run | 
| 2b6a0 | 2d 73 70 65 63 69 66 69 65 64 20 60 28 72 75 6e    2d 63 6f 6d 6d 61 6e 64 20 2c 72 75 6e 29 29 0a | -specified.`(run-command.,run)). | 
| 2b6c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68    65 6e 20 74 65 73 74 2d 73 75 66 66 69 78 2d 73 | .............(when.test-suffix-s | 
| 2b6e0 | 70 65 63 69 66 69 65 64 20 60 28 74 65 73 74 2d    73 75 66 66 69 78 20 2c 74 65 73 74 2d 73 75 66 | pecified.`(test-suffix.,test-suf | 
| 2b700 | 66 69 78 29 29 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 28 77 68 65 6e 20 74 65 73 74 2d 70 72 | fix))..............(when.test-pr | 
| 2b720 | 65 66 69 78 2d 73 70 65 63 69 66 69 65 64 20 60    28 74 65 73 74 2d 70 72 65 66 69 78 20 2c 74 65 | efix-specified.`(test-prefix.,te | 
| 2b740 | 73 74 2d 70 72 65 66 69 78 29 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 73 | st-prefix))..............(when.s | 
| 2b760 | 72 63 2d 64 69 72 2d 73 70 65 63 69 66 69 65 64    20 60 28 73 72 63 2d 64 69 72 20 2c 73 72 63 2d | rc-dir-specified.`(src-dir.,src- | 
| 2b780 | 64 69 72 29 29 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 28 77 68 65 6e 20 74 65 73 74 2d 64 69 | dir))..............(when.test-di | 
| 2b7a0 | 72 2d 73 70 65 63 69 66 69 65 64 20 60 28 74 65    73 74 2d 64 69 72 20 2c 74 65 73 74 2d 64 69 72 | r-specified.`(test-dir.,test-dir | 
| 2b7c0 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    28 77 68 65 6e 20 72 65 6c 61 74 65 64 2d 66 69 | ))..............(when.related-fi | 
| 2b7e0 | 6c 65 73 2d 66 6e 2d 73 70 65 63 69 66 69 65 64    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | les-fn-specified................ | 
| 2b800 | 60 28 72 65 6c 61 74 65 64 2d 66 69 6c 65 73 2d    66 6e 20 2c 72 65 6c 61 74 65 64 2d 66 69 6c 65 | `(related-files-fn.,related-file | 
| 2b820 | 73 2d 66 6e 29 29 29 29 0a 20 20 20 20 20 20 20    20 20 20 20 28 6d 65 72 67 65 64 2d 70 6c 69 73 | s-fn))))............(merged-plis | 
| 2b840 | 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 70    72 6f 6a 65 63 74 69 6c 65 2d 2d 63 6f 6d 62 69 | t.............(projectile--combi | 
| 2b860 | 6e 65 2d 70 6c 69 73 74 73 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 28 63 64 72 20 65 78 69 73 | ne-plists..............(cdr.exis | 
| 2b880 | 74 69 6e 67 2d 70 72 6f 6a 65 63 74 2d 70 6c 69    73 74 29 20 6e 65 77 2d 70 6c 69 73 74 29 29 0a | ting-project-plist).new-plist)). | 
| 2b8a0 | 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 6a    65 63 74 2d 74 79 70 65 2d 65 6c 74 20 28 63 6f | ...........(project-type-elt.(co | 
| 2b8c0 | 6e 73 20 70 72 6f 6a 65 63 74 2d 74 79 70 65 20    6d 65 72 67 65 64 2d 70 6c 69 73 74 29 29 29 0a | ns.project-type.merged-plist))). | 
| 2b8e0 | 20 20 20 20 20 20 28 63 6c 2d 66 6c 65 74 2a 20    28 28 70 72 6f 6a 65 63 74 2d 66 69 6c 74 65 72 | ......(cl-flet*.((project-filter | 
| 2b900 | 20 28 70 29 20 28 65 71 20 70 72 6f 6a 65 63 74    2d 74 79 70 65 20 28 63 61 72 20 70 29 29 29 0a | .(p).(eq.project-type.(car.p))). | 
| 2b920 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 70 72 6f 6a 65 63 74 2d 6d 61 70 20 28 70 | .................(project-map.(p | 
| 2b940 | 29 20 28 69 66 20 28 70 72 6f 6a 65 63 74 2d 66    69 6c 74 65 72 20 70 29 20 70 72 6f 6a 65 63 74 | ).(if.(project-filter.p).project | 
| 2b960 | 2d 74 79 70 65 2d 65 6c 74 20 70 29 29 29 0a 20    20 20 20 20 20 20 20 28 73 65 74 71 20 70 72 6f | -type-elt.p))).........(setq.pro | 
| 2b980 | 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d    74 79 70 65 73 0a 20 20 20 20 20 20 20 20 20 20 | jectile-project-types........... | 
| 2b9a0 | 20 20 20 20 28 69 66 20 70 72 65 63 65 64 65 6e    63 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | ....(if.precedence.............. | 
| 2b9c0 | 20 20 20 20 20 28 6c 65 74 20 28 28 66 69 6c 74    65 72 65 64 2d 74 79 70 65 73 0a 20 20 20 20 20 | .....(let.((filtered-types...... | 
| 2b9e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 63 6c 2d 72 65 6d 6f 76 65 2d 69 66 20 | ..................(cl-remove-if. | 
| 2ba00 | 23 27 70 72 6f 6a 65 63 74 2d 66 69 6c 74 65 72    20 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a | #'project-filter.projectile-proj | 
| 2ba20 | 65 63 74 2d 74 79 70 65 73 29 29 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ect-types))).................... | 
| 2ba40 | 20 28 73 65 74 71 20 70 72 6f 6a 65 63 74 69 6c    65 2d 70 72 6f 6a 65 63 74 2d 74 79 70 65 2d 63 | .(setq.projectile-project-type-c | 
| 2ba60 | 61 63 68 65 20 28 6d 61 6b 65 2d 68 61 73 68 2d    74 61 62 6c 65 29 29 0a 20 20 20 20 20 20 20 20 | ache.(make-hash-table))......... | 
| 2ba80 | 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e    64 20 28 28 65 71 20 70 72 65 63 65 64 65 6e 63 | ............(cond.((eq.precedenc | 
| 2baa0 | 65 20 27 68 69 67 68 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 | e.'high)........................ | 
| 2bac0 | 20 20 20 20 28 63 6f 6e 73 20 70 72 6f 6a 65 63    74 2d 74 79 70 65 2d 65 6c 74 20 66 69 6c 74 65 | ....(cons.project-type-elt.filte | 
| 2bae0 | 72 65 64 2d 74 79 70 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 | red-types))..................... | 
| 2bb00 | 20 20 20 20 20 20 28 28 65 71 20 70 72 65 63 65    64 65 6e 63 65 20 27 6c 6f 77 29 0a 20 20 20 20 | ......((eq.precedence.'low)..... | 
| 2bb20 | 20 20 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 66 | .......................(append.f | 
| 2bb40 | 69 6c 74 65 72 65 64 2d 74 79 70 65 73 20 28 6c    69 73 74 20 70 72 6f 6a 65 63 74 2d 74 79 70 65 | iltered-types.(list.project-type | 
| 2bb60 | 2d 65 6c 74 29 29 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | -elt)))......................... | 
| 2bb80 | 20 20 28 74 20 28 65 72 72 6f 72 20 22 50 72 65    63 65 64 65 6e 63 65 20 6d 75 73 74 20 62 65 20 | ..(t.(error."Precedence.must.be. | 
| 2bba0 | 6f 6e 65 20 6f 66 20 27 28 68 69 67 68 20 6c 6f    77 29 22 29 29 29 29 0a 20 20 20 20 20 20 20 20 | one.of.'(high.low)"))))......... | 
| 2bbc0 | 20 20 20 20 20 20 20 20 28 6d 61 70 63 61 72 20    23 27 70 72 6f 6a 65 63 74 2d 6d 61 70 20 70 72 | ........(mapcar.#'project-map.pr | 
| 2bbe0 | 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74    2d 74 79 70 65 73 29 29 29 29 29 29 0a 0a 28 64 | ojectile-project-types))))))..(d | 
| 2bc00 | 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d    65 6c 64 65 76 2d 70 72 6f 6a 65 63 74 2d 70 20 | efun.projectile-eldev-project-p. | 
| 2bc20 | 28 26 6f 70 74 69 6f 6e 61 6c 20 64 69 72 29 0a    20 20 22 43 68 65 63 6b 20 69 66 20 61 20 70 72 | (&optional.dir)..."Check.if.a.pr | 
| 2bc40 | 6f 6a 65 63 74 20 63 6f 6e 74 61 69 6e 73 20 65    6c 64 65 76 20 66 69 6c 65 73 2e 0a 57 68 65 6e | oject.contains.eldev.files..When | 
| 2bc60 | 20 44 49 52 20 69 73 20 73 70 65 63 69 66 69 65    64 20 69 74 20 63 68 65 63 6b 73 20 44 49 52 27 | .DIR.is.specified.it.checks.DIR' | 
| 2bc80 | 73 20 70 72 6f 6a 65 63 74 2c 20 6f 74 68 65 72    77 69 73 65 0a 69 74 20 61 63 74 73 20 6f 6e 20 | s.project,.otherwise.it.acts.on. | 
| 2bca0 | 74 68 65 20 63 75 72 72 65 6e 74 20 70 72 6f 6a    65 63 74 2e 22 0a 20 20 28 6f 72 20 28 70 72 6f | the.current.project."...(or.(pro | 
| 2bcc0 | 6a 65 63 74 69 6c 65 2d 76 65 72 69 66 79 2d 66    69 6c 65 20 22 45 6c 64 65 76 22 20 64 69 72 29 | jectile-verify-file."Eldev".dir) | 
| 2bce0 | 0a 20 20 20 20 20 20 28 70 72 6f 6a 65 63 74 69    6c 65 2d 76 65 72 69 66 79 2d 66 69 6c 65 20 22 | .......(projectile-verify-file." | 
| 2bd00 | 45 6c 64 65 76 2d 6c 6f 63 61 6c 22 20 64 69 72    29 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a | Eldev-local".dir)))..(defun.proj | 
| 2bd20 | 65 63 74 69 6c 65 2d 65 78 70 61 6e 64 2d 66 69    6c 65 2d 6e 61 6d 65 2d 77 69 6c 64 63 61 72 64 | ectile-expand-file-name-wildcard | 
| 2bd40 | 20 28 6e 61 6d 65 2d 70 61 74 74 65 72 6e 20 64    69 72 29 0a 20 20 22 45 78 70 61 6e 64 20 74 68 | .(name-pattern.dir)..."Expand.th | 
| 2bd60 | 65 20 6d 61 79 62 65 2d 77 69 6c 64 63 61 72 64    2d 63 6f 6e 74 61 69 6e 69 6e 67 20 4e 41 4d 45 | e.maybe-wildcard-containing.NAME | 
| 2bd80 | 2d 50 41 54 54 45 52 4e 20 69 6e 20 44 49 52 2e    0a 49 66 20 74 68 65 72 65 20 61 72 65 20 72 65 | -PATTERN.in.DIR..If.there.are.re | 
| 2bda0 | 73 75 6c 74 73 20 65 78 70 61 6e 64 69 6e 67 20    61 20 77 69 6c 64 63 61 72 64 2c 20 67 65 74 20 | sults.expanding.a.wildcard,.get. | 
| 2bdc0 | 74 68 65 20 66 69 72 73 74 20 72 65 73 75 6c 74    2c 0a 6f 74 68 65 72 77 69 73 65 20 65 78 70 61 | the.first.result,.otherwise.expa | 
| 2bde0 | 6e 64 20 4e 41 4d 45 2d 50 41 54 54 45 52 4e 20    69 6e 20 44 49 52 20 69 67 6e 6f 72 69 6e 67 20 | nd.NAME-PATTERN.in.DIR.ignoring. | 
| 2be00 | 77 69 6c 64 63 61 72 64 73 2e 22 0a 20 20 28 6c    65 74 20 28 28 65 78 70 61 6e 64 65 64 20 28 65 | wildcards."...(let.((expanded.(e | 
| 2be20 | 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20    6e 61 6d 65 2d 70 61 74 74 65 72 6e 20 64 69 72 | xpand-file-name.name-pattern.dir | 
| 2be40 | 29 29 29 0a 20 20 20 20 28 6f 72 20 28 69 66 20    28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 | ))).....(or.(if.(string-match-p. | 
| 2be60 | 22 5b 5b 2a 3f 5d 22 20 6e 61 6d 65 2d 70 61 74    74 65 72 6e 29 0a 20 20 20 20 20 20 20 20 20 20 | "[[*?]".name-pattern)........... | 
| 2be80 | 20 20 28 63 61 72 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 28 66 69 6c 65 2d 65 78 70 61 6e 64 | ..(car..............(file-expand | 
| 2bea0 | 2d 77 69 6c 64 63 61 72 64 73 20 65 78 70 61 6e    64 65 64 29 29 29 0a 20 20 20 20 20 20 20 20 65 | -wildcards.expanded))).........e | 
| 2bec0 | 78 70 61 6e 64 65 64 29 29 29 0a 0a 28 64 65 66    75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 63 61 | xpanded)))..(defun.projectile-ca | 
| 2bee0 | 62 61 6c 2d 70 72 6f 6a 65 63 74 2d 70 20 28 26    6f 70 74 69 6f 6e 61 6c 20 64 69 72 29 0a 20 20 | bal-project-p.(&optional.dir)... | 
| 2bf00 | 22 43 68 65 63 6b 20 69 66 20 61 20 70 72 6f 6a    65 63 74 20 63 6f 6e 74 61 69 6e 73 20 2a 2e 63 | "Check.if.a.project.contains.*.c | 
| 2bf20 | 61 62 61 6c 20 66 69 6c 65 73 20 62 75 74 20 6e    6f 20 73 74 61 63 6b 2e 79 61 6d 6c 20 66 69 6c | abal.files.but.no.stack.yaml.fil | 
| 2bf40 | 65 2e 0a 57 68 65 6e 20 44 49 52 20 69 73 20 73    70 65 63 69 66 69 65 64 20 69 74 20 63 68 65 63 | e..When.DIR.is.specified.it.chec | 
| 2bf60 | 6b 73 20 44 49 52 27 73 20 70 72 6f 6a 65 63 74    2c 20 6f 74 68 65 72 77 69 73 65 0a 69 74 20 61 | ks.DIR's.project,.otherwise.it.a | 
| 2bf80 | 63 74 73 20 6f 6e 20 74 68 65 20 63 75 72 72 65    6e 74 20 70 72 6f 6a 65 63 74 2e 22 0a 20 20 28 | cts.on.the.current.project."...( | 
| 2bfa0 | 61 6e 64 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d    76 65 72 69 66 79 2d 66 69 6c 65 2d 77 69 6c 64 | and.(projectile-verify-file-wild | 
| 2bfc0 | 63 61 72 64 20 22 3f 2a 2e 63 61 62 61 6c 22 20    64 69 72 29 0a 20 20 20 20 20 20 20 28 6e 6f 74 | card."?*.cabal".dir)........(not | 
| 2bfe0 | 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 76 65 72    69 66 79 2d 66 69 6c 65 20 22 73 74 61 63 6b 2e | .(projectile-verify-file."stack. | 
| 2c000 | 79 61 6d 6c 22 20 64 69 72 29 29 29 29 0a 0a 28    64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 | yaml".dir))))..(defun.projectile | 
| 2c020 | 2d 64 6f 74 6e 65 74 2d 70 72 6f 6a 65 63 74 2d    70 20 28 26 6f 70 74 69 6f 6e 61 6c 20 64 69 72 | -dotnet-project-p.(&optional.dir | 
| 2c040 | 29 0a 20 20 22 43 68 65 63 6b 20 69 66 20 61 20    70 72 6f 6a 65 63 74 20 63 6f 6e 74 61 69 6e 73 | )..."Check.if.a.project.contains | 
| 2c060 | 20 61 20 2e 4e 45 54 20 70 72 6f 6a 65 63 74 20    6d 61 72 6b 65 72 2e 0a 57 68 65 6e 20 44 49 52 | .a..NET.project.marker..When.DIR | 
| 2c080 | 20 69 73 20 73 70 65 63 69 66 69 65 64 20 69 74    20 63 68 65 63 6b 73 20 44 49 52 27 73 20 70 72 | .is.specified.it.checks.DIR's.pr | 
| 2c0a0 | 6f 6a 65 63 74 2c 20 6f 74 68 65 72 77 69 73 65    0a 69 74 20 61 63 74 73 20 6f 6e 20 74 68 65 20 | oject,.otherwise.it.acts.on.the. | 
| 2c0c0 | 63 75 72 72 65 6e 74 20 70 72 6f 6a 65 63 74 2e    22 0a 20 20 28 6f 72 20 28 70 72 6f 6a 65 63 74 | current.project."...(or.(project | 
| 2c0e0 | 69 6c 65 2d 76 65 72 69 66 79 2d 66 69 6c 65 2d    77 69 6c 64 63 61 72 64 20 22 3f 2a 2e 63 73 70 | ile-verify-file-wildcard."?*.csp | 
| 2c100 | 72 6f 6a 22 20 64 69 72 29 0a 20 20 20 20 20 20    28 70 72 6f 6a 65 63 74 69 6c 65 2d 76 65 72 69 | roj".dir).......(projectile-veri | 
| 2c120 | 66 79 2d 66 69 6c 65 2d 77 69 6c 64 63 61 72 64    20 22 3f 2a 2e 66 73 70 72 6f 6a 22 20 64 69 72 | fy-file-wildcard."?*.fsproj".dir | 
| 2c140 | 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a    65 63 74 69 6c 65 2d 67 6f 2d 70 72 6f 6a 65 63 | )))..(defun.projectile-go-projec | 
| 2c160 | 74 2d 70 20 28 26 6f 70 74 69 6f 6e 61 6c 20 64    69 72 29 0a 20 20 22 43 68 65 63 6b 20 69 66 20 | t-p.(&optional.dir)..."Check.if. | 
| 2c180 | 61 20 70 72 6f 6a 65 63 74 20 63 6f 6e 74 61 69    6e 73 20 47 6f 20 73 6f 75 72 63 65 20 66 69 6c | a.project.contains.Go.source.fil | 
| 2c1a0 | 65 73 2e 0a 57 68 65 6e 20 44 49 52 20 69 73 20    73 70 65 63 69 66 69 65 64 20 69 74 20 63 68 65 | es..When.DIR.is.specified.it.che | 
| 2c1c0 | 63 6b 73 20 44 49 52 27 73 20 70 72 6f 6a 65 63    74 2c 20 6f 74 68 65 72 77 69 73 65 0a 69 74 20 | cks.DIR's.project,.otherwise.it. | 
| 2c1e0 | 61 63 74 73 20 6f 6e 20 74 68 65 20 63 75 72 72    65 6e 74 20 70 72 6f 6a 65 63 74 2e 22 0a 20 20 | acts.on.the.current.project."... | 
| 2c200 | 28 6f 72 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d    76 65 72 69 66 79 2d 66 69 6c 65 20 22 67 6f 2e | (or.(projectile-verify-file."go. | 
| 2c220 | 6d 6f 64 22 20 64 69 72 29 0a 20 20 20 20 20 20    28 70 72 6f 6a 65 63 74 69 6c 65 2d 76 65 72 69 | mod".dir).......(projectile-veri | 
| 2c240 | 66 79 2d 66 69 6c 65 2d 77 69 6c 64 63 61 72 64    20 22 2a 2e 67 6f 22 20 64 69 72 29 29 29 0a 0a | fy-file-wildcard."*.go".dir))).. | 
| 2c260 | 28 64 65 66 63 75 73 74 6f 6d 20 70 72 6f 6a 65    63 74 69 6c 65 2d 67 6f 2d 70 72 6f 6a 65 63 74 | (defcustom.projectile-go-project | 
| 2c280 | 2d 74 65 73 74 2d 66 75 6e 63 74 69 6f 6e 20 23    27 70 72 6f 6a 65 63 74 69 6c 65 2d 67 6f 2d 70 | -test-function.#'projectile-go-p | 
| 2c2a0 | 72 6f 6a 65 63 74 2d 70 0a 20 20 22 46 75 6e 63    74 69 6f 6e 20 74 6f 20 64 65 74 65 72 6d 69 6e | roject-p..."Function.to.determin | 
| 2c2c0 | 65 20 69 66 20 70 72 6f 6a 65 63 74 27 73 20 74    79 70 65 20 69 73 20 67 6f 2e 22 0a 20 20 3a 67 | e.if.project's.type.is.go."...:g | 
| 2c2e0 | 72 6f 75 70 20 27 70 72 6f 6a 65 63 74 69 6c 65    0a 20 20 3a 74 79 70 65 20 27 66 75 6e 63 74 69 | roup.'projectile...:type.'functi | 
| 2c300 | 6f 6e 0a 20 20 3a 70 61 63 6b 61 67 65 2d 76 65    72 73 69 6f 6e 20 27 28 70 72 6f 6a 65 63 74 69 | on...:package-version.'(projecti | 
| 2c320 | 6c 65 20 2e 20 22 31 2e 30 2e 30 22 29 29 0a 0a    28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c | le..."1.0.0"))..(defun.projectil | 
| 2c340 | 65 2d 6e 69 6d 62 6c 65 2d 70 72 6f 6a 65 63 74    2d 70 20 28 26 6f 70 74 69 6f 6e 61 6c 20 64 69 | e-nimble-project-p.(&optional.di | 
| 2c360 | 72 29 0a 20 20 22 43 68 65 63 6b 20 69 66 20 61    20 70 72 6f 6a 65 63 74 20 63 6f 6e 74 61 69 6e | r)..."Check.if.a.project.contain | 
| 2c380 | 73 20 61 20 4e 69 6d 62 6c 65 20 70 72 6f 6a 65    63 74 20 6d 61 72 6b 65 72 2e 0a 4e 69 6d 20 70 | s.a.Nimble.project.marker..Nim.p | 
| 2c3a0 | 72 6f 6a 65 63 74 73 20 74 68 61 74 20 75 73 65    20 4e 69 6d 62 6c 65 20 63 6f 6e 74 61 69 6e 20 | rojects.that.use.Nimble.contain. | 
| 2c3c0 | 61 20 3c 70 72 6f 6a 65 63 74 6e 61 6d 65 3e 2e    6e 69 6d 62 6c 65 20 66 69 6c 65 2e 0a 57 68 65 | a.<projectname>.nimble.file..Whe | 
| 2c3e0 | 6e 20 44 49 52 20 69 73 20 73 70 65 63 69 66 69    65 64 20 69 74 20 63 68 65 63 6b 73 20 44 49 52 | n.DIR.is.specified.it.checks.DIR | 
| 2c400 | 27 73 20 70 72 6f 6a 65 63 74 2c 20 6f 74 68 65    72 77 69 73 65 0a 69 74 20 61 63 74 73 20 6f 6e | 's.project,.otherwise.it.acts.on | 
| 2c420 | 20 74 68 65 20 63 75 72 72 65 6e 74 20 70 72 6f    6a 65 63 74 2e 22 0a 20 20 28 70 72 6f 6a 65 63 | .the.current.project."...(projec | 
| 2c440 | 74 69 6c 65 2d 76 65 72 69 66 79 2d 66 69 6c 65    2d 77 69 6c 64 63 61 72 64 20 22 3f 2a 2e 6e 69 | tile-verify-file-wildcard."?*.ni | 
| 2c460 | 6d 62 6c 65 22 20 64 69 72 29 29 0a 0a 3b 3b 3b    3b 20 43 6f 6e 73 74 61 6e 74 20 73 69 67 6e 69 | mble".dir))..;;;;.Constant.signi | 
| 2c480 | 66 79 69 6e 67 20 6f 70 74 69 6e 67 20 6f 75 74    20 6f 66 20 43 4d 61 6b 65 20 70 72 65 73 65 74 | fying.opting.out.of.CMake.preset | 
| 2c4a0 | 20 63 6f 6d 6d 61 6e 64 73 2e 0a 28 64 65 66 63    6f 6e 73 74 20 70 72 6f 6a 65 63 74 69 6c 65 2d | .commands..(defconst.projectile- | 
| 2c4c0 | 2d 63 6d 61 6b 65 2d 6e 6f 2d 70 72 65 73 65 74    20 22 2a 6e 6f 20 70 72 65 73 65 74 2a 22 29 0a | -cmake-no-preset."*no.preset*"). | 
| 2c4e0 | 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69    6c 65 2d 2d 63 6d 61 6b 65 2d 76 65 72 73 69 6f | .(defun.projectile--cmake-versio | 
| 2c500 | 6e 20 28 29 0a 20 20 22 43 6f 6d 70 75 74 65 20    43 4d 61 6b 65 20 76 65 72 73 69 6f 6e 2e 22 0a | n.()..."Compute.CMake.version.". | 
| 2c520 | 20 20 28 6c 65 74 2a 20 28 28 73 74 72 69 6e 67    20 28 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d | ..(let*.((string.(shell-command- | 
| 2c540 | 74 6f 2d 73 74 72 69 6e 67 20 22 63 6d 61 6b 65    20 2d 2d 76 65 72 73 69 6f 6e 22 29 29 0a 20 20 | to-string."cmake.--version"))... | 
| 2c560 | 20 20 20 20 20 20 20 28 6d 61 74 63 68 20 28 73    74 72 69 6e 67 2d 6d 61 74 63 68 20 22 5e 63 6d | .......(match.(string-match."^cm | 
| 2c580 | 61 6b 65 20 76 65 72 73 69 6f 6e 20 5c 5c 28 2e    2a 5c 5c 29 24 22 20 73 74 72 69 6e 67 29 29 29 | ake.version.\\(.*\\)$".string))) | 
| 2c5a0 | 0a 20 20 20 20 28 77 68 65 6e 20 6d 61 74 63 68    0a 20 20 20 20 20 20 28 76 65 72 73 69 6f 6e 2d | .....(when.match.......(version- | 
| 2c5c0 | 74 6f 2d 6c 69 73 74 20 28 6d 61 74 63 68 2d 73    74 72 69 6e 67 20 31 20 73 74 72 69 6e 67 29 29 | to-list.(match-string.1.string)) | 
| 2c5e0 | 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a    65 63 74 69 6c 65 2d 2d 63 6d 61 6b 65 2d 63 68 | )))..(defun.projectile--cmake-ch | 
| 2c600 | 65 63 6b 2d 76 65 72 73 69 6f 6e 20 28 76 65 72    73 69 6f 6e 29 0a 20 20 22 43 68 65 63 6b 20 69 | eck-version.(version)..."Check.i | 
| 2c620 | 66 20 43 4d 61 6b 65 20 76 65 72 73 69 6f 6e 20    69 73 20 61 74 20 6c 65 61 73 74 20 56 45 52 53 | f.CMake.version.is.at.least.VERS | 
| 2c640 | 49 4f 4e 2e 22 0a 20 20 28 61 6e 64 0a 20 20 20    28 76 65 72 73 69 6f 6e 2d 6c 69 73 74 2d 3c 3d | ION."...(and....(version-list-<= | 
| 2c660 | 20 76 65 72 73 69 6f 6e 20 28 70 72 6f 6a 65 63    74 69 6c 65 2d 2d 63 6d 61 6b 65 2d 76 65 72 73 | .version.(projectile--cmake-vers | 
| 2c680 | 69 6f 6e 29 29 29 29 0a 0a 28 64 65 66 63 6f 6e    73 74 20 70 72 6f 6a 65 63 74 69 6c 65 2d 2d 63 | ion))))..(defconst.projectile--c | 
| 2c6a0 | 6d 61 6b 65 2d 63 6f 6d 6d 61 6e 64 2d 70 72 65    73 65 74 73 2d 6d 69 6e 69 6d 75 6d 2d 76 65 72 | make-command-presets-minimum-ver | 
| 2c6c0 | 73 69 6f 6e 2d 61 6c 69 73 74 0a 20 20 27 28 28    3a 63 6f 6e 66 69 67 75 72 65 2d 63 6f 6d 6d 61 | sion-alist...'((:configure-comma | 
| 2c6e0 | 6e 64 20 2e 20 28 33 20 31 39 29 29 0a 20 20 20    20 28 3a 63 6f 6d 70 69 6c 65 2d 63 6f 6d 6d 61 | nd...(3.19)).....(:compile-comma | 
| 2c700 | 6e 64 20 2e 20 28 33 20 32 30 29 29 0a 20 20 20    20 28 3a 74 65 73 74 2d 63 6f 6d 6d 61 6e 64 20 | nd...(3.20)).....(:test-command. | 
| 2c720 | 2e 20 28 33 20 32 30 29 29 0a 20 20 20 20 28 3a    69 6e 73 74 61 6c 6c 2d 63 6f 6d 6d 61 6e 64 20 | ..(3.20)).....(:install-command. | 
| 2c740 | 2e 20 28 33 20 32 30 29 29 29 29 0a 0a 28 64 65    66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 2d | ..(3.20))))..(defun.projectile-- | 
| 2c760 | 63 6d 61 6b 65 2d 63 6f 6d 6d 61 6e 64 2d 70 72    65 73 65 74 73 2d 73 75 70 70 6f 72 74 65 64 20 | cmake-command-presets-supported. | 
| 2c780 | 28 63 6f 6d 6d 61 6e 64 2d 74 79 70 65 29 0a 20    20 22 43 68 65 63 6b 20 69 66 20 43 4d 61 6b 65 | (command-type)..."Check.if.CMake | 
| 2c7a0 | 20 73 75 70 70 6f 72 74 73 20 70 72 65 73 65 74    73 20 66 6f 72 20 43 4f 4d 4d 41 4e 44 2d 54 59 | .supports.presets.for.COMMAND-TY | 
| 2c7c0 | 50 45 2e 22 0a 20 20 28 6c 65 74 20 28 28 6d 69    6e 69 6d 75 6d 2d 76 65 72 73 69 6f 6e 0a 20 20 | PE."...(let.((minimum-version... | 
| 2c7e0 | 20 20 20 20 20 20 20 28 63 64 72 20 28 61 73 73    6f 63 20 63 6f 6d 6d 61 6e 64 2d 74 79 70 65 20 | .......(cdr.(assoc.command-type. | 
| 2c800 | 70 72 6f 6a 65 63 74 69 6c 65 2d 2d 63 6d 61 6b    65 2d 63 6f 6d 6d 61 6e 64 2d 70 72 65 73 65 74 | projectile--cmake-command-preset | 
| 2c820 | 73 2d 6d 69 6e 69 6d 75 6d 2d 76 65 72 73 69 6f    6e 2d 61 6c 69 73 74 29 29 29 29 0a 20 20 20 20 | s-minimum-version-alist))))..... | 
| 2c840 | 28 70 72 6f 6a 65 63 74 69 6c 65 2d 2d 63 6d 61    6b 65 2d 63 68 65 63 6b 2d 76 65 72 73 69 6f 6e | (projectile--cmake-check-version | 
| 2c860 | 20 6d 69 6e 69 6d 75 6d 2d 76 65 72 73 69 6f 6e    29 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a | .minimum-version)))..(defun.proj | 
| 2c880 | 65 63 74 69 6c 65 2d 2d 63 6d 61 6b 65 2d 72 65    61 64 2d 70 72 65 73 65 74 20 28 66 69 6c 65 6e | ectile--cmake-read-preset.(filen | 
| 2c8a0 | 61 6d 65 29 0a 20 20 22 52 65 61 64 20 43 4d 61    6b 65 20 70 72 65 73 65 74 20 66 72 6f 6d 20 46 | ame)..."Read.CMake.preset.from.F | 
| 2c8c0 | 49 4c 45 4e 41 4d 45 2e 22 0a 20 20 28 77 68 65    6e 20 28 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 | ILENAME."...(when.(file-exists-p | 
| 2c8e0 | 20 66 69 6c 65 6e 61 6d 65 29 0a 20 20 20 20 28    77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 65 72 | .filename).....(with-temp-buffer | 
| 2c900 | 0a 20 20 20 20 20 20 28 69 6e 73 65 72 74 2d 66    69 6c 65 2d 63 6f 6e 74 65 6e 74 73 20 66 69 6c | .......(insert-file-contents.fil | 
| 2c920 | 65 6e 61 6d 65 29 0a 20 20 20 20 20 20 28 77 68    65 6e 20 28 66 75 6e 63 74 69 6f 6e 70 20 27 6a | ename).......(when.(functionp.'j | 
| 2c940 | 73 6f 6e 2d 70 61 72 73 65 2d 62 75 66 66 65 72    29 0a 20 20 20 20 20 20 20 20 28 6a 73 6f 6e 2d | son-parse-buffer).........(json- | 
| 2c960 | 70 61 72 73 65 2d 62 75 66 66 65 72 20 3a 61 72    72 61 79 2d 74 79 70 65 20 27 6c 69 73 74 29 29 | parse-buffer.:array-type.'list)) | 
| 2c980 | 29 29 29 0a 0a 28 64 65 66 63 6f 6e 73 74 20 70    72 6f 6a 65 63 74 69 6c 65 2d 2d 63 6d 61 6b 65 | )))..(defconst.projectile--cmake | 
| 2c9a0 | 2d 63 6f 6d 6d 61 6e 64 2d 70 72 65 73 65 74 2d    61 72 72 61 79 2d 69 64 2d 61 6c 69 73 74 0a 20 | -command-preset-array-id-alist.. | 
| 2c9c0 | 20 27 28 28 3a 63 6f 6e 66 69 67 75 72 65 2d 63    6f 6d 6d 61 6e 64 20 2e 20 22 63 6f 6e 66 69 67 | .'((:configure-command..."config | 
| 2c9e0 | 75 72 65 50 72 65 73 65 74 73 22 29 0a 20 20 20    20 28 3a 63 6f 6d 70 69 6c 65 2d 63 6f 6d 6d 61 | urePresets").....(:compile-comma | 
| 2ca00 | 6e 64 20 2e 20 22 62 75 69 6c 64 50 72 65 73 65    74 73 22 29 0a 20 20 20 20 28 3a 74 65 73 74 2d | nd..."buildPresets").....(:test- | 
| 2ca20 | 63 6f 6d 6d 61 6e 64 20 2e 20 22 74 65 73 74 50    72 65 73 65 74 73 22 29 0a 20 20 20 20 28 3a 69 | command..."testPresets").....(:i | 
| 2ca40 | 6e 73 74 61 6c 6c 2d 63 6f 6d 6d 61 6e 64 20 2e    20 22 62 75 69 6c 64 50 72 65 73 65 74 73 22 29 | nstall-command..."buildPresets") | 
| 2ca60 | 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65    63 74 69 6c 65 2d 2d 63 6d 61 6b 65 2d 63 6f 6d | ))..(defun.projectile--cmake-com | 
| 2ca80 | 6d 61 6e 64 2d 70 72 65 73 65 74 2d 61 72 72 61    79 2d 69 64 20 28 63 6f 6d 6d 61 6e 64 2d 74 79 | mand-preset-array-id.(command-ty | 
| 2caa0 | 70 65 29 0a 20 20 22 4d 61 70 20 66 72 6f 6d 20    43 4f 4d 4d 41 4e 44 2d 54 59 50 45 20 74 6f 20 | pe)..."Map.from.COMMAND-TYPE.to. | 
| 2cac0 | 69 64 20 6f 66 20 63 6f 6d 6d 61 6e 64 20 70 72    65 73 65 74 20 61 72 72 61 79 20 69 6e 20 43 4d | id.of.command.preset.array.in.CM | 
| 2cae0 | 61 6b 65 20 70 72 65 73 65 74 2e 22 0a 20 20 28    63 64 72 20 28 61 73 73 6f 63 20 63 6f 6d 6d 61 | ake.preset."...(cdr.(assoc.comma | 
| 2cb00 | 6e 64 2d 74 79 70 65 20 70 72 6f 6a 65 63 74 69    6c 65 2d 2d 63 6d 61 6b 65 2d 63 6f 6d 6d 61 6e | nd-type.projectile--cmake-comman | 
| 2cb20 | 64 2d 70 72 65 73 65 74 2d 61 72 72 61 79 2d 69    64 2d 61 6c 69 73 74 29 29 29 0a 0a 28 64 65 66 | d-preset-array-id-alist)))..(def | 
| 2cb40 | 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 2d 63    6d 61 6b 65 2d 63 6f 6d 6d 61 6e 64 2d 70 72 65 | un.projectile--cmake-command-pre | 
| 2cb60 | 73 65 74 73 2d 73 68 61 6c 6c 6f 77 20 28 66 69    6c 65 6e 61 6d 65 20 63 6f 6d 6d 61 6e 64 2d 74 | sets-shallow.(filename.command-t | 
| 2cb80 | 79 70 65 29 0a 20 20 22 47 65 74 20 43 4d 61 6b    65 20 43 4f 4d 4d 41 4e 44 2d 54 59 50 45 20 70 | ype)..."Get.CMake.COMMAND-TYPE.p | 
| 2cba0 | 72 65 73 65 74 73 20 66 72 6f 6d 20 46 49 4c 45    4e 41 4d 45 2e 22 0a 20 20 28 77 68 65 6e 2d 6c | resets.from.FILENAME."...(when-l | 
| 2cbc0 | 65 74 20 28 28 70 72 65 73 65 74 20 28 70 72 6f    6a 65 63 74 69 6c 65 2d 2d 63 6d 61 6b 65 2d 72 | et.((preset.(projectile--cmake-r | 
| 2cbe0 | 65 61 64 2d 70 72 65 73 65 74 20 28 70 72 6f 6a    65 63 74 69 6c 65 2d 65 78 70 61 6e 64 2d 72 6f | ead-preset.(projectile-expand-ro | 
| 2cc00 | 6f 74 20 66 69 6c 65 6e 61 6d 65 29 29 29 29 0a    20 20 20 20 28 63 6c 2d 72 65 6d 6f 76 65 2d 69 | ot.filename)))).....(cl-remove-i | 
| 2cc20 | 66 0a 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28    70 72 65 73 65 74 29 20 28 65 71 75 61 6c 20 28 | f......(lambda.(preset).(equal.( | 
| 2cc40 | 67 65 74 68 61 73 68 20 22 68 69 64 64 65 6e 22    20 70 72 65 73 65 74 29 20 74 29 29 0a 20 20 20 | gethash."hidden".preset).t)).... | 
| 2cc60 | 20 20 28 67 65 74 68 61 73 68 20 28 70 72 6f 6a    65 63 74 69 6c 65 2d 2d 63 6d 61 6b 65 2d 63 6f | ..(gethash.(projectile--cmake-co | 
| 2cc80 | 6d 6d 61 6e 64 2d 70 72 65 73 65 74 2d 61 72 72    61 79 2d 69 64 20 63 6f 6d 6d 61 6e 64 2d 74 79 | mmand-preset-array-id.command-ty | 
| 2cca0 | 70 65 29 20 70 72 65 73 65 74 29 29 29 29 0a 0a    28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c | pe).preset))))..(defun.projectil | 
| 2ccc0 | 65 2d 2d 63 6d 61 6b 65 2d 63 6f 6d 6d 61 6e 64    2d 70 72 65 73 65 74 73 20 28 66 69 6c 65 6e 61 | e--cmake-command-presets.(filena | 
| 2cce0 | 6d 65 20 63 6f 6d 6d 61 6e 64 2d 74 79 70 65 29    0a 20 20 22 47 65 74 20 43 4d 61 6b 65 20 43 4f | me.command-type)..."Get.CMake.CO | 
| 2cd00 | 4d 4d 41 4e 44 2d 54 59 50 45 20 70 72 65 73 65    74 73 20 66 72 6f 6d 20 46 49 4c 45 4e 41 4d 45 | MMAND-TYPE.presets.from.FILENAME | 
| 2cd20 | 2e 20 46 6f 6c 6c 6f 77 73 20 69 6e 63 6c 75 64    65 64 20 66 69 6c 65 73 22 0a 20 20 28 77 68 65 | ..Follows.included.files"...(whe | 
| 2cd40 | 6e 2d 6c 65 74 20 28 28 70 72 65 73 65 74 20 28    70 72 6f 6a 65 63 74 69 6c 65 2d 2d 63 6d 61 6b | n-let.((preset.(projectile--cmak | 
| 2cd60 | 65 2d 72 65 61 64 2d 70 72 65 73 65 74 20 28 70    72 6f 6a 65 63 74 69 6c 65 2d 65 78 70 61 6e 64 | e-read-preset.(projectile-expand | 
| 2cd80 | 2d 72 6f 6f 74 20 66 69 6c 65 6e 61 6d 65 29 29    29 29 0a 20 20 20 20 28 61 70 70 65 6e 64 0a 20 | -root.filename)))).....(append.. | 
| 2cda0 | 20 20 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d    2d 63 6d 61 6b 65 2d 63 6f 6d 6d 61 6e 64 2d 70 | ....(projectile--cmake-command-p | 
| 2cdc0 | 72 65 73 65 74 73 2d 73 68 61 6c 6c 6f 77 20 66    69 6c 65 6e 61 6d 65 20 63 6f 6d 6d 61 6e 64 2d | resets-shallow.filename.command- | 
| 2cde0 | 74 79 70 65 29 0a 20 20 20 20 20 28 6d 61 70 63    61 72 0a 20 20 20 20 20 20 28 6c 61 6d 62 64 61 | type)......(mapcar.......(lambda | 
| 2ce00 | 20 28 69 6e 63 6c 75 64 65 64 2d 66 69 6c 65 29    20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 2d 63 6d | .(included-file).(projectile--cm | 
| 2ce20 | 61 6b 65 2d 63 6f 6d 6d 61 6e 64 2d 70 72 65 73    65 74 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ake-command-presets............. | 
| 2ce40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d | ...................(expand-file- | 
| 2ce60 | 6e 61 6d 65 20 69 6e 63 6c 75 64 65 64 2d 66 69    6c 65 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 64 69 | name.included-file.(file-name-di | 
| 2ce80 | 72 65 63 74 6f 72 79 20 66 69 6c 65 6e 61 6d 65    29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | rectory.filename)).............. | 
| 2cea0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 63 6f 6d 6d 61 6e 64 2d 74 79 70 65 29 29 | ..................command-type)) | 
| 2cec0 | 0a 20 20 20 20 20 20 28 67 65 74 68 61 73 68 20    22 69 6e 63 6c 75 64 65 22 20 70 72 65 73 65 74 | .......(gethash."include".preset | 
| 2cee0 | 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 72    6f 6a 65 63 74 69 6c 65 2d 2d 63 6d 61 6b 65 2d | )))))..(defun.projectile--cmake- | 
| 2cf00 | 61 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 70 72 65 73    65 74 73 20 28 63 6f 6d 6d 61 6e 64 2d 74 79 70 | all-command-presets.(command-typ | 
| 2cf20 | 65 29 0a 20 20 22 47 65 74 20 43 4d 61 6b 65 20    75 73 65 72 20 61 6e 64 20 73 79 73 74 65 6d 20 | e)..."Get.CMake.user.and.system. | 
| 2cf40 | 43 4f 4d 4d 41 4e 44 2d 54 59 50 45 20 70 72 65    73 65 74 73 2e 22 0a 20 20 28 70 72 6f 6a 65 63 | COMMAND-TYPE.presets."...(projec | 
| 2cf60 | 74 69 6c 65 2d 66 6c 61 74 74 65 6e 0a 20 20 20    28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 | tile-flatten....(mapcar.(lambda. | 
| 2cf80 | 28 66 69 6c 65 6e 61 6d 65 29 20 28 70 72 6f 6a    65 63 74 69 6c 65 2d 2d 63 6d 61 6b 65 2d 63 6f | (filename).(projectile--cmake-co | 
| 2cfa0 | 6d 6d 61 6e 64 2d 70 72 65 73 65 74 73 20 66 69    6c 65 6e 61 6d 65 20 63 6f 6d 6d 61 6e 64 2d 74 | mmand-presets.filename.command-t | 
| 2cfc0 | 79 70 65 29 29 0a 20 20 20 20 20 20 20 20 20 20    20 27 28 22 43 4d 61 6b 65 55 73 65 72 50 72 65 | ype))............'("CMakeUserPre | 
| 2cfe0 | 73 65 74 73 2e 6a 73 6f 6e 22 20 22 43 4d 61 6b    65 50 72 65 73 65 74 73 2e 6a 73 6f 6e 22 29 29 | sets.json"."CMakePresets.json")) | 
| 2d000 | 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65    63 74 69 6c 65 2d 2d 63 6d 61 6b 65 2d 63 6f 6d | ))..(defun.projectile--cmake-com | 
| 2d020 | 6d 61 6e 64 2d 70 72 65 73 65 74 2d 6e 61 6d 65    73 20 28 63 6f 6d 6d 61 6e 64 2d 74 79 70 65 29 | mand-preset-names.(command-type) | 
| 2d040 | 0a 20 20 22 47 65 74 20 6e 61 6d 65 73 20 6f 66    20 43 4d 61 6b 65 20 75 73 65 72 20 61 6e 64 20 | ..."Get.names.of.CMake.user.and. | 
| 2d060 | 73 79 73 74 65 6d 20 43 4f 4d 4d 41 4e 44 2d 54    59 50 45 20 70 72 65 73 65 74 73 2e 22 0a 20 20 | system.COMMAND-TYPE.presets."... | 
| 2d080 | 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20    28 70 72 65 73 65 74 29 0a 20 20 20 20 20 20 20 | (mapcar.(lambda.(preset)........ | 
| 2d0a0 | 20 20 20 20 20 28 67 65 74 68 61 73 68 20 22 6e    61 6d 65 22 20 70 72 65 73 65 74 29 29 0a 20 20 | .....(gethash."name".preset))... | 
| 2d0c0 | 20 20 20 20 20 20 20 20 28 70 72 6f 6a 65 63 74    69 6c 65 2d 2d 63 6d 61 6b 65 2d 61 6c 6c 2d 63 | ........(projectile--cmake-all-c | 
| 2d0e0 | 6f 6d 6d 61 6e 64 2d 70 72 65 73 65 74 73 20 63    6f 6d 6d 61 6e 64 2d 74 79 70 65 29 29 29 0a 0a | ommand-presets.command-type))).. | 
| 2d100 | 28 64 65 66 63 75 73 74 6f 6d 20 70 72 6f 6a 65    63 74 69 6c 65 2d 65 6e 61 62 6c 65 2d 63 6d 61 | (defcustom.projectile-enable-cma | 
| 2d120 | 6b 65 2d 70 72 65 73 65 74 73 20 6e 69 6c 0a 20    20 22 45 6e 61 62 6c 65 73 20 63 6f 6e 66 69 67 | ke-presets.nil..."Enables.config | 
| 2d140 | 75 72 61 74 69 6f 6e 20 77 69 74 68 20 43 4d 61    6b 65 20 70 72 65 73 65 74 73 2e 0a 0a 57 68 65 | uration.with.CMake.presets...Whe | 
| 2d160 | 6e 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 65 6e    61 62 6c 65 2d 63 6d 61 6b 65 2d 70 72 65 73 65 | n.`projectile-enable-cmake-prese | 
| 2d180 | 74 73 27 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20    43 4d 61 6b 65 20 70 72 6f 6a 65 63 74 73 20 63 | ts'.is.non-nil,.CMake.projects.c | 
| 2d1a0 | 61 6e 0a 62 65 20 63 6f 6e 66 69 67 75 72 65 64    2c 20 62 75 69 6c 74 20 61 6e 64 20 74 65 73 74 | an.be.configured,.built.and.test | 
| 2d1c0 | 65 64 20 75 73 69 6e 67 20 70 72 65 73 65 74 73    2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 70 72 6f | ed.using.presets."...:group.'pro | 
| 2d1e0 | 6a 65 63 74 69 6c 65 0a 20 20 3a 74 79 70 65 20    27 62 6f 6f 6c 65 61 6e 0a 20 20 3a 70 61 63 6b | jectile...:type.'boolean...:pack | 
| 2d200 | 61 67 65 2d 76 65 72 73 69 6f 6e 20 27 28 70 72    6f 6a 65 63 74 69 6c 65 20 2e 20 22 32 2e 34 2e | age-version.'(projectile..."2.4. | 
| 2d220 | 30 22 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f    6a 65 63 74 69 6c 65 2d 2d 63 6d 61 6b 65 2d 75 | 0"))..(defun.projectile--cmake-u | 
| 2d240 | 73 65 2d 63 6f 6d 6d 61 6e 64 2d 70 72 65 73 65    74 73 20 28 63 6f 6d 6d 61 6e 64 2d 74 79 70 65 | se-command-presets.(command-type | 
| 2d260 | 29 0a 20 20 22 54 65 73 74 20 77 68 65 74 68 65    72 20 6f 72 20 6e 6f 74 20 74 6f 20 75 73 65 20 | )..."Test.whether.or.not.to.use. | 
| 2d280 | 63 6f 6d 6d 61 6e 64 20 70 72 65 73 65 74 73 20    66 6f 72 20 43 4f 4d 4d 41 4e 44 2d 54 59 50 45 | command.presets.for.COMMAND-TYPE | 
| 2d2a0 | 2e 0a 0a 50 72 65 73 65 74 73 20 61 72 65 20 75    73 65 64 20 69 66 20 60 70 72 6f 6a 65 63 74 69 | ...Presets.are.used.if.`projecti | 
| 2d2c0 | 6c 65 2d 65 6e 61 62 6c 65 2d 63 6d 61 6b 65 2d    70 72 65 73 65 74 73 27 20 69 73 20 6e 6f 6e 2d | le-enable-cmake-presets'.is.non- | 
| 2d2e0 | 6e 69 6c 2c 20 61 6e 64 20 43 4d 61 6b 65 0a 73    75 70 70 6f 72 74 73 20 70 72 65 73 65 74 73 20 | nil,.and.CMake.supports.presets. | 
| 2d300 | 66 6f 72 20 43 4f 4d 4d 41 4e 44 2d 54 59 50 45    2c 20 61 6e 64 20 60 6a 73 6f 6e 2d 70 61 72 73 | for.COMMAND-TYPE,.and.`json-pars | 
| 2d320 | 65 2d 62 75 66 66 65 72 27 20 69 73 20 61 76 61    69 6c 61 62 6c 65 2e 22 0a 20 20 28 61 6e 64 20 | e-buffer'.is.available."...(and. | 
| 2d340 | 70 72 6f 6a 65 63 74 69 6c 65 2d 65 6e 61 62 6c    65 2d 63 6d 61 6b 65 2d 70 72 65 73 65 74 73 0a | projectile-enable-cmake-presets. | 
| 2d360 | 20 20 20 20 20 20 20 28 70 72 6f 6a 65 63 74 69    6c 65 2d 2d 63 6d 61 6b 65 2d 63 6f 6d 6d 61 6e | .......(projectile--cmake-comman | 
| 2d380 | 64 2d 70 72 65 73 65 74 73 2d 73 75 70 70 6f 72    74 65 64 20 63 6f 6d 6d 61 6e 64 2d 74 79 70 65 | d-presets-supported.command-type | 
| 2d3a0 | 29 0a 20 20 20 20 20 20 20 28 66 75 6e 63 74 69    6f 6e 70 20 27 6a 73 6f 6e 2d 70 61 72 73 65 2d | )........(functionp.'json-parse- | 
| 2d3c0 | 62 75 66 66 65 72 29 29 29 0a 0a 28 64 65 66 75    6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 2d 63 6d | buffer)))..(defun.projectile--cm | 
| 2d3e0 | 61 6b 65 2d 73 65 6c 65 63 74 2d 63 6f 6d 6d 61    6e 64 20 28 63 6f 6d 6d 61 6e 64 2d 74 79 70 65 | ake-select-command.(command-type | 
| 2d400 | 29 0a 20 20 22 53 65 6c 65 63 74 20 61 20 43 4d    61 6b 65 20 63 6f 6d 6d 61 6e 64 20 70 72 65 73 | )..."Select.a.CMake.command.pres | 
| 2d420 | 65 74 20 6f 72 20 61 20 6d 61 6e 75 61 6c 20 43    4d 61 6b 65 20 63 6f 6d 6d 61 6e 64 2e 0a 0a 54 | et.or.a.manual.CMake.command...T | 
| 2d440 | 68 65 20 73 65 6c 65 63 74 69 6f 6e 20 69 73 20    64 6f 6e 65 20 6c 69 6b 65 20 74 68 69 73 3a 0a | he.selection.is.done.like.this:. | 
| 2d460 | 0a 2d 20 49 66 20 60 70 72 6f 6a 65 63 74 69 6c    65 2d 2d 63 6d 61 6b 65 2d 75 73 65 2d 63 6f 6d | .-.If.`projectile--cmake-use-com | 
| 2d480 | 6d 61 6e 64 73 2d 70 72 65 73 65 74 73 27 20 66    6f 72 20 43 4f 4d 4d 41 4e 44 2d 54 59 50 45 20 | mands-presets'.for.COMMAND-TYPE. | 
| 2d4a0 | 72 65 74 75 72 6e 73 20 74 72 75 65 2c 20 61 6e    64 0a 74 68 65 72 65 20 69 73 20 61 74 20 6c 65 | returns.true,.and.there.is.at.le | 
| 2d4c0 | 61 73 74 20 6f 6e 65 20 70 72 65 73 65 74 20 61    76 61 69 6c 61 62 6c 65 20 66 6f 72 20 43 4f 4d | ast.one.preset.available.for.COM | 
| 2d4e0 | 4d 41 4e 44 2d 54 59 50 45 2c 20 74 68 65 20 75    73 65 72 20 69 73 20 70 72 6f 6d 70 74 65 64 20 | MAND-TYPE,.the.user.is.prompted. | 
| 2d500 | 74 6f 0a 73 65 6c 65 63 74 20 61 20 6e 61 6d 65    20 6f 66 20 61 20 63 6f 6d 6d 61 6e 64 20 70 72 | to.select.a.name.of.a.command.pr | 
| 2d520 | 65 73 65 74 2c 20 6f 72 20 6f 70 74 20 61 20 6d    61 6e 75 61 6c 20 63 6f 6d 6d 61 6e 64 20 62 79 | eset,.or.opt.a.manual.command.by | 
| 2d540 | 20 73 65 6c 65 63 74 69 6e 67 0a 60 70 72 6f 6a    65 63 74 69 6c 65 2d 2d 63 6d 61 6b 65 2d 6e 6f | .selecting.`projectile--cmake-no | 
| 2d560 | 2d 70 72 65 73 65 74 27 2e 0a 0a 2d 20 45 6c 73    65 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 2d 63 | -preset'...-.Else.`projectile--c | 
| 2d580 | 6d 61 6b 65 2d 6e 6f 2d 70 72 65 73 65 74 27 20    69 73 20 75 73 65 64 2e 22 0a 20 20 28 69 66 2d | make-no-preset'.is.used."...(if- | 
| 2d5a0 | 6c 65 74 20 28 28 75 73 65 2d 70 72 65 73 65 74    73 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 2d 63 | let.((use-presets.(projectile--c | 
| 2d5c0 | 6d 61 6b 65 2d 75 73 65 2d 63 6f 6d 6d 61 6e 64    2d 70 72 65 73 65 74 73 20 63 6f 6d 6d 61 6e 64 | make-use-command-presets.command | 
| 2d5e0 | 2d 74 79 70 65 29 29 0a 20 20 20 20 20 20 20 20    20 20 20 28 70 72 65 73 65 74 2d 6e 61 6d 65 73 | -type))............(preset-names | 
| 2d600 | 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 2d 63 6d    61 6b 65 2d 63 6f 6d 6d 61 6e 64 2d 70 72 65 73 | .(projectile--cmake-command-pres | 
| 2d620 | 65 74 2d 6e 61 6d 65 73 20 63 6f 6d 6d 61 6e 64    2d 74 79 70 65 29 29 29 0a 20 20 20 20 20 20 28 | et-names.command-type))).......( | 
| 2d640 | 70 72 6f 6a 65 63 74 69 6c 65 2d 63 6f 6d 70 6c    65 74 69 6e 67 2d 72 65 61 64 0a 20 20 20 20 20 | projectile-completing-read...... | 
| 2d660 | 20 20 22 55 73 65 20 70 72 65 73 65 74 3a 20 22    0a 20 20 20 20 20 20 20 28 61 70 70 65 6e 64 20 | .."Use.preset:."........(append. | 
| 2d680 | 70 72 65 73 65 74 2d 6e 61 6d 65 73 20 60 28 2c    70 72 6f 6a 65 63 74 69 6c 65 2d 2d 63 6d 61 6b | preset-names.`(,projectile--cmak | 
| 2d6a0 | 65 2d 6e 6f 2d 70 72 65 73 65 74 29 29 29 0a 20    20 20 20 70 72 6f 6a 65 63 74 69 6c 65 2d 2d 63 | e-no-preset))).....projectile--c | 
| 2d6c0 | 6d 61 6b 65 2d 6e 6f 2d 70 72 65 73 65 74 29 29    0a 0a 28 64 65 66 63 6f 6e 73 74 20 70 72 6f 6a | make-no-preset))..(defconst.proj | 
| 2d6e0 | 65 63 74 69 6c 65 2d 2d 63 6d 61 6b 65 2d 6d 61    6e 75 61 6c 2d 63 6f 6d 6d 61 6e 64 2d 61 6c 69 | ectile--cmake-manual-command-ali | 
| 2d700 | 73 74 0a 20 20 27 28 28 3a 63 6f 6e 66 69 67 75    72 65 2d 63 6f 6d 6d 61 6e 64 20 2e 20 22 63 6d | st...'((:configure-command..."cm | 
| 2d720 | 61 6b 65 20 2d 53 20 2e 20 2d 42 20 62 75 69 6c    64 22 29 0a 20 20 20 20 28 3a 63 6f 6d 70 69 6c | ake.-S...-B.build").....(:compil | 
| 2d740 | 65 2d 63 6f 6d 6d 61 6e 64 20 2e 20 22 63 6d 61    6b 65 20 2d 2d 62 75 69 6c 64 20 62 75 69 6c 64 | e-command..."cmake.--build.build | 
| 2d760 | 22 29 0a 20 20 20 20 28 3a 74 65 73 74 2d 63 6f    6d 6d 61 6e 64 20 2e 20 22 63 6d 61 6b 65 20 2d | ").....(:test-command..."cmake.- | 
| 2d780 | 2d 62 75 69 6c 64 20 62 75 69 6c 64 20 2d 2d 74    61 72 67 65 74 20 74 65 73 74 22 29 0a 20 20 20 | -build.build.--target.test").... | 
| 2d7a0 | 20 28 3a 69 6e 73 74 61 6c 6c 2d 63 6f 6d 6d 61    6e 64 20 2e 20 22 63 6d 61 6b 65 20 2d 2d 62 75 | .(:install-command..."cmake.--bu | 
| 2d7c0 | 69 6c 64 20 62 75 69 6c 64 20 2d 2d 74 61 72 67    65 74 20 69 6e 73 74 61 6c 6c 22 29 29 29 0a 0a | ild.build.--target.install"))).. | 
| 2d7e0 | 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c    65 2d 2d 63 6d 61 6b 65 2d 6d 61 6e 75 61 6c 2d | (defun.projectile--cmake-manual- | 
| 2d800 | 63 6f 6d 6d 61 6e 64 20 28 63 6f 6d 6d 61 6e 64    2d 74 79 70 65 29 0a 20 20 22 43 72 65 61 74 65 | command.(command-type)..."Create | 
| 2d820 | 20 6d 61 75 6e 75 61 6c 20 43 4d 61 6b 65 20 43    4f 4d 4d 41 4e 44 2d 54 59 50 45 20 63 6f 6d 6d | .maunual.CMake.COMMAND-TYPE.comm | 
| 2d840 | 61 6e 64 2e 22 0a 20 20 28 63 64 72 20 28 61 73    73 6f 63 20 63 6f 6d 6d 61 6e 64 2d 74 79 70 65 | and."...(cdr.(assoc.command-type | 
| 2d860 | 20 70 72 6f 6a 65 63 74 69 6c 65 2d 2d 63 6d 61    6b 65 2d 6d 61 6e 75 61 6c 2d 63 6f 6d 6d 61 6e | .projectile--cmake-manual-comman | 
| 2d880 | 64 2d 61 6c 69 73 74 29 29 29 0a 0a 28 64 65 66    63 6f 6e 73 74 20 70 72 6f 6a 65 63 74 69 6c 65 | d-alist)))..(defconst.projectile | 
| 2d8a0 | 2d 2d 63 6d 61 6b 65 2d 70 72 65 73 65 74 2d 63    6f 6d 6d 61 6e 64 2d 61 6c 69 73 74 0a 20 20 27 | --cmake-preset-command-alist...' | 
| 2d8c0 | 28 28 3a 63 6f 6e 66 69 67 75 72 65 2d 63 6f 6d    6d 61 6e 64 20 2e 20 22 63 6d 61 6b 65 20 2e 20 | ((:configure-command..."cmake... | 
| 2d8e0 | 2d 2d 70 72 65 73 65 74 20 25 73 22 29 0a 20 20    20 20 28 3a 63 6f 6d 70 69 6c 65 2d 63 6f 6d 6d | --preset.%s").....(:compile-comm | 
| 2d900 | 61 6e 64 20 2e 20 22 63 6d 61 6b 65 20 2d 2d 62    75 69 6c 64 20 2d 2d 70 72 65 73 65 74 20 25 73 | and..."cmake.--build.--preset.%s | 
| 2d920 | 22 29 0a 20 20 20 20 28 3a 74 65 73 74 2d 63 6f    6d 6d 61 6e 64 20 2e 20 22 63 74 65 73 74 20 2d | ").....(:test-command..."ctest.- | 
| 2d940 | 2d 70 72 65 73 65 74 20 25 73 22 29 0a 20 20 20    20 28 3a 69 6e 73 74 61 6c 6c 2d 63 6f 6d 6d 61 | -preset.%s").....(:install-comma | 
| 2d960 | 6e 64 20 2e 20 22 63 6d 61 6b 65 20 2d 2d 62 75    69 6c 64 20 2d 2d 70 72 65 73 65 74 20 25 73 20 | nd..."cmake.--build.--preset.%s. | 
| 2d980 | 2d 2d 74 61 72 67 65 74 20 69 6e 73 74 61 6c 6c    22 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f | --target.install")))..(defun.pro | 
| 2d9a0 | 6a 65 63 74 69 6c 65 2d 2d 63 6d 61 6b 65 2d 70    72 65 73 65 74 2d 63 6f 6d 6d 61 6e 64 20 28 63 | jectile--cmake-preset-command.(c | 
| 2d9c0 | 6f 6d 6d 61 6e 64 2d 74 79 70 65 20 70 72 65 73    65 74 29 0a 20 20 22 43 72 65 61 74 65 20 43 4d | ommand-type.preset)..."Create.CM | 
| 2d9e0 | 61 6b 65 20 43 4f 4d 4d 41 4e 44 2d 54 59 50 45    20 63 6f 6d 6d 61 6e 64 20 75 73 69 6e 67 20 50 | ake.COMMAND-TYPE.command.using.P | 
| 2da00 | 52 45 53 45 54 2e 22 0a 20 20 28 66 6f 72 6d 61    74 20 28 63 64 72 20 28 61 73 73 6f 63 20 63 6f | RESET."...(format.(cdr.(assoc.co | 
| 2da20 | 6d 6d 61 6e 64 2d 74 79 70 65 20 70 72 6f 6a 65    63 74 69 6c 65 2d 2d 63 6d 61 6b 65 2d 70 72 65 | mmand-type.projectile--cmake-pre | 
| 2da40 | 73 65 74 2d 63 6f 6d 6d 61 6e 64 2d 61 6c 69 73    74 29 29 20 70 72 65 73 65 74 29 29 0a 0a 28 64 | set-command-alist)).preset))..(d | 
| 2da60 | 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d    2d 63 6d 61 6b 65 2d 63 6f 6d 6d 61 6e 64 20 28 | efun.projectile--cmake-command.( | 
| 2da80 | 63 6f 6d 6d 61 6e 64 2d 74 79 70 65 29 0a 20 20    22 43 72 65 61 74 65 20 61 20 43 4d 61 6b 65 20 | command-type)..."Create.a.CMake. | 
| 2daa0 | 43 4f 4d 4d 41 4e 44 2d 54 59 50 45 20 63 6f 6d    6d 61 6e 64 2e 0a 0a 54 68 65 20 63 6f 6d 6d 61 | COMMAND-TYPE.command...The.comma | 
| 2dac0 | 6e 64 20 69 73 20 63 72 65 61 74 65 64 20 6c 69    6b 65 20 74 68 69 73 3a 0a 0a 2d 20 49 66 20 60 | nd.is.created.like.this:..-.If.` | 
| 2dae0 | 70 72 6f 6a 65 63 74 69 6c 65 2d 2d 63 6d 61 6b    65 2d 73 65 6c 65 63 74 2d 63 6f 6d 6d 61 6e 64 | projectile--cmake-select-command | 
| 2db00 | 27 20 72 65 74 75 72 6e 73 20 60 70 72 6f 6a 65    63 74 69 6c 65 2d 2d 63 6d 61 6b 65 2d 6e 6f 2d | '.returns.`projectile--cmake-no- | 
| 2db20 | 70 72 65 73 65 74 27 0a 61 20 6d 61 6e 75 61 6c    20 43 4f 4d 4d 41 4e 44 2d 54 59 50 45 20 63 6f | preset'.a.manual.COMMAND-TYPE.co | 
| 2db40 | 6d 6d 61 6e 64 20 69 73 20 63 72 65 61 74 65 64    20 77 69 74 68 0a 60 70 72 6f 6a 65 63 74 69 6c | mmand.is.created.with.`projectil | 
| 2db60 | 65 2d 2d 63 6d 61 6b 65 2d 6d 61 6e 75 61 6c 2d    63 6f 6d 6d 61 6e 64 27 2e 0a 0a 2d 20 45 6c 73 | e--cmake-manual-command'...-.Els | 
| 2db80 | 65 20 61 20 70 72 65 73 65 74 20 43 4f 4d 4d 41    4e 44 2d 54 59 50 45 20 63 6f 6d 6d 61 6e 64 20 | e.a.preset.COMMAND-TYPE.command. | 
| 2dba0 | 75 73 69 6e 67 20 74 68 65 20 73 65 6c 65 63 74    65 64 20 70 72 65 73 65 74 20 69 73 20 63 72 65 | using.the.selected.preset.is.cre | 
| 2dbc0 | 61 74 65 64 20 77 69 74 68 0a 60 70 72 6f 6a 65    63 74 69 6c 65 2d 2d 63 6d 61 6b 65 2d 70 72 65 | ated.with.`projectile--cmake-pre | 
| 2dbe0 | 73 65 74 2d 63 6f 6d 6d 61 6e 64 27 2e 22 0a 20    20 28 6c 65 74 20 28 28 6d 61 79 62 65 2d 70 72 | set-command'."...(let.((maybe-pr | 
| 2dc00 | 65 73 65 74 20 28 70 72 6f 6a 65 63 74 69 6c 65    2d 2d 63 6d 61 6b 65 2d 73 65 6c 65 63 74 2d 63 | eset.(projectile--cmake-select-c | 
| 2dc20 | 6f 6d 6d 61 6e 64 20 63 6f 6d 6d 61 6e 64 2d 74    79 70 65 29 29 29 0a 20 20 20 20 28 69 66 20 28 | ommand.command-type))).....(if.( | 
| 2dc40 | 65 71 75 61 6c 20 6d 61 79 62 65 2d 70 72 65 73    65 74 20 70 72 6f 6a 65 63 74 69 6c 65 2d 2d 63 | equal.maybe-preset.projectile--c | 
| 2dc60 | 6d 61 6b 65 2d 6e 6f 2d 70 72 65 73 65 74 29 0a    20 20 20 20 20 20 20 20 28 70 72 6f 6a 65 63 74 | make-no-preset).........(project | 
| 2dc80 | 69 6c 65 2d 2d 63 6d 61 6b 65 2d 6d 61 6e 75 61    6c 2d 63 6f 6d 6d 61 6e 64 20 63 6f 6d 6d 61 6e | ile--cmake-manual-command.comman | 
| 2dca0 | 64 2d 74 79 70 65 29 0a 20 20 20 20 20 20 28 70    72 6f 6a 65 63 74 69 6c 65 2d 2d 63 6d 61 6b 65 | d-type).......(projectile--cmake | 
| 2dcc0 | 2d 70 72 65 73 65 74 2d 63 6f 6d 6d 61 6e 64 20    63 6f 6d 6d 61 6e 64 2d 74 79 70 65 20 6d 61 79 | -preset-command.command-type.may | 
| 2dce0 | 62 65 2d 70 72 65 73 65 74 29 29 29 29 0a 0a 28    64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 | be-preset))))..(defun.projectile | 
| 2dd00 | 2d 2d 63 6d 61 6b 65 2d 63 6f 6e 66 69 67 75 72    65 2d 63 6f 6d 6d 61 6e 64 20 28 29 0a 20 20 22 | --cmake-configure-command.()..." | 
| 2dd20 | 43 4d 61 6b 65 20 63 6f 6e 66 69 67 75 72 65 20    63 6f 6d 6d 61 6e 64 2e 22 0a 20 20 28 70 72 6f | CMake.configure.command."...(pro | 
| 2dd40 | 6a 65 63 74 69 6c 65 2d 2d 63 6d 61 6b 65 2d 63    6f 6d 6d 61 6e 64 20 3a 63 6f 6e 66 69 67 75 72 | jectile--cmake-command.:configur | 
| 2dd60 | 65 2d 63 6f 6d 6d 61 6e 64 29 29 0a 0a 28 64 65    66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 2d | e-command))..(defun.projectile-- | 
| 2dd80 | 63 6d 61 6b 65 2d 63 6f 6d 70 69 6c 65 2d 63 6f    6d 6d 61 6e 64 20 28 29 0a 20 20 22 43 4d 61 6b | cmake-compile-command.()..."CMak | 
| 2dda0 | 65 20 63 6f 6d 70 69 6c 65 20 63 6f 6d 6d 61 6e    64 2e 22 0a 20 20 28 70 72 6f 6a 65 63 74 69 6c | e.compile.command."...(projectil | 
| 2ddc0 | 65 2d 2d 63 6d 61 6b 65 2d 63 6f 6d 6d 61 6e 64    20 3a 63 6f 6d 70 69 6c 65 2d 63 6f 6d 6d 61 6e | e--cmake-command.:compile-comman | 
| 2dde0 | 64 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a    65 63 74 69 6c 65 2d 2d 63 6d 61 6b 65 2d 74 65 | d))..(defun.projectile--cmake-te | 
| 2de00 | 73 74 2d 63 6f 6d 6d 61 6e 64 20 28 29 0a 20 20    22 43 4d 61 6b 65 20 74 65 73 74 20 63 6f 6d 6d | st-command.()..."CMake.test.comm | 
| 2de20 | 61 6e 64 2e 22 0a 20 20 28 70 72 6f 6a 65 63 74    69 6c 65 2d 2d 63 6d 61 6b 65 2d 63 6f 6d 6d 61 | and."...(projectile--cmake-comma | 
| 2de40 | 6e 64 20 3a 74 65 73 74 2d 63 6f 6d 6d 61 6e 64    29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 | nd.:test-command))..(defun.proje | 
| 2de60 | 63 74 69 6c 65 2d 2d 63 6d 61 6b 65 2d 69 6e 73    74 61 6c 6c 2d 63 6f 6d 6d 61 6e 64 20 28 29 0a | ctile--cmake-install-command.(). | 
| 2de80 | 20 20 22 43 4d 61 6b 65 20 69 6e 73 74 61 6c 6c    20 63 6f 6d 6d 61 6e 64 2e 22 0a 20 20 28 70 72 | .."CMake.install.command."...(pr | 
| 2dea0 | 6f 6a 65 63 74 69 6c 65 2d 2d 63 6d 61 6b 65 2d    63 6f 6d 6d 61 6e 64 20 3a 69 6e 73 74 61 6c 6c | ojectile--cmake-command.:install | 
| 2dec0 | 2d 63 6f 6d 6d 61 6e 64 29 29 0a 0a 3b 3b 3b 20    50 72 6f 6a 65 63 74 20 74 79 70 65 20 72 65 67 | -command))..;;;.Project.type.reg | 
| 2dee0 | 69 73 74 72 61 74 69 6f 6e 0a 3b 3b 0a 3b 3b 20    50 72 6f 6a 65 63 74 20 74 79 70 65 20 64 65 74 | istration.;;.;;.Project.type.det | 
| 2df00 | 65 63 74 69 6f 6e 20 68 61 70 70 65 6e 73 20 69    6e 20 61 20 72 65 76 65 72 73 65 20 6f 72 64 65 | ection.happens.in.a.reverse.orde | 
| 2df20 | 72 20 77 69 74 68 20 72 65 73 70 65 63 74 20 74    6f 0a 3b 3b 20 70 72 6f 6a 65 63 74 20 74 79 70 | r.with.respect.to.;;.project.typ | 
| 2df40 | 65 20 72 65 67 69 73 74 72 61 74 69 6f 6e 20 28    69 6e 76 6f 63 61 74 69 6f 6e 73 20 6f 66 20 60 | e.registration.(invocations.of.` | 
| 2df60 | 70 72 6f 6a 65 63 74 69 6c 65 2d 72 65 67 69 73    74 65 72 2d 70 72 6f 6a 65 63 74 2d 74 79 70 65 | projectile-register-project-type | 
| 2df80 | 27 29 2e 0a 3b 3b 0a 3b 3b 20 41 73 20 66 75 6e    63 74 69 6f 6e 2d 62 61 73 65 64 20 70 72 6f 6a | ')..;;.;;.As.function-based.proj | 
| 2dfa0 | 65 63 74 20 74 79 70 65 20 64 65 74 65 63 74 69    6f 6e 20 69 73 20 70 72 65 74 74 79 20 73 6c 6f | ect.type.detection.is.pretty.slo | 
| 2dfc0 | 77 2c 20 73 6f 20 69 74 0a 3b 3b 20 73 68 6f 75    6c 64 20 62 65 20 74 72 69 65 64 20 61 74 20 74 | w,.so.it.;;.should.be.tried.at.t | 
| 2dfe0 | 68 65 20 65 6e 64 20 69 66 20 65 76 65 72 79 74    68 69 6e 67 20 65 6c 73 65 20 66 61 69 6c 65 64 | he.end.if.everything.else.failed | 
| 2e000 | 20 28 6d 65 61 6e 69 6e 67 20 68 65 72 65 0a 3b    3b 20 69 74 20 73 68 6f 75 6c 64 20 62 65 20 6c | .(meaning.here.;;.it.should.be.l | 
| 2e020 | 69 73 74 65 64 20 66 69 72 73 74 29 2e 0a 3b 3b    0a 3b 3b 20 49 64 65 61 6c 6c 79 20 63 6f 6d 6d | isted.first)..;;.;;.Ideally.comm | 
| 2e040 | 6f 6e 20 70 72 6f 6a 65 63 74 20 74 79 70 65 73    20 73 68 6f 75 6c 64 20 62 65 20 63 68 65 63 6b | on.project.types.should.be.check | 
| 2e060 | 65 64 20 65 61 72 6c 69 65 72 20 74 68 61 6e 20    65 78 6f 74 69 63 20 6f 6e 65 73 2e 0a 0a 3b 3b | ed.earlier.than.exotic.ones...;; | 
| 2e080 | 20 46 75 6e 63 74 69 6f 6e 2d 62 61 73 65 64 20    64 65 74 65 63 74 69 6f 6e 20 70 72 6f 6a 65 63 | .Function-based.detection.projec | 
| 2e0a0 | 74 20 74 79 70 65 0a 28 70 72 6f 6a 65 63 74 69    6c 65 2d 72 65 67 69 73 74 65 72 2d 70 72 6f 6a | t.type.(projectile-register-proj | 
| 2e0c0 | 65 63 74 2d 74 79 70 65 20 27 68 61 73 6b 65 6c    6c 2d 63 61 62 61 6c 20 23 27 70 72 6f 6a 65 63 | ect-type.'haskell-cabal.#'projec | 
| 2e0e0 | 74 69 6c 65 2d 63 61 62 61 6c 2d 70 72 6f 6a 65    63 74 2d 70 0a 20 20 20 20 20 20 20 20 20 20 20 | tile-cabal-project-p............ | 
| 2e100 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 3a 63 6f 6d 70 69 6c 65 20 | .......................:compile. | 
| 2e120 | 22 63 61 62 61 6c 20 62 75 69 6c 64 22 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | "cabal.build"................... | 
| 2e140 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    3a 74 65 73 74 20 22 63 61 62 61 6c 20 74 65 73 | ................:test."cabal.tes | 
| 2e160 | 74 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 | t".............................. | 
| 2e180 | 20 20 20 20 20 3a 72 75 6e 20 22 63 61 62 61 6c    20 72 75 6e 22 0a 20 20 20 20 20 20 20 20 20 20 | .....:run."cabal.run"........... | 
| 2e1a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 3a 74 65 73 74 2d 73 75 | ........................:test-su | 
| 2e1c0 | 66 66 69 78 20 22 53 70 65 63 22 29 0a 28 70 72    6f 6a 65 63 74 69 6c 65 2d 72 65 67 69 73 74 65 | ffix."Spec").(projectile-registe | 
| 2e1e0 | 72 2d 70 72 6f 6a 65 63 74 2d 74 79 70 65 20 27    64 6f 74 6e 65 74 20 23 27 70 72 6f 6a 65 63 74 | r-project-type.'dotnet.#'project | 
| 2e200 | 69 6c 65 2d 64 6f 74 6e 65 74 2d 70 72 6f 6a 65    63 74 2d 70 0a 20 20 20 20 20 20 20 20 20 20 20 | ile-dotnet-project-p............ | 
| 2e220 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 3a 70 72 6f 6a 65 63 74 2d | .......................:project- | 
| 2e240 | 66 69 6c 65 20 27 28 22 3f 2a 2e 63 73 70 72 6f    6a 22 20 22 3f 2a 2e 66 73 70 72 6f 6a 22 29 0a | file.'("?*.csproj"."?*.fsproj"). | 
| 2e260 | 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 | ................................ | 
| 2e280 | 20 20 3a 63 6f 6d 70 69 6c 65 20 22 64 6f 74 6e    65 74 20 62 75 69 6c 64 22 0a 20 20 20 20 20 20 | ..:compile."dotnet.build"....... | 
| 2e2a0 | 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 3a 72 75 6e | ............................:run | 
| 2e2c0 | 20 22 64 6f 74 6e 65 74 20 72 75 6e 22 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ."dotnet.run"................... | 
| 2e2e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    3a 74 65 73 74 20 22 64 6f 74 6e 65 74 20 74 65 | ................:test."dotnet.te | 
| 2e300 | 73 74 22 29 0a 28 70 72 6f 6a 65 63 74 69 6c 65    2d 72 65 67 69 73 74 65 72 2d 70 72 6f 6a 65 63 | st").(projectile-register-projec | 
| 2e320 | 74 2d 74 79 70 65 20 27 64 6f 74 6e 65 74 2d 73    6c 6e 20 27 28 22 73 72 63 22 29 0a 20 20 20 20 | t-type.'dotnet-sln.'("src")..... | 
| 2e340 | 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 3a 70 | ..............................:p | 
| 2e360 | 72 6f 6a 65 63 74 2d 66 69 6c 65 20 22 3f 2a 2e    73 6c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 | roject-file."?*.sln"............ | 
| 2e380 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 3a 63 6f 6d 70 69 6c 65 20 | .......................:compile. | 
| 2e3a0 | 22 64 6f 74 6e 65 74 20 62 75 69 6c 64 22 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | "dotnet.build".................. | 
| 2e3c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 3a 72 75 6e 20 22 64 6f 74 6e 65 74 20 72 75 | .................:run."dotnet.ru | 
| 2e3e0 | 6e 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 | n".............................. | 
| 2e400 | 20 20 20 20 20 3a 74 65 73 74 20 22 64 6f 74 6e    65 74 20 74 65 73 74 22 29 0a 28 70 72 6f 6a 65 | .....:test."dotnet.test").(proje | 
| 2e420 | 63 74 69 6c 65 2d 72 65 67 69 73 74 65 72 2d 70    72 6f 6a 65 63 74 2d 74 79 70 65 20 27 6e 69 6d | ctile-register-project-type.'nim | 
| 2e440 | 2d 6e 69 6d 62 6c 65 20 23 27 70 72 6f 6a 65 63    74 69 6c 65 2d 6e 69 6d 62 6c 65 2d 70 72 6f 6a | -nimble.#'projectile-nimble-proj | 
| 2e460 | 65 63 74 2d 70 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 | ect-p........................... | 
| 2e480 | 20 20 20 20 20 20 20 20 3a 70 72 6f 6a 65 63 74    2d 66 69 6c 65 20 22 3f 2a 2e 6e 69 6d 62 6c 65 | ........:project-file."?*.nimble | 
| 2e4a0 | 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 20 | "............................... | 
| 2e4c0 | 20 20 20 20 3a 63 6f 6d 70 69 6c 65 20 22 6e 69    6d 62 6c 65 20 2d 2d 6e 6f 43 6f 6c 6f 72 20 62 | ....:compile."nimble.--noColor.b | 
| 2e4e0 | 75 69 6c 64 20 2d 2d 63 6f 6c 6f 72 73 3a 6f 66    66 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | uild.--colors:off".............. | 
| 2e500 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 3a 69 6e 73 74 61 6c 6c 20 22 6e | .....................:install."n | 
| 2e520 | 69 6d 62 6c 65 20 2d 2d 6e 6f 43 6f 6c 6f 72 20    69 6e 73 74 61 6c 6c 20 2d 2d 63 6f 6c 6f 72 73 | imble.--noColor.install.--colors | 
| 2e540 | 3a 6f 66 66 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 | :off"........................... | 
| 2e560 | 20 20 20 20 20 20 20 20 3a 74 65 73 74 20 22 6e    69 6d 62 6c 65 20 2d 2d 6e 6f 43 6f 6c 6f 72 20 | ........:test."nimble.--noColor. | 
| 2e580 | 74 65 73 74 20 2d 64 3a 6e 69 6d 55 6e 69 74 74    65 73 74 43 6f 6c 6f 72 3a 6f 66 66 20 2d 2d 63 | test.-d:nimUnittestColor:off.--c | 
| 2e5a0 | 6f 6c 6f 72 73 3a 6f 66 66 22 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | olors:off"...................... | 
| 2e5c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 72 75    6e 20 22 6e 69 6d 62 6c 65 20 2d 2d 6e 6f 43 6f | .............:run."nimble.--noCo | 
| 2e5e0 | 6c 6f 72 20 72 75 6e 20 2d 2d 63 6f 6c 6f 72 73    3a 6f 66 66 22 0a 20 20 20 20 20 20 20 20 20 20 | lor.run.--colors:off"........... | 
| 2e600 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 3a 73 72 63 2d 64 69 72 | ........................:src-dir | 
| 2e620 | 20 22 73 72 63 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 | ."src".......................... | 
| 2e640 | 20 20 20 20 20 20 20 20 20 3a 74 65 73 74 2d 64    69 72 20 22 74 65 73 74 73 22 29 0a 3b 3b 20 46 | .........:test-dir."tests").;;.F | 
| 2e660 | 69 6c 65 2d 62 61 73 65 64 20 64 65 74 65 63 74    69 6f 6e 20 70 72 6f 6a 65 63 74 20 74 79 70 65 | ile-based.detection.project.type | 
| 2e680 | 73 0a 0a 3b 3b 20 55 6e 69 76 65 72 73 61 6c 0a    28 70 72 6f 6a 65 63 74 69 6c 65 2d 72 65 67 69 | s..;;.Universal.(projectile-regi | 
| 2e6a0 | 73 74 65 72 2d 70 72 6f 6a 65 63 74 2d 74 79 70    65 20 27 73 63 6f 6e 73 20 27 28 22 53 43 6f 6e | ster-project-type.'scons.'("SCon | 
| 2e6c0 | 73 74 72 75 63 74 22 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 | struct")........................ | 
| 2e6e0 | 20 20 20 20 20 20 20 20 20 20 20 3a 70 72 6f 6a    65 63 74 2d 66 69 6c 65 20 22 53 43 6f 6e 73 74 | ...........:project-file."SConst | 
| 2e700 | 72 75 63 74 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 | ruct"........................... | 
| 2e720 | 20 20 20 20 20 20 20 20 3a 63 6f 6d 70 69 6c 65    20 22 73 63 6f 6e 73 22 0a 20 20 20 20 20 20 20 | ........:compile."scons"........ | 
| 2e740 | 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 3a 74 65 73 74 | ...........................:test | 
| 2e760 | 20 22 73 63 6f 6e 73 20 74 65 73 74 22 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ."scons.test"................... | 
| 2e780 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    3a 74 65 73 74 2d 73 75 66 66 69 78 20 22 74 65 | ................:test-suffix."te | 
| 2e7a0 | 73 74 22 29 0a 28 70 72 6f 6a 65 63 74 69 6c 65    2d 72 65 67 69 73 74 65 72 2d 70 72 6f 6a 65 63 | st").(projectile-register-projec | 
| 2e7c0 | 74 2d 74 79 70 65 20 27 6d 65 73 6f 6e 20 27 28    22 6d 65 73 6f 6e 2e 62 75 69 6c 64 22 29 0a 20 | t-type.'meson.'("meson.build").. | 
| 2e7e0 | 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 | ................................ | 
| 2e800 | 20 3a 70 72 6f 6a 65 63 74 2d 66 69 6c 65 20 22    6d 65 73 6f 6e 2e 62 75 69 6c 64 22 0a 20 20 20 | .:project-file."meson.build".... | 
| 2e820 | 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 3a | ...............................: | 
| 2e840 | 63 6f 6d 70 69 6c 61 74 69 6f 6e 2d 64 69 72 20    22 62 75 69 6c 64 22 0a 20 20 20 20 20 20 20 20 | compilation-dir."build"......... | 
| 2e860 | 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 3a 63 6f 6e 66 69 | ..........................:confi | 
| 2e880 | 67 75 72 65 20 22 6d 65 73 6f 6e 20 25 73 22 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | gure."meson.%s"................. | 
| 2e8a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 3a 63 6f 6d 70 69 6c 65 20 22 6e 69 6e 6a | ..................:compile."ninj | 
| 2e8c0 | 61 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 | a".............................. | 
| 2e8e0 | 20 20 20 20 20 3a 74 65 73 74 20 22 6e 69 6e 6a    61 20 74 65 73 74 22 29 0a 28 70 72 6f 6a 65 63 | .....:test."ninja.test").(projec | 
| 2e900 | 74 69 6c 65 2d 72 65 67 69 73 74 65 72 2d 70 72    6f 6a 65 63 74 2d 74 79 70 65 20 27 6e 69 78 20 | tile-register-project-type.'nix. | 
| 2e920 | 27 28 22 64 65 66 61 75 6c 74 2e 6e 69 78 22 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | '("default.nix")................ | 
| 2e940 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 3a 70 72 6f 6a 65 63 74 2d 66 69 6c 65 | ...................:project-file | 
| 2e960 | 20 22 64 65 66 61 75 6c 74 2e 6e 69 78 22 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ."default.nix".................. | 
| 2e980 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 3a 63 6f 6d 70 69 6c 65 20 22 6e 69 78 2d 62 | .................:compile."nix-b | 
| 2e9a0 | 75 69 6c 64 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 | uild"........................... | 
| 2e9c0 | 20 20 20 20 20 20 20 20 3a 74 65 73 74 20 22 6e    69 78 2d 62 75 69 6c 64 22 29 0a 28 70 72 6f 6a | ........:test."nix-build").(proj | 
| 2e9e0 | 65 63 74 69 6c 65 2d 72 65 67 69 73 74 65 72 2d    70 72 6f 6a 65 63 74 2d 74 79 70 65 20 27 6e 69 | ectile-register-project-type.'ni | 
| 2ea00 | 78 2d 66 6c 61 6b 65 20 27 28 22 66 6c 61 6b 65    2e 6e 69 78 22 29 0a 20 20 20 20 20 20 20 20 20 | x-flake.'("flake.nix").......... | 
| 2ea20 | 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 3a 70 72 6f 6a 65 63 | .........................:projec | 
| 2ea40 | 74 2d 66 69 6c 65 20 22 66 6c 61 6b 65 2e 6e 69    78 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | t-file."flake.nix".............. | 
| 2ea60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 3a 63 6f 6d 70 69 6c 65 20 22 6e | .....................:compile."n | 
| 2ea80 | 69 78 20 62 75 69 6c 64 22 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ix.build"....................... | 
| 2eaa0 | 20 20 20 20 20 20 20 20 20 20 20 20 3a 74 65 73    74 20 22 6e 69 78 20 66 6c 61 6b 65 20 63 68 65 | ............:test."nix.flake.che | 
| 2eac0 | 63 6b 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 | ck"............................. | 
| 2eae0 | 20 20 20 20 20 20 3a 72 75 6e 20 22 6e 69 78 20    72 75 6e 22 29 0a 28 70 72 6f 6a 65 63 74 69 6c | ......:run."nix.run").(projectil | 
| 2eb00 | 65 2d 72 65 67 69 73 74 65 72 2d 70 72 6f 6a 65    63 74 2d 74 79 70 65 20 27 62 61 7a 65 6c 20 27 | e-register-project-type.'bazel.' | 
| 2eb20 | 28 22 57 4f 52 4b 53 50 41 43 45 22 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ("WORKSPACE")................... | 
| 2eb40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    3a 70 72 6f 6a 65 63 74 2d 66 69 6c 65 20 22 57 | ................:project-file."W | 
| 2eb60 | 4f 52 4b 53 50 41 43 45 22 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ORKSPACE"....................... | 
| 2eb80 | 20 20 20 20 20 20 20 20 20 20 20 20 3a 63 6f 6d    70 69 6c 65 20 22 62 61 7a 65 6c 20 62 75 69 6c | ............:compile."bazel.buil | 
| 2eba0 | 64 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 | d".............................. | 
| 2ebc0 | 20 20 20 20 20 3a 74 65 73 74 20 22 62 61 7a 65    6c 20 74 65 73 74 22 0a 20 20 20 20 20 20 20 20 | .....:test."bazel.test"......... | 
| 2ebe0 | 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 3a 72 75 6e 20 22 | ..........................:run." | 
| 2ec00 | 62 61 7a 65 6c 20 72 75 6e 22 29 0a 28 70 72 6f    6a 65 63 74 69 6c 65 2d 72 65 67 69 73 74 65 72 | bazel.run").(projectile-register | 
| 2ec20 | 2d 70 72 6f 6a 65 63 74 2d 74 79 70 65 20 27 64    65 62 69 61 6e 20 27 28 22 64 65 62 69 61 6e 2f | -project-type.'debian.'("debian/ | 
| 2ec40 | 63 6f 6e 74 72 6f 6c 22 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | control")....................... | 
| 2ec60 | 20 20 20 20 20 20 20 20 20 20 20 20 3a 70 72 6f    6a 65 63 74 2d 66 69 6c 65 20 22 64 65 62 69 61 | ............:project-file."debia | 
| 2ec80 | 6e 2f 63 6f 6e 74 72 6f 6c 22 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | n/control"...................... | 
| 2eca0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 63 6f    6d 70 69 6c 65 20 22 64 65 62 75 69 6c 64 20 2d | .............:compile."debuild.- | 
| 2ecc0 | 75 63 20 2d 75 73 22 29 0a 0a 3b 3b 20 4d 61 6b    65 20 26 20 43 4d 61 6b 65 0a 28 70 72 6f 6a 65 | uc.-us")..;;.Make.&.CMake.(proje | 
| 2ece0 | 63 74 69 6c 65 2d 72 65 67 69 73 74 65 72 2d 70    72 6f 6a 65 63 74 2d 74 79 70 65 20 27 6d 61 6b | ctile-register-project-type.'mak | 
| 2ed00 | 65 20 27 28 22 4d 61 6b 65 66 69 6c 65 22 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | e.'("Makefile")................. | 
| 2ed20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 3a 70 72 6f 6a 65 63 74 2d 66 69 6c 65 20 | ..................:project-file. | 
| 2ed40 | 22 4d 61 6b 65 66 69 6c 65 22 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | "Makefile"...................... | 
| 2ed60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 63 6f    6d 70 69 6c 65 20 22 6d 61 6b 65 22 0a 20 20 20 | .............:compile."make".... | 
| 2ed80 | 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 3a | ...............................: | 
| 2eda0 | 74 65 73 74 20 22 6d 61 6b 65 20 74 65 73 74 22    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | test."make.test"................ | 
| 2edc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 3a 69 6e 73 74 61 6c 6c 20 22 6d 61 6b | ...................:install."mak | 
| 2ede0 | 65 20 69 6e 73 74 61 6c 6c 22 29 0a 28 70 72 6f    6a 65 63 74 69 6c 65 2d 72 65 67 69 73 74 65 72 | e.install").(projectile-register | 
| 2ee00 | 2d 70 72 6f 6a 65 63 74 2d 74 79 70 65 20 27 67    6e 75 6d 61 6b 65 20 27 28 22 47 4e 55 4d 61 6b | -project-type.'gnumake.'("GNUMak | 
| 2ee20 | 65 66 69 6c 65 22 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 | efile")......................... | 
| 2ee40 | 20 20 20 20 20 20 20 20 20 20 3a 70 72 6f 6a 65    63 74 2d 66 69 6c 65 20 22 47 4e 55 4d 61 6b 65 | ..........:project-file."GNUMake | 
| 2ee60 | 66 69 6c 65 22 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | file"........................... | 
| 2ee80 | 20 20 20 20 20 20 20 20 3a 63 6f 6d 70 69 6c 65    20 22 6d 61 6b 65 22 0a 20 20 20 20 20 20 20 20 | ........:compile."make"......... | 
| 2eea0 | 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 3a 74 65 73 74 20 | ..........................:test. | 
| 2eec0 | 22 6d 61 6b 65 20 74 65 73 74 22 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | "make.test"..................... | 
| 2eee0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 69    6e 73 74 61 6c 6c 20 22 6d 61 6b 65 20 69 6e 73 | ..............:install."make.ins | 
| 2ef00 | 74 61 6c 6c 22 29 0a 28 70 72 6f 6a 65 63 74 69    6c 65 2d 72 65 67 69 73 74 65 72 2d 70 72 6f 6a | tall").(projectile-register-proj | 
| 2ef20 | 65 63 74 2d 74 79 70 65 20 27 63 6d 61 6b 65 20    27 28 22 43 4d 61 6b 65 4c 69 73 74 73 2e 74 78 | ect-type.'cmake.'("CMakeLists.tx | 
| 2ef40 | 74 22 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 | t")............................. | 
| 2ef60 | 20 20 20 20 20 20 3a 70 72 6f 6a 65 63 74 2d 66    69 6c 65 20 22 43 4d 61 6b 65 4c 69 73 74 73 2e | ......:project-file."CMakeLists. | 
| 2ef80 | 74 78 74 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 | txt"............................ | 
| 2efa0 | 20 20 20 20 20 20 20 3a 63 6f 6e 66 69 67 75 72    65 20 23 27 70 72 6f 6a 65 63 74 69 6c 65 2d 2d | .......:configure.#'projectile-- | 
| 2efc0 | 63 6d 61 6b 65 2d 63 6f 6e 66 69 67 75 72 65 2d    63 6f 6d 6d 61 6e 64 0a 20 20 20 20 20 20 20 20 | cmake-configure-command......... | 
| 2efe0 | 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 3a 63 6f 6d 70 69 | ..........................:compi | 
| 2f000 | 6c 65 20 23 27 70 72 6f 6a 65 63 74 69 6c 65 2d    2d 63 6d 61 6b 65 2d 63 6f 6d 70 69 6c 65 2d 63 | le.#'projectile--cmake-compile-c | 
| 2f020 | 6f 6d 6d 61 6e 64 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 | ommand.......................... | 
| 2f040 | 20 20 20 20 20 20 20 20 20 3a 74 65 73 74 20 23    27 70 72 6f 6a 65 63 74 69 6c 65 2d 2d 63 6d 61 | .........:test.#'projectile--cma | 
| 2f060 | 6b 65 2d 74 65 73 74 2d 63 6f 6d 6d 61 6e 64 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ke-test-command................. | 
| 2f080 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 3a 69 6e 73 74 61 6c 6c 20 23 27 70 72 6f | ..................:install.#'pro | 
| 2f0a0 | 6a 65 63 74 69 6c 65 2d 2d 63 6d 61 6b 65 2d 69    6e 73 74 61 6c 6c 2d 63 6f 6d 6d 61 6e 64 0a 20 | jectile--cmake-install-command.. | 
| 2f0c0 | 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 | ................................ | 
| 2f0e0 | 20 3a 70 61 63 6b 61 67 65 20 22 63 6d 61 6b 65    20 2d 2d 62 75 69 6c 64 20 62 75 69 6c 64 20 2d | .:package."cmake.--build.build.- | 
| 2f100 | 2d 74 61 72 67 65 74 20 70 61 63 6b 61 67 65 22    29 0a 3b 3b 20 67 6f 2d 74 61 73 6b 2f 74 61 73 | -target.package").;;.go-task/tas | 
| 2f120 | 6b 0a 28 70 72 6f 6a 65 63 74 69 6c 65 2d 72 65    67 69 73 74 65 72 2d 70 72 6f 6a 65 63 74 2d 74 | k.(projectile-register-project-t | 
| 2f140 | 79 70 65 20 27 67 6f 2d 74 61 73 6b 20 27 28 22    54 61 73 6b 66 69 6c 65 2e 79 6d 6c 22 29 0a 20 | ype.'go-task.'("Taskfile.yml").. | 
| 2f160 | 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 | ................................ | 
| 2f180 | 20 3a 70 72 6f 6a 65 63 74 2d 66 69 6c 65 20 22    54 61 73 6b 66 69 6c 65 2e 79 6d 6c 22 0a 20 20 | .:project-file."Taskfile.yml"... | 
| 2f1a0 | 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 | ................................ | 
| 2f1c0 | 3a 63 6f 6d 70 69 6c 65 20 22 74 61 73 6b 20 62    75 69 6c 64 22 0a 20 20 20 20 20 20 20 20 20 20 | :compile."task.build"........... | 
| 2f1e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 3a 74 65 73 74 20 22 74 | ........................:test."t | 
| 2f200 | 61 73 6b 20 74 65 73 74 22 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ask.test"....................... | 
| 2f220 | 20 20 20 20 20 20 20 20 20 20 20 20 3a 69 6e 73    74 61 6c 6c 20 22 74 61 73 6b 20 69 6e 73 74 61 | ............:install."task.insta | 
| 2f240 | 6c 6c 22 29 0a 3b 3b 20 47 6f 20 73 68 6f 75 6c    64 20 74 61 6b 65 20 68 69 67 68 65 72 20 70 72 | ll").;;.Go.should.take.higher.pr | 
| 2f260 | 65 63 65 64 65 6e 63 65 20 74 68 61 6e 20 4d 61    6b 65 20 62 65 63 61 75 73 65 20 47 6f 20 70 72 | ecedence.than.Make.because.Go.pr | 
| 2f280 | 6f 6a 65 63 74 73 20 6f 66 74 65 6e 20 68 61 76    65 20 61 20 4d 61 6b 65 66 69 6c 65 2e 0a 28 70 | ojects.often.have.a.Makefile..(p | 
| 2f2a0 | 72 6f 6a 65 63 74 69 6c 65 2d 72 65 67 69 73 74    65 72 2d 70 72 6f 6a 65 63 74 2d 74 79 70 65 20 | rojectile-register-project-type. | 
| 2f2c0 | 27 67 6f 20 70 72 6f 6a 65 63 74 69 6c 65 2d 67    6f 2d 70 72 6f 6a 65 63 74 2d 74 65 73 74 2d 66 | 'go.projectile-go-project-test-f | 
| 2f2e0 | 75 6e 63 74 69 6f 6e 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 | unction......................... | 
| 2f300 | 20 20 20 20 20 20 20 20 20 20 3a 63 6f 6d 70 69    6c 65 20 22 67 6f 20 62 75 69 6c 64 22 0a 20 20 | ..........:compile."go.build"... | 
| 2f320 | 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 | ................................ | 
| 2f340 | 3a 74 65 73 74 20 22 67 6f 20 74 65 73 74 20 2e    2f 2e 2e 2e 22 0a 20 20 20 20 20 20 20 20 20 20 | :test."go.test../..."........... | 
| 2f360 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 3a 74 65 73 74 2d 73 75 | ........................:test-su | 
| 2f380 | 66 66 69 78 20 22 5f 74 65 73 74 22 29 0a 3b 3b    20 50 48 50 0a 28 70 72 6f 6a 65 63 74 69 6c 65 | ffix."_test").;;.PHP.(projectile | 
| 2f3a0 | 2d 72 65 67 69 73 74 65 72 2d 70 72 6f 6a 65 63    74 2d 74 79 70 65 20 27 70 68 70 2d 73 79 6d 66 | -register-project-type.'php-symf | 
| 2f3c0 | 6f 6e 79 20 27 28 22 63 6f 6d 70 6f 73 65 72 2e    6a 73 6f 6e 22 20 22 61 70 70 22 20 22 73 72 63 | ony.'("composer.json"."app"."src | 
| 2f3e0 | 22 20 22 76 65 6e 64 6f 72 22 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | "."vendor")..................... | 
| 2f400 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 70    72 6f 6a 65 63 74 2d 66 69 6c 65 20 22 63 6f 6d | ..............:project-file."com | 
| 2f420 | 70 6f 73 65 72 2e 6a 73 6f 6e 22 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | poser.json"..................... | 
| 2f440 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 63    6f 6d 70 69 6c 65 20 22 61 70 70 2f 63 6f 6e 73 | ..............:compile."app/cons | 
| 2f460 | 6f 6c 65 20 73 65 72 76 65 72 3a 72 75 6e 22 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ole.server:run"................. | 
| 2f480 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 3a 74 65 73 74 20 22 70 68 70 75 6e 69 74 | ..................:test."phpunit | 
| 2f4a0 | 20 2d 63 20 61 70 70 20 22 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .-c.app."....................... | 
| 2f4c0 | 20 20 20 20 20 20 20 20 20 20 20 20 3a 74 65 73    74 2d 73 75 66 66 69 78 20 22 54 65 73 74 22 29 | ............:test-suffix."Test") | 
| 2f4e0 | 0a 3b 3b 20 45 72 6c 61 6e 67 20 26 20 45 6c 69    78 69 72 0a 28 70 72 6f 6a 65 63 74 69 6c 65 2d | .;;.Erlang.&.Elixir.(projectile- | 
| 2f500 | 72 65 67 69 73 74 65 72 2d 70 72 6f 6a 65 63 74    2d 74 79 70 65 20 27 72 65 62 61 72 20 27 28 22 | register-project-type.'rebar.'(" | 
| 2f520 | 72 65 62 61 72 2e 63 6f 6e 66 69 67 22 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | rebar.config").................. | 
| 2f540 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 3a 70 72 6f 6a 65 63 74 2d 66 69 6c 65 20 22 | .................:project-file." | 
| 2f560 | 72 65 62 61 72 2e 63 6f 6e 66 69 67 22 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | rebar.config"................... | 
| 2f580 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    3a 63 6f 6d 70 69 6c 65 20 22 72 65 62 61 72 33 | ................:compile."rebar3 | 
| 2f5a0 | 20 63 6f 6d 70 69 6c 65 22 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .compile"....................... | 
| 2f5c0 | 20 20 20 20 20 20 20 20 20 20 20 20 3a 74 65 73    74 20 22 72 65 62 61 72 33 20 64 6f 20 65 75 6e | ............:test."rebar3.do.eun | 
| 2f5e0 | 69 74 2c 63 74 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 | it,ct".......................... | 
| 2f600 | 20 20 20 20 20 20 20 20 20 3a 74 65 73 74 2d 73    75 66 66 69 78 20 22 5f 53 55 49 54 45 22 29 0a | .........:test-suffix."_SUITE"). | 
| 2f620 | 28 70 72 6f 6a 65 63 74 69 6c 65 2d 72 65 67 69    73 74 65 72 2d 70 72 6f 6a 65 63 74 2d 74 79 70 | (projectile-register-project-typ | 
| 2f640 | 65 20 27 65 6c 69 78 69 72 20 27 28 22 6d 69 78    2e 65 78 73 22 29 0a 20 20 20 20 20 20 20 20 20 | e.'elixir.'("mix.exs").......... | 
| 2f660 | 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 3a 70 72 6f 6a 65 63 | .........................:projec | 
| 2f680 | 74 2d 66 69 6c 65 20 22 6d 69 78 2e 65 78 73 22    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | t-file."mix.exs"................ | 
| 2f6a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 3a 63 6f 6d 70 69 6c 65 20 22 6d 69 78 | ...................:compile."mix | 
| 2f6c0 | 20 63 6f 6d 70 69 6c 65 22 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .compile"....................... | 
| 2f6e0 | 20 20 20 20 20 20 20 20 20 20 20 20 3a 73 72 63    2d 64 69 72 20 22 6c 69 62 2f 22 0a 20 20 20 20 | ............:src-dir."lib/"..... | 
| 2f700 | 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 3a 74 | ..............................:t | 
| 2f720 | 65 73 74 20 22 6d 69 78 20 74 65 73 74 22 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | est."mix.test".................. | 
| 2f740 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 3a 74 65 73 74 2d 73 75 66 66 69 78 20 22 5f | .................:test-suffix."_ | 
| 2f760 | 74 65 73 74 22 29 0a 3b 3b 20 4a 61 76 61 53 63    72 69 70 74 0a 28 70 72 6f 6a 65 63 74 69 6c 65 | test").;;.JavaScript.(projectile | 
| 2f780 | 2d 72 65 67 69 73 74 65 72 2d 70 72 6f 6a 65 63    74 2d 74 79 70 65 20 27 67 72 75 6e 74 20 27 28 | -register-project-type.'grunt.'( | 
| 2f7a0 | 22 47 72 75 6e 74 66 69 6c 65 2e 6a 73 22 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | "Gruntfile.js")................. | 
| 2f7c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 3a 70 72 6f 6a 65 63 74 2d 66 69 6c 65 20 | ..................:project-file. | 
| 2f7e0 | 22 47 72 75 6e 74 66 69 6c 65 2e 6a 73 22 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | "Gruntfile.js".................. | 
| 2f800 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 3a 63 6f 6d 70 69 6c 65 20 22 67 72 75 6e 74 | .................:compile."grunt | 
| 2f820 | 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 20 | "............................... | 
| 2f840 | 20 20 20 20 3a 74 65 73 74 20 22 67 72 75 6e 74    20 74 65 73 74 22 29 0a 28 70 72 6f 6a 65 63 74 | ....:test."grunt.test").(project | 
| 2f860 | 69 6c 65 2d 72 65 67 69 73 74 65 72 2d 70 72 6f    6a 65 63 74 2d 74 79 70 65 20 27 67 75 6c 70 20 | ile-register-project-type.'gulp. | 
| 2f880 | 27 28 22 67 75 6c 70 66 69 6c 65 2e 6a 73 22 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | '("gulpfile.js")................ | 
| 2f8a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 3a 70 72 6f 6a 65 63 74 2d 66 69 6c 65 | ...................:project-file | 
| 2f8c0 | 20 22 67 75 6c 70 66 69 6c 65 2e 6a 73 22 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ."gulpfile.js".................. | 
| 2f8e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 3a 63 6f 6d 70 69 6c 65 20 22 67 75 6c 70 22 | .................:compile."gulp" | 
| 2f900 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 2f920 | 20 20 20 3a 74 65 73 74 20 22 67 75 6c 70 20 74    65 73 74 22 29 0a 28 70 72 6f 6a 65 63 74 69 6c | ...:test."gulp.test").(projectil | 
| 2f940 | 65 2d 72 65 67 69 73 74 65 72 2d 70 72 6f 6a 65    63 74 2d 74 79 70 65 20 27 6e 70 6d 20 27 28 22 | e-register-project-type.'npm.'(" | 
| 2f960 | 70 61 63 6b 61 67 65 2e 6a 73 6f 6e 22 20 22 70    61 63 6b 61 67 65 2d 6c 6f 63 6b 2e 6a 73 6f 6e | package.json"."package-lock.json | 
| 2f980 | 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ").............................. | 
| 2f9a0 | 20 20 20 20 20 3a 70 72 6f 6a 65 63 74 2d 66 69    6c 65 20 22 70 61 63 6b 61 67 65 2e 6a 73 6f 6e | .....:project-file."package.json | 
| 2f9c0 | 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 20 | "............................... | 
| 2f9e0 | 20 20 20 20 3a 63 6f 6d 70 69 6c 65 20 22 6e 70    6d 20 69 6e 73 74 61 6c 6c 20 26 26 20 6e 70 6d | ....:compile."npm.install.&&.npm | 
| 2fa00 | 20 72 75 6e 20 62 75 69 6c 64 22 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .run.build"..................... | 
| 2fa20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 74    65 73 74 20 22 6e 70 6d 20 74 65 73 74 22 0a 20 | ..............:test."npm.test".. | 
| 2fa40 | 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 | ................................ | 
| 2fa60 | 20 3a 74 65 73 74 2d 73 75 66 66 69 78 20 22 2e    74 65 73 74 22 29 0a 28 70 72 6f 6a 65 63 74 69 | .:test-suffix.".test").(projecti | 
| 2fa80 | 6c 65 2d 72 65 67 69 73 74 65 72 2d 70 72 6f 6a    65 63 74 2d 74 79 70 65 20 27 79 61 72 6e 20 27 | le-register-project-type.'yarn.' | 
| 2faa0 | 28 22 70 61 63 6b 61 67 65 2e 6a 73 6f 6e 22 20    22 79 61 72 6e 2e 6c 6f 63 6b 22 29 0a 20 20 20 | ("package.json"."yarn.lock").... | 
| 2fac0 | 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 3a | ...............................: | 
| 2fae0 | 70 72 6f 6a 65 63 74 2d 66 69 6c 65 20 22 70 61    63 6b 61 67 65 2e 6a 73 6f 6e 22 0a 20 20 20 20 | project-file."package.json"..... | 
| 2fb00 | 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 3a 63 | ..............................:c | 
| 2fb20 | 6f 6d 70 69 6c 65 20 22 79 61 72 6e 20 26 26 20    79 61 72 6e 20 62 75 69 6c 64 22 0a 20 20 20 20 | ompile."yarn.&&.yarn.build"..... | 
| 2fb40 | 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 3a 74 | ..............................:t | 
| 2fb60 | 65 73 74 20 22 79 61 72 6e 20 74 65 73 74 22 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | est."yarn.test"................. | 
| 2fb80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 3a 74 65 73 74 2d 73 75 66 66 69 78 20 22 | ..................:test-suffix." | 
| 2fba0 | 2e 74 65 73 74 22 29 0a 28 70 72 6f 6a 65 63 74    69 6c 65 2d 72 65 67 69 73 74 65 72 2d 70 72 6f | .test").(projectile-register-pro | 
| 2fbc0 | 6a 65 63 74 2d 74 79 70 65 20 27 70 6e 70 6d 20    27 28 22 70 61 63 6b 61 67 65 2e 6a 73 6f 6e 22 | ject-type.'pnpm.'("package.json" | 
| 2fbe0 | 20 22 70 6e 70 6d 2d 6c 6f 63 6b 2e 79 61 6d 6c    22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | ."pnpm-lock.yaml").............. | 
| 2fc00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 3a 70 72 6f 6a 65 63 74 2d 66 69 | .....................:project-fi | 
| 2fc20 | 6c 65 20 22 70 61 63 6b 61 67 65 2e 6a 73 6f 6e    22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | le."package.json"............... | 
| 2fc40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 3a 63 6f 6d 70 69 6c 65 20 22 70 6e | ....................:compile."pn | 
| 2fc60 | 70 6d 20 69 6e 73 74 61 6c 6c 20 26 26 20 70 6e    70 6d 20 62 75 69 6c 64 22 0a 20 20 20 20 20 20 | pm.install.&&.pnpm.build"....... | 
| 2fc80 | 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 3a 74 65 73 | ............................:tes | 
| 2fca0 | 74 20 22 70 6e 70 6d 20 74 65 73 74 22 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | t."pnpm.test"................... | 
| 2fcc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    3a 74 65 73 74 2d 73 75 66 66 69 78 20 22 2e 74 | ................:test-suffix.".t | 
| 2fce0 | 65 73 74 22 29 0a 3b 3b 20 41 6e 67 75 6c 61 72    0a 28 70 72 6f 6a 65 63 74 69 6c 65 2d 72 65 67 | est").;;.Angular.(projectile-reg | 
| 2fd00 | 69 73 74 65 72 2d 70 72 6f 6a 65 63 74 2d 74 79    70 65 20 27 61 6e 67 75 6c 61 72 20 27 28 22 61 | ister-project-type.'angular.'("a | 
| 2fd20 | 6e 67 75 6c 61 72 2e 6a 73 6f 6e 22 20 22 2e 61    6e 67 75 6c 61 72 2d 63 6c 69 2e 6a 73 6f 6e 22 | ngular.json".".angular-cli.json" | 
| 2fd40 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | )............................... | 
| 2fd60 | 20 20 20 20 3a 70 72 6f 6a 65 63 74 2d 66 69 6c    65 20 22 61 6e 67 75 6c 61 72 2e 6a 73 6f 6e 22 | ....:project-file."angular.json" | 
| 2fd80 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 2fda0 | 20 20 20 3a 63 6f 6d 70 69 6c 65 20 22 6e 67 20    62 75 69 6c 64 22 0a 20 20 20 20 20 20 20 20 20 | ...:compile."ng.build".......... | 
| 2fdc0 | 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 3a 72 75 6e 20 22 6e | .........................:run."n | 
| 2fde0 | 67 20 73 65 72 76 65 22 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | g.serve"........................ | 
| 2fe00 | 20 20 20 20 20 20 20 20 20 20 20 3a 74 65 73 74    20 22 6e 67 20 74 65 73 74 22 0a 20 20 20 20 20 | ...........:test."ng.test"...... | 
| 2fe20 | 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 3a 74 65 | .............................:te | 
| 2fe40 | 73 74 2d 73 75 66 66 69 78 20 22 2e 73 70 65 63    22 29 0a 3b 3b 20 50 79 74 68 6f 6e 0a 28 70 72 | st-suffix.".spec").;;.Python.(pr | 
| 2fe60 | 6f 6a 65 63 74 69 6c 65 2d 72 65 67 69 73 74 65    72 2d 70 72 6f 6a 65 63 74 2d 74 79 70 65 20 27 | ojectile-register-project-type.' | 
| 2fe80 | 64 6a 61 6e 67 6f 20 27 28 22 6d 61 6e 61 67 65    2e 70 79 22 29 0a 20 20 20 20 20 20 20 20 20 20 | django.'("manage.py")........... | 
| 2fea0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 3a 70 72 6f 6a 65 63 74 | ........................:project | 
| 2fec0 | 2d 66 69 6c 65 20 22 6d 61 6e 61 67 65 2e 70 79    22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | -file."manage.py"............... | 
| 2fee0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 3a 63 6f 6d 70 69 6c 65 20 22 70 79 | ....................:compile."py | 
| 2ff00 | 74 68 6f 6e 20 6d 61 6e 61 67 65 2e 70 79 20 72    75 6e 73 65 72 76 65 72 22 0a 20 20 20 20 20 20 | thon.manage.py.runserver"....... | 
| 2ff20 | 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 3a 74 65 73 | ............................:tes | 
| 2ff40 | 74 20 22 70 79 74 68 6f 6e 20 6d 61 6e 61 67 65    2e 70 79 20 74 65 73 74 22 0a 20 20 20 20 20 20 | t."python.manage.py.test"....... | 
| 2ff60 | 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 3a 74 65 73 | ............................:tes | 
| 2ff80 | 74 2d 70 72 65 66 69 78 20 22 74 65 73 74 5f 22    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | t-prefix."test_"................ | 
| 2ffa0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 3a 74 65 73 74 2d 73 75 66 66 69 78 22 | ...................:test-suffix" | 
| 2ffc0 | 5f 74 65 73 74 22 29 0a 28 70 72 6f 6a 65 63 74    69 6c 65 2d 72 65 67 69 73 74 65 72 2d 70 72 6f | _test").(projectile-register-pro | 
| 2ffe0 | 6a 65 63 74 2d 74 79 70 65 20 27 70 79 74 68 6f    6e 2d 70 69 70 20 27 28 22 72 65 71 75 69 72 65 | ject-type.'python-pip.'("require | 
| 30000 | 6d 65 6e 74 73 2e 74 78 74 22 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ments.txt")..................... | 
| 30020 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 70    72 6f 6a 65 63 74 2d 66 69 6c 65 20 22 72 65 71 | ..............:project-file."req | 
| 30040 | 75 69 72 65 6d 65 6e 74 73 2e 74 78 74 22 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | uirements.txt".................. | 
| 30060 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 3a 63 6f 6d 70 69 6c 65 20 22 70 79 74 68 6f | .................:compile."pytho | 
| 30080 | 6e 20 73 65 74 75 70 2e 70 79 20 62 75 69 6c 64    22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | n.setup.py.build"............... | 
| 300a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 3a 74 65 73 74 20 22 70 79 74 68 6f | ....................:test."pytho | 
| 300c0 | 6e 20 2d 6d 20 75 6e 69 74 74 65 73 74 20 64 69    73 63 6f 76 65 72 22 0a 20 20 20 20 20 20 20 20 | n.-m.unittest.discover"......... | 
| 300e0 | 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 3a 74 65 73 74 2d | ..........................:test- | 
| 30100 | 70 72 65 66 69 78 20 22 74 65 73 74 5f 22 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | prefix."test_".................. | 
| 30120 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 3a 74 65 73 74 2d 73 75 66 66 69 78 22 5f 74 | .................:test-suffix"_t | 
| 30140 | 65 73 74 22 29 0a 28 70 72 6f 6a 65 63 74 69 6c    65 2d 72 65 67 69 73 74 65 72 2d 70 72 6f 6a 65 | est").(projectile-register-proje | 
| 30160 | 63 74 2d 74 79 70 65 20 27 70 79 74 68 6f 6e 2d    70 6b 67 20 27 28 22 73 65 74 75 70 2e 70 79 22 | ct-type.'python-pkg.'("setup.py" | 
| 30180 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | )............................... | 
| 301a0 | 20 20 20 20 3a 70 72 6f 6a 65 63 74 2d 66 69 6c    65 20 22 73 65 74 75 70 2e 70 79 22 0a 20 20 20 | ....:project-file."setup.py".... | 
| 301c0 | 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 3a | ...............................: | 
| 301e0 | 63 6f 6d 70 69 6c 65 20 22 70 79 74 68 6f 6e 20    73 65 74 75 70 2e 70 79 20 62 75 69 6c 64 22 0a | compile."python.setup.py.build". | 
| 30200 | 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 | ................................ | 
| 30220 | 20 20 3a 74 65 73 74 20 22 70 79 74 68 6f 6e 20    2d 6d 20 75 6e 69 74 74 65 73 74 20 64 69 73 63 | ..:test."python.-m.unittest.disc | 
| 30240 | 6f 76 65 72 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 | over"........................... | 
| 30260 | 20 20 20 20 20 20 20 20 3a 74 65 73 74 2d 70 72    65 66 69 78 20 22 74 65 73 74 5f 22 0a 20 20 20 | ........:test-prefix."test_".... | 
| 30280 | 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 3a | ...............................: | 
| 302a0 | 74 65 73 74 2d 73 75 66 66 69 78 22 5f 74 65 73    74 22 29 0a 28 70 72 6f 6a 65 63 74 69 6c 65 2d | test-suffix"_test").(projectile- | 
| 302c0 | 72 65 67 69 73 74 65 72 2d 70 72 6f 6a 65 63 74    2d 74 79 70 65 20 27 70 79 74 68 6f 6e 2d 74 6f | register-project-type.'python-to | 
| 302e0 | 78 20 27 28 22 74 6f 78 2e 69 6e 69 22 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | x.'("tox.ini").................. | 
| 30300 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 3a 70 72 6f 6a 65 63 74 2d 66 69 6c 65 20 22 | .................:project-file." | 
| 30320 | 74 6f 78 2e 69 6e 69 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 | tox.ini"........................ | 
| 30340 | 20 20 20 20 20 20 20 20 20 20 20 3a 63 6f 6d 70    69 6c 65 20 22 74 6f 78 20 2d 72 20 2d 2d 6e 6f | ...........:compile."tox.-r.--no | 
| 30360 | 74 65 73 74 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 | test"........................... | 
| 30380 | 20 20 20 20 20 20 20 20 3a 74 65 73 74 20 22 74    6f 78 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ........:test."tox"............. | 
| 303a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 3a 74 65 73 74 2d 70 72 65 66 | ......................:test-pref | 
| 303c0 | 69 78 20 22 74 65 73 74 5f 22 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ix."test_"...................... | 
| 303e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 74 65    73 74 2d 73 75 66 66 69 78 22 5f 74 65 73 74 22 | .............:test-suffix"_test" | 
| 30400 | 29 0a 28 70 72 6f 6a 65 63 74 69 6c 65 2d 72 65    67 69 73 74 65 72 2d 70 72 6f 6a 65 63 74 2d 74 | ).(projectile-register-project-t | 
| 30420 | 79 70 65 20 27 70 79 74 68 6f 6e 2d 70 69 70 65    6e 76 20 27 28 22 50 69 70 66 69 6c 65 22 29 0a | ype.'python-pipenv.'("Pipfile"). | 
| 30440 | 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 | ................................ | 
| 30460 | 20 20 3a 70 72 6f 6a 65 63 74 2d 66 69 6c 65 20    22 50 69 70 66 69 6c 65 22 0a 20 20 20 20 20 20 | ..:project-file."Pipfile"....... | 
| 30480 | 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 3a 63 6f 6d | ............................:com | 
| 304a0 | 70 69 6c 65 20 22 70 69 70 65 6e 76 20 72 75 6e    20 62 75 69 6c 64 22 0a 20 20 20 20 20 20 20 20 | pile."pipenv.run.build"......... | 
| 304c0 | 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 3a 74 65 73 74 20 | ..........................:test. | 
| 304e0 | 22 70 69 70 65 6e 76 20 72 75 6e 20 74 65 73 74    22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | "pipenv.run.test"............... | 
| 30500 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 3a 74 65 73 74 2d 70 72 65 66 69 78 | ....................:test-prefix | 
| 30520 | 20 22 74 65 73 74 5f 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 | ."test_"........................ | 
| 30540 | 20 20 20 20 20 20 20 20 20 20 20 3a 74 65 73 74    2d 73 75 66 66 69 78 20 22 5f 74 65 73 74 22 29 | ...........:test-suffix."_test") | 
| 30560 | 0a 28 70 72 6f 6a 65 63 74 69 6c 65 2d 72 65 67    69 73 74 65 72 2d 70 72 6f 6a 65 63 74 2d 74 79 | .(projectile-register-project-ty | 
| 30580 | 70 65 20 27 70 79 74 68 6f 6e 2d 70 6f 65 74 72    79 20 27 28 22 70 6f 65 74 72 79 2e 6c 6f 63 6b | pe.'python-poetry.'("poetry.lock | 
| 305a0 | 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ").............................. | 
| 305c0 | 20 20 20 20 20 3a 70 72 6f 6a 65 63 74 2d 66 69    6c 65 20 22 70 6f 65 74 72 79 2e 6c 6f 63 6b 22 | .....:project-file."poetry.lock" | 
| 305e0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 30600 | 20 20 20 3a 63 6f 6d 70 69 6c 65 20 22 70 6f 65    74 72 79 20 62 75 69 6c 64 22 0a 20 20 20 20 20 | ...:compile."poetry.build"...... | 
| 30620 | 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 3a 74 65 | .............................:te | 
| 30640 | 73 74 20 22 70 6f 65 74 72 79 20 72 75 6e 20 70    79 74 68 6f 6e 20 2d 6d 20 75 6e 69 74 74 65 73 | st."poetry.run.python.-m.unittes | 
| 30660 | 74 20 64 69 73 63 6f 76 65 72 22 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | t.discover"..................... | 
| 30680 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 74    65 73 74 2d 70 72 65 66 69 78 20 22 74 65 73 74 | ..............:test-prefix."test | 
| 306a0 | 5f 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 | _".............................. | 
| 306c0 | 20 20 20 20 20 3a 74 65 73 74 2d 73 75 66 66 69    78 20 22 5f 74 65 73 74 22 29 0a 28 70 72 6f 6a | .....:test-suffix."_test").(proj | 
| 306e0 | 65 63 74 69 6c 65 2d 72 65 67 69 73 74 65 72 2d    70 72 6f 6a 65 63 74 2d 74 79 70 65 20 27 70 79 | ectile-register-project-type.'py | 
| 30700 | 74 68 6f 6e 2d 74 6f 6d 6c 20 27 28 22 70 79 70    72 6f 6a 65 63 74 2e 74 6f 6d 6c 22 29 0a 20 20 | thon-toml.'("pyproject.toml")... | 
| 30720 | 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 | ................................ | 
| 30740 | 3a 70 72 6f 6a 65 63 74 2d 66 69 6c 65 20 22 70    79 70 72 6f 6a 65 63 74 2e 74 6f 6d 6c 22 0a 20 | :project-file."pyproject.toml".. | 
| 30760 | 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 | ................................ | 
| 30780 | 20 3a 63 6f 6d 70 69 6c 65 20 22 70 79 74 68 6f    6e 20 2d 6d 20 62 75 69 6c 64 22 0a 20 20 20 20 | .:compile."python.-m.build"..... | 
| 307a0 | 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 3a 74 | ..............................:t | 
| 307c0 | 65 73 74 20 22 70 79 74 68 6f 6e 20 2d 6d 20 75    6e 69 74 74 65 73 74 20 64 69 73 63 6f 76 65 72 | est."python.-m.unittest.discover | 
| 307e0 | 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 20 | "............................... | 
| 30800 | 20 20 20 20 3a 74 65 73 74 2d 70 72 65 66 69 78    20 22 74 65 73 74 5f 22 0a 20 20 20 20 20 20 20 | ....:test-prefix."test_"........ | 
| 30820 | 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 3a 74 65 73 74 | ...........................:test | 
| 30840 | 2d 73 75 66 66 69 78 20 22 5f 74 65 73 74 22 29    0a 3b 3b 20 4a 61 76 61 20 26 20 66 72 69 65 6e | -suffix."_test").;;.Java.&.frien | 
| 30860 | 64 73 0a 28 70 72 6f 6a 65 63 74 69 6c 65 2d 72    65 67 69 73 74 65 72 2d 70 72 6f 6a 65 63 74 2d | ds.(projectile-register-project- | 
| 30880 | 74 79 70 65 20 27 6d 61 76 65 6e 20 27 28 22 70    6f 6d 2e 78 6d 6c 22 29 0a 20 20 20 20 20 20 20 | type.'maven.'("pom.xml")........ | 
| 308a0 | 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 3a 70 72 6f 6a | ...........................:proj | 
| 308c0 | 65 63 74 2d 66 69 6c 65 20 22 70 6f 6d 2e 78 6d    6c 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | ect-file."pom.xml".............. | 
| 308e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 3a 63 6f 6d 70 69 6c 65 20 22 6d | .....................:compile."m | 
| 30900 | 76 6e 20 2d 42 20 63 6c 65 61 6e 20 69 6e 73 74    61 6c 6c 22 0a 20 20 20 20 20 20 20 20 20 20 20 | vn.-B.clean.install"............ | 
| 30920 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 3a 74 65 73 74 20 22 6d 76 | .......................:test."mv | 
| 30940 | 6e 20 2d 42 20 74 65 73 74 22 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | n.-B.test"...................... | 
| 30960 | 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 74 65    73 74 2d 73 75 66 66 69 78 20 22 54 65 73 74 22 | .............:test-suffix."Test" | 
| 30980 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 309a0 | 20 20 20 3a 73 72 63 2d 64 69 72 20 22 73 72 63    2f 6d 61 69 6e 2f 22 0a 20 20 20 20 20 20 20 20 | ...:src-dir."src/main/"......... | 
| 309c0 | 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 3a 74 65 73 74 2d | ..........................:test- | 
| 309e0 | 64 69 72 20 22 73 72 63 2f 74 65 73 74 2f 22 29    0a 28 70 72 6f 6a 65 63 74 69 6c 65 2d 72 65 67 | dir."src/test/").(projectile-reg | 
| 30a00 | 69 73 74 65 72 2d 70 72 6f 6a 65 63 74 2d 74 79    70 65 20 27 67 72 61 64 6c 65 20 27 28 22 62 75 | ister-project-type.'gradle.'("bu | 
| 30a20 | 69 6c 64 2e 67 72 61 64 6c 65 22 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ild.gradle").................... | 
| 30a40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a    70 72 6f 6a 65 63 74 2d 66 69 6c 65 20 22 62 75 | ...............:project-file."bu | 
| 30a60 | 69 6c 64 2e 67 72 61 64 6c 65 22 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ild.gradle"..................... | 
| 30a80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 63    6f 6d 70 69 6c 65 20 22 67 72 61 64 6c 65 20 62 | ..............:compile."gradle.b | 
| 30aa0 | 75 69 6c 64 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 | uild"........................... | 
| 30ac0 | 20 20 20 20 20 20 20 20 3a 74 65 73 74 20 22 67    72 61 64 6c 65 20 74 65 73 74 22 0a 20 20 20 20 | ........:test."gradle.test"..... | 
| 30ae0 | 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 3a 74 | ..............................:t | 
| 30b00 | 65 73 74 2d 73 75 66 66 69 78 20 22 53 70 65 63    22 29 0a 28 70 72 6f 6a 65 63 74 69 6c 65 2d 72 | est-suffix."Spec").(projectile-r | 
| 30b20 | 65 67 69 73 74 65 72 2d 70 72 6f 6a 65 63 74 2d    74 79 70 65 20 27 67 72 61 64 6c 65 77 20 27 28 | egister-project-type.'gradlew.'( | 
| 30b40 | 22 67 72 61 64 6c 65 77 22 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | "gradlew")...................... | 
| 30b60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 70 72    6f 6a 65 63 74 2d 66 69 6c 65 20 22 67 72 61 64 | .............:project-file."grad | 
| 30b80 | 6c 65 77 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 | lew"............................ | 
| 30ba0 | 20 20 20 20 20 20 20 3a 63 6f 6d 70 69 6c 65 20    22 2e 2f 67 72 61 64 6c 65 77 20 62 75 69 6c 64 | .......:compile."./gradlew.build | 
| 30bc0 | 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 20 | "............................... | 
| 30be0 | 20 20 20 20 3a 74 65 73 74 20 22 2e 2f 67 72 61    64 6c 65 77 20 74 65 73 74 22 0a 20 20 20 20 20 | ....:test."./gradlew.test"...... | 
| 30c00 | 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 3a 74 65 | .............................:te | 
| 30c20 | 73 74 2d 73 75 66 66 69 78 20 22 53 70 65 63 22    29 0a 28 70 72 6f 6a 65 63 74 69 6c 65 2d 72 65 | st-suffix."Spec").(projectile-re | 
| 30c40 | 67 69 73 74 65 72 2d 70 72 6f 6a 65 63 74 2d 74    79 70 65 20 27 67 72 61 69 6c 73 20 27 28 22 61 | gister-project-type.'grails.'("a | 
| 30c60 | 70 70 6c 69 63 61 74 69 6f 6e 2e 79 6d 6c 22 20    22 67 72 61 69 6c 73 2d 61 70 70 22 29 0a 20 20 | pplication.yml"."grails-app")... | 
| 30c80 | 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 | ................................ | 
| 30ca0 | 3a 70 72 6f 6a 65 63 74 2d 66 69 6c 65 20 22 61    70 70 6c 69 63 61 74 69 6f 6e 2e 79 6d 6c 22 0a | :project-file."application.yml". | 
| 30cc0 | 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 | ................................ | 
| 30ce0 | 20 20 3a 63 6f 6d 70 69 6c 65 20 22 67 72 61 69    6c 73 20 70 61 63 6b 61 67 65 22 0a 20 20 20 20 | ..:compile."grails.package"..... | 
| 30d00 | 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 3a 74 | ..............................:t | 
| 30d20 | 65 73 74 20 22 67 72 61 69 6c 73 20 74 65 73 74    2d 61 70 70 22 0a 20 20 20 20 20 20 20 20 20 20 | est."grails.test-app"........... | 
| 30d40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 3a 74 65 73 74 2d 73 75 | ........................:test-su | 
| 30d60 | 66 66 69 78 20 22 53 70 65 63 22 29 0a 3b 3b 20    53 63 61 6c 61 0a 28 70 72 6f 6a 65 63 74 69 6c | ffix."Spec").;;.Scala.(projectil | 
| 30d80 | 65 2d 72 65 67 69 73 74 65 72 2d 70 72 6f 6a 65    63 74 2d 74 79 70 65 20 27 73 62 74 20 27 28 22 | e-register-project-type.'sbt.'(" | 
| 30da0 | 62 75 69 6c 64 2e 73 62 74 22 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | build.sbt")..................... | 
| 30dc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 70    72 6f 6a 65 63 74 2d 66 69 6c 65 20 22 62 75 69 | ..............:project-file."bui | 
| 30de0 | 6c 64 2e 73 62 74 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 | ld.sbt"......................... | 
| 30e00 | 20 20 20 20 20 20 20 20 20 20 3a 73 72 63 2d 64    69 72 20 22 6d 61 69 6e 22 0a 20 20 20 20 20 20 | ..........:src-dir."main"....... | 
| 30e20 | 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 3a 74 65 73 | ............................:tes | 
| 30e40 | 74 2d 64 69 72 20 22 74 65 73 74 22 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | t-dir."test".................... | 
| 30e60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a    63 6f 6d 70 69 6c 65 20 22 73 62 74 20 63 6f 6d | ...............:compile."sbt.com | 
| 30e80 | 70 69 6c 65 22 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | pile"........................... | 
| 30ea0 | 20 20 20 20 20 20 20 20 3a 74 65 73 74 20 22 73    62 74 20 74 65 73 74 22 0a 20 20 20 20 20 20 20 | ........:test."sbt.test"........ | 
| 30ec0 | 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 3a 74 65 73 74 | ...........................:test | 
| 30ee0 | 2d 73 75 66 66 69 78 20 22 53 70 65 63 22 29 0a    0a 28 70 72 6f 6a 65 63 74 69 6c 65 2d 72 65 67 | -suffix."Spec")..(projectile-reg | 
| 30f00 | 69 73 74 65 72 2d 70 72 6f 6a 65 63 74 2d 74 79    70 65 20 27 6d 69 6c 6c 20 27 28 22 62 75 69 6c | ister-project-type.'mill.'("buil | 
| 30f20 | 64 2e 73 63 22 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 | d.sc").......................... | 
| 30f40 | 20 20 20 20 20 20 20 20 20 3a 70 72 6f 6a 65 63    74 2d 66 69 6c 65 20 22 62 75 69 6c 64 2e 73 63 | .........:project-file."build.sc | 
| 30f60 | 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 20 | "............................... | 
| 30f80 | 20 20 20 20 3a 73 72 63 2d 64 69 72 20 22 73 72    63 2f 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ....:src-dir."src/"............. | 
| 30fa0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 3a 74 65 73 74 2d 64 69 72 20 | ......................:test-dir. | 
| 30fc0 | 22 74 65 73 74 2f 73 72 63 2f 22 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | "test/src/"..................... | 
| 30fe0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 63    6f 6d 70 69 6c 65 20 22 6d 69 6c 6c 20 61 6c 6c | ..............:compile."mill.all | 
| 31000 | 20 5f 5f 2e 63 6f 6d 70 69 6c 65 22 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .__.compile".................... | 
| 31020 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a    74 65 73 74 20 22 6d 69 6c 6c 20 61 6c 6c 20 5f | ...............:test."mill.all._ | 
| 31040 | 5f 2e 74 65 73 74 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 | _.test"......................... | 
| 31060 | 20 20 20 20 20 20 20 20 20 20 3a 74 65 73 74 2d    73 75 66 66 69 78 20 22 54 65 73 74 22 29 0a 0a | ..........:test-suffix."Test").. | 
| 31080 | 3b 3b 20 43 6c 6f 6a 75 72 65 0a 28 70 72 6f 6a    65 63 74 69 6c 65 2d 72 65 67 69 73 74 65 72 2d | ;;.Clojure.(projectile-register- | 
| 310a0 | 70 72 6f 6a 65 63 74 2d 74 79 70 65 20 27 6c 65    69 6e 2d 74 65 73 74 20 27 28 22 70 72 6f 6a 65 | project-type.'lein-test.'("proje | 
| 310c0 | 63 74 2e 63 6c 6a 22 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 | ct.clj")........................ | 
| 310e0 | 20 20 20 20 20 20 20 20 20 20 20 3a 70 72 6f 6a    65 63 74 2d 66 69 6c 65 20 22 70 72 6f 6a 65 63 | ...........:project-file."projec | 
| 31100 | 74 2e 63 6c 6a 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 | t.clj".......................... | 
| 31120 | 20 20 20 20 20 20 20 20 20 3a 63 6f 6d 70 69 6c    65 20 22 6c 65 69 6e 20 63 6f 6d 70 69 6c 65 22 | .........:compile."lein.compile" | 
| 31140 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 31160 | 20 20 20 3a 74 65 73 74 20 22 6c 65 69 6e 20 74    65 73 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 | ...:test."lein.test"............ | 
| 31180 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 3a 74 65 73 74 2d 73 75 66 | .......................:test-suf | 
| 311a0 | 66 69 78 20 22 5f 74 65 73 74 22 29 0a 28 70 72    6f 6a 65 63 74 69 6c 65 2d 72 65 67 69 73 74 65 | fix."_test").(projectile-registe | 
| 311c0 | 72 2d 70 72 6f 6a 65 63 74 2d 74 79 70 65 20 27    6c 65 69 6e 2d 6d 69 64 6a 65 20 27 28 22 70 72 | r-project-type.'lein-midje.'("pr | 
| 311e0 | 6f 6a 65 63 74 2e 63 6c 6a 22 20 22 2e 6d 69 64    6a 65 2e 63 6c 6a 22 29 0a 20 20 20 20 20 20 20 | oject.clj".".midje.clj")........ | 
| 31200 | 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 3a 70 72 6f 6a | ...........................:proj | 
| 31220 | 65 63 74 2d 66 69 6c 65 20 22 70 72 6f 6a 65 63    74 2e 63 6c 6a 22 0a 20 20 20 20 20 20 20 20 20 | ect-file."project.clj".......... | 
| 31240 | 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 3a 63 6f 6d 70 69 6c | .........................:compil | 
| 31260 | 65 20 22 6c 65 69 6e 20 63 6f 6d 70 69 6c 65 22    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | e."lein.compile"................ | 
| 31280 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 3a 74 65 73 74 20 22 6c 65 69 6e 20 6d | ...................:test."lein.m | 
| 312a0 | 69 64 6a 65 22 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | idje"........................... | 
| 312c0 | 20 20 20 20 20 20 20 20 3a 74 65 73 74 2d 70 72    65 66 69 78 20 22 74 5f 22 29 0a 28 70 72 6f 6a | ........:test-prefix."t_").(proj | 
| 312e0 | 65 63 74 69 6c 65 2d 72 65 67 69 73 74 65 72 2d    70 72 6f 6a 65 63 74 2d 74 79 70 65 20 27 62 6f | ectile-register-project-type.'bo | 
| 31300 | 6f 74 2d 63 6c 6a 20 27 28 22 62 75 69 6c 64 2e    62 6f 6f 74 22 29 0a 20 20 20 20 20 20 20 20 20 | ot-clj.'("build.boot").......... | 
| 31320 | 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 3a 70 72 6f 6a 65 63 | .........................:projec | 
| 31340 | 74 2d 66 69 6c 65 20 22 62 75 69 6c 64 2e 62 6f    6f 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 | t-file."build.boot"............. | 
| 31360 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 3a 63 6f 6d 70 69 6c 65 20 22 | ......................:compile." | 
| 31380 | 62 6f 6f 74 20 61 6f 74 22 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | boot.aot"....................... | 
| 313a0 | 20 20 20 20 20 20 20 20 20 20 20 20 3a 74 65 73    74 20 22 62 6f 6f 74 20 74 65 73 74 22 0a 20 20 | ............:test."boot.test"... | 
| 313c0 | 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 | ................................ | 
| 313e0 | 3a 74 65 73 74 2d 73 75 66 66 69 78 20 22 5f 74    65 73 74 22 29 0a 28 70 72 6f 6a 65 63 74 69 6c | :test-suffix."_test").(projectil | 
| 31400 | 65 2d 72 65 67 69 73 74 65 72 2d 70 72 6f 6a 65    63 74 2d 74 79 70 65 20 27 63 6c 6f 6a 75 72 65 | e-register-project-type.'clojure | 
| 31420 | 2d 63 6c 69 20 27 28 22 64 65 70 73 2e 65 64 6e    22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | -cli.'("deps.edn").............. | 
| 31440 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 3a 70 72 6f 6a 65 63 74 2d 66 69 | .....................:project-fi | 
| 31460 | 6c 65 20 22 64 65 70 73 2e 65 64 6e 22 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | le."deps.edn"................... | 
| 31480 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    3a 74 65 73 74 2d 73 75 66 66 69 78 20 22 5f 74 | ................:test-suffix."_t | 
| 314a0 | 65 73 74 22 29 0a 28 70 72 6f 6a 65 63 74 69 6c    65 2d 72 65 67 69 73 74 65 72 2d 70 72 6f 6a 65 | est").(projectile-register-proje | 
| 314c0 | 63 74 2d 74 79 70 65 20 27 62 6c 6f 6f 70 20 27    28 22 2e 62 6c 6f 6f 70 22 29 0a 20 20 20 20 20 | ct-type.'bloop.'(".bloop")...... | 
| 314e0 | 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 3a 70 72 | .............................:pr | 
| 31500 | 6f 6a 65 63 74 2d 66 69 6c 65 20 22 2e 62 6c 6f    6f 70 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 | oject-file.".bloop"............. | 
| 31520 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 3a 63 6f 6d 70 69 6c 65 20 22 | ......................:compile." | 
| 31540 | 62 6c 6f 6f 70 20 63 6f 6d 70 69 6c 65 20 72 6f    6f 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 | bloop.compile.root"............. | 
| 31560 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 3a 74 65 73 74 20 22 62 6c 6f | ......................:test."blo | 
| 31580 | 6f 70 20 74 65 73 74 20 2d 2d 70 72 6f 70 61 67    61 74 65 20 2d 2d 72 65 70 6f 72 74 65 72 20 73 | op.test.--propagate.--reporter.s | 
| 315a0 | 63 61 6c 61 63 20 72 6f 6f 74 22 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | calac.root"..................... | 
| 315c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 73    72 63 2d 64 69 72 20 22 73 72 63 2f 6d 61 69 6e | ..............:src-dir."src/main | 
| 315e0 | 2f 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 | /".............................. | 
| 31600 | 20 20 20 20 20 3a 74 65 73 74 2d 64 69 72 20 22    73 72 63 2f 74 65 73 74 2f 22 0a 20 20 20 20 20 | .....:test-dir."src/test/"...... | 
| 31620 | 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 3a 74 65 | .............................:te | 
| 31640 | 73 74 2d 73 75 66 66 69 78 20 22 53 70 65 63 22    29 0a 3b 3b 20 52 75 62 79 0a 28 70 72 6f 6a 65 | st-suffix."Spec").;;.Ruby.(proje | 
| 31660 | 63 74 69 6c 65 2d 72 65 67 69 73 74 65 72 2d 70    72 6f 6a 65 63 74 2d 74 79 70 65 20 27 72 75 62 | ctile-register-project-type.'rub | 
| 31680 | 79 2d 72 73 70 65 63 20 27 28 22 47 65 6d 66 69    6c 65 22 20 22 6c 69 62 22 20 22 73 70 65 63 22 | y-rspec.'("Gemfile"."lib"."spec" | 
| 316a0 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | )............................... | 
| 316c0 | 20 20 20 20 3a 70 72 6f 6a 65 63 74 2d 66 69 6c    65 20 22 47 65 6d 66 69 6c 65 22 0a 20 20 20 20 | ....:project-file."Gemfile"..... | 
| 316e0 | 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 3a 63 | ..............................:c | 
| 31700 | 6f 6d 70 69 6c 65 20 22 62 75 6e 64 6c 65 20 65    78 65 63 20 72 61 6b 65 22 0a 20 20 20 20 20 20 | ompile."bundle.exec.rake"....... | 
| 31720 | 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 3a 73 72 63 | ............................:src | 
| 31740 | 2d 64 69 72 20 22 6c 69 62 2f 22 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | -dir."lib/"..................... | 
| 31760 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 74    65 73 74 20 22 62 75 6e 64 6c 65 20 65 78 65 63 | ..............:test."bundle.exec | 
| 31780 | 20 72 73 70 65 63 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 | .rspec"......................... | 
| 317a0 | 20 20 20 20 20 20 20 20 20 20 3a 74 65 73 74 2d    64 69 72 20 22 73 70 65 63 2f 22 0a 20 20 20 20 | ..........:test-dir."spec/"..... | 
| 317c0 | 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 3a 74 | ..............................:t | 
| 317e0 | 65 73 74 2d 73 75 66 66 69 78 20 22 5f 73 70 65    63 22 29 0a 28 70 72 6f 6a 65 63 74 69 6c 65 2d | est-suffix."_spec").(projectile- | 
| 31800 | 72 65 67 69 73 74 65 72 2d 70 72 6f 6a 65 63 74    2d 74 79 70 65 20 27 72 75 62 79 2d 74 65 73 74 | register-project-type.'ruby-test | 
| 31820 | 20 27 28 22 47 65 6d 66 69 6c 65 22 20 22 6c 69    62 22 20 22 74 65 73 74 22 29 0a 20 20 20 20 20 | .'("Gemfile"."lib"."test")...... | 
| 31840 | 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 3a 70 72 | .............................:pr | 
| 31860 | 6f 6a 65 63 74 2d 66 69 6c 65 20 22 47 65 6d 66    69 6c 65 22 0a 20 20 20 20 20 20 20 20 20 20 20 | oject-file."Gemfile"............ | 
| 31880 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 3a 63 6f 6d 70 69 6c 65 22 | .......................:compile" | 
| 318a0 | 62 75 6e 64 6c 65 20 65 78 65 63 20 72 61 6b 65    22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | bundle.exec.rake"............... | 
| 318c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 3a 73 72 63 2d 64 69 72 20 22 6c 69 | ....................:src-dir."li | 
| 318e0 | 62 2f 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 | b/"............................. | 
| 31900 | 20 20 20 20 20 20 3a 74 65 73 74 20 22 62 75 6e    64 6c 65 20 65 78 65 63 20 72 61 6b 65 20 74 65 | ......:test."bundle.exec.rake.te | 
| 31920 | 73 74 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 | st"............................. | 
| 31940 | 20 20 20 20 20 20 3a 74 65 73 74 2d 73 75 66 66    69 78 20 22 5f 74 65 73 74 22 29 0a 3b 3b 20 52 | ......:test-suffix."_test").;;.R | 
| 31960 | 61 69 6c 73 20 6e 65 65 64 73 20 74 6f 20 62 65    20 72 65 67 69 73 74 65 72 65 64 20 61 66 74 65 | ails.needs.to.be.registered.afte | 
| 31980 | 72 20 6e 70 6d 2c 20 6f 74 68 65 72 77 69 73 65    20 60 70 61 63 6b 61 67 65 2e 6a 73 6f 6e 60 20 | r.npm,.otherwise.`package.json`. | 
| 319a0 | 6d 61 6b 65 73 20 69 74 20 60 6e 70 6d 60 2e 0a    3b 3b 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 | makes.it.`npm`..;;.https://githu | 
| 319c0 | 62 2e 63 6f 6d 2f 62 62 61 74 73 6f 76 2f 70 72    6f 6a 65 63 74 69 6c 65 2f 70 75 6c 6c 2f 31 31 | b.com/bbatsov/projectile/pull/11 | 
| 319e0 | 39 31 0a 28 70 72 6f 6a 65 63 74 69 6c 65 2d 72    65 67 69 73 74 65 72 2d 70 72 6f 6a 65 63 74 2d | 91.(projectile-register-project- | 
| 31a00 | 74 79 70 65 20 27 72 61 69 6c 73 2d 74 65 73 74    20 27 28 22 47 65 6d 66 69 6c 65 22 20 22 61 70 | type.'rails-test.'("Gemfile"."ap | 
| 31a20 | 70 22 20 22 6c 69 62 22 20 22 64 62 22 20 22 63    6f 6e 66 69 67 22 20 22 74 65 73 74 22 29 0a 20 | p"."lib"."db"."config"."test").. | 
| 31a40 | 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 | ................................ | 
| 31a60 | 20 3a 70 72 6f 6a 65 63 74 2d 66 69 6c 65 20 22    47 65 6d 66 69 6c 65 22 0a 20 20 20 20 20 20 20 | .:project-file."Gemfile"........ | 
| 31a80 | 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 3a 63 6f 6d 70 | ...........................:comp | 
| 31aa0 | 69 6c 65 20 22 62 75 6e 64 6c 65 20 65 78 65 63    20 72 61 69 6c 73 20 73 65 72 76 65 72 22 0a 20 | ile."bundle.exec.rails.server".. | 
| 31ac0 | 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 | ................................ | 
| 31ae0 | 20 3a 73 72 63 2d 64 69 72 20 22 61 70 70 2f 22    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .:src-dir."app/"................ | 
| 31b00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 3a 74 65 73 74 20 22 62 75 6e 64 6c 65 | ...................:test."bundle | 
| 31b20 | 20 65 78 65 63 20 72 61 6b 65 20 74 65 73 74 22    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .exec.rake.test"................ | 
| 31b40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 3a 74 65 73 74 2d 73 75 66 66 69 78 20 | ...................:test-suffix. | 
| 31b60 | 22 5f 74 65 73 74 22 29 0a 28 70 72 6f 6a 65 63    74 69 6c 65 2d 72 65 67 69 73 74 65 72 2d 70 72 | "_test").(projectile-register-pr | 
| 31b80 | 6f 6a 65 63 74 2d 74 79 70 65 20 27 72 61 69 6c    73 2d 72 73 70 65 63 20 27 28 22 47 65 6d 66 69 | oject-type.'rails-rspec.'("Gemfi | 
| 31ba0 | 6c 65 22 20 22 61 70 70 22 20 22 6c 69 62 22 20    22 64 62 22 20 22 63 6f 6e 66 69 67 22 20 22 73 | le"."app"."lib"."db"."config"."s | 
| 31bc0 | 70 65 63 22 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 | pec")........................... | 
| 31be0 | 20 20 20 20 20 20 20 20 3a 70 72 6f 6a 65 63 74    2d 66 69 6c 65 20 22 47 65 6d 66 69 6c 65 22 0a | ........:project-file."Gemfile". | 
| 31c00 | 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 | ................................ | 
| 31c20 | 20 20 3a 63 6f 6d 70 69 6c 65 20 22 62 75 6e 64    6c 65 20 65 78 65 63 20 72 61 69 6c 73 20 73 65 | ..:compile."bundle.exec.rails.se | 
| 31c40 | 72 76 65 72 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 | rver"........................... | 
| 31c60 | 20 20 20 20 20 20 20 20 3a 73 72 63 2d 64 69 72    20 22 61 70 70 2f 22 0a 20 20 20 20 20 20 20 20 | ........:src-dir."app/"......... | 
| 31c80 | 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 3a 74 65 73 74 20 | ..........................:test. | 
| 31ca0 | 22 62 75 6e 64 6c 65 20 65 78 65 63 20 72 73 70    65 63 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 | "bundle.exec.rspec"............. | 
| 31cc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 3a 74 65 73 74 2d 64 69 72 20 | ......................:test-dir. | 
| 31ce0 | 22 73 70 65 63 2f 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 | "spec/"......................... | 
| 31d00 | 20 20 20 20 20 20 20 20 20 20 3a 74 65 73 74 2d    73 75 66 66 69 78 20 22 5f 73 70 65 63 22 29 0a | ..........:test-suffix."_spec"). | 
| 31d20 | 3b 3b 20 43 72 79 73 74 61 6c 0a 28 70 72 6f 6a    65 63 74 69 6c 65 2d 72 65 67 69 73 74 65 72 2d | ;;.Crystal.(projectile-register- | 
| 31d40 | 70 72 6f 6a 65 63 74 2d 74 79 70 65 20 27 63 72    79 73 74 61 6c 2d 73 70 65 63 20 27 28 22 73 68 | project-type.'crystal-spec.'("sh | 
| 31d60 | 61 72 64 2e 79 6d 6c 22 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ard.yml")....................... | 
| 31d80 | 20 20 20 20 20 20 20 20 20 20 20 20 3a 70 72 6f    6a 65 63 74 2d 66 69 6c 65 20 22 73 68 61 72 64 | ............:project-file."shard | 
| 31da0 | 2e 79 6d 6c 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 | .yml"........................... | 
| 31dc0 | 20 20 20 20 20 20 20 20 3a 73 72 63 2d 64 69 72    20 22 73 72 63 2f 22 0a 20 20 20 20 20 20 20 20 | ........:src-dir."src/"......... | 
| 31de0 | 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 3a 74 65 73 74 20 | ..........................:test. | 
| 31e00 | 22 63 72 79 73 74 61 6c 20 73 70 65 63 22 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | "crystal.spec".................. | 
| 31e20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 3a 74 65 73 74 2d 64 69 72 20 22 73 70 65 63 | .................:test-dir."spec | 
| 31e40 | 2f 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 | /".............................. | 
| 31e60 | 20 20 20 20 20 3a 74 65 73 74 2d 73 75 66 66 69    78 20 22 5f 73 70 65 63 22 29 0a 0a 3b 3b 20 45 | .....:test-suffix."_spec")..;;.E | 
| 31e80 | 6d 61 63 73 0a 28 70 72 6f 6a 65 63 74 69 6c 65    2d 72 65 67 69 73 74 65 72 2d 70 72 6f 6a 65 63 | macs.(projectile-register-projec | 
| 31ea0 | 74 2d 74 79 70 65 20 27 65 6d 61 63 73 2d 63 61    73 6b 20 27 28 22 43 61 73 6b 22 29 0a 20 20 20 | t-type.'emacs-cask.'("Cask").... | 
| 31ec0 | 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 3a | ...............................: | 
| 31ee0 | 70 72 6f 6a 65 63 74 2d 66 69 6c 65 20 22 43 61    73 6b 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 | project-file."Cask"............. | 
| 31f00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 3a 63 6f 6d 70 69 6c 65 20 22 | ......................:compile." | 
| 31f20 | 63 61 73 6b 20 69 6e 73 74 61 6c 6c 22 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | cask.install"................... | 
| 31f40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    3a 74 65 73 74 2d 70 72 65 66 69 78 20 22 74 65 | ................:test-prefix."te | 
| 31f60 | 73 74 2d 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 | st-"............................ | 
| 31f80 | 20 20 20 20 20 20 20 3a 74 65 73 74 2d 73 75 66    66 69 78 20 22 2d 74 65 73 74 22 29 0a 28 70 72 | .......:test-suffix."-test").(pr | 
| 31fa0 | 6f 6a 65 63 74 69 6c 65 2d 72 65 67 69 73 74 65    72 2d 70 72 6f 6a 65 63 74 2d 74 79 70 65 20 27 | ojectile-register-project-type.' | 
| 31fc0 | 65 6d 61 63 73 2d 65 6c 64 65 76 20 23 27 70 72    6f 6a 65 63 74 69 6c 65 2d 65 6c 64 65 76 2d 70 | emacs-eldev.#'projectile-eldev-p | 
| 31fe0 | 72 6f 6a 65 63 74 2d 70 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | roject-p........................ | 
| 32000 | 20 20 20 20 20 20 20 20 20 20 20 3a 70 72 6f 6a    65 63 74 2d 66 69 6c 65 20 22 45 6c 64 65 76 22 | ...........:project-file."Eldev" | 
| 32020 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 32040 | 20 20 20 3a 63 6f 6d 70 69 6c 65 20 22 65 6c 64    65 76 20 63 6f 6d 70 69 6c 65 22 0a 20 20 20 20 | ...:compile."eldev.compile"..... | 
| 32060 | 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 3a 74 | ..............................:t | 
| 32080 | 65 73 74 20 22 65 6c 64 65 76 20 74 65 73 74 22    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | est."eldev.test"................ | 
| 320a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 3a 72 75 6e 20 22 65 6c 64 65 76 20 65 | ...................:run."eldev.e | 
| 320c0 | 6d 61 63 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 | macs"........................... | 
| 320e0 | 20 20 20 20 20 20 20 20 3a 70 61 63 6b 61 67 65    20 22 65 6c 64 65 76 20 70 61 63 6b 61 67 65 22 | ........:package."eldev.package" | 
| 32100 | 29 0a 0a 3b 3b 20 52 0a 28 70 72 6f 6a 65 63 74    69 6c 65 2d 72 65 67 69 73 74 65 72 2d 70 72 6f | )..;;.R.(projectile-register-pro | 
| 32120 | 6a 65 63 74 2d 74 79 70 65 20 27 72 20 27 28 22    44 45 53 43 52 49 50 54 49 4f 4e 22 29 0a 20 20 | ject-type.'r.'("DESCRIPTION")... | 
| 32140 | 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 | ................................ | 
| 32160 | 3a 70 72 6f 6a 65 63 74 2d 66 69 6c 65 20 22 44    45 53 43 52 49 50 54 49 4f 4e 22 0a 20 20 20 20 | :project-file."DESCRIPTION"..... | 
| 32180 | 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 3a 63 | ..............................:c | 
| 321a0 | 6f 6d 70 69 6c 65 20 22 52 20 43 4d 44 20 49 4e    53 54 41 4c 4c 20 2d 2d 77 69 74 68 2d 6b 65 65 | ompile."R.CMD.INSTALL.--with-kee | 
| 321c0 | 70 2e 73 6f 75 72 63 65 20 2e 22 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | p.source.."..................... | 
| 321e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 74    65 73 74 20 28 63 6f 6e 63 61 74 20 22 52 20 43 | ..............:test.(concat."R.C | 
| 32200 | 4d 44 20 63 68 65 63 6b 20 2d 6f 20 22 20 74 65    6d 70 6f 72 61 72 79 2d 66 69 6c 65 2d 64 69 72 | MD.check.-o.".temporary-file-dir | 
| 32220 | 65 63 74 6f 72 79 20 22 20 2e 22 29 29 0a 0a 3b    3b 20 48 61 73 6b 65 6c 6c 0a 28 70 72 6f 6a 65 | ectory.".."))..;;.Haskell.(proje | 
| 32240 | 63 74 69 6c 65 2d 72 65 67 69 73 74 65 72 2d 70    72 6f 6a 65 63 74 2d 74 79 70 65 20 27 68 61 73 | ctile-register-project-type.'has | 
| 32260 | 6b 65 6c 6c 2d 73 74 61 63 6b 20 27 28 22 73 74    61 63 6b 2e 79 61 6d 6c 22 29 0a 20 20 20 20 20 | kell-stack.'("stack.yaml")...... | 
| 32280 | 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 3a 70 72 | .............................:pr | 
| 322a0 | 6f 6a 65 63 74 2d 66 69 6c 65 20 22 73 74 61 63    6b 2e 79 61 6d 6c 22 0a 20 20 20 20 20 20 20 20 | oject-file."stack.yaml"......... | 
| 322c0 | 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 3a 63 6f 6d 70 69 | ..........................:compi | 
| 322e0 | 6c 65 20 22 73 74 61 63 6b 20 62 75 69 6c 64 22    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | le."stack.build"................ | 
| 32300 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 3a 74 65 73 74 20 22 73 74 61 63 6b 20 | ...................:test."stack. | 
| 32320 | 62 75 69 6c 64 20 2d 2d 74 65 73 74 22 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | build.--test"................... | 
| 32340 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    3a 74 65 73 74 2d 73 75 66 66 69 78 20 22 53 70 | ................:test-suffix."Sp | 
| 32360 | 65 63 22 29 0a 0a 3b 3b 20 52 75 73 74 0a 28 70    72 6f 6a 65 63 74 69 6c 65 2d 72 65 67 69 73 74 | ec")..;;.Rust.(projectile-regist | 
| 32380 | 65 72 2d 70 72 6f 6a 65 63 74 2d 74 79 70 65 20    27 72 75 73 74 2d 63 61 72 67 6f 20 27 28 22 43 | er-project-type.'rust-cargo.'("C | 
| 323a0 | 61 72 67 6f 2e 74 6f 6d 6c 22 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | argo.toml")..................... | 
| 323c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 70    72 6f 6a 65 63 74 2d 66 69 6c 65 20 22 43 61 72 | ..............:project-file."Car | 
| 323e0 | 67 6f 2e 74 6f 6d 6c 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 | go.toml"........................ | 
| 32400 | 20 20 20 20 20 20 20 20 20 20 20 3a 63 6f 6d 70    69 6c 65 20 22 63 61 72 67 6f 20 62 75 69 6c 64 | ...........:compile."cargo.build | 
| 32420 | 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 20 | "............................... | 
| 32440 | 20 20 20 20 3a 74 65 73 74 20 22 63 61 72 67 6f    20 74 65 73 74 22 0a 20 20 20 20 20 20 20 20 20 | ....:test."cargo.test".......... | 
| 32460 | 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 3a 72 75 6e 20 22 63 | .........................:run."c | 
| 32480 | 61 72 67 6f 20 72 75 6e 22 29 0a 0a 3b 3b 20 52    61 63 6b 65 74 0a 28 70 72 6f 6a 65 63 74 69 6c | argo.run")..;;.Racket.(projectil | 
| 324a0 | 65 2d 72 65 67 69 73 74 65 72 2d 70 72 6f 6a 65    63 74 2d 74 79 70 65 20 27 72 61 63 6b 65 74 20 | e-register-project-type.'racket. | 
| 324c0 | 27 28 22 69 6e 66 6f 2e 72 6b 74 22 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | '("info.rkt")................... | 
| 324e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    3a 70 72 6f 6a 65 63 74 2d 66 69 6c 65 20 22 69 | ................:project-file."i | 
| 32500 | 6e 66 6f 2e 72 6b 74 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 | nfo.rkt"........................ | 
| 32520 | 20 20 20 20 20 20 20 20 20 20 20 3a 74 65 73 74    20 22 72 61 63 6f 20 74 65 73 74 20 2e 22 0a 20 | ...........:test."raco.test..".. | 
| 32540 | 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 | ................................ | 
| 32560 | 20 3a 69 6e 73 74 61 6c 6c 20 22 72 61 63 6f 20    70 6b 67 20 69 6e 73 74 61 6c 6c 22 0a 20 20 20 | .:install."raco.pkg.install".... | 
| 32580 | 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 3a | ...............................: | 
| 325a0 | 70 61 63 6b 61 67 65 20 22 72 61 63 6f 20 70 6b    67 20 63 72 65 61 74 65 20 2d 2d 73 6f 75 72 63 | package."raco.pkg.create.--sourc | 
| 325c0 | 65 20 24 28 70 77 64 29 22 29 0a 0a 3b 3b 20 44    61 72 74 0a 28 70 72 6f 6a 65 63 74 69 6c 65 2d | e.$(pwd)")..;;.Dart.(projectile- | 
| 325e0 | 72 65 67 69 73 74 65 72 2d 70 72 6f 6a 65 63 74    2d 74 79 70 65 20 27 64 61 72 74 20 27 28 22 70 | register-project-type.'dart.'("p | 
| 32600 | 75 62 73 70 65 63 2e 79 61 6d 6c 22 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ubspec.yaml")................... | 
| 32620 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    3a 70 72 6f 6a 65 63 74 2d 66 69 6c 65 20 22 70 | ................:project-file."p | 
| 32640 | 75 62 73 70 65 63 2e 79 61 6d 6c 22 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ubspec.yaml".................... | 
| 32660 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a    63 6f 6d 70 69 6c 65 20 22 70 75 62 20 67 65 74 | ...............:compile."pub.get | 
| 32680 | 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 20 | "............................... | 
| 326a0 | 20 20 20 20 3a 74 65 73 74 20 22 70 75 62 20 72    75 6e 20 74 65 73 74 22 0a 20 20 20 20 20 20 20 | ....:test."pub.run.test"........ | 
| 326c0 | 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 3a 72 75 6e 20 | ...........................:run. | 
| 326e0 | 22 64 61 72 74 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 | "dart".......................... | 
| 32700 | 20 20 20 20 20 20 20 20 20 3a 74 65 73 74 2d 73    75 66 66 69 78 20 22 5f 74 65 73 74 2e 64 61 72 | .........:test-suffix."_test.dar | 
| 32720 | 74 22 29 0a 0a 3b 3b 20 45 6c 6d 0a 28 70 72 6f    6a 65 63 74 69 6c 65 2d 72 65 67 69 73 74 65 72 | t")..;;.Elm.(projectile-register | 
| 32740 | 2d 70 72 6f 6a 65 63 74 2d 74 79 70 65 20 27 65    6c 6d 20 27 28 22 65 6c 6d 2e 6a 73 6f 6e 22 29 | -project-type.'elm.'("elm.json") | 
| 32760 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 32780 | 20 20 20 3a 70 72 6f 6a 65 63 74 2d 66 69 6c 65    20 22 65 6c 6d 2e 6a 73 6f 6e 22 0a 20 20 20 20 | ...:project-file."elm.json"..... | 
| 327a0 | 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 3a 63 | ..............................:c | 
| 327c0 | 6f 6d 70 69 6c 65 20 22 65 6c 6d 20 6d 61 6b 65    22 29 0a 0a 3b 3b 20 4a 75 6c 69 61 0a 28 70 72 | ompile."elm.make")..;;.Julia.(pr | 
| 327e0 | 6f 6a 65 63 74 69 6c 65 2d 72 65 67 69 73 74 65    72 2d 70 72 6f 6a 65 63 74 2d 74 79 70 65 20 27 | ojectile-register-project-type.' | 
| 32800 | 6a 75 6c 69 61 20 27 28 22 50 72 6f 6a 65 63 74    2e 74 6f 6d 6c 22 29 0a 20 20 20 20 20 20 20 20 | julia.'("Project.toml")......... | 
| 32820 | 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 3a 70 72 6f 6a 65 | ..........................:proje | 
| 32840 | 63 74 2d 66 69 6c 65 20 22 50 72 6f 6a 65 63 74    2e 74 6f 6d 6c 22 0a 20 20 20 20 20 20 20 20 20 | ct-file."Project.toml".......... | 
| 32860 | 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 3a 63 6f 6d 70 69 6c | .........................:compil | 
| 32880 | 65 20 22 6a 75 6c 69 61 20 2d 2d 70 72 6f 6a 65    63 74 3d 40 2e 20 2d 65 20 27 69 6d 70 6f 72 74 | e."julia.--project=@..-e.'import | 
| 328a0 | 20 50 6b 67 3b 20 50 6b 67 2e 70 72 65 63 6f 6d    70 69 6c 65 28 29 3b 20 50 6b 67 2e 62 75 69 6c | .Pkg;.Pkg.precompile();.Pkg.buil | 
| 328c0 | 64 28 29 27 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 | d()'"........................... | 
| 328e0 | 20 20 20 20 20 20 20 20 3a 74 65 73 74 20 22 6a    75 6c 69 61 20 2d 2d 70 72 6f 6a 65 63 74 3d 40 | ........:test."julia.--project=@ | 
| 32900 | 2e 20 2d 65 20 27 69 6d 70 6f 72 74 20 50 6b 67    3b 20 50 6b 67 2e 74 65 73 74 28 29 27 20 2d 2d | ..-e.'import.Pkg;.Pkg.test()'.-- | 
| 32920 | 63 68 65 63 6b 2d 62 6f 75 6e 64 73 3d 79 65 73    22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | check-bounds=yes"............... | 
| 32940 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 3a 73 72 63 2d 64 69 72 20 22 73 72 | ....................:src-dir."sr | 
| 32960 | 63 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 | c".............................. | 
| 32980 | 20 20 20 20 20 3a 74 65 73 74 2d 64 69 72 20 22    74 65 73 74 22 29 0a 0a 3b 3b 20 4f 43 61 6d 6c | .....:test-dir."test")..;;.OCaml | 
| 329a0 | 0a 28 70 72 6f 6a 65 63 74 69 6c 65 2d 72 65 67    69 73 74 65 72 2d 70 72 6f 6a 65 63 74 2d 74 79 | .(projectile-register-project-ty | 
| 329c0 | 70 65 20 27 6f 63 61 6d 6c 2d 64 75 6e 65 20 27    28 22 64 75 6e 65 2d 70 72 6f 6a 65 63 74 22 29 | pe.'ocaml-dune.'("dune-project") | 
| 329e0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 32a00 | 20 20 20 3a 70 72 6f 6a 65 63 74 2d 66 69 6c 65    20 22 64 75 6e 65 2d 70 72 6f 6a 65 63 74 22 0a | ...:project-file."dune-project". | 
| 32a20 | 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 | ................................ | 
| 32a40 | 20 20 3a 63 6f 6d 70 69 6c 65 20 22 64 75 6e 65    20 62 75 69 6c 64 22 0a 20 20 20 20 20 20 20 20 | ..:compile."dune.build"......... | 
| 32a60 | 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 3a 74 65 73 74 20 | ..........................:test. | 
| 32a80 | 22 64 75 6e 65 20 72 75 6e 74 65 73 74 22 29 0a    0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 70 | "dune.runtest")..(defvar-local.p | 
| 32aa0 | 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63    74 2d 74 79 70 65 20 6e 69 6c 0a 20 20 22 42 75 | rojectile-project-type.nil..."Bu | 
| 32ac0 | 66 66 65 72 20 6c 6f 63 61 6c 20 76 61 72 20 66    6f 72 20 6f 76 65 72 72 69 64 69 6e 67 20 74 68 | ffer.local.var.for.overriding.th | 
| 32ae0 | 65 20 61 75 74 6f 2d 64 65 74 65 63 74 65 64 20    70 72 6f 6a 65 63 74 20 74 79 70 65 2e 0a 4e 6f | e.auto-detected.project.type..No | 
| 32b00 | 72 6d 61 6c 6c 79 20 79 6f 75 27 64 20 73 65 74    20 74 68 69 73 20 66 72 6f 6d 20 2e 64 69 72 2d | rmally.you'd.set.this.from..dir- | 
| 32b20 | 6c 6f 63 61 6c 73 2e 65 6c 2e 22 29 0a 28 70 75    74 20 27 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 | locals.el.").(put.'projectile-pr | 
| 32b40 | 6f 6a 65 63 74 2d 74 79 70 65 20 27 73 61 66 65    2d 6c 6f 63 61 6c 2d 76 61 72 69 61 62 6c 65 20 | oject-type.'safe-local-variable. | 
| 32b60 | 23 27 73 79 6d 62 6f 6c 70 29 0a 0a 28 64 65 66    75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 64 65 | #'symbolp)..(defun.projectile-de | 
| 32b80 | 74 65 63 74 2d 70 72 6f 6a 65 63 74 2d 74 79 70    65 20 28 26 6f 70 74 69 6f 6e 61 6c 20 64 69 72 | tect-project-type.(&optional.dir | 
| 32ba0 | 29 0a 20 20 22 44 65 74 65 63 74 20 74 68 65 20    74 79 70 65 20 6f 66 20 74 68 65 20 70 72 6f 6a | )..."Detect.the.type.of.the.proj | 
| 32bc0 | 65 63 74 2e 0a 57 68 65 6e 20 44 49 52 20 69 73    20 73 70 65 63 69 66 69 65 64 20 69 74 20 64 65 | ect..When.DIR.is.specified.it.de | 
| 32be0 | 74 65 63 74 73 20 69 74 73 20 70 72 6f 6a 65 63    74 20 74 79 70 65 2c 20 6f 74 68 65 72 77 69 73 | tects.its.project.type,.otherwis | 
| 32c00 | 65 20 69 74 20 61 63 74 73 0a 6f 6e 20 74 68 65    20 63 75 72 72 65 6e 74 20 70 72 6f 6a 65 63 74 | e.it.acts.on.the.current.project | 
| 32c20 | 2e 0a 0a 46 61 6c 6c 73 62 61 63 6b 20 74 6f 20    61 20 67 65 6e 65 72 69 63 20 70 72 6f 6a 65 63 | ...Fallsback.to.a.generic.projec | 
| 32c40 | 74 20 74 79 70 65 20 77 68 65 6e 20 74 68 65 20    74 79 70 65 20 63 61 6e 27 74 20 62 65 20 64 65 | t.type.when.the.type.can't.be.de | 
| 32c60 | 74 65 72 6d 69 6e 65 64 2e 22 0a 20 20 28 6c 65    74 20 28 28 70 72 6f 6a 65 63 74 2d 74 79 70 65 | termined."...(let.((project-type | 
| 32c80 | 0a 20 20 20 20 20 20 20 20 20 28 6f 72 20 28 63    61 72 20 28 63 6c 2d 66 69 6e 64 2d 69 66 0a 20 | ..........(or.(car.(cl-find-if.. | 
| 32ca0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 6c 61 6d 62 64 61 20 28 70 72 6f 6a 65 | ..................(lambda.(proje | 
| 32cc0 | 63 74 2d 74 79 70 65 2d 72 65 63 6f 72 64 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ct-type-record)................. | 
| 32ce0 | 20 20 20 20 20 28 6c 65 74 20 28 28 70 72 6f 6a    65 63 74 2d 74 79 70 65 20 28 63 61 72 20 70 72 | .....(let.((project-type.(car.pr | 
| 32d00 | 6f 6a 65 63 74 2d 74 79 70 65 2d 72 65 63 6f 72    64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | oject-type-record))............. | 
| 32d20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    6d 61 72 6b 65 72 20 28 70 6c 69 73 74 2d 67 65 | ...............(marker.(plist-ge | 
| 32d40 | 74 20 28 63 64 72 20 70 72 6f 6a 65 63 74 2d 74    79 70 65 2d 72 65 63 6f 72 64 29 20 27 6d 61 72 | t.(cdr.project-type-record).'mar | 
| 32d60 | 6b 65 72 2d 66 69 6c 65 73 29 29 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ker-files))).................... | 
| 32d80 | 20 20 20 20 28 69 66 20 28 66 75 6e 63 74 69 6f    6e 70 20 6d 61 72 6b 65 72 29 0a 20 20 20 20 20 | ....(if.(functionp.marker)...... | 
| 32da0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 61 6e 64 20 28 66 75 6e 63 | ......................(and.(func | 
| 32dc0 | 61 6c 6c 20 6d 61 72 6b 65 72 20 64 69 72 29 20    70 72 6f 6a 65 63 74 2d 74 79 70 65 29 0a 20 20 | all.marker.dir).project-type)... | 
| 32de0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 28 61 6e 64 20 28 70 72 6f | .......................(and.(pro | 
| 32e00 | 6a 65 63 74 69 6c 65 2d 76 65 72 69 66 79 2d 66    69 6c 65 73 20 6d 61 72 6b 65 72 20 64 69 72 29 | jectile-verify-files.marker.dir) | 
| 32e20 | 20 70 72 6f 6a 65 63 74 2d 74 79 70 65 29 29 29    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .project-type))))............... | 
| 32e40 | 20 20 20 20 20 70 72 6f 6a 65 63 74 69 6c 65 2d    70 72 6f 6a 65 63 74 2d 74 79 70 65 73 29 29 0a | .....projectile-project-types)). | 
| 32e60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 27 67 65    6e 65 72 69 63 29 29 29 0a 20 20 20 20 28 70 75 | .............'generic))).....(pu | 
| 32e80 | 74 68 61 73 68 20 28 70 72 6f 6a 65 63 74 69 6c    65 2d 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 20 64 | thash.(projectile-project-root.d | 
| 32ea0 | 69 72 29 20 70 72 6f 6a 65 63 74 2d 74 79 70 65    20 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a | ir).project-type.projectile-proj | 
| 32ec0 | 65 63 74 2d 74 79 70 65 2d 63 61 63 68 65 29 0a    20 20 20 20 70 72 6f 6a 65 63 74 2d 74 79 70 65 | ect-type-cache).....project-type | 
| 32ee0 | 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65    63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 74 79 | ))..(defun.projectile-project-ty | 
| 32f00 | 70 65 20 28 26 6f 70 74 69 6f 6e 61 6c 20 64 69    72 29 0a 20 20 22 44 65 74 65 72 6d 69 6e 65 20 | pe.(&optional.dir)..."Determine. | 
| 32f20 | 61 20 70 72 6f 6a 65 63 74 27 73 20 74 79 70 65    20 62 61 73 65 64 20 6f 6e 20 69 74 73 20 73 74 | a.project's.type.based.on.its.st | 
| 32f40 | 72 75 63 74 75 72 65 2e 0a 57 68 65 6e 20 44 49    52 20 69 73 20 73 70 65 63 69 66 69 65 64 20 69 | ructure..When.DIR.is.specified.i | 
| 32f60 | 74 20 63 68 65 63 6b 73 20 69 74 2c 20 6f 74 68    65 72 77 69 73 65 20 69 74 20 61 63 74 73 0a 6f | t.checks.it,.otherwise.it.acts.o | 
| 32f80 | 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 70 72    6f 6a 65 63 74 2e 0a 0a 54 68 65 20 70 72 6f 6a | n.the.current.project...The.proj | 
| 32fa0 | 65 63 74 20 74 79 70 65 20 69 73 20 63 61 63 68    65 64 20 66 6f 72 20 69 6d 70 72 6f 76 65 64 20 | ect.type.is.cached.for.improved. | 
| 32fc0 | 70 65 72 66 6f 72 6d 61 6e 63 65 2e 22 0a 20 20    28 6f 72 20 28 61 6e 64 20 28 6e 6f 74 20 64 69 | performance."...(or.(and.(not.di | 
| 32fe0 | 72 29 20 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72    6f 6a 65 63 74 2d 74 79 70 65 29 0a 20 20 20 20 | r).projectile-project-type)..... | 
| 33000 | 20 20 28 69 66 2d 6c 65 74 20 28 28 70 72 6f 6a    65 63 74 2d 72 6f 6f 74 20 28 70 72 6f 6a 65 63 | ..(if-let.((project-root.(projec | 
| 33020 | 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 72 6f 6f    74 20 64 69 72 29 29 29 0a 20 20 20 20 20 20 20 | tile-project-root.dir)))........ | 
| 33040 | 20 20 20 28 6f 72 20 28 67 65 74 68 61 73 68 20    70 72 6f 6a 65 63 74 2d 72 6f 6f 74 20 70 72 6f | ...(or.(gethash.project-root.pro | 
| 33060 | 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d    74 79 70 65 2d 63 61 63 68 65 29 0a 20 20 20 20 | jectile-project-type-cache)..... | 
| 33080 | 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 6a 65    63 74 69 6c 65 2d 64 65 74 65 63 74 2d 70 72 6f | ..........(projectile-detect-pro | 
| 330a0 | 6a 65 63 74 2d 74 79 70 65 20 64 69 72 29 29 29    29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f | ject-type.dir)))))..;;;###autolo | 
| 330c0 | 61 64 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63    74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 69 6e 66 | ad.(defun.projectile-project-inf | 
| 330e0 | 6f 20 28 29 0a 20 20 22 44 69 73 70 6c 61 79 20    69 6e 66 6f 20 66 6f 72 20 63 75 72 72 65 6e 74 | o.()..."Display.info.for.current | 
| 33100 | 20 70 72 6f 6a 65 63 74 2e 22 0a 20 20 28 69 6e    74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6d 65 | .project."...(interactive)...(me | 
| 33120 | 73 73 61 67 65 20 22 50 72 6f 6a 65 63 74 20 64    69 72 3a 20 25 73 20 23 23 20 50 72 6f 6a 65 63 | ssage."Project.dir:.%s.##.Projec | 
| 33140 | 74 20 56 43 53 3a 20 25 73 20 23 23 20 50 72 6f    6a 65 63 74 20 74 79 70 65 3a 20 25 73 22 0a 20 | t.VCS:.%s.##.Project.type:.%s".. | 
| 33160 | 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 6a 65    63 74 69 6c 65 2d 61 63 71 75 69 72 65 2d 72 6f | ..........(projectile-acquire-ro | 
| 33180 | 6f 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 28    70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 | ot)............(projectile-proje | 
| 331a0 | 63 74 2d 76 63 73 29 0a 20 20 20 20 20 20 20 20    20 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 70 | ct-vcs)............(projectile-p | 
| 331c0 | 72 6f 6a 65 63 74 2d 74 79 70 65 29 29 29 0a 0a    28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c | roject-type)))..(defun.projectil | 
| 331e0 | 65 2d 76 65 72 69 66 79 2d 66 69 6c 65 73 20 28    66 69 6c 65 73 20 26 6f 70 74 69 6f 6e 61 6c 20 | e-verify-files.(files.&optional. | 
| 33200 | 64 69 72 29 0a 20 20 22 43 68 65 63 6b 20 77 68    65 74 68 65 72 20 61 6c 6c 20 46 49 4c 45 53 20 | dir)..."Check.whether.all.FILES. | 
| 33220 | 65 78 69 73 74 20 69 6e 20 74 68 65 20 70 72 6f    6a 65 63 74 2e 0a 57 68 65 6e 20 44 49 52 20 69 | exist.in.the.project..When.DIR.i | 
| 33240 | 73 20 73 70 65 63 69 66 69 65 64 20 69 74 20 63    68 65 63 6b 73 20 44 49 52 27 73 20 70 72 6f 6a | s.specified.it.checks.DIR's.proj | 
| 33260 | 65 63 74 2c 20 6f 74 68 65 72 77 69 73 65 0a 69    74 20 61 63 74 73 20 6f 6e 20 74 68 65 20 63 75 | ect,.otherwise.it.acts.on.the.cu | 
| 33280 | 72 72 65 6e 74 20 70 72 6f 6a 65 63 74 2e 22 0a    20 20 28 63 6c 2d 65 76 65 72 79 20 23 27 28 6c | rrent.project."...(cl-every.#'(l | 
| 332a0 | 61 6d 62 64 61 20 28 66 69 6c 65 29 20 28 70 72    6f 6a 65 63 74 69 6c 65 2d 76 65 72 69 66 79 2d | ambda.(file).(projectile-verify- | 
| 332c0 | 66 69 6c 65 20 66 69 6c 65 20 64 69 72 29 29 20    66 69 6c 65 73 29 29 0a 0a 28 64 65 66 75 6e 20 | file.file.dir)).files))..(defun. | 
| 332e0 | 70 72 6f 6a 65 63 74 69 6c 65 2d 76 65 72 69 66    79 2d 66 69 6c 65 20 28 66 69 6c 65 20 26 6f 70 | projectile-verify-file.(file.&op | 
| 33300 | 74 69 6f 6e 61 6c 20 64 69 72 29 0a 20 20 22 43    68 65 63 6b 20 77 68 65 74 68 65 72 20 46 49 4c | tional.dir)..."Check.whether.FIL | 
| 33320 | 45 20 65 78 69 73 74 73 20 69 6e 20 74 68 65 20    63 75 72 72 65 6e 74 20 70 72 6f 6a 65 63 74 2e | E.exists.in.the.current.project. | 
| 33340 | 0a 57 68 65 6e 20 44 49 52 20 69 73 20 73 70 65    63 69 66 69 65 64 20 69 74 20 63 68 65 63 6b 73 | .When.DIR.is.specified.it.checks | 
| 33360 | 20 44 49 52 27 73 20 70 72 6f 6a 65 63 74 2c 20    6f 74 68 65 72 77 69 73 65 0a 69 74 20 61 63 74 | .DIR's.project,.otherwise.it.act | 
| 33380 | 73 20 6f 6e 20 74 68 65 20 63 75 72 72 65 6e 74    20 70 72 6f 6a 65 63 74 2e 22 0a 20 20 28 66 69 | s.on.the.current.project."...(fi | 
| 333a0 | 6c 65 2d 65 78 69 73 74 73 2d 70 20 28 70 72 6f    6a 65 63 74 69 6c 65 2d 65 78 70 61 6e 64 2d 72 | le-exists-p.(projectile-expand-r | 
| 333c0 | 6f 6f 74 20 66 69 6c 65 20 64 69 72 29 29 29 0a    0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 | oot.file.dir)))..(defun.projecti | 
| 333e0 | 6c 65 2d 76 65 72 69 66 79 2d 66 69 6c 65 2d 77    69 6c 64 63 61 72 64 20 28 66 69 6c 65 20 26 6f | le-verify-file-wildcard.(file.&o | 
| 33400 | 70 74 69 6f 6e 61 6c 20 64 69 72 29 0a 20 20 22    43 68 65 63 6b 20 77 68 65 74 68 65 72 20 46 49 | ptional.dir)..."Check.whether.FI | 
| 33420 | 4c 45 20 65 78 69 73 74 73 20 69 6e 20 74 68 65    20 63 75 72 72 65 6e 74 20 70 72 6f 6a 65 63 74 | LE.exists.in.the.current.project | 
| 33440 | 2e 0a 57 68 65 6e 20 44 49 52 20 69 73 20 73 70    65 63 69 66 69 65 64 20 69 74 20 63 68 65 63 6b | ..When.DIR.is.specified.it.check | 
| 33460 | 73 20 44 49 52 27 73 20 70 72 6f 6a 65 63 74 2c    20 6f 74 68 65 72 77 69 73 65 0a 69 74 20 61 63 | s.DIR's.project,.otherwise.it.ac | 
| 33480 | 74 73 20 6f 6e 20 74 68 65 20 63 75 72 72 65 6e    74 20 70 72 6f 6a 65 63 74 2e 0a 45 78 70 61 6e | ts.on.the.current.project..Expan | 
| 334a0 | 64 73 20 77 69 6c 64 63 61 72 64 73 20 75 73 69    6e 67 20 60 66 69 6c 65 2d 65 78 70 61 6e 64 2d | ds.wildcards.using.`file-expand- | 
| 334c0 | 77 69 6c 64 63 61 72 64 73 27 20 62 65 66 6f 72    65 20 63 68 65 63 6b 69 6e 67 2e 22 0a 20 20 28 | wildcards'.before.checking."...( | 
| 334e0 | 66 69 6c 65 2d 65 78 70 61 6e 64 2d 77 69 6c 64    63 61 72 64 73 20 28 70 72 6f 6a 65 63 74 69 6c | file-expand-wildcards.(projectil | 
| 33500 | 65 2d 65 78 70 61 6e 64 2d 72 6f 6f 74 20 66 69    6c 65 20 64 69 72 29 29 29 0a 0a 28 64 65 66 75 | e-expand-root.file.dir)))..(defu | 
| 33520 | 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f    6a 65 63 74 2d 76 63 73 20 28 26 6f 70 74 69 6f | n.projectile-project-vcs.(&optio | 
| 33540 | 6e 61 6c 20 70 72 6f 6a 65 63 74 2d 72 6f 6f 74    29 0a 20 20 22 44 65 74 65 72 6d 69 6e 65 20 74 | nal.project-root)..."Determine.t | 
| 33560 | 68 65 20 56 43 53 20 75 73 65 64 20 62 79 20 74    68 65 20 70 72 6f 6a 65 63 74 20 69 66 20 61 6e | he.VCS.used.by.the.project.if.an | 
| 33580 | 79 2e 0a 50 52 4f 4a 45 43 54 2d 52 4f 4f 54 20    69 73 20 74 68 65 20 74 61 72 67 65 74 65 64 20 | y..PROJECT-ROOT.is.the.targeted. | 
| 335a0 | 64 69 72 65 63 74 6f 72 79 2e 20 20 49 66 20 6e    69 6c 2c 20 75 73 65 0a 74 68 65 20 76 61 72 69 | directory...If.nil,.use.the.vari | 
| 335c0 | 61 62 6c 65 20 60 70 72 6f 6a 65 63 74 69 6c 65    2d 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 27 2e 22 | able.`projectile-project-root'." | 
| 335e0 | 0a 20 20 28 6f 72 20 70 72 6f 6a 65 63 74 2d 72    6f 6f 74 20 28 73 65 74 71 20 70 72 6f 6a 65 63 | ...(or.project-root.(setq.projec | 
| 33600 | 74 2d 72 6f 6f 74 20 28 70 72 6f 6a 65 63 74 69    6c 65 2d 61 63 71 75 69 72 65 2d 72 6f 6f 74 29 | t-root.(projectile-acquire-root) | 
| 33620 | 29 29 0a 20 20 28 63 6f 6e 64 0a 20 20 20 3b 3b    20 66 69 72 73 74 20 77 65 20 63 68 65 63 6b 20 | ))...(cond....;;.first.we.check. | 
| 33640 | 66 6f 72 20 61 20 56 43 53 20 6d 61 72 6b 65 72    20 69 6e 20 74 68 65 20 70 72 6f 6a 65 63 74 20 | for.a.VCS.marker.in.the.project. | 
| 33660 | 72 6f 6f 74 20 69 74 73 65 6c 66 0a 20 20 20 28    28 70 72 6f 6a 65 63 74 69 6c 65 2d 66 69 6c 65 | root.itself....((projectile-file | 
| 33680 | 2d 65 78 69 73 74 73 2d 70 20 28 65 78 70 61 6e    64 2d 66 69 6c 65 2d 6e 61 6d 65 20 22 2e 67 69 | -exists-p.(expand-file-name.".gi | 
| 336a0 | 74 22 20 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 29    29 20 27 67 69 74 29 0a 20 20 20 28 28 70 72 6f | t".project-root)).'git)....((pro | 
| 336c0 | 6a 65 63 74 69 6c 65 2d 66 69 6c 65 2d 65 78 69    73 74 73 2d 70 20 28 65 78 70 61 6e 64 2d 66 69 | jectile-file-exists-p.(expand-fi | 
| 336e0 | 6c 65 2d 6e 61 6d 65 20 22 2e 68 67 22 20 70 72    6f 6a 65 63 74 2d 72 6f 6f 74 29 29 20 27 68 67 | le-name.".hg".project-root)).'hg | 
| 33700 | 29 0a 20 20 20 28 28 70 72 6f 6a 65 63 74 69 6c    65 2d 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 | )....((projectile-file-exists-p. | 
| 33720 | 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d    65 20 22 2e 66 73 6c 63 6b 6f 75 74 22 20 70 72 | (expand-file-name.".fslckout".pr | 
| 33740 | 6f 6a 65 63 74 2d 72 6f 6f 74 29 29 20 27 66 6f    73 73 69 6c 29 0a 20 20 20 28 28 70 72 6f 6a 65 | oject-root)).'fossil)....((proje | 
| 33760 | 63 74 69 6c 65 2d 66 69 6c 65 2d 65 78 69 73 74    73 2d 70 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 | ctile-file-exists-p.(expand-file | 
| 33780 | 2d 6e 61 6d 65 20 22 5f 46 4f 53 53 49 4c 5f 22    20 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 29 29 20 | -name."_FOSSIL_".project-root)). | 
| 337a0 | 27 66 6f 73 73 69 6c 29 0a 20 20 20 28 28 70 72    6f 6a 65 63 74 69 6c 65 2d 66 69 6c 65 2d 65 78 | 'fossil)....((projectile-file-ex | 
| 337c0 | 69 73 74 73 2d 70 20 28 65 78 70 61 6e 64 2d 66    69 6c 65 2d 6e 61 6d 65 20 22 2e 62 7a 72 22 20 | ists-p.(expand-file-name.".bzr". | 
| 337e0 | 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 29 29 20 27    62 7a 72 29 0a 20 20 20 28 28 70 72 6f 6a 65 63 | project-root)).'bzr)....((projec | 
| 33800 | 74 69 6c 65 2d 66 69 6c 65 2d 65 78 69 73 74 73    2d 70 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d | tile-file-exists-p.(expand-file- | 
| 33820 | 6e 61 6d 65 20 22 5f 64 61 72 63 73 22 20 70 72    6f 6a 65 63 74 2d 72 6f 6f 74 29 29 20 27 64 61 | name."_darcs".project-root)).'da | 
| 33840 | 72 63 73 29 0a 20 20 20 28 28 70 72 6f 6a 65 63    74 69 6c 65 2d 66 69 6c 65 2d 65 78 69 73 74 73 | rcs)....((projectile-file-exists | 
| 33860 | 2d 70 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d    6e 61 6d 65 20 22 2e 70 69 6a 75 6c 22 20 70 72 | -p.(expand-file-name.".pijul".pr | 
| 33880 | 6f 6a 65 63 74 2d 72 6f 6f 74 29 29 20 27 70 69    6a 75 6c 29 0a 20 20 20 28 28 70 72 6f 6a 65 63 | oject-root)).'pijul)....((projec | 
| 338a0 | 74 69 6c 65 2d 66 69 6c 65 2d 65 78 69 73 74 73    2d 70 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d | tile-file-exists-p.(expand-file- | 
| 338c0 | 6e 61 6d 65 20 22 2e 73 76 6e 22 20 70 72 6f 6a    65 63 74 2d 72 6f 6f 74 29 29 20 27 73 76 6e 29 | name.".svn".project-root)).'svn) | 
| 338e0 | 0a 20 20 20 3b 3b 20 74 68 65 6e 20 77 65 20 63    68 65 63 6b 20 69 66 20 74 68 65 72 65 27 73 20 | ....;;.then.we.check.if.there's. | 
| 33900 | 61 20 56 43 53 20 6d 61 72 6b 65 72 20 75 70 20    74 68 65 20 64 69 72 65 63 74 6f 72 79 20 74 72 | a.VCS.marker.up.the.directory.tr | 
| 33920 | 65 65 0a 20 20 20 3b 3b 20 74 68 61 74 20 63 6f    76 65 72 73 20 74 68 65 20 63 61 73 65 20 77 68 | ee....;;.that.covers.the.case.wh | 
| 33940 | 65 6e 20 61 20 70 72 6f 6a 65 63 74 20 69 73 20    70 61 72 74 20 6f 66 20 61 20 6d 75 6c 74 69 2d | en.a.project.is.part.of.a.multi- | 
| 33960 | 70 72 6f 6a 65 63 74 20 72 65 70 6f 73 69 74 6f    72 79 0a 20 20 20 3b 3b 20 69 6e 20 74 68 6f 73 | project.repository....;;.in.thos | 
| 33980 | 65 20 63 61 73 65 73 20 79 6f 75 20 63 61 6e 20    73 74 69 6c 6c 20 74 68 65 20 56 43 53 20 74 6f | e.cases.you.can.still.the.VCS.to | 
| 339a0 | 20 67 65 74 20 61 20 6c 69 73 74 20 6f 66 20 66    69 6c 65 73 20 66 6f 72 0a 20 20 20 3b 3b 20 74 | .get.a.list.of.files.for....;;.t | 
| 339c0 | 68 65 20 70 72 6f 6a 65 63 74 20 69 6e 20 71 75    65 73 74 69 6f 6e 0a 20 20 20 28 28 70 72 6f 6a | he.project.in.question....((proj | 
| 339e0 | 65 63 74 69 6c 65 2d 6c 6f 63 61 74 65 2d 64 6f    6d 69 6e 61 74 69 6e 67 2d 66 69 6c 65 20 70 72 | ectile-locate-dominating-file.pr | 
| 33a00 | 6f 6a 65 63 74 2d 72 6f 6f 74 20 22 2e 67 69 74    22 29 20 27 67 69 74 29 0a 20 20 20 28 28 70 72 | oject-root.".git").'git)....((pr | 
| 33a20 | 6f 6a 65 63 74 69 6c 65 2d 6c 6f 63 61 74 65 2d    64 6f 6d 69 6e 61 74 69 6e 67 2d 66 69 6c 65 20 | ojectile-locate-dominating-file. | 
| 33a40 | 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 20 22 2e 68    67 22 29 20 27 68 67 29 0a 20 20 20 28 28 70 72 | project-root.".hg").'hg)....((pr | 
| 33a60 | 6f 6a 65 63 74 69 6c 65 2d 6c 6f 63 61 74 65 2d    64 6f 6d 69 6e 61 74 69 6e 67 2d 66 69 6c 65 20 | ojectile-locate-dominating-file. | 
| 33a80 | 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 20 22 2e 66    73 6c 63 6b 6f 75 74 22 29 20 27 66 6f 73 73 69 | project-root.".fslckout").'fossi | 
| 33aa0 | 6c 29 0a 20 20 20 28 28 70 72 6f 6a 65 63 74 69    6c 65 2d 6c 6f 63 61 74 65 2d 64 6f 6d 69 6e 61 | l)....((projectile-locate-domina | 
| 33ac0 | 74 69 6e 67 2d 66 69 6c 65 20 70 72 6f 6a 65 63    74 2d 72 6f 6f 74 20 22 5f 46 4f 53 53 49 4c 5f | ting-file.project-root."_FOSSIL_ | 
| 33ae0 | 22 29 20 27 66 6f 73 73 69 6c 29 0a 20 20 20 28    28 70 72 6f 6a 65 63 74 69 6c 65 2d 6c 6f 63 61 | ").'fossil)....((projectile-loca | 
| 33b00 | 74 65 2d 64 6f 6d 69 6e 61 74 69 6e 67 2d 66 69    6c 65 20 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 20 | te-dominating-file.project-root. | 
| 33b20 | 22 2e 62 7a 72 22 29 20 27 62 7a 72 29 0a 20 20    20 28 28 70 72 6f 6a 65 63 74 69 6c 65 2d 6c 6f | ".bzr").'bzr)....((projectile-lo | 
| 33b40 | 63 61 74 65 2d 64 6f 6d 69 6e 61 74 69 6e 67 2d    66 69 6c 65 20 70 72 6f 6a 65 63 74 2d 72 6f 6f | cate-dominating-file.project-roo | 
| 33b60 | 74 20 22 5f 64 61 72 63 73 22 29 20 27 64 61 72    63 73 29 0a 20 20 20 28 28 70 72 6f 6a 65 63 74 | t."_darcs").'darcs)....((project | 
| 33b80 | 69 6c 65 2d 6c 6f 63 61 74 65 2d 64 6f 6d 69 6e    61 74 69 6e 67 2d 66 69 6c 65 20 70 72 6f 6a 65 | ile-locate-dominating-file.proje | 
| 33ba0 | 63 74 2d 72 6f 6f 74 20 22 2e 70 69 6a 75 6c 22    29 20 27 70 69 6a 75 6c 29 0a 20 20 20 28 28 70 | ct-root.".pijul").'pijul)....((p | 
| 33bc0 | 72 6f 6a 65 63 74 69 6c 65 2d 6c 6f 63 61 74 65    2d 64 6f 6d 69 6e 61 74 69 6e 67 2d 66 69 6c 65 | rojectile-locate-dominating-file | 
| 33be0 | 20 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 20 22 2e    73 76 6e 22 29 20 27 73 76 6e 29 0a 20 20 20 28 | .project-root.".svn").'svn)....( | 
| 33c00 | 74 20 27 6e 6f 6e 65 29 29 29 0a 0a 28 64 65 66    75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 2d 74 | t.'none)))..(defun.projectile--t | 
| 33c20 | 65 73 74 2d 6e 61 6d 65 2d 66 6f 72 2d 69 6d 70    6c 2d 6e 61 6d 65 20 28 69 6d 70 6c 2d 66 69 6c | est-name-for-impl-name.(impl-fil | 
| 33c40 | 65 2d 70 61 74 68 29 0a 20 20 22 44 65 74 65 72    6d 69 6e 65 20 74 68 65 20 6e 61 6d 65 20 6f 66 | e-path)..."Determine.the.name.of | 
| 33c60 | 20 74 68 65 20 74 65 73 74 20 66 69 6c 65 20 66    6f 72 20 49 4d 50 4c 2d 46 49 4c 45 2d 50 41 54 | .the.test.file.for.IMPL-FILE-PAT | 
| 33c80 | 48 2e 0a 0a 49 4d 50 4c 2d 46 49 4c 45 2d 50 41    54 48 20 6d 61 79 20 62 65 20 61 20 61 62 73 6f | H...IMPL-FILE-PATH.may.be.a.abso | 
| 33ca0 | 6c 75 74 65 20 70 61 74 68 2c 20 72 65 6c 61 74    69 76 65 20 70 61 74 68 20 6f 72 20 61 20 66 69 | lute.path,.relative.path.or.a.fi | 
| 33cc0 | 6c 65 20 6e 61 6d 65 2e 22 0a 20 20 28 6c 65 74    2a 20 28 28 70 72 6f 6a 65 63 74 2d 74 79 70 65 | le.name."...(let*.((project-type | 
| 33ce0 | 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f    6a 65 63 74 2d 74 79 70 65 29 29 0a 20 20 20 20 | .(projectile-project-type))..... | 
| 33d00 | 20 20 20 20 20 28 69 6d 70 6c 2d 66 69 6c 65 2d    6e 61 6d 65 20 28 66 69 6c 65 2d 6e 61 6d 65 2d | .....(impl-file-name.(file-name- | 
| 33d20 | 73 61 6e 73 2d 65 78 74 65 6e 73 69 6f 6e 20 28    66 69 6c 65 2d 6e 61 6d 65 2d 6e 6f 6e 64 69 72 | sans-extension.(file-name-nondir | 
| 33d40 | 65 63 74 6f 72 79 20 69 6d 70 6c 2d 66 69 6c 65    2d 70 61 74 68 29 29 29 0a 20 20 20 20 20 20 20 | ectory.impl-file-path)))........ | 
| 33d60 | 20 20 28 69 6d 70 6c 2d 66 69 6c 65 2d 65 78 74    20 28 66 69 6c 65 2d 6e 61 6d 65 2d 65 78 74 65 | ..(impl-file-ext.(file-name-exte | 
| 33d80 | 6e 73 69 6f 6e 20 69 6d 70 6c 2d 66 69 6c 65 2d    70 61 74 68 29 29 0a 20 20 20 20 20 20 20 20 20 | nsion.impl-file-path)).......... | 
| 33da0 | 28 74 65 73 74 2d 70 72 65 66 69 78 20 28 66 75    6e 63 61 6c 6c 20 70 72 6f 6a 65 63 74 69 6c 65 | (test-prefix.(funcall.projectile | 
| 33dc0 | 2d 74 65 73 74 2d 70 72 65 66 69 78 2d 66 75 6e    63 74 69 6f 6e 20 70 72 6f 6a 65 63 74 2d 74 79 | -test-prefix-function.project-ty | 
| 33de0 | 70 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 74    65 73 74 2d 73 75 66 66 69 78 20 28 66 75 6e 63 | pe))..........(test-suffix.(func | 
| 33e00 | 61 6c 6c 20 70 72 6f 6a 65 63 74 69 6c 65 2d 74    65 73 74 2d 73 75 66 66 69 78 2d 66 75 6e 63 74 | all.projectile-test-suffix-funct | 
| 33e20 | 69 6f 6e 20 70 72 6f 6a 65 63 74 2d 74 79 70 65    29 29 29 0a 20 20 20 20 28 63 6f 6e 64 0a 20 20 | ion.project-type))).....(cond... | 
| 33e40 | 20 20 20 28 74 65 73 74 2d 70 72 65 66 69 78 20    28 63 6f 6e 63 61 74 20 74 65 73 74 2d 70 72 65 | ...(test-prefix.(concat.test-pre | 
| 33e60 | 66 69 78 20 69 6d 70 6c 2d 66 69 6c 65 2d 6e 61    6d 65 20 22 2e 22 20 69 6d 70 6c 2d 66 69 6c 65 | fix.impl-file-name.".".impl-file | 
| 33e80 | 2d 65 78 74 29 29 0a 20 20 20 20 20 28 74 65 73    74 2d 73 75 66 66 69 78 20 28 63 6f 6e 63 61 74 | -ext))......(test-suffix.(concat | 
| 33ea0 | 20 69 6d 70 6c 2d 66 69 6c 65 2d 6e 61 6d 65 20    74 65 73 74 2d 73 75 66 66 69 78 20 22 2e 22 20 | .impl-file-name.test-suffix.".". | 
| 33ec0 | 69 6d 70 6c 2d 66 69 6c 65 2d 65 78 74 29 29 0a    20 20 20 20 20 28 74 20 28 65 72 72 6f 72 20 22 | impl-file-ext))......(t.(error." | 
| 33ee0 | 43 61 6e 6e 6f 74 20 64 65 74 65 72 6d 69 6e 65    20 61 20 74 65 73 74 20 66 69 6c 65 20 6e 61 6d | Cannot.determine.a.test.file.nam | 
| 33f00 | 65 2c 20 6f 6e 65 20 6f 66 20 5c 22 74 65 73 74    2d 73 75 66 66 69 78 5c 22 20 6f 72 20 5c 22 74 | e,.one.of.\"test-suffix\".or.\"t | 
| 33f20 | 65 73 74 2d 70 72 65 66 69 78 5c 22 20 6d 75 73    74 20 62 65 20 73 65 74 20 66 6f 72 20 70 72 6f | est-prefix\".must.be.set.for.pro | 
| 33f40 | 6a 65 63 74 20 74 79 70 65 20 60 25 73 27 22 20    70 72 6f 6a 65 63 74 2d 74 79 70 65 29 29 29 29 | ject.type.`%s'".project-type)))) | 
| 33f60 | 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63    74 69 6c 65 2d 2d 69 6d 70 6c 2d 6e 61 6d 65 2d | )..(defun.projectile--impl-name- | 
| 33f80 | 66 6f 72 2d 74 65 73 74 2d 6e 61 6d 65 20 28 74    65 73 74 2d 66 69 6c 65 2d 70 61 74 68 29 0a 20 | for-test-name.(test-file-path).. | 
| 33fa0 | 20 22 44 65 74 65 72 6d 69 6e 65 20 74 68 65 20    6e 61 6d 65 20 6f 66 20 74 68 65 20 69 6d 70 6c | ."Determine.the.name.of.the.impl | 
| 33fc0 | 65 6d 65 6e 74 61 74 69 6f 6e 20 66 69 6c 65 20    66 6f 72 20 54 45 53 54 2d 46 49 4c 45 2d 50 41 | ementation.file.for.TEST-FILE-PA | 
| 33fe0 | 54 48 2e 0a 0a 54 45 53 54 2d 46 49 4c 45 2d 50    41 54 48 20 6d 61 79 20 62 65 20 61 20 61 62 73 | TH...TEST-FILE-PATH.may.be.a.abs | 
| 34000 | 6f 6c 75 74 65 20 70 61 74 68 2c 20 72 65 6c 61    74 69 76 65 20 70 61 74 68 20 6f 72 20 61 20 66 | olute.path,.relative.path.or.a.f | 
| 34020 | 69 6c 65 20 6e 61 6d 65 2e 22 0a 20 20 28 6c 65    74 2a 20 28 28 70 72 6f 6a 65 63 74 2d 74 79 70 | ile.name."...(let*.((project-typ | 
| 34040 | 65 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72    6f 6a 65 63 74 2d 74 79 70 65 29 29 0a 20 20 20 | e.(projectile-project-type)).... | 
| 34060 | 20 20 20 20 20 20 28 74 65 73 74 2d 66 69 6c 65    2d 6e 61 6d 65 20 28 66 69 6c 65 2d 6e 61 6d 65 | ......(test-file-name.(file-name | 
| 34080 | 2d 73 61 6e 73 2d 65 78 74 65 6e 73 69 6f 6e 20    28 66 69 6c 65 2d 6e 61 6d 65 2d 6e 6f 6e 64 69 | -sans-extension.(file-name-nondi | 
| 340a0 | 72 65 63 74 6f 72 79 20 74 65 73 74 2d 66 69 6c    65 2d 70 61 74 68 29 29 29 0a 20 20 20 20 20 20 | rectory.test-file-path)))....... | 
| 340c0 | 20 20 20 28 74 65 73 74 2d 66 69 6c 65 2d 65 78    74 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 65 78 74 | ...(test-file-ext.(file-name-ext | 
| 340e0 | 65 6e 73 69 6f 6e 20 74 65 73 74 2d 66 69 6c 65    2d 70 61 74 68 29 29 0a 20 20 20 20 20 20 20 20 | ension.test-file-path))......... | 
| 34100 | 20 28 74 65 73 74 2d 70 72 65 66 69 78 20 28 66    75 6e 63 61 6c 6c 20 70 72 6f 6a 65 63 74 69 6c | .(test-prefix.(funcall.projectil | 
| 34120 | 65 2d 74 65 73 74 2d 70 72 65 66 69 78 2d 66 75    6e 63 74 69 6f 6e 20 70 72 6f 6a 65 63 74 2d 74 | e-test-prefix-function.project-t | 
| 34140 | 79 70 65 29 29 0a 20 20 20 20 20 20 20 20 20 28    74 65 73 74 2d 73 75 66 66 69 78 20 28 66 75 6e | ype))..........(test-suffix.(fun | 
| 34160 | 63 61 6c 6c 20 70 72 6f 6a 65 63 74 69 6c 65 2d    74 65 73 74 2d 73 75 66 66 69 78 2d 66 75 6e 63 | call.projectile-test-suffix-func | 
| 34180 | 74 69 6f 6e 20 70 72 6f 6a 65 63 74 2d 74 79 70    65 29 29 29 0a 20 20 20 20 28 63 6f 6e 64 0a 20 | tion.project-type))).....(cond.. | 
| 341a0 | 20 20 20 20 28 74 65 73 74 2d 70 72 65 66 69 78    0a 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 28 | ....(test-prefix.......(concat.( | 
| 341c0 | 73 74 72 69 6e 67 2d 72 65 6d 6f 76 65 2d 70 72    65 66 69 78 20 74 65 73 74 2d 70 72 65 66 69 78 | string-remove-prefix.test-prefix | 
| 341e0 | 20 74 65 73 74 2d 66 69 6c 65 2d 6e 61 6d 65 29    20 22 2e 22 20 74 65 73 74 2d 66 69 6c 65 2d 65 | .test-file-name).".".test-file-e | 
| 34200 | 78 74 29 29 0a 20 20 20 20 20 28 74 65 73 74 2d    73 75 66 66 69 78 0a 20 20 20 20 20 20 28 63 6f | xt))......(test-suffix.......(co | 
| 34220 | 6e 63 61 74 20 28 73 74 72 69 6e 67 2d 72 65 6d    6f 76 65 2d 73 75 66 66 69 78 20 74 65 73 74 2d | ncat.(string-remove-suffix.test- | 
| 34240 | 73 75 66 66 69 78 20 74 65 73 74 2d 66 69 6c 65    2d 6e 61 6d 65 29 20 22 2e 22 20 74 65 73 74 2d | suffix.test-file-name).".".test- | 
| 34260 | 66 69 6c 65 2d 65 78 74 29 29 0a 20 20 20 20 20    28 74 20 28 65 72 72 6f 72 20 22 43 61 6e 6e 6f | file-ext))......(t.(error."Canno | 
| 34280 | 74 20 64 65 74 65 72 6d 69 6e 65 20 61 6e 20 69    6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 66 69 | t.determine.an.implementation.fi | 
| 342a0 | 6c 65 20 6e 61 6d 65 2c 20 6f 6e 65 20 6f 66 20    5c 22 74 65 73 74 2d 73 75 66 66 69 78 5c 22 20 | le.name,.one.of.\"test-suffix\". | 
| 342c0 | 6f 72 20 5c 22 74 65 73 74 2d 70 72 65 66 69 78    5c 22 20 6d 75 73 74 20 62 65 20 73 65 74 20 66 | or.\"test-prefix\".must.be.set.f | 
| 342e0 | 6f 72 20 70 72 6f 6a 65 63 74 20 74 79 70 65 20    60 25 73 27 22 20 70 72 6f 6a 65 63 74 2d 74 79 | or.project.type.`%s'".project-ty | 
| 34300 | 70 65 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20    70 72 6f 6a 65 63 74 69 6c 65 2d 2d 74 65 73 74 | pe)))))..(defun.projectile--test | 
| 34320 | 2d 74 6f 2d 69 6d 70 6c 2d 64 69 72 20 28 74 65    73 74 2d 64 69 72 2d 70 61 74 68 29 0a 20 20 22 | -to-impl-dir.(test-dir-path)..." | 
| 34340 | 52 65 74 75 72 6e 20 74 68 65 20 64 69 72 65 63    74 6f 72 79 20 70 61 74 68 20 6f 66 20 61 6e 20 | Return.the.directory.path.of.an. | 
| 34360 | 69 6d 70 6c 20 66 69 6c 65 20 77 69 74 68 20 74    65 73 74 20 66 69 6c 65 20 69 6e 20 54 45 53 54 | impl.file.with.test.file.in.TEST | 
| 34380 | 2d 44 49 52 2d 50 41 54 48 2e 0a 0a 4f 63 63 75    72 72 65 6e 63 65 73 20 6f 66 20 74 68 65 20 63 | -DIR-PATH...Occurrences.of.the.c | 
| 343a0 | 75 72 72 65 6e 74 20 70 72 6f 6a 65 63 74 20 74    79 70 65 27 73 20 74 65 73 74 2d 64 69 72 20 70 | urrent.project.type's.test-dir.p | 
| 343c0 | 72 6f 70 65 72 74 79 20 28 77 68 69 63 68 20 73    68 6f 75 6c 64 20 62 65 20 61 0a 73 74 72 69 6e | roperty.(which.should.be.a.strin | 
| 343e0 | 67 29 20 61 72 65 20 72 65 70 6c 61 63 65 64 20    77 69 74 68 20 74 68 65 20 63 75 72 72 65 6e 74 | g).are.replaced.with.the.current | 
| 34400 | 20 70 72 6f 6a 65 63 74 20 74 79 70 65 27 73 20    73 72 63 2d 64 69 72 20 70 72 6f 70 65 72 74 79 | .project.type's.src-dir.property | 
| 34420 | 0a 20 28 77 68 69 63 68 20 73 68 6f 75 6c 64 20    62 65 20 61 20 73 74 72 69 6e 67 29 20 74 6f 20 | ..(which.should.be.a.string).to. | 
| 34440 | 6f 62 74 61 69 6e 20 74 68 65 20 6e 65 77 20 64    69 72 65 63 74 6f 72 79 2e 0a 0a 4e 69 6c 20 69 | obtain.the.new.directory...Nil.i | 
| 34460 | 73 20 72 65 74 75 72 6e 65 64 20 69 66 20 65 69    74 68 65 72 20 74 68 65 20 73 72 63 2d 64 69 72 | s.returned.if.either.the.src-dir | 
| 34480 | 20 6f 72 20 74 65 73 74 2d 64 69 72 20 70 72 6f    70 65 72 74 69 65 73 20 61 72 65 20 6e 6f 74 20 | .or.test-dir.properties.are.not. | 
| 344a0 | 73 74 72 69 6e 67 73 2e 22 0a 20 20 28 6c 65 74    2a 20 28 28 70 72 6f 6a 65 63 74 2d 74 79 70 65 | strings."...(let*.((project-type | 
| 344c0 | 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f    6a 65 63 74 2d 74 79 70 65 29 29 0a 20 20 20 20 | .(projectile-project-type))..... | 
| 344e0 | 20 20 20 20 20 28 74 65 73 74 2d 64 69 72 20 28    70 72 6f 6a 65 63 74 69 6c 65 2d 74 65 73 74 2d | .....(test-dir.(projectile-test- | 
| 34500 | 64 69 72 65 63 74 6f 72 79 20 70 72 6f 6a 65 63    74 2d 74 79 70 65 29 29 0a 20 20 20 20 20 20 20 | directory.project-type))........ | 
| 34520 | 20 20 28 69 6d 70 6c 2d 64 69 72 20 28 70 72 6f    6a 65 63 74 69 6c 65 2d 73 72 63 2d 64 69 72 65 | ..(impl-dir.(projectile-src-dire | 
| 34540 | 63 74 6f 72 79 20 70 72 6f 6a 65 63 74 2d 74 79    70 65 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 | ctory.project-type))).....(when. | 
| 34560 | 28 61 6e 64 20 28 73 74 72 69 6e 67 70 20 74 65    73 74 2d 64 69 72 29 20 28 73 74 72 69 6e 67 70 | (and.(stringp.test-dir).(stringp | 
| 34580 | 20 69 6d 70 6c 2d 64 69 72 29 29 0a 20 20 20 20    20 20 28 69 66 20 28 6e 6f 74 20 28 73 74 72 69 | .impl-dir)).......(if.(not.(stri | 
| 345a0 | 6e 67 2d 6d 61 74 63 68 2d 70 20 74 65 73 74 2d    64 69 72 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 64 | ng-match-p.test-dir.(file-name-d | 
| 345c0 | 69 72 65 63 74 6f 72 79 20 74 65 73 74 2d 64 69    72 2d 70 61 74 68 29 29 29 0a 20 20 20 20 20 20 | irectory.test-dir-path)))....... | 
| 345e0 | 20 20 20 20 28 65 72 72 6f 72 20 22 41 74 74 65    6d 70 74 65 64 20 74 6f 20 66 69 6e 64 20 61 20 | ....(error."Attempted.to.find.a. | 
| 34600 | 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 66    69 6c 65 20 62 79 20 73 77 69 74 63 68 69 6e 67 | implementation.file.by.switching | 
| 34620 | 20 74 68 69 73 20 70 72 6f 6a 65 63 74 20 74 79    70 65 27 73 20 28 25 73 29 20 74 65 73 74 2d 64 | .this.project.type's.(%s).test-d | 
| 34640 | 69 72 20 70 72 6f 70 65 72 74 79 20 5c 22 25 73    5c 22 20 77 69 74 68 20 74 68 69 73 20 70 72 6f | ir.property.\"%s\".with.this.pro | 
| 34660 | 6a 65 63 74 20 74 79 70 65 27 73 20 73 72 63 2d    64 69 72 20 70 72 6f 70 65 72 74 79 20 5c 22 25 | ject.type's.src-dir.property.\"% | 
| 34680 | 73 5c 22 2c 20 62 75 74 20 25 73 20 64 6f 65 73    20 6e 6f 74 20 63 6f 6e 74 61 69 6e 20 5c 22 25 | s\",.but.%s.does.not.contain.\"% | 
| 346a0 | 73 5c 22 22 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 70 72 6f 6a 65 63 74 2d 74 79 | s\""..................project-ty | 
| 346c0 | 70 65 20 74 65 73 74 2d 64 69 72 20 69 6d 70 6c    2d 64 69 72 20 74 65 73 74 2d 64 69 72 2d 70 61 | pe.test-dir.impl-dir.test-dir-pa | 
| 346e0 | 74 68 20 74 65 73 74 2d 64 69 72 29 0a 20 20 20    20 20 20 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 | th.test-dir).........(projectile | 
| 34700 | 2d 63 6f 6d 70 6c 65 6d 65 6e 74 61 72 79 2d 64    69 72 20 74 65 73 74 2d 64 69 72 2d 70 61 74 68 | -complementary-dir.test-dir-path | 
| 34720 | 20 74 65 73 74 2d 64 69 72 20 69 6d 70 6c 2d 64    69 72 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 | .test-dir.impl-dir)))))..(defun. | 
| 34740 | 70 72 6f 6a 65 63 74 69 6c 65 2d 2d 69 6d 70 6c    2d 74 6f 2d 74 65 73 74 2d 64 69 72 2d 66 61 6c | projectile--impl-to-test-dir-fal | 
| 34760 | 6c 62 61 63 6b 20 28 69 6d 70 6c 2d 64 69 72 2d    70 61 74 68 29 0a 20 20 22 52 65 74 75 72 6e 20 | lback.(impl-dir-path)..."Return. | 
| 34780 | 74 68 65 20 74 65 73 74 20 66 69 6c 65 20 66 6f    72 20 49 4d 50 4c 2d 44 49 52 2d 50 41 54 48 20 | the.test.file.for.IMPL-DIR-PATH. | 
| 347a0 | 62 79 20 67 75 65 73 73 69 6e 67 20 61 20 74 65    73 74 20 64 69 72 65 63 74 6f 72 79 2e 0a 0a 4f | by.guessing.a.test.directory...O | 
| 347c0 | 63 63 75 72 72 65 6e 63 65 73 20 6f 66 20 74 68    65 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 64 65 | ccurrences.of.the.`projectile-de | 
| 347e0 | 66 61 75 6c 74 2d 73 72 63 2d 64 69 72 65 63 74    6f 72 79 27 20 69 6e 20 74 68 65 20 64 69 72 65 | fault-src-directory'.in.the.dire | 
| 34800 | 63 74 6f 72 79 20 6f 66 0a 49 4d 50 4c 2d 44 49    52 2d 50 41 54 48 20 61 72 65 20 72 65 70 6c 61 | ctory.of.IMPL-DIR-PATH.are.repla | 
| 34820 | 63 65 64 20 77 69 74 68 20 60 70 72 6f 6a 65 63    74 69 6c 65 2d 64 65 66 61 75 6c 74 2d 74 65 73 | ced.with.`projectile-default-tes | 
| 34840 | 74 2d 64 69 72 65 63 74 6f 72 79 27 2e 20 20 4e    69 6c 20 69 73 0a 72 65 74 75 72 6e 65 64 20 69 | t-directory'...Nil.is.returned.i | 
| 34860 | 66 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 64 65    66 61 75 6c 74 2d 73 72 63 2d 64 69 72 65 63 74 | f.`projectile-default-src-direct | 
| 34880 | 6f 72 79 27 20 69 73 20 6e 6f 74 20 61 20 73 75    62 73 74 72 69 6e 67 20 6f 66 0a 49 4d 50 4c 2d | ory'.is.not.a.substring.of.IMPL- | 
| 348a0 | 44 49 52 2d 50 41 54 48 2e 22 0a 20 20 28 77 68    65 6e 2d 6c 65 74 20 28 28 66 69 6c 65 20 28 70 | DIR-PATH."...(when-let.((file.(p | 
| 348c0 | 72 6f 6a 65 63 74 69 6c 65 2d 2d 63 6f 6d 70 6c    65 6d 65 6e 74 61 72 79 2d 66 69 6c 65 0a 20 20 | rojectile--complementary-file... | 
| 348e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 69 6d 70 6c 2d 64 69 72 2d 70 61 74 68 0a | ..................impl-dir-path. | 
| 34900 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 6c 61 6d 62 64 61 20 28 66 29 0a | ....................(lambda.(f). | 
| 34920 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 77 68 65 6e 20 28 73 74 72 | ......................(when.(str | 
| 34940 | 69 6e 67 2d 6d 61 74 63 68 2d 70 20 70 72 6f 6a    65 63 74 69 6c 65 2d 64 65 66 61 75 6c 74 2d 73 | ing-match-p.projectile-default-s | 
| 34960 | 72 63 2d 64 69 72 65 63 74 6f 72 79 20 66 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | rc-directory.f)................. | 
| 34980 | 20 20 20 20 20 20 20 20 28 70 72 6f 6a 65 63 74    69 6c 65 2d 63 6f 6d 70 6c 65 6d 65 6e 74 61 72 | ........(projectile-complementar | 
| 349a0 | 79 2d 64 69 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 69 | y-dir..........................i | 
| 349c0 | 6d 70 6c 2d 64 69 72 2d 70 61 74 68 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | mpl-dir-path.................... | 
| 349e0 | 20 20 20 20 20 20 70 72 6f 6a 65 63 74 69 6c 65    2d 64 65 66 61 75 6c 74 2d 73 72 63 2d 64 69 72 | ......projectile-default-src-dir | 
| 34a00 | 65 63 74 6f 72 79 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ectory.......................... | 
| 34a20 | 70 72 6f 6a 65 63 74 69 6c 65 2d 64 65 66 61 75    6c 74 2d 74 65 73 74 2d 64 69 72 65 63 74 6f 72 | projectile-default-test-director | 
| 34a40 | 79 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 23 27 70 72 6f 6a 65 | y))).....................#'proje | 
| 34a60 | 63 74 69 6c 65 2d 2d 74 65 73 74 2d 6e 61 6d 65    2d 66 6f 72 2d 69 6d 70 6c 2d 6e 61 6d 65 29 29 | ctile--test-name-for-impl-name)) | 
| 34a80 | 29 0a 20 20 20 20 28 66 69 6c 65 2d 72 65 6c 61    74 69 76 65 2d 6e 61 6d 65 20 66 69 6c 65 20 28 | ).....(file-relative-name.file.( | 
| 34aa0 | 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65    63 74 2d 72 6f 6f 74 29 29 29 29 0a 0a 28 64 65 | projectile-project-root))))..(de | 
| 34ac0 | 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 2d    74 65 73 74 2d 74 6f 2d 69 6d 70 6c 2d 64 69 72 | fun.projectile--test-to-impl-dir | 
| 34ae0 | 2d 66 61 6c 6c 62 61 63 6b 20 28 74 65 73 74 2d    64 69 72 2d 70 61 74 68 29 0a 20 20 22 52 65 74 | -fallback.(test-dir-path)..."Ret | 
| 34b00 | 75 72 6e 20 74 68 65 20 69 6d 70 6c 20 66 69 6c    65 20 66 6f 72 20 54 45 53 54 2d 44 49 52 2d 50 | urn.the.impl.file.for.TEST-DIR-P | 
| 34b20 | 41 54 48 20 62 79 20 67 75 65 73 73 69 6e 67 20    61 20 73 6f 75 72 63 65 20 64 69 72 65 63 74 6f | ATH.by.guessing.a.source.directo | 
| 34b40 | 72 79 2e 0a 0a 4f 63 63 75 72 72 65 6e 63 65 73    20 6f 66 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d | ry...Occurrences.of.`projectile- | 
| 34b60 | 64 65 66 61 75 6c 74 2d 74 65 73 74 2d 64 69 72    65 63 74 6f 72 79 27 20 69 6e 20 74 68 65 20 64 | default-test-directory'.in.the.d | 
| 34b80 | 69 72 65 63 74 6f 72 79 20 6f 66 0a 54 45 53 54    2d 44 49 52 2d 50 41 54 48 20 61 72 65 20 72 65 | irectory.of.TEST-DIR-PATH.are.re | 
| 34ba0 | 70 6c 61 63 65 64 20 77 69 74 68 20 60 70 72 6f    6a 65 63 74 69 6c 65 2d 64 65 66 61 75 6c 74 2d | placed.with.`projectile-default- | 
| 34bc0 | 73 72 63 2d 64 69 72 65 63 74 6f 72 79 27 2e 20    20 4e 69 6c 20 69 73 0a 72 65 74 75 72 6e 65 64 | src-directory'...Nil.is.returned | 
| 34be0 | 20 69 66 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d    64 65 66 61 75 6c 74 2d 74 65 73 74 2d 64 69 72 | .if.`projectile-default-test-dir | 
| 34c00 | 65 63 74 6f 72 79 27 20 69 73 20 6e 6f 74 20 61    20 73 75 62 73 74 72 69 6e 67 20 6f 66 0a 54 45 | ectory'.is.not.a.substring.of.TE | 
| 34c20 | 53 54 2d 44 49 52 2d 50 41 54 48 2e 22 0a 20 20    28 77 68 65 6e 2d 6c 65 74 20 28 28 66 69 6c 65 | ST-DIR-PATH."...(when-let.((file | 
| 34c40 | 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 2d 63 6f    6d 70 6c 65 6d 65 6e 74 61 72 79 2d 66 69 6c 65 | .(projectile--complementary-file | 
| 34c60 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 74 65 73 74 2d 64 69 72 2d 70 61 | .....................test-dir-pa | 
| 34c80 | 74 68 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 | th.....................(lambda.( | 
| 34ca0 | 66 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 | f).......................(when.( | 
| 34cc0 | 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 70    72 6f 6a 65 63 74 69 6c 65 2d 64 65 66 61 75 6c | string-match-p.projectile-defaul | 
| 34ce0 | 74 2d 74 65 73 74 2d 64 69 72 65 63 74 6f 72 79    20 66 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | t-test-directory.f)............. | 
| 34d00 | 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f    6a 65 63 74 69 6c 65 2d 63 6f 6d 70 6c 65 6d 65 | ............(projectile-compleme | 
| 34d20 | 6e 74 61 72 79 2d 64 69 72 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ntary-dir....................... | 
| 34d40 | 20 20 20 74 65 73 74 2d 64 69 72 2d 70 61 74 68    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ...test-dir-path................ | 
| 34d60 | 20 20 20 20 20 20 20 20 20 20 70 72 6f 6a 65 63    74 69 6c 65 2d 64 65 66 61 75 6c 74 2d 74 65 73 | ..........projectile-default-tes | 
| 34d80 | 74 2d 64 69 72 65 63 74 6f 72 79 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | t-directory..................... | 
| 34da0 | 20 20 20 20 20 70 72 6f 6a 65 63 74 69 6c 65 2d    64 65 66 61 75 6c 74 2d 73 72 63 2d 64 69 72 65 | .....projectile-default-src-dire | 
| 34dc0 | 63 74 6f 72 79 29 29 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 23 27 70 | ctory))).....................#'p | 
| 34de0 | 72 6f 6a 65 63 74 69 6c 65 2d 2d 69 6d 70 6c 2d    6e 61 6d 65 2d 66 6f 72 2d 74 65 73 74 2d 6e 61 | rojectile--impl-name-for-test-na | 
| 34e00 | 6d 65 29 29 29 0a 20 20 20 20 28 66 69 6c 65 2d    72 65 6c 61 74 69 76 65 2d 6e 61 6d 65 20 66 69 | me))).....(file-relative-name.fi | 
| 34e20 | 6c 65 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 70    72 6f 6a 65 63 74 2d 72 6f 6f 74 29 29 29 29 0a | le.(projectile-project-root)))). | 
| 34e40 | 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69    6c 65 2d 2d 69 6d 70 6c 2d 74 6f 2d 74 65 73 74 | .(defun.projectile--impl-to-test | 
| 34e60 | 2d 64 69 72 20 28 69 6d 70 6c 2d 64 69 72 2d 70    61 74 68 29 0a 20 20 22 52 65 74 75 72 6e 20 74 | -dir.(impl-dir-path)..."Return.t | 
| 34e80 | 68 65 20 64 69 72 65 63 74 6f 72 79 20 70 61 74    68 20 6f 66 20 61 20 74 65 73 74 20 77 68 6f 73 | he.directory.path.of.a.test.whos | 
| 34ea0 | 65 20 69 6d 70 6c 20 66 69 6c 65 20 72 65 73 69    64 65 73 20 69 6e 20 49 4d 50 4c 2d 44 49 52 2d | e.impl.file.resides.in.IMPL-DIR- | 
| 34ec0 | 50 41 54 48 2e 0a 0a 4f 63 63 75 72 72 65 6e 63    65 73 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e | PATH...Occurrences.of.the.curren | 
| 34ee0 | 74 20 70 72 6f 6a 65 63 74 20 74 79 70 65 27 73    20 73 72 63 2d 64 69 72 20 70 72 6f 70 65 72 74 | t.project.type's.src-dir.propert | 
| 34f00 | 79 20 28 77 68 69 63 68 20 73 68 6f 75 6c 64 20    62 65 20 61 0a 73 74 72 69 6e 67 29 20 61 72 65 | y.(which.should.be.a.string).are | 
| 34f20 | 20 72 65 70 6c 61 63 65 64 20 77 69 74 68 20 74    68 65 20 63 75 72 72 65 6e 74 20 70 72 6f 6a 65 | .replaced.with.the.current.proje | 
| 34f40 | 63 74 20 74 79 70 65 27 73 20 74 65 73 74 2d 64    69 72 20 70 72 6f 70 65 72 74 79 0a 20 28 77 68 | ct.type's.test-dir.property..(wh | 
| 34f60 | 69 63 68 20 73 68 6f 75 6c 64 20 62 65 20 61 20    73 74 72 69 6e 67 29 20 74 6f 20 6f 62 74 61 69 | ich.should.be.a.string).to.obtai | 
| 34f80 | 6e 20 74 68 65 20 6e 65 77 20 64 69 72 65 63 74    6f 72 79 2e 0a 0a 49 66 20 74 68 65 20 73 72 63 | n.the.new.directory...If.the.src | 
| 34fa0 | 2d 64 69 72 20 70 72 6f 70 65 72 74 79 20 69 73    20 73 65 74 20 61 6e 64 20 49 4d 50 4c 2d 44 49 | -dir.property.is.set.and.IMPL-DI | 
| 34fc0 | 52 2d 50 41 54 48 20 64 6f 65 73 20 6e 6f 74 20    63 6f 6e 74 61 69 6e 20 28 61 73 20 61 0a 73 75 | R-PATH.does.not.contain.(as.a.su | 
| 34fe0 | 62 73 74 72 69 6e 67 29 20 74 68 65 20 73 72 63    2d 64 69 72 20 70 72 6f 70 65 72 74 79 20 6f 66 | bstring).the.src-dir.property.of | 
| 35000 | 20 74 68 65 20 63 75 72 72 65 6e 74 20 70 72 6f    6a 65 63 74 20 74 79 70 65 2c 20 61 6e 20 65 72 | .the.current.project.type,.an.er | 
| 35020 | 72 6f 72 20 69 73 0a 73 69 67 6e 61 6c 6c 65 64    2e 0a 0a 4e 69 6c 20 69 73 20 72 65 74 75 72 6e | ror.is.signalled...Nil.is.return | 
| 35040 | 65 64 20 69 66 20 65 69 74 68 65 72 20 74 68 65    20 73 72 63 2d 64 69 72 20 6f 72 20 74 65 73 74 | ed.if.either.the.src-dir.or.test | 
| 35060 | 2d 64 69 72 20 70 72 6f 70 65 72 74 69 65 73 20    61 72 65 20 6e 6f 74 20 73 74 72 69 6e 67 73 2e | -dir.properties.are.not.strings. | 
| 35080 | 22 0a 20 20 28 6c 65 74 2a 20 28 28 70 72 6f 6a    65 63 74 2d 74 79 70 65 20 28 70 72 6f 6a 65 63 | "...(let*.((project-type.(projec | 
| 350a0 | 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 74 79 70    65 29 29 0a 20 20 20 20 20 20 20 20 20 28 74 65 | tile-project-type))..........(te | 
| 350c0 | 73 74 2d 64 69 72 20 28 70 72 6f 6a 65 63 74 69    6c 65 2d 74 65 73 74 2d 64 69 72 65 63 74 6f 72 | st-dir.(projectile-test-director | 
| 350e0 | 79 20 70 72 6f 6a 65 63 74 2d 74 79 70 65 29 29    0a 20 20 20 20 20 20 20 20 20 28 69 6d 70 6c 2d | y.project-type))..........(impl- | 
| 35100 | 64 69 72 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d    73 72 63 2d 64 69 72 65 63 74 6f 72 79 20 70 72 | dir.(projectile-src-directory.pr | 
| 35120 | 6f 6a 65 63 74 2d 74 79 70 65 29 29 29 0a 20 20    20 20 28 77 68 65 6e 20 28 61 6e 64 20 28 73 74 | oject-type))).....(when.(and.(st | 
| 35140 | 72 69 6e 67 70 20 74 65 73 74 2d 64 69 72 29 20    28 73 74 72 69 6e 67 70 20 69 6d 70 6c 2d 64 69 | ringp.test-dir).(stringp.impl-di | 
| 35160 | 72 29 29 0a 20 20 20 20 20 20 28 69 66 20 28 6e    6f 74 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 | r)).......(if.(not.(string-match | 
| 35180 | 2d 70 20 69 6d 70 6c 2d 64 69 72 20 28 66 69 6c    65 2d 6e 61 6d 65 2d 64 69 72 65 63 74 6f 72 79 | -p.impl-dir.(file-name-directory | 
| 351a0 | 20 69 6d 70 6c 2d 64 69 72 2d 70 61 74 68 29 29    29 0a 20 20 20 20 20 20 20 20 20 20 28 65 72 72 | .impl-dir-path)))...........(err | 
| 351c0 | 6f 72 20 22 41 74 74 65 6d 70 74 65 64 20 74 6f    20 66 69 6e 64 20 61 20 74 65 73 74 20 66 69 6c | or."Attempted.to.find.a.test.fil | 
| 351e0 | 65 20 62 79 20 73 77 69 74 63 68 69 6e 67 20 74    68 69 73 20 70 72 6f 6a 65 63 74 20 74 79 70 65 | e.by.switching.this.project.type | 
| 35200 | 27 73 20 28 25 73 29 20 73 72 63 2d 64 69 72 20    70 72 6f 70 65 72 74 79 20 5c 22 25 73 5c 22 20 | 's.(%s).src-dir.property.\"%s\". | 
| 35220 | 77 69 74 68 20 74 68 69 73 20 70 72 6f 6a 65 63    74 20 74 79 70 65 27 73 20 74 65 73 74 2d 64 69 | with.this.project.type's.test-di | 
| 35240 | 72 20 70 72 6f 70 65 72 74 79 20 5c 22 25 73 5c    22 2c 20 62 75 74 20 25 73 20 64 6f 65 73 20 6e | r.property.\"%s\",.but.%s.does.n | 
| 35260 | 6f 74 20 63 6f 6e 74 61 69 6e 20 5c 22 25 73 5c    22 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | ot.contain.\"%s\"".............. | 
| 35280 | 20 20 20 20 70 72 6f 6a 65 63 74 2d 74 79 70 65    20 69 6d 70 6c 2d 64 69 72 20 74 65 73 74 2d 64 | ....project-type.impl-dir.test-d | 
| 352a0 | 69 72 20 69 6d 70 6c 2d 64 69 72 2d 70 61 74 68    20 69 6d 70 6c 2d 64 69 72 29 0a 20 20 20 20 20 | ir.impl-dir-path.impl-dir)...... | 
| 352c0 | 20 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 63    6f 6d 70 6c 65 6d 65 6e 74 61 72 79 2d 64 69 72 | ...(projectile-complementary-dir | 
| 352e0 | 20 69 6d 70 6c 2d 64 69 72 2d 70 61 74 68 20 69    6d 70 6c 2d 64 69 72 20 74 65 73 74 2d 64 69 72 | .impl-dir-path.impl-dir.test-dir | 
| 35300 | 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 72    6f 6a 65 63 74 69 6c 65 2d 63 6f 6d 70 6c 65 6d | )))))..(defun.projectile-complem | 
| 35320 | 65 6e 74 61 72 79 2d 64 69 72 20 28 64 69 72 2d    70 61 74 68 20 73 74 72 69 6e 67 20 72 65 70 6c | entary-dir.(dir-path.string.repl | 
| 35340 | 61 63 65 6d 65 6e 74 29 0a 20 20 22 52 65 74 75    72 6e 20 74 68 65 20 5c 22 63 6f 6d 70 6c 65 6d | acement)..."Return.the.\"complem | 
| 35360 | 65 6e 74 61 72 79 5c 22 20 64 69 72 65 63 74 6f    72 79 20 6f 66 20 44 49 52 2d 50 41 54 48 2e 0a | entary\".directory.of.DIR-PATH.. | 
| 35380 | 52 65 70 6c 61 63 65 20 53 54 52 49 4e 47 20 69    6e 20 44 49 52 2d 50 41 54 48 20 77 69 74 68 20 | Replace.STRING.in.DIR-PATH.with. | 
| 353a0 | 52 45 50 4c 41 43 45 4d 45 4e 54 2e 22 0a 20 20    28 6c 65 74 2a 20 28 28 70 72 6f 6a 65 63 74 2d | REPLACEMENT."...(let*.((project- | 
| 353c0 | 72 6f 6f 74 20 28 70 72 6f 6a 65 63 74 69 6c 65    2d 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 29 29 0a | root.(projectile-project-root)). | 
| 353e0 | 20 20 20 20 20 20 20 20 20 28 72 65 6c 61 74 69    76 65 2d 64 69 72 20 28 66 69 6c 65 2d 6e 61 6d | .........(relative-dir.(file-nam | 
| 35400 | 65 2d 64 69 72 65 63 74 6f 72 79 20 28 66 69 6c    65 2d 72 65 6c 61 74 69 76 65 2d 6e 61 6d 65 20 | e-directory.(file-relative-name. | 
| 35420 | 64 69 72 2d 70 61 74 68 20 70 72 6f 6a 65 63 74    2d 72 6f 6f 74 29 29 29 29 0a 20 20 20 20 28 70 | dir-path.project-root)))).....(p | 
| 35440 | 72 6f 6a 65 63 74 69 6c 65 2d 65 78 70 61 6e 64    2d 72 6f 6f 74 0a 20 20 20 20 20 3b 3b 20 54 4f | rojectile-expand-root......;;.TO | 
| 35460 | 44 4f 3a 20 55 73 65 20 73 74 72 69 6e 67 2d 72    65 70 6c 61 63 65 20 6f 6e 63 65 20 77 65 20 74 | DO:.Use.string-replace.once.we.t | 
| 35480 | 61 72 67 65 74 20 65 6d 61 63 73 20 32 38 0a 20    20 20 20 20 28 72 65 70 6c 61 63 65 2d 72 65 67 | arget.emacs.28......(replace-reg | 
| 354a0 | 65 78 70 2d 69 6e 2d 73 74 72 69 6e 67 20 73 74    72 69 6e 67 20 72 65 70 6c 61 63 65 6d 65 6e 74 | exp-in-string.string.replacement | 
| 354c0 | 20 72 65 6c 61 74 69 76 65 2d 64 69 72 20 74 29    29 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a | .relative-dir.t))))..(defun.proj | 
| 354e0 | 65 63 74 69 6c 65 2d 2d 63 72 65 61 74 65 2d 64    69 72 65 63 74 6f 72 69 65 73 2d 66 6f 72 20 28 | ectile--create-directories-for.( | 
| 35500 | 70 61 74 68 29 0a 20 20 22 43 72 65 61 74 65 20    64 69 72 65 63 74 6f 72 69 65 73 20 6e 65 63 65 | path)..."Create.directories.nece | 
| 35520 | 73 73 61 72 79 20 66 6f 72 20 50 41 54 48 2e 22    0a 20 20 28 75 6e 6c 65 73 73 20 28 66 69 6c 65 | ssary.for.PATH."...(unless.(file | 
| 35540 | 2d 65 78 69 73 74 73 2d 70 20 70 61 74 68 29 0a    20 20 20 20 28 6d 61 6b 65 2d 64 69 72 65 63 74 | -exists-p.path).....(make-direct | 
| 35560 | 6f 72 79 20 28 69 66 20 28 66 69 6c 65 2d 64 69    72 65 63 74 6f 72 79 2d 70 20 70 61 74 68 29 0a | ory.(if.(file-directory-p.path). | 
| 35580 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 70 61 74 68 0a 20 20 20 | ........................path.... | 
| 355a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 64 69 | ...................(file-name-di | 
| 355c0 | 72 65 63 74 6f 72 79 20 70 61 74 68 29 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | rectory.path)).................. | 
| 355e0 | 20 20 20 3a 63 72 65 61 74 65 2d 70 61 72 65 6e    74 73 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 | ...:create-parents)))..(defun.pr | 
| 35600 | 6f 6a 65 63 74 69 6c 65 2d 66 69 6e 64 2d 69 6d    70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2d 6f 72 2d | ojectile-find-implementation-or- | 
| 35620 | 74 65 73 74 20 28 66 69 6c 65 2d 6e 61 6d 65 29    0a 20 20 22 47 69 76 65 6e 20 61 20 46 49 4c 45 | test.(file-name)..."Given.a.FILE | 
| 35640 | 2d 4e 41 4d 45 20 72 65 74 75 72 6e 20 74 68 65    20 6d 61 74 63 68 69 6e 67 20 69 6d 70 6c 65 6d | -NAME.return.the.matching.implem | 
| 35660 | 65 6e 74 61 74 69 6f 6e 20 6f 72 20 74 65 73 74    20 66 69 6c 65 6e 61 6d 65 2e 0a 0a 49 66 20 60 | entation.or.test.filename...If.` | 
| 35680 | 70 72 6f 6a 65 63 74 69 6c 65 2d 63 72 65 61 74    65 2d 6d 69 73 73 69 6e 67 2d 74 65 73 74 2d 66 | projectile-create-missing-test-f | 
| 356a0 | 69 6c 65 73 27 20 69 73 20 6e 6f 6e 2d 6e 69 6c    2c 20 63 72 65 61 74 65 20 74 68 65 20 6d 69 73 | iles'.is.non-nil,.create.the.mis | 
| 356c0 | 73 69 6e 67 0a 74 65 73 74 20 66 69 6c 65 2e 22    0a 20 20 28 75 6e 6c 65 73 73 20 66 69 6c 65 2d | sing.test.file."...(unless.file- | 
| 356e0 | 6e 61 6d 65 20 28 65 72 72 6f 72 20 22 54 68 65    20 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 20 | name.(error."The.current.buffer. | 
| 35700 | 69 73 20 6e 6f 74 20 76 69 73 69 74 69 6e 67 20    61 20 66 69 6c 65 22 29 29 0a 20 20 28 75 6e 6c | is.not.visiting.a.file"))...(unl | 
| 35720 | 65 73 73 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d    70 72 6f 6a 65 63 74 2d 74 79 70 65 29 20 28 70 | ess.(projectile-project-type).(p | 
| 35740 | 72 6f 6a 65 63 74 69 6c 65 2d 65 6e 73 75 72 65    2d 70 72 6f 6a 65 63 74 20 6e 69 6c 29 29 0a 20 | rojectile-ensure-project.nil)).. | 
| 35760 | 20 28 69 66 20 28 70 72 6f 6a 65 63 74 69 6c 65    2d 74 65 73 74 2d 66 69 6c 65 2d 70 20 66 69 6c | .(if.(projectile-test-file-p.fil | 
| 35780 | 65 2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 3b 3b    20 66 69 6e 64 20 74 68 65 20 6d 61 74 63 68 69 | e-name).......;;.find.the.matchi | 
| 357a0 | 6e 67 20 69 6d 70 6c 20 66 69 6c 65 0a 20 20 20    20 20 20 28 6c 65 74 20 28 28 69 6d 70 6c 2d 66 | ng.impl.file.......(let.((impl-f | 
| 357c0 | 69 6c 65 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d    66 69 6e 64 2d 6d 61 74 63 68 69 6e 67 2d 66 69 | ile.(projectile-find-matching-fi | 
| 357e0 | 6c 65 20 66 69 6c 65 2d 6e 61 6d 65 29 29 29 0a    20 20 20 20 20 20 20 20 28 69 66 20 69 6d 70 6c | le.file-name))).........(if.impl | 
| 35800 | 2d 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 20    20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 65 78 | -file.............(projectile-ex | 
| 35820 | 70 61 6e 64 2d 72 6f 6f 74 20 69 6d 70 6c 2d 66    69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 | pand-root.impl-file)...........( | 
| 35840 | 65 72 72 6f 72 0a 20 20 20 20 20 20 20 20 20 20    20 22 4e 6f 20 6d 61 74 63 68 69 6e 67 20 73 6f | error............"No.matching.so | 
| 35860 | 75 72 63 65 20 66 69 6c 65 20 66 6f 75 6e 64 20    66 6f 72 20 70 72 6f 6a 65 63 74 20 74 79 70 65 | urce.file.found.for.project.type | 
| 35880 | 20 60 25 73 27 22 0a 20 20 20 20 20 20 20 20 20    20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 | .`%s'"............(projectile-pr | 
| 358a0 | 6f 6a 65 63 74 2d 74 79 70 65 29 29 29 29 0a 20    20 20 20 3b 3b 20 66 69 6e 64 20 74 68 65 20 6d | oject-type)))).....;;.find.the.m | 
| 358c0 | 61 74 63 68 69 6e 67 20 74 65 73 74 20 66 69 6c    65 0a 20 20 20 20 28 6c 65 74 2a 20 28 28 65 72 | atching.test.file.....(let*.((er | 
| 358e0 | 72 6f 72 2d 6d 73 67 20 28 66 6f 72 6d 61 74 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ror-msg.(format................. | 
| 35900 | 20 20 20 20 20 20 20 22 4e 6f 20 6d 61 74 63 68    69 6e 67 20 74 65 73 74 20 66 69 6c 65 20 66 6f | ......."No.matching.test.file.fo | 
| 35920 | 75 6e 64 20 66 6f 72 20 70 72 6f 6a 65 63 74 20    74 79 70 65 20 60 25 73 27 22 0a 20 20 20 20 20 | und.for.project.type.`%s'"...... | 
| 35940 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 | ..................(projectile-pr | 
| 35960 | 6f 6a 65 63 74 2d 74 79 70 65 29 29 29 0a 20 20    20 20 20 20 20 20 20 20 20 28 74 65 73 74 2d 66 | oject-type)))............(test-f | 
| 35980 | 69 6c 65 20 28 6f 72 20 28 70 72 6f 6a 65 63 74    69 6c 65 2d 66 69 6e 64 2d 6d 61 74 63 68 69 6e | ile.(or.(projectile-find-matchin | 
| 359a0 | 67 2d 74 65 73 74 20 66 69 6c 65 2d 6e 61 6d 65    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | g-test.file-name)............... | 
| 359c0 | 20 20 20 20 20 20 20 20 20 20 20 20 28 65 72 72    6f 72 20 65 72 72 6f 72 2d 6d 73 67 29 29 29 0a | ............(error.error-msg))). | 
| 359e0 | 20 20 20 20 20 20 20 20 20 20 20 28 65 78 70 61    6e 64 65 64 2d 74 65 73 74 2d 66 69 6c 65 20 28 | ...........(expanded-test-file.( | 
| 35a00 | 70 72 6f 6a 65 63 74 69 6c 65 2d 65 78 70 61 6e    64 2d 72 6f 6f 74 20 74 65 73 74 2d 66 69 6c 65 | projectile-expand-root.test-file | 
| 35a20 | 29 29 29 0a 20 20 20 20 20 20 28 63 6f 6e 64 20    28 28 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 | ))).......(cond.((file-exists-p. | 
| 35a40 | 65 78 70 61 6e 64 65 64 2d 74 65 73 74 2d 66 69    6c 65 29 20 65 78 70 61 6e 64 65 64 2d 74 65 73 | expanded-test-file).expanded-tes | 
| 35a60 | 74 2d 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d | t-file).............(projectile- | 
| 35a80 | 63 72 65 61 74 65 2d 6d 69 73 73 69 6e 67 2d 74    65 73 74 2d 66 69 6c 65 73 0a 20 20 20 20 20 20 | create-missing-test-files....... | 
| 35aa0 | 20 20 20 20 20 20 20 28 70 72 6f 6a 65 63 74 69    6c 65 2d 2d 63 72 65 61 74 65 2d 64 69 72 65 63 | .......(projectile--create-direc | 
| 35ac0 | 74 6f 72 69 65 73 2d 66 6f 72 20 65 78 70 61 6e    64 65 64 2d 74 65 73 74 2d 66 69 6c 65 29 0a 20 | tories-for.expanded-test-file).. | 
| 35ae0 | 20 20 20 20 20 20 20 20 20 20 20 20 65 78 70 61    6e 64 65 64 2d 74 65 73 74 2d 66 69 6c 65 29 0a | ............expanded-test-file). | 
| 35b00 | 20 20 20 20 20 20 20 20 20 20 20 20 28 74 20 28    65 72 72 6f 72 20 22 44 65 74 65 72 6d 69 6e 65 | ............(t.(error."Determine | 
| 35b20 | 64 20 74 65 73 74 20 66 69 6c 65 20 74 6f 20 62    65 20 5c 22 25 73 5c 22 2c 20 77 68 69 63 68 20 | d.test.file.to.be.\"%s\",.which. | 
| 35b40 | 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 20    20 53 65 74 20 60 70 72 6f 6a 65 63 74 69 6c 65 | does.not.exist...Set.`projectile | 
| 35b60 | 2d 63 72 65 61 74 65 2d 6d 69 73 73 69 6e 67 2d    74 65 73 74 2d 66 69 6c 65 73 27 20 74 6f 20 61 | -create-missing-test-files'.to.a | 
| 35b80 | 6c 6c 6f 77 20 60 70 72 6f 6a 65 63 74 69 6c 65    2d 66 69 6e 64 2d 69 6d 70 6c 65 6d 65 6e 74 61 | llow.`projectile-find-implementa | 
| 35ba0 | 74 69 6f 6e 2d 6f 72 2d 74 65 73 74 27 20 74 6f    20 63 72 65 61 74 65 20 6e 65 77 20 66 69 6c 65 | tion-or-test'.to.create.new.file | 
| 35bc0 | 73 22 20 74 65 73 74 2d 66 69 6c 65 29 29 29 29    29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f | s".test-file))))))..;;;###autolo | 
| 35be0 | 61 64 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63    74 69 6c 65 2d 66 69 6e 64 2d 69 6d 70 6c 65 6d | ad.(defun.projectile-find-implem | 
| 35c00 | 65 6e 74 61 74 69 6f 6e 2d 6f 72 2d 74 65 73 74    2d 6f 74 68 65 72 2d 77 69 6e 64 6f 77 20 28 29 | entation-or-test-other-window.() | 
| 35c20 | 0a 20 20 22 4f 70 65 6e 20 6d 61 74 63 68 69 6e    67 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e | ..."Open.matching.implementation | 
| 35c40 | 20 6f 72 20 74 65 73 74 20 66 69 6c 65 20 69 6e    20 6f 74 68 65 72 20 77 69 6e 64 6f 77 2e 0a 0a | .or.test.file.in.other.window... | 
| 35c60 | 53 65 65 20 74 68 65 20 64 6f 63 75 6d 65 6e 74    61 74 69 6f 6e 20 6f 66 20 60 70 72 6f 6a 65 63 | See.the.documentation.of.`projec | 
| 35c80 | 74 69 6c 65 2d 2d 66 69 6e 64 2d 6d 61 74 63 68    69 6e 67 2d 66 69 6c 65 27 20 61 6e 64 0a 60 70 | tile--find-matching-file'.and.`p | 
| 35ca0 | 72 6f 6a 65 63 74 69 6c 65 2d 2d 66 69 6e 64 2d    6d 61 74 63 68 69 6e 67 2d 74 65 73 74 27 20 66 | rojectile--find-matching-test'.f | 
| 35cc0 | 6f 72 20 68 6f 77 20 69 6d 70 6c 65 6d 65 6e 74    61 74 69 6f 6e 20 61 6e 64 20 74 65 73 74 20 66 | or.how.implementation.and.test.f | 
| 35ce0 | 69 6c 65 73 0a 61 72 65 20 64 65 74 65 72 6d 69    6e 65 64 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 | iles.are.determined."...(interac | 
| 35d00 | 74 69 76 65 29 0a 20 20 28 66 69 6e 64 2d 66 69    6c 65 2d 6f 74 68 65 72 2d 77 69 6e 64 6f 77 0a | tive)...(find-file-other-window. | 
| 35d20 | 20 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 66    69 6e 64 2d 69 6d 70 6c 65 6d 65 6e 74 61 74 69 | ...(projectile-find-implementati | 
| 35d40 | 6f 6e 2d 6f 72 2d 74 65 73 74 20 28 62 75 66 66    65 72 2d 66 69 6c 65 2d 6e 61 6d 65 29 29 29 29 | on-or-test.(buffer-file-name)))) | 
| 35d60 | 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64    0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 | ..;;;###autoload.(defun.projecti | 
| 35d80 | 6c 65 2d 66 69 6e 64 2d 69 6d 70 6c 65 6d 65 6e    74 61 74 69 6f 6e 2d 6f 72 2d 74 65 73 74 2d 6f | le-find-implementation-or-test-o | 
| 35da0 | 74 68 65 72 2d 66 72 61 6d 65 20 28 29 0a 20 20    22 4f 70 65 6e 20 6d 61 74 63 68 69 6e 67 20 69 | ther-frame.()..."Open.matching.i | 
| 35dc0 | 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 6f 72    20 74 65 73 74 20 66 69 6c 65 20 69 6e 20 6f 74 | mplementation.or.test.file.in.ot | 
| 35de0 | 68 65 72 20 66 72 61 6d 65 2e 0a 0a 53 65 65 20    74 68 65 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f | her.frame...See.the.documentatio | 
| 35e00 | 6e 20 6f 66 20 60 70 72 6f 6a 65 63 74 69 6c 65    2d 2d 66 69 6e 64 2d 6d 61 74 63 68 69 6e 67 2d | n.of.`projectile--find-matching- | 
| 35e20 | 66 69 6c 65 27 20 61 6e 64 0a 60 70 72 6f 6a 65    63 74 69 6c 65 2d 2d 66 69 6e 64 2d 6d 61 74 63 | file'.and.`projectile--find-matc | 
| 35e40 | 68 69 6e 67 2d 74 65 73 74 27 20 66 6f 72 20 68    6f 77 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f | hing-test'.for.how.implementatio | 
| 35e60 | 6e 20 61 6e 64 20 74 65 73 74 20 66 69 6c 65 73    0a 61 72 65 20 64 65 74 65 72 6d 69 6e 65 64 2e | n.and.test.files.are.determined. | 
| 35e80 | 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65    29 0a 20 20 28 66 69 6e 64 2d 66 69 6c 65 2d 6f | "...(interactive)...(find-file-o | 
| 35ea0 | 74 68 65 72 2d 66 72 61 6d 65 0a 20 20 20 28 70    72 6f 6a 65 63 74 69 6c 65 2d 66 69 6e 64 2d 69 | ther-frame....(projectile-find-i | 
| 35ec0 | 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2d 6f 72    2d 74 65 73 74 20 28 62 75 66 66 65 72 2d 66 69 | mplementation-or-test.(buffer-fi | 
| 35ee0 | 6c 65 2d 6e 61 6d 65 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 | le-name))))..;;;###autoload.(def | 
| 35f00 | 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 74 6f    67 67 6c 65 2d 62 65 74 77 65 65 6e 2d 69 6d 70 | un.projectile-toggle-between-imp | 
| 35f20 | 6c 65 6d 65 6e 74 61 74 69 6f 6e 2d 61 6e 64 2d    74 65 73 74 20 28 29 0a 20 20 22 54 6f 67 67 6c | lementation-and-test.()..."Toggl | 
| 35f40 | 65 20 62 65 74 77 65 65 6e 20 61 6e 20 69 6d 70    6c 65 6d 65 6e 74 61 74 69 6f 6e 20 66 69 6c 65 | e.between.an.implementation.file | 
| 35f60 | 20 61 6e 64 20 69 74 73 20 74 65 73 74 20 66 69    6c 65 2e 0a 0a 0a 53 65 65 20 74 68 65 20 64 6f | .and.its.test.file....See.the.do | 
| 35f80 | 63 75 6d 65 6e 74 61 74 69 6f 6e 20 6f 66 20 60    70 72 6f 6a 65 63 74 69 6c 65 2d 2d 66 69 6e 64 | cumentation.of.`projectile--find | 
| 35fa0 | 2d 6d 61 74 63 68 69 6e 67 2d 66 69 6c 65 27 20    61 6e 64 0a 60 70 72 6f 6a 65 63 74 69 6c 65 2d | -matching-file'.and.`projectile- | 
| 35fc0 | 2d 66 69 6e 64 2d 6d 61 74 63 68 69 6e 67 2d 74    65 73 74 27 20 66 6f 72 20 68 6f 77 20 69 6d 70 | -find-matching-test'.for.how.imp | 
| 35fe0 | 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 61 6e 64 20    74 65 73 74 20 66 69 6c 65 73 0a 61 72 65 20 64 | lementation.and.test.files.are.d | 
| 36000 | 65 74 65 72 6d 69 6e 65 64 2e 22 0a 20 20 28 69    6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 66 | etermined."...(interactive)...(f | 
| 36020 | 69 6e 64 2d 66 69 6c 65 0a 20 20 20 28 70 72 6f    6a 65 63 74 69 6c 65 2d 66 69 6e 64 2d 69 6d 70 | ind-file....(projectile-find-imp | 
| 36040 | 6c 65 6d 65 6e 74 61 74 69 6f 6e 2d 6f 72 2d 74    65 73 74 20 28 62 75 66 66 65 72 2d 66 69 6c 65 | lementation-or-test.(buffer-file | 
| 36060 | 2d 6e 61 6d 65 29 29 29 29 0a 0a 0a 28 64 65 66    75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 | -name))))...(defun.projectile-pr | 
| 36080 | 6f 6a 65 63 74 2d 74 79 70 65 2d 61 74 74 72 69    62 75 74 65 20 28 70 72 6f 6a 65 63 74 2d 74 79 | oject-type-attribute.(project-ty | 
| 360a0 | 70 65 20 6b 65 79 20 26 6f 70 74 69 6f 6e 61 6c    20 64 65 66 61 75 6c 74 2d 76 61 6c 75 65 29 0a | pe.key.&optional.default-value). | 
| 360c0 | 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 76 61    6c 75 65 20 6f 66 20 73 6f 6d 65 20 50 52 4f 4a | .."Return.the.value.of.some.PROJ | 
| 360e0 | 45 43 54 2d 54 59 50 45 20 61 74 74 72 69 62 75    74 65 20 69 64 65 6e 74 69 66 69 65 64 20 62 79 | ECT-TYPE.attribute.identified.by | 
| 36100 | 20 4b 45 59 2e 0a 46 61 6c 6c 62 61 63 6b 20 74    6f 20 44 45 46 41 55 4c 54 2d 56 41 4c 55 45 20 | .KEY..Fallback.to.DEFAULT-VALUE. | 
| 36120 | 66 6f 72 20 6d 69 73 73 69 6e 67 20 61 74 74 72    69 62 75 74 65 73 2e 22 0a 20 20 28 6c 65 74 20 | for.missing.attributes."...(let. | 
| 36140 | 28 28 70 72 6f 6a 65 63 74 20 28 61 6c 69 73 74    2d 67 65 74 20 70 72 6f 6a 65 63 74 2d 74 79 70 | ((project.(alist-get.project-typ | 
| 36160 | 65 20 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f    6a 65 63 74 2d 74 79 70 65 73 29 29 29 0a 20 20 | e.projectile-project-types)))... | 
| 36180 | 20 20 28 69 66 20 28 61 6e 64 20 70 72 6f 6a 65    63 74 20 28 70 6c 69 73 74 2d 6d 65 6d 62 65 72 | ..(if.(and.project.(plist-member | 
| 361a0 | 20 70 72 6f 6a 65 63 74 20 6b 65 79 29 29 0a 20    20 20 20 20 20 20 20 28 70 6c 69 73 74 2d 67 65 | .project.key)).........(plist-ge | 
| 361c0 | 74 20 70 72 6f 6a 65 63 74 20 6b 65 79 29 0a 20    20 20 20 20 20 64 65 66 61 75 6c 74 2d 76 61 6c | t.project.key).......default-val | 
| 361e0 | 75 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 72    6f 6a 65 63 74 69 6c 65 2d 74 65 73 74 2d 70 72 | ue)))..(defun.projectile-test-pr | 
| 36200 | 65 66 69 78 20 28 70 72 6f 6a 65 63 74 2d 74 79    70 65 29 0a 20 20 22 46 69 6e 64 20 64 65 66 61 | efix.(project-type)..."Find.defa | 
| 36220 | 75 6c 74 20 74 65 73 74 20 66 69 6c 65 73 20 70    72 65 66 69 78 20 62 61 73 65 64 20 6f 6e 20 50 | ult.test.files.prefix.based.on.P | 
| 36240 | 52 4f 4a 45 43 54 2d 54 59 50 45 2e 22 0a 20 20    28 6f 72 20 70 72 6f 6a 65 63 74 69 6c 65 2d 70 | ROJECT-TYPE."...(or.projectile-p | 
| 36260 | 72 6f 6a 65 63 74 2d 74 65 73 74 2d 70 72 65 66    69 78 0a 20 20 20 20 20 20 28 70 72 6f 6a 65 63 | roject-test-prefix.......(projec | 
| 36280 | 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 74 79 70    65 2d 61 74 74 72 69 62 75 74 65 20 70 72 6f 6a | tile-project-type-attribute.proj | 
| 362a0 | 65 63 74 2d 74 79 70 65 20 27 74 65 73 74 2d 70    72 65 66 69 78 29 29 29 0a 0a 28 64 65 66 75 6e | ect-type.'test-prefix)))..(defun | 
| 362c0 | 20 70 72 6f 6a 65 63 74 69 6c 65 2d 74 65 73 74    2d 73 75 66 66 69 78 20 28 70 72 6f 6a 65 63 74 | .projectile-test-suffix.(project | 
| 362e0 | 2d 74 79 70 65 29 0a 20 20 22 46 69 6e 64 20 64    65 66 61 75 6c 74 20 74 65 73 74 20 66 69 6c 65 | -type)..."Find.default.test.file | 
| 36300 | 73 20 73 75 66 66 69 78 20 62 61 73 65 64 20 6f    6e 20 50 52 4f 4a 45 43 54 2d 54 59 50 45 2e 22 | s.suffix.based.on.PROJECT-TYPE." | 
| 36320 | 0a 20 20 28 6f 72 20 70 72 6f 6a 65 63 74 69 6c    65 2d 70 72 6f 6a 65 63 74 2d 74 65 73 74 2d 73 | ...(or.projectile-project-test-s | 
| 36340 | 75 66 66 69 78 0a 20 20 20 20 20 20 28 70 72 6f    6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d | uffix.......(projectile-project- | 
| 36360 | 74 79 70 65 2d 61 74 74 72 69 62 75 74 65 20 70    72 6f 6a 65 63 74 2d 74 79 70 65 20 27 74 65 73 | type-attribute.project-type.'tes | 
| 36380 | 74 2d 73 75 66 66 69 78 29 29 29 0a 0a 28 64 65    66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 72 | t-suffix)))..(defun.projectile-r | 
| 363a0 | 65 6c 61 74 65 64 2d 66 69 6c 65 73 2d 66 6e 20    28 70 72 6f 6a 65 63 74 2d 74 79 70 65 29 0a 20 | elated-files-fn.(project-type).. | 
| 363c0 | 20 22 46 69 6e 64 20 72 65 6c 61 74 69 76 65 20    66 69 6c 65 20 62 61 73 65 64 20 6f 6e 20 50 52 | ."Find.relative.file.based.on.PR | 
| 363e0 | 4f 4a 45 43 54 2d 54 59 50 45 2e 22 0a 20 20 28    6f 72 20 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 | OJECT-TYPE."...(or.projectile-pr | 
| 36400 | 6f 6a 65 63 74 2d 72 65 6c 61 74 65 64 2d 66 69    6c 65 73 2d 66 6e 0a 20 20 20 20 20 20 28 70 72 | oject-related-files-fn.......(pr | 
| 36420 | 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74    2d 74 79 70 65 2d 61 74 74 72 69 62 75 74 65 20 | ojectile-project-type-attribute. | 
| 36440 | 70 72 6f 6a 65 63 74 2d 74 79 70 65 20 27 72 65    6c 61 74 65 64 2d 66 69 6c 65 73 2d 66 6e 29 29 | project-type.'related-files-fn)) | 
| 36460 | 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63    74 69 6c 65 2d 73 72 63 2d 64 69 72 65 63 74 6f | )..(defun.projectile-src-directo | 
| 36480 | 72 79 20 28 70 72 6f 6a 65 63 74 2d 74 79 70 65    29 0a 20 20 22 46 69 6e 64 20 64 65 66 61 75 6c | ry.(project-type)..."Find.defaul | 
| 364a0 | 74 20 73 72 63 20 64 69 72 65 63 74 6f 72 79 20    62 61 73 65 64 20 6f 6e 20 50 52 4f 4a 45 43 54 | t.src.directory.based.on.PROJECT | 
| 364c0 | 2d 54 59 50 45 2e 22 0a 20 20 28 6f 72 20 70 72    6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 | -TYPE."...(or.projectile-project | 
| 364e0 | 2d 73 72 63 2d 64 69 72 0a 20 20 20 20 20 20 28    70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 | -src-dir.......(projectile-proje | 
| 36500 | 63 74 2d 74 79 70 65 2d 61 74 74 72 69 62 75 74    65 20 70 72 6f 6a 65 63 74 2d 74 79 70 65 20 27 | ct-type-attribute.project-type.' | 
| 36520 | 73 72 63 2d 64 69 72 29 29 29 0a 0a 28 64 65 66    75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 74 65 | src-dir)))..(defun.projectile-te | 
| 36540 | 73 74 2d 64 69 72 65 63 74 6f 72 79 20 28 70 72    6f 6a 65 63 74 2d 74 79 70 65 29 0a 20 20 22 46 | st-directory.(project-type)..."F | 
| 36560 | 69 6e 64 20 64 65 66 61 75 6c 74 20 74 65 73 74    20 64 69 72 65 63 74 6f 72 79 20 62 61 73 65 64 | ind.default.test.directory.based | 
| 36580 | 20 6f 6e 20 50 52 4f 4a 45 43 54 2d 54 59 50 45    2e 22 0a 20 20 28 6f 72 20 70 72 6f 6a 65 63 74 | .on.PROJECT-TYPE."...(or.project | 
| 365a0 | 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 74 65 73 74    2d 64 69 72 0a 20 20 20 20 20 20 28 70 72 6f 6a | ile-project-test-dir.......(proj | 
| 365c0 | 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 74    79 70 65 2d 61 74 74 72 69 62 75 74 65 20 70 72 | ectile-project-type-attribute.pr | 
| 365e0 | 6f 6a 65 63 74 2d 74 79 70 65 20 27 74 65 73 74    2d 64 69 72 29 29 29 0a 0a 28 64 65 66 75 6e 20 | oject-type.'test-dir)))..(defun. | 
| 36600 | 70 72 6f 6a 65 63 74 69 6c 65 2d 64 69 72 6e 61    6d 65 2d 6d 61 74 63 68 69 6e 67 2d 63 6f 75 6e | projectile-dirname-matching-coun | 
| 36620 | 74 20 28 61 20 62 29 0a 20 20 22 43 6f 75 6e 74    20 6d 61 74 63 68 69 6e 67 20 64 69 72 6e 61 6d | t.(a.b)..."Count.matching.dirnam | 
| 36640 | 65 73 20 61 73 63 65 6e 64 69 6e 67 20 66 69 6c    65 20 70 61 74 68 73 20 69 6e 20 41 20 61 6e 64 | es.ascending.file.paths.in.A.and | 
| 36660 | 20 42 2e 22 0a 20 20 28 73 65 74 71 20 61 20 28    72 65 76 65 72 73 65 20 28 73 70 6c 69 74 2d 73 | .B."...(setq.a.(reverse.(split-s | 
| 36680 | 74 72 69 6e 67 20 28 6f 72 20 28 66 69 6c 65 2d    6e 61 6d 65 2d 64 69 72 65 63 74 6f 72 79 20 61 | tring.(or.(file-name-directory.a | 
| 366a0 | 29 20 22 22 29 20 22 2f 22 20 74 29 29 0a 20 20    20 20 20 20 20 20 62 20 28 72 65 76 65 72 73 65 | )."")."/".t)).........b.(reverse | 
| 366c0 | 20 28 73 70 6c 69 74 2d 73 74 72 69 6e 67 20 28    6f 72 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 64 69 | .(split-string.(or.(file-name-di | 
| 366e0 | 72 65 63 74 6f 72 79 20 62 29 20 22 22 29 20 22    2f 22 20 74 29 29 29 0a 20 20 28 6c 65 74 20 28 | rectory.b)."")."/".t)))...(let.( | 
| 36700 | 28 63 6f 6d 6d 6f 6e 20 30 29 29 0a 20 20 20 20    28 77 68 69 6c 65 20 28 61 6e 64 20 61 20 62 20 | (common.0)).....(while.(and.a.b. | 
| 36720 | 28 73 74 72 69 6e 67 2d 65 71 75 61 6c 20 28 70    6f 70 20 61 29 20 28 70 6f 70 20 62 29 29 29 0a | (string-equal.(pop.a).(pop.b))). | 
| 36740 | 20 20 20 20 20 20 28 73 65 74 71 20 63 6f 6d 6d    6f 6e 20 28 31 2b 20 63 6f 6d 6d 6f 6e 29 29 29 | ......(setq.common.(1+.common))) | 
| 36760 | 0a 20 20 20 20 63 6f 6d 6d 6f 6e 29 29 0a 0a 28    64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 | .....common))..(defun.projectile | 
| 36780 | 2d 67 72 6f 75 70 2d 66 69 6c 65 2d 63 61 6e 64    69 64 61 74 65 73 20 28 66 69 6c 65 20 63 61 6e | -group-file-candidates.(file.can | 
| 367a0 | 64 69 64 61 74 65 73 29 0a 20 20 22 47 72 6f 75    70 20 66 69 6c 65 20 63 61 6e 64 69 64 61 74 65 | didates)..."Group.file.candidate | 
| 367c0 | 73 20 62 79 20 64 69 72 6e 61 6d 65 20 6d 61 74    63 68 69 6e 67 20 63 6f 75 6e 74 2e 22 0a 20 20 | s.by.dirname.matching.count."... | 
| 367e0 | 28 63 6c 2d 73 6f 72 74 20 28 63 6f 70 79 2d 73    65 71 75 65 6e 63 65 0a 20 20 20 20 20 20 20 20 | (cl-sort.(copy-sequence......... | 
| 36800 | 20 20 20 20 28 6c 65 74 20 28 76 61 6c 75 65 20    72 65 73 75 6c 74 29 0a 20 20 20 20 20 20 20 20 | ....(let.(value.result)......... | 
| 36820 | 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 73 65    74 71 20 76 61 6c 75 65 20 28 70 6f 70 20 63 61 | ......(while.(setq.value.(pop.ca | 
| 36840 | 6e 64 69 64 61 74 65 73 29 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a | ndidates)).................(let* | 
| 36860 | 20 28 28 6b 65 79 20 28 70 72 6f 6a 65 63 74 69    6c 65 2d 64 69 72 6e 61 6d 65 2d 6d 61 74 63 68 | .((key.(projectile-dirname-match | 
| 36880 | 69 6e 67 2d 63 6f 75 6e 74 20 66 69 6c 65 20 76    61 6c 75 65 29 29 0a 20 20 20 20 20 20 20 20 20 | ing-count.file.value)).......... | 
| 368a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6b    76 20 28 61 73 73 6f 63 20 6b 65 79 20 72 65 73 | ..............(kv.(assoc.key.res | 
| 368c0 | 75 6c 74 29 29 29 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 28 69 66 20 6b 76 0a | ult)))...................(if.kv. | 
| 368e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 73 65 74 63 64 72 20 6b 76 | ......................(setcdr.kv | 
| 36900 | 20 28 63 6f 6e 73 20 76 61 6c 75 65 20 28 63 64    72 20 6b 76 29 29 29 0a 20 20 20 20 20 20 20 20 | .(cons.value.(cdr.kv)))......... | 
| 36920 | 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73    68 20 28 6c 69 73 74 20 6b 65 79 20 76 61 6c 75 | ............(push.(list.key.valu | 
| 36940 | 65 29 20 72 65 73 75 6c 74 29 29 29 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 | e).result))))...............(map | 
| 36960 | 63 61 72 20 28 6c 61 6d 62 64 61 20 28 78 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | car.(lambda.(x)................. | 
| 36980 | 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 28 63    61 72 20 78 29 20 28 6e 72 65 76 65 72 73 65 20 | ........(cons.(car.x).(nreverse. | 
| 369a0 | 28 63 64 72 20 78 29 29 29 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | (cdr.x))))...................... | 
| 369c0 | 20 28 6e 72 65 76 65 72 73 65 20 72 65 73 75 6c    74 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 | .(nreverse.result))))........... | 
| 369e0 | 20 28 6c 61 6d 62 64 61 20 28 61 20 62 29 20 28    3e 20 28 63 61 72 20 61 29 20 28 63 61 72 20 62 | .(lambda.(a.b).(>.(car.a).(car.b | 
| 36a00 | 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 72    6f 6a 65 63 74 69 6c 65 2d 2d 62 65 73 74 2d 6f | )))))..(defun.projectile--best-o | 
| 36a20 | 72 2d 61 6c 6c 2d 63 61 6e 64 69 64 61 74 65 73    2d 62 61 73 65 64 2d 6f 6e 2d 70 61 72 65 6e 74 | r-all-candidates-based-on-parent | 
| 36a40 | 73 2d 64 69 72 73 20 28 66 69 6c 65 20 63 61 6e    64 69 64 61 74 65 73 29 0a 20 20 22 52 65 74 75 | s-dirs.(file.candidates)..."Retu | 
| 36a60 | 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65    20 62 65 73 74 20 6f 6e 65 20 6f 6e 65 20 66 6f | rn.a.list.of.the.best.one.one.fo | 
| 36a80 | 72 20 46 49 4c 45 20 66 72 6f 6d 20 43 41 4e 44    49 44 41 54 45 53 20 6f 72 20 61 6c 6c 20 43 41 | r.FILE.from.CANDIDATES.or.all.CA | 
| 36aa0 | 4e 44 49 44 41 54 45 53 2e 22 0a 20 20 28 6c 65    74 20 28 28 67 72 6f 75 70 65 64 2d 63 61 6e 64 | NDIDATES."...(let.((grouped-cand | 
| 36ac0 | 69 64 61 74 65 73 20 28 70 72 6f 6a 65 63 74 69    6c 65 2d 67 72 6f 75 70 2d 66 69 6c 65 2d 63 61 | idates.(projectile-group-file-ca | 
| 36ae0 | 6e 64 69 64 61 74 65 73 20 66 69 6c 65 20 63 61    6e 64 69 64 61 74 65 73 29 29 29 0a 20 20 20 20 | ndidates.file.candidates)))..... | 
| 36b00 | 28 69 66 20 28 3d 20 28 6c 65 6e 67 74 68 20 28    63 61 72 20 67 72 6f 75 70 65 64 2d 63 61 6e 64 | (if.(=.(length.(car.grouped-cand | 
| 36b20 | 69 64 61 74 65 73 29 29 20 32 29 0a 20 20 20 20    20 20 20 20 28 6c 69 73 74 20 28 63 61 72 20 28 | idates)).2).........(list.(car.( | 
| 36b40 | 6c 61 73 74 20 28 63 61 72 20 67 72 6f 75 70 65    64 2d 63 61 6e 64 69 64 61 74 65 73 29 29 29 29 | last.(car.grouped-candidates)))) | 
| 36b60 | 0a 20 20 20 20 20 20 28 61 70 70 6c 79 20 23 27    61 70 70 65 6e 64 20 28 6d 61 70 63 61 72 20 23 | .......(apply.#'append.(mapcar.# | 
| 36b80 | 27 63 64 72 20 67 72 6f 75 70 65 64 2d 63 61 6e    64 69 64 61 74 65 73 29 29 29 29 29 0a 0a 28 64 | 'cdr.grouped-candidates)))))..(d | 
| 36ba0 | 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d    2d 69 6d 70 6c 2d 74 6f 2d 74 65 73 74 2d 70 72 | efun.projectile--impl-to-test-pr | 
| 36bc0 | 65 64 69 63 61 74 65 20 28 69 6d 70 6c 2d 66 69    6c 65 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 | edicate.(impl-file)..."Return.a. | 
| 36be0 | 70 72 65 64 69 63 61 74 65 2c 20 77 68 69 63 68    20 72 65 74 75 72 6e 73 20 74 20 66 6f 72 20 61 | predicate,.which.returns.t.for.a | 
| 36c00 | 6e 79 20 74 65 73 74 20 66 69 6c 65 73 20 66 6f    72 20 49 4d 50 4c 2d 46 49 4c 45 2e 22 0a 20 20 | ny.test.files.for.IMPL-FILE."... | 
| 36c20 | 28 6c 65 74 2a 20 28 28 62 61 73 65 6e 61 6d 65    20 28 66 69 6c 65 2d 6e 61 6d 65 2d 73 61 6e 73 | (let*.((basename.(file-name-sans | 
| 36c40 | 2d 65 78 74 65 6e 73 69 6f 6e 20 28 66 69 6c 65    2d 6e 61 6d 65 2d 6e 6f 6e 64 69 72 65 63 74 6f | -extension.(file-name-nondirecto | 
| 36c60 | 72 79 20 69 6d 70 6c 2d 66 69 6c 65 29 29 29 0a    20 20 20 20 20 20 20 20 20 28 74 65 73 74 2d 70 | ry.impl-file)))..........(test-p | 
| 36c80 | 72 65 66 69 78 20 28 66 75 6e 63 61 6c 6c 20 70    72 6f 6a 65 63 74 69 6c 65 2d 74 65 73 74 2d 70 | refix.(funcall.projectile-test-p | 
| 36ca0 | 72 65 66 69 78 2d 66 75 6e 63 74 69 6f 6e 20 28    70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 | refix-function.(projectile-proje | 
| 36cc0 | 63 74 2d 74 79 70 65 29 29 29 0a 20 20 20 20 20    20 20 20 20 28 74 65 73 74 2d 73 75 66 66 69 78 | ct-type)))..........(test-suffix | 
| 36ce0 | 20 28 66 75 6e 63 61 6c 6c 20 70 72 6f 6a 65 63    74 69 6c 65 2d 74 65 73 74 2d 73 75 66 66 69 78 | .(funcall.projectile-test-suffix | 
| 36d00 | 2d 66 75 6e 63 74 69 6f 6e 20 28 70 72 6f 6a 65    63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 74 79 | -function.(projectile-project-ty | 
| 36d20 | 70 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 28    70 72 65 66 69 78 2d 6e 61 6d 65 20 28 77 68 65 | pe)))..........(prefix-name.(whe | 
| 36d40 | 6e 20 74 65 73 74 2d 70 72 65 66 69 78 20 28 63    6f 6e 63 61 74 20 74 65 73 74 2d 70 72 65 66 69 | n.test-prefix.(concat.test-prefi | 
| 36d60 | 78 20 62 61 73 65 6e 61 6d 65 29 29 29 0a 20 20    20 20 20 20 20 20 20 28 73 75 66 66 69 78 2d 6e | x.basename)))..........(suffix-n | 
| 36d80 | 61 6d 65 20 28 77 68 65 6e 20 74 65 73 74 2d 73    75 66 66 69 78 20 28 63 6f 6e 63 61 74 20 62 61 | ame.(when.test-suffix.(concat.ba | 
| 36da0 | 73 65 6e 61 6d 65 20 74 65 73 74 2d 73 75 66 66    69 78 29 29 29 29 0a 20 20 20 20 28 6c 61 6d 62 | sename.test-suffix)))).....(lamb | 
| 36dc0 | 64 61 20 28 63 75 72 72 65 6e 74 2d 66 69 6c 65    29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 6e | da.(current-file).......(let.((n | 
| 36de0 | 61 6d 65 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 73    61 6e 73 2d 65 78 74 65 6e 73 69 6f 6e 20 28 66 | ame.(file-name-sans-extension.(f | 
| 36e00 | 69 6c 65 2d 6e 61 6d 65 2d 6e 6f 6e 64 69 72 65    63 74 6f 72 79 20 63 75 72 72 65 6e 74 2d 66 69 | ile-name-nondirectory.current-fi | 
| 36e20 | 6c 65 29 29 29 29 0a 20 20 20 20 20 20 20 20 28    6f 72 20 28 73 74 72 69 6e 67 2d 65 71 75 61 6c | le)))).........(or.(string-equal | 
| 36e40 | 20 70 72 65 66 69 78 2d 6e 61 6d 65 20 6e 61 6d    65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 | .prefix-name.name).............( | 
| 36e60 | 73 74 72 69 6e 67 2d 65 71 75 61 6c 20 73 75 66    66 69 78 2d 6e 61 6d 65 20 6e 61 6d 65 29 29 29 | string-equal.suffix-name.name))) | 
| 36e80 | 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a    65 63 74 69 6c 65 2d 2d 63 6f 6d 70 6c 65 6d 65 | )))..(defun.projectile--compleme | 
| 36ea0 | 6e 74 61 72 79 2d 66 69 6c 65 20 28 66 69 6c 65    2d 70 61 74 68 20 64 69 72 2d 66 6e 20 66 69 6c | ntary-file.(file-path.dir-fn.fil | 
| 36ec0 | 65 6e 61 6d 65 2d 66 6e 29 0a 20 20 22 41 70 70    6c 79 20 44 49 52 2d 46 4e 20 61 6e 64 20 46 49 | ename-fn)..."Apply.DIR-FN.and.FI | 
| 36ee0 | 4c 45 4e 41 4d 45 2d 46 4e 20 74 6f 20 74 68 65    20 64 69 72 65 63 74 6f 72 79 20 61 6e 64 20 6e | LENAME-FN.to.the.directory.and.n | 
| 36f00 | 61 6d 65 20 6f 66 20 46 49 4c 45 2d 50 41 54 48    2e 0a 0a 4d 6f 72 65 20 73 70 65 63 69 66 69 63 | ame.of.FILE-PATH...More.specific | 
| 36f20 | 61 6c 6c 79 2c 20 72 65 74 75 72 6e 20 44 49 52    2d 46 4e 20 61 70 70 6c 69 65 64 20 74 6f 20 74 | ally,.return.DIR-FN.applied.to.t | 
| 36f40 | 68 65 20 64 69 72 65 63 74 6f 72 79 20 6f 66 20    46 49 4c 45 2d 50 41 54 48 0a 63 6f 6e 63 61 74 | he.directory.of.FILE-PATH.concat | 
| 36f60 | 65 6e 61 74 65 64 20 77 69 74 68 20 46 49 4c 45    4e 41 4d 45 2d 46 4e 20 61 70 70 6c 69 65 64 20 | enated.with.FILENAME-FN.applied. | 
| 36f80 | 74 6f 20 74 68 65 20 66 69 6c 65 20 6e 61 6d 65    20 6f 66 20 46 49 4c 45 2d 50 41 54 48 2e 0a 0a | to.the.file.name.of.FILE-PATH... | 
| 36fa0 | 49 66 20 65 69 74 68 65 72 20 66 75 6e 63 74 69    6f 6e 20 72 65 74 75 72 6e 73 20 6e 69 6c 2c 20 | If.either.function.returns.nil,. | 
| 36fc0 | 72 65 74 75 72 6e 20 6e 69 6c 2e 22 0a 20 20 28    6c 65 74 20 28 28 66 69 6c 65 6e 61 6d 65 20 28 | return.nil."...(let.((filename.( | 
| 36fe0 | 66 69 6c 65 2d 6e 61 6d 65 2d 6e 6f 6e 64 69 72    65 63 74 6f 72 79 20 66 69 6c 65 2d 70 61 74 68 | file-name-nondirectory.file-path | 
| 37000 | 29 29 29 0a 20 20 20 20 28 77 68 65 6e 2d 6c 65    74 20 28 28 63 6f 6d 70 6c 65 6d 65 6e 74 61 72 | ))).....(when-let.((complementar | 
| 37020 | 79 2d 66 69 6c 65 6e 61 6d 65 20 28 66 75 6e 63    61 6c 6c 20 66 69 6c 65 6e 61 6d 65 2d 66 6e 20 | y-filename.(funcall.filename-fn. | 
| 37040 | 66 69 6c 65 6e 61 6d 65 29 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 28 64 69 72 20 28 | filename))................(dir.( | 
| 37060 | 66 75 6e 63 61 6c 6c 20 64 69 72 2d 66 6e 20 28    66 69 6c 65 2d 6e 61 6d 65 2d 64 69 72 65 63 74 | funcall.dir-fn.(file-name-direct | 
| 37080 | 6f 72 79 20 66 69 6c 65 2d 70 61 74 68 29 29 29    29 0a 20 20 20 20 20 28 63 6f 6e 63 61 74 20 28 | ory.file-path))))......(concat.( | 
| 370a0 | 66 69 6c 65 2d 6e 61 6d 65 2d 61 73 2d 64 69 72    65 63 74 6f 72 79 20 64 69 72 29 20 63 6f 6d 70 | file-name-as-directory.dir).comp | 
| 370c0 | 6c 65 6d 65 6e 74 61 72 79 2d 66 69 6c 65 6e 61    6d 65 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 | lementary-filename))))..(defun.p | 
| 370e0 | 72 6f 6a 65 63 74 69 6c 65 2d 2d 69 6d 70 6c 2d    66 69 6c 65 2d 66 72 6f 6d 2d 73 72 63 2d 64 69 | rojectile--impl-file-from-src-di | 
| 37100 | 72 2d 73 74 72 20 28 66 69 6c 65 2d 6e 61 6d 65    29 0a 20 20 22 47 65 74 20 74 68 65 20 72 65 6c | r-str.(file-name)..."Get.the.rel | 
| 37120 | 61 74 69 76 65 20 70 61 74 68 20 6f 66 20 74 68    65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e | ative.path.of.the.implementation | 
| 37140 | 20 66 69 6c 65 20 46 49 4c 45 2d 4e 41 4d 45 2e    0a 52 65 74 75 72 6e 20 61 20 70 61 74 68 20 72 | .file.FILE-NAME..Return.a.path.r | 
| 37160 | 65 6c 61 74 69 76 65 20 74 6f 20 74 68 65 20 70    72 6f 6a 65 63 74 20 72 6f 6f 74 20 66 6f 72 20 | elative.to.the.project.root.for. | 
| 37180 | 74 68 65 20 69 6d 70 6c 20 66 69 6c 65 20 6f 66    20 46 49 4c 45 2d 4e 41 4d 45 0a 75 73 69 6e 67 | the.impl.file.of.FILE-NAME.using | 
| 371a0 | 20 74 68 65 20 73 72 63 2d 64 69 72 20 61 6e 64    20 74 65 73 74 2d 64 69 72 20 70 72 6f 70 65 72 | .the.src-dir.and.test-dir.proper | 
| 371c0 | 74 69 65 73 20 6f 66 20 74 68 65 20 63 75 72 72    65 6e 74 20 70 72 6f 6a 65 63 74 20 74 79 70 65 | ties.of.the.current.project.type | 
| 371e0 | 20 77 68 69 63 68 0a 73 68 6f 75 6c 64 20 62 65    20 73 74 72 69 6e 67 73 2c 20 6e 69 6c 20 72 65 | .which.should.be.strings,.nil.re | 
| 37200 | 74 75 72 6e 65 64 20 69 66 20 74 68 69 73 20 69    73 20 6e 6f 74 20 74 68 65 20 63 61 73 65 2e 22 | turned.if.this.is.not.the.case." | 
| 37220 | 0a 20 20 28 77 68 65 6e 2d 6c 65 74 20 28 28 63    6f 6d 70 6c 65 6d 65 6e 74 61 72 79 2d 66 69 6c | ...(when-let.((complementary-fil | 
| 37240 | 65 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 2d 63    6f 6d 70 6c 65 6d 65 6e 74 61 72 79 2d 66 69 6c | e.(projectile--complementary-fil | 
| 37260 | 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | e............................... | 
| 37280 | 20 20 20 20 66 69 6c 65 2d 6e 61 6d 65 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ....file-name................... | 
| 372a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    23 27 70 72 6f 6a 65 63 74 69 6c 65 2d 2d 74 65 | ................#'projectile--te | 
| 372c0 | 73 74 2d 74 6f 2d 69 6d 70 6c 2d 64 69 72 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | st-to-impl-dir.................. | 
| 372e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 23 27 70 72 6f 6a 65 63 74 69 6c 65 2d 2d 69 | .................#'projectile--i | 
| 37300 | 6d 70 6c 2d 6e 61 6d 65 2d 66 6f 72 2d 74 65 73    74 2d 6e 61 6d 65 29 29 29 0a 20 20 20 20 28 66 | mpl-name-for-test-name))).....(f | 
| 37320 | 69 6c 65 2d 72 65 6c 61 74 69 76 65 2d 6e 61 6d    65 20 63 6f 6d 70 6c 65 6d 65 6e 74 61 72 79 2d | ile-relative-name.complementary- | 
| 37340 | 66 69 6c 65 20 28 70 72 6f 6a 65 63 74 69 6c 65    2d 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 29 29 29 | file.(projectile-project-root))) | 
| 37360 | 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63    74 69 6c 65 2d 2d 74 65 73 74 2d 66 69 6c 65 2d | )..(defun.projectile--test-file- | 
| 37380 | 66 72 6f 6d 2d 74 65 73 74 2d 64 69 72 2d 73 74    72 20 28 66 69 6c 65 2d 6e 61 6d 65 29 0a 20 20 | from-test-dir-str.(file-name)... | 
| 373a0 | 22 47 65 74 20 74 68 65 20 72 65 6c 61 74 69 76    65 20 70 61 74 68 20 6f 66 20 74 68 65 20 74 65 | "Get.the.relative.path.of.the.te | 
| 373c0 | 73 74 20 66 69 6c 65 20 46 49 4c 45 2d 4e 41 4d    45 2e 0a 52 65 74 75 72 6e 20 61 20 70 61 74 68 | st.file.FILE-NAME..Return.a.path | 
| 373e0 | 20 72 65 6c 61 74 69 76 65 20 74 6f 20 74 68 65    20 70 72 6f 6a 65 63 74 20 72 6f 6f 74 20 66 6f | .relative.to.the.project.root.fo | 
| 37400 | 72 20 74 68 65 20 74 65 73 74 20 66 69 6c 65 20    6f 66 20 46 49 4c 45 2d 4e 41 4d 45 0a 75 73 69 | r.the.test.file.of.FILE-NAME.usi | 
| 37420 | 6e 67 20 74 68 65 20 73 72 63 2d 64 69 72 20 61    6e 64 20 74 65 73 74 2d 64 69 72 20 70 72 6f 70 | ng.the.src-dir.and.test-dir.prop | 
| 37440 | 65 72 74 69 65 73 20 6f 66 20 74 68 65 20 63 75    72 72 65 6e 74 20 70 72 6f 6a 65 63 74 20 74 79 | erties.of.the.current.project.ty | 
| 37460 | 70 65 20 77 68 69 63 68 0a 73 68 6f 75 6c 64 20    62 65 20 73 74 72 69 6e 67 73 2c 20 6e 69 6c 20 | pe.which.should.be.strings,.nil. | 
| 37480 | 72 65 74 75 72 6e 65 64 20 69 66 20 74 68 69 73    20 69 73 20 6e 6f 74 20 74 68 65 20 63 61 73 65 | returned.if.this.is.not.the.case | 
| 374a0 | 2e 22 0a 20 20 28 77 68 65 6e 2d 6c 65 74 20 28    63 6f 6d 70 6c 65 6d 65 6e 74 61 72 79 2d 66 69 | ."...(when-let.(complementary-fi | 
| 374c0 | 6c 65 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 2d    63 6f 6d 70 6c 65 6d 65 6e 74 61 72 79 2d 66 69 | le.(projectile--complementary-fi | 
| 374e0 | 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | le.............................. | 
| 37500 | 20 20 20 20 66 69 6c 65 2d 6e 61 6d 65 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ....file-name................... | 
| 37520 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23    27 70 72 6f 6a 65 63 74 69 6c 65 2d 2d 69 6d 70 | ...............#'projectile--imp | 
| 37540 | 6c 2d 74 6f 2d 74 65 73 74 2d 64 69 72 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | l-to-test-dir................... | 
| 37560 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23    27 70 72 6f 6a 65 63 74 69 6c 65 2d 2d 74 65 73 | ...............#'projectile--tes | 
| 37580 | 74 2d 6e 61 6d 65 2d 66 6f 72 2d 69 6d 70 6c 2d    6e 61 6d 65 29 29 0a 20 20 20 20 28 66 69 6c 65 | t-name-for-impl-name)).....(file | 
| 375a0 | 2d 72 65 6c 61 74 69 76 65 2d 6e 61 6d 65 20 63    6f 6d 70 6c 65 6d 65 6e 74 61 72 79 2d 66 69 6c | -relative-name.complementary-fil | 
| 375c0 | 65 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72    6f 6a 65 63 74 2d 72 6f 6f 74 29 29 29 29 0a 0a | e.(projectile-project-root)))).. | 
| 375e0 | 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c    65 2d 2d 69 6d 70 6c 2d 66 69 6c 65 2d 66 72 6f | (defun.projectile--impl-file-fro | 
| 37600 | 6d 2d 73 72 63 2d 64 69 72 2d 66 6e 20 28 74 65    73 74 2d 66 69 6c 65 29 0a 20 20 22 47 65 74 20 | m-src-dir-fn.(test-file)..."Get. | 
| 37620 | 74 68 65 20 72 65 6c 61 74 69 76 65 20 70 61 74    68 20 74 6f 20 74 68 65 20 69 6d 70 6c 65 6d 65 | the.relative.path.to.the.impleme | 
| 37640 | 6e 74 61 74 69 6f 6e 20 66 69 6c 65 20 63 6f 72    72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 54 45 | ntation.file.corresponding.to.TE | 
| 37660 | 53 54 2d 46 49 4c 45 2e 0a 52 65 74 75 72 6e 20    74 68 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 | ST-FILE..Return.the.implementati | 
| 37680 | 6f 6e 20 66 69 6c 65 20 70 61 74 68 20 66 6f 72    20 74 68 65 20 61 62 73 6f 6c 75 74 65 20 70 61 | on.file.path.for.the.absolute.pa | 
| 376a0 | 74 68 20 54 45 53 54 2d 46 49 4c 45 0a 72 65 6c    61 74 69 76 65 20 74 6f 20 74 68 65 20 70 72 6f | th.TEST-FILE.relative.to.the.pro | 
| 376c0 | 6a 65 63 74 20 72 6f 6f 74 20 69 6e 20 74 68 65    20 63 61 73 65 20 74 68 65 20 63 75 72 72 65 6e | ject.root.in.the.case.the.curren | 
| 376e0 | 74 20 70 72 6f 6a 65 63 74 20 74 79 70 65 27 73    20 73 72 63 2d 64 69 72 0a 68 61 73 20 62 65 65 | t.project.type's.src-dir.has.bee | 
| 37700 | 6e 20 73 65 74 20 74 6f 20 61 20 63 75 73 74 6f    6d 20 66 75 6e 63 74 69 6f 6e 2c 20 72 65 74 75 | n.set.to.a.custom.function,.retu | 
| 37720 | 72 6e 20 6e 69 6c 20 69 66 20 74 68 69 73 20 69    73 20 6e 6f 74 20 74 68 65 20 63 61 73 65 20 6f | rn.nil.if.this.is.not.the.case.o | 
| 37740 | 72 0a 74 68 65 20 70 61 74 68 20 70 6f 69 6e 74    73 20 74 6f 20 61 20 66 69 6c 65 20 74 68 61 74 | r.the.path.points.to.a.file.that | 
| 37760 | 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e    22 0a 20 20 28 77 68 65 6e 2d 6c 65 74 20 28 28 | .does.not.exist."...(when-let.(( | 
| 37780 | 73 72 63 2d 64 69 72 20 28 70 72 6f 6a 65 63 74    69 6c 65 2d 73 72 63 2d 64 69 72 65 63 74 6f 72 | src-dir.(projectile-src-director | 
| 377a0 | 79 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72    6f 6a 65 63 74 2d 74 79 70 65 29 29 29 29 0a 20 | y.(projectile-project-type)))).. | 
| 377c0 | 20 20 20 28 77 68 65 6e 20 28 66 75 6e 63 74 69    6f 6e 70 20 73 72 63 2d 64 69 72 29 0a 20 20 20 | ...(when.(functionp.src-dir).... | 
| 377e0 | 20 20 20 28 6c 65 74 20 28 28 69 6d 70 6c 2d 66    69 6c 65 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d | ...(let.((impl-file.(projectile- | 
| 37800 | 2d 63 6f 6d 70 6c 65 6d 65 6e 74 61 72 79 2d 66    69 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 | -complementary-file............. | 
| 37820 | 20 20 20 20 20 20 20 20 20 20 20 20 74 65 73 74    2d 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 20 | ............test-file........... | 
| 37840 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 72    63 2d 64 69 72 0a 20 20 20 20 20 20 20 20 20 20 | ..............src-dir........... | 
| 37860 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 27    70 72 6f 6a 65 63 74 69 6c 65 2d 2d 69 6d 70 6c | ..............#'projectile--impl | 
| 37880 | 2d 6e 61 6d 65 2d 66 6f 72 2d 74 65 73 74 2d 6e    61 6d 65 29 29 29 0a 20 20 20 20 20 20 20 20 28 | -name-for-test-name))).........( | 
| 378a0 | 77 68 65 6e 20 28 66 69 6c 65 2d 65 78 69 73 74    73 2d 70 20 69 6d 70 6c 2d 66 69 6c 65 29 0a 20 | when.(file-exists-p.impl-file).. | 
| 378c0 | 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 2d 72    65 6c 61 74 69 76 65 2d 6e 61 6d 65 20 69 6d 70 | .........(file-relative-name.imp | 
| 378e0 | 6c 2d 66 69 6c 65 20 28 70 72 6f 6a 65 63 74 69    6c 65 2d 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 29 | l-file.(projectile-project-root) | 
| 37900 | 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 70    72 6f 6a 65 63 74 69 6c 65 2d 2d 74 65 73 74 2d | ))))))..(defun.projectile--test- | 
| 37920 | 66 69 6c 65 2d 66 72 6f 6d 2d 74 65 73 74 2d 64    69 72 2d 66 6e 20 28 69 6d 70 6c 2d 66 69 6c 65 | file-from-test-dir-fn.(impl-file | 
| 37940 | 29 0a 20 20 22 47 65 74 20 74 68 65 20 72 65 6c    61 74 69 76 65 20 70 61 74 68 20 74 6f 20 74 68 | )..."Get.the.relative.path.to.th | 
| 37960 | 65 20 74 65 73 74 20 66 69 6c 65 20 63 6f 72 72    65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 49 4d 50 | e.test.file.corresponding.to.IMP | 
| 37980 | 4c 2d 46 49 4c 45 2e 0a 52 65 74 75 72 6e 20 74    68 65 20 74 65 73 74 20 66 69 6c 65 20 70 61 74 | L-FILE..Return.the.test.file.pat | 
| 379a0 | 68 20 66 6f 72 20 74 68 65 20 61 62 73 6f 6c 75    74 65 20 70 61 74 68 20 49 4d 50 4c 2d 46 49 4c | h.for.the.absolute.path.IMPL-FIL | 
| 379c0 | 45 20 72 65 6c 61 74 69 76 65 20 74 6f 20 74 68    65 0a 70 72 6f 6a 65 63 74 20 72 6f 6f 74 2c 20 | E.relative.to.the.project.root,. | 
| 379e0 | 69 6e 20 74 68 65 20 63 61 73 65 20 74 68 65 20    63 75 72 72 65 6e 74 20 70 72 6f 6a 65 63 74 20 | in.the.case.the.current.project. | 
| 37a00 | 74 79 70 65 27 73 20 74 65 73 74 2d 64 69 72 20    68 61 73 20 62 65 65 6e 20 73 65 74 0a 74 6f 20 | type's.test-dir.has.been.set.to. | 
| 37a20 | 61 20 63 75 73 74 6f 6d 20 66 75 6e 63 74 69 6f    6e 2c 20 65 6c 73 65 20 72 65 74 75 72 6e 20 6e | a.custom.function,.else.return.n | 
| 37a40 | 69 6c 2e 22 0a 20 20 28 77 68 65 6e 2d 6c 65 74    20 28 28 74 65 73 74 2d 64 69 72 20 28 70 72 6f | il."...(when-let.((test-dir.(pro | 
| 37a60 | 6a 65 63 74 69 6c 65 2d 74 65 73 74 2d 64 69 72    65 63 74 6f 72 79 20 28 70 72 6f 6a 65 63 74 69 | jectile-test-directory.(projecti | 
| 37a80 | 6c 65 2d 70 72 6f 6a 65 63 74 2d 74 79 70 65 29    29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 66 | le-project-type)))).....(when.(f | 
| 37aa0 | 75 6e 63 74 69 6f 6e 70 20 74 65 73 74 2d 64 69    72 29 0a 20 20 20 20 20 20 28 66 69 6c 65 2d 72 | unctionp.test-dir).......(file-r | 
| 37ac0 | 65 6c 61 74 69 76 65 2d 6e 61 6d 65 0a 20 20 20    20 20 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d | elative-name........(projectile- | 
| 37ae0 | 2d 63 6f 6d 70 6c 65 6d 65 6e 74 61 72 79 2d 66    69 6c 65 0a 20 20 20 20 20 20 20 20 69 6d 70 6c | -complementary-file.........impl | 
| 37b00 | 2d 66 69 6c 65 0a 20 20 20 20 20 20 20 20 74 65    73 74 2d 64 69 72 0a 20 20 20 20 20 20 20 20 23 | -file.........test-dir.........# | 
| 37b20 | 27 70 72 6f 6a 65 63 74 69 6c 65 2d 2d 74 65 73    74 2d 6e 61 6d 65 2d 66 6f 72 2d 69 6d 70 6c 2d | 'projectile--test-name-for-impl- | 
| 37b40 | 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 28 70 72    6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 | name)........(projectile-project | 
| 37b60 | 2d 72 6f 6f 74 29 29 29 29 29 0a 0a 28 64 65 66    6d 61 63 72 6f 20 70 72 6f 6a 65 63 74 69 6c 65 | -root)))))..(defmacro.projectile | 
| 37b80 | 2d 2d 61 63 6f 6e 64 20 28 26 72 65 73 74 20 63    6c 61 75 73 65 73 29 0a 20 20 22 4c 69 6b 65 20 | --acond.(&rest.clauses)..."Like. | 
| 37ba0 | 60 63 6f 6e 64 27 2c 20 62 75 74 20 74 68 65 20    72 65 73 75 6c 74 20 6f 66 20 65 61 63 68 20 63 | `cond',.but.the.result.of.each.c | 
| 37bc0 | 6f 6e 64 69 74 69 6f 6e 20 69 73 20 62 6f 75 6e    64 20 74 6f 20 60 69 74 27 2e 0a 0a 54 68 65 20 | ondition.is.bound.to.`it'...The. | 
| 37be0 | 76 61 72 69 61 62 6c 65 20 60 69 74 27 20 69 73    20 61 76 61 69 6c 61 62 6c 65 20 77 69 74 68 69 | variable.`it'.is.available.withi | 
| 37c00 | 6e 20 74 68 65 20 72 65 6d 61 69 6e 64 65 72 20    6f 66 20 65 61 63 68 20 6f 66 20 43 4c 41 55 53 | n.the.remainder.of.each.of.CLAUS | 
| 37c20 | 45 53 2e 0a 0a 43 4c 41 55 53 45 53 20 61 72 65    20 6f 74 68 65 72 77 69 73 65 20 61 73 20 64 6f | ES...CLAUSES.are.otherwise.as.do | 
| 37c40 | 63 75 6d 65 6e 74 65 64 20 66 6f 72 20 60 63 6f    6e 64 27 2e 20 20 54 68 69 73 20 69 73 20 63 6f | cumented.for.`cond'...This.is.co | 
| 37c60 | 70 69 65 64 20 66 72 6f 6d 0a 61 6e 61 70 68 6f    72 61 2e 65 6c 2e 22 0a 20 20 28 64 65 63 6c 61 | pied.from.anaphora.el."...(decla | 
| 37c80 | 72 65 20 28 64 65 62 75 67 20 63 6f 6e 64 29 29    0a 20 20 28 69 66 20 28 6e 75 6c 6c 20 63 6c 61 | re.(debug.cond))...(if.(null.cla | 
| 37ca0 | 75 73 65 73 29 0a 20 20 20 20 20 20 6e 69 6c 0a    20 20 20 20 28 6c 65 74 20 28 28 63 6c 31 20 28 | uses).......nil.....(let.((cl1.( | 
| 37cc0 | 63 61 72 20 63 6c 61 75 73 65 73 29 29 0a 20 20    20 20 20 20 20 20 20 20 28 73 79 6d 20 28 63 6c | car.clauses))...........(sym.(cl | 
| 37ce0 | 2d 67 65 6e 73 79 6d 29 29 29 0a 20 20 20 20 20    20 60 28 6c 65 74 20 28 28 2c 73 79 6d 20 2c 28 | -gensym))).......`(let.((,sym.,( | 
| 37d00 | 63 61 72 20 63 6c 31 29 29 29 0a 20 20 20 20 20    20 20 20 20 28 69 66 20 2c 73 79 6d 0a 20 20 20 | car.cl1)))..........(if.,sym.... | 
| 37d20 | 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 6e    75 6c 6c 20 27 2c 28 63 64 72 20 63 6c 31 29 29 | ..........(if.(null.',(cdr.cl1)) | 
| 37d40 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 2c 73 79 6d 0a 20 20 20 20 20 20 20 20 20 | ..................,sym.......... | 
| 37d60 | 20 20 20 20 20 20 28 6c 65 74 20 28 28 69 74 20    2c 73 79 6d 29 29 20 2c 40 28 63 64 72 20 63 6c | ......(let.((it.,sym)).,@(cdr.cl | 
| 37d80 | 31 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20    28 70 72 6f 6a 65 63 74 69 6c 65 2d 2d 61 63 6f | 1)))............(projectile--aco | 
| 37da0 | 6e 64 20 2c 40 28 63 64 72 20 63 6c 61 75 73 65    73 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e | nd.,@(cdr.clauses)))))))..(defun | 
| 37dc0 | 20 70 72 6f 6a 65 63 74 69 6c 65 2d 2d 66 69 6e    64 2d 6d 61 74 63 68 69 6e 67 2d 74 65 73 74 20 | .projectile--find-matching-test. | 
| 37de0 | 28 69 6d 70 6c 2d 66 69 6c 65 29 0a 20 20 22 52    65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 | (impl-file)..."Return.a.list.of. | 
| 37e00 | 74 65 73 74 20 66 69 6c 65 73 20 66 6f 72 20 49    4d 50 4c 2d 46 49 4c 45 2e 0a 0a 54 68 65 20 70 | test.files.for.IMPL-FILE...The.p | 
| 37e20 | 72 65 63 65 64 65 6e 63 65 20 66 6f 72 20 64 65    74 65 72 6d 69 6e 69 6e 67 20 74 65 73 74 20 66 | recedence.for.determining.test.f | 
| 37e40 | 69 6c 65 73 20 74 6f 20 72 65 74 75 72 6e 20 69    73 3a 0a 0a 31 2e 20 55 73 65 20 74 68 65 20 70 | iles.to.return.is:..1..Use.the.p | 
| 37e60 | 72 6f 6a 65 63 74 20 74 79 70 65 27 73 20 74 65    73 74 2d 64 69 72 20 70 72 6f 70 65 72 74 79 20 | roject.type's.test-dir.property. | 
| 37e80 | 69 66 20 69 74 27 73 20 73 65 74 20 74 6f 20 61    20 66 75 6e 63 74 69 6f 6e 0a 32 2e 20 55 73 65 | if.it's.set.to.a.function.2..Use | 
| 37ea0 | 20 74 68 65 20 70 72 6f 6a 65 63 74 20 74 79 70    65 27 73 20 72 65 6c 61 74 65 64 2d 66 69 6c 65 | .the.project.type's.related-file | 
| 37ec0 | 73 2d 66 6e 20 70 72 6f 70 65 72 74 79 20 69 66    20 73 65 74 0a 33 2e 20 55 73 65 20 74 68 65 20 | s-fn.property.if.set.3..Use.the. | 
| 37ee0 | 70 72 6f 6a 65 63 74 20 74 79 70 65 27 73 20 74    65 73 74 2d 64 69 72 20 70 72 6f 70 65 72 74 79 | project.type's.test-dir.property | 
| 37f00 | 20 69 66 20 69 74 27 73 20 73 65 74 20 74 6f 20    61 20 73 74 72 69 6e 67 0a 34 2e 20 41 74 74 65 | .if.it's.set.to.a.string.4..Atte | 
| 37f20 | 6d 70 74 20 74 6f 20 66 69 6e 64 20 61 20 66 69    6c 65 20 62 79 20 6d 61 74 63 68 69 6e 67 20 61 | mpt.to.find.a.file.by.matching.a | 
| 37f40 | 6c 6c 20 70 72 6f 6a 65 63 74 20 66 69 6c 65 73    20 61 67 61 69 6e 73 74 0a 20 20 20 60 70 72 6f | ll.project.files.against....`pro | 
| 37f60 | 6a 65 63 74 69 6c 65 2d 2d 69 6d 70 6c 2d 74 6f    2d 74 65 73 74 2d 70 72 65 64 69 63 61 74 65 27 | jectile--impl-to-test-predicate' | 
| 37f80 | 0a 35 2e 20 46 61 6c 6c 62 61 63 6b 20 74 6f 20    73 77 61 70 70 69 6e 67 20 5c 22 73 72 63 5c 22 | .5..Fallback.to.swapping.\"src\" | 
| 37fa0 | 20 66 6f 72 20 5c 22 74 65 73 74 5c 22 20 69 6e    20 49 4d 50 4c 2d 46 49 4c 45 20 69 66 20 5c 22 | .for.\"test\".in.IMPL-FILE.if.\" | 
| 37fc0 | 73 72 63 5c 22 0a 20 20 20 69 73 20 61 20 73 75    62 73 74 72 69 6e 67 20 6f 66 20 49 4d 50 4c 2d | src\"....is.a.substring.of.IMPL- | 
| 37fe0 | 46 49 4c 45 2e 22 0a 20 20 28 70 72 6f 6a 65 63    74 69 6c 65 2d 2d 61 63 6f 6e 64 0a 20 20 20 28 | FILE."...(projectile--acond....( | 
| 38000 | 28 70 72 6f 6a 65 63 74 69 6c 65 2d 2d 74 65 73    74 2d 66 69 6c 65 2d 66 72 6f 6d 2d 74 65 73 74 | (projectile--test-file-from-test | 
| 38020 | 2d 64 69 72 2d 66 6e 20 69 6d 70 6c 2d 66 69 6c    65 29 20 28 6c 69 73 74 20 69 74 29 29 0a 20 20 | -dir-fn.impl-file).(list.it))... | 
| 38040 | 20 28 28 70 72 6f 6a 65 63 74 69 6c 65 2d 2d 72    65 6c 61 74 65 64 2d 66 69 6c 65 73 2d 70 6c 69 | .((projectile--related-files-pli | 
| 38060 | 73 74 2d 62 79 2d 6b 69 6e 64 20 69 6d 70 6c 2d    66 69 6c 65 20 3a 74 65 73 74 29 0a 20 20 20 20 | st-by-kind.impl-file.:test)..... | 
| 38080 | 28 70 72 6f 6a 65 63 74 69 6c 65 2d 2d 72 65 6c    61 74 65 64 2d 66 69 6c 65 73 2d 66 72 6f 6d 2d | (projectile--related-files-from- | 
| 380a0 | 70 6c 69 73 74 20 69 74 29 29 0a 20 20 20 28 28    70 72 6f 6a 65 63 74 69 6c 65 2d 2d 74 65 73 74 | plist.it))....((projectile--test | 
| 380c0 | 2d 66 69 6c 65 2d 66 72 6f 6d 2d 74 65 73 74 2d    64 69 72 2d 73 74 72 20 69 6d 70 6c 2d 66 69 6c | -file-from-test-dir-str.impl-fil | 
| 380e0 | 65 29 20 28 6c 69 73 74 20 69 74 29 29 0a 20 20    20 28 28 70 72 6f 6a 65 63 74 69 6c 65 2d 2d 62 | e).(list.it))....((projectile--b | 
| 38100 | 65 73 74 2d 6f 72 2d 61 6c 6c 2d 63 61 6e 64 69    64 61 74 65 73 2d 62 61 73 65 64 2d 6f 6e 2d 70 | est-or-all-candidates-based-on-p | 
| 38120 | 61 72 65 6e 74 73 2d 64 69 72 73 0a 20 20 20 20    20 69 6d 70 6c 2d 66 69 6c 65 20 28 63 6c 2d 72 | arents-dirs......impl-file.(cl-r | 
| 38140 | 65 6d 6f 76 65 2d 69 66 2d 6e 6f 74 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 | emove-if-not.................(pr | 
| 38160 | 6f 6a 65 63 74 69 6c 65 2d 2d 69 6d 70 6c 2d 74    6f 2d 74 65 73 74 2d 70 72 65 64 69 63 61 74 65 | ojectile--impl-to-test-predicate | 
| 38180 | 20 69 6d 70 6c 2d 66 69 6c 65 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f | .impl-file).................(pro | 
| 381a0 | 6a 65 63 74 69 6c 65 2d 63 75 72 72 65 6e 74 2d    70 72 6f 6a 65 63 74 2d 66 69 6c 65 73 29 29 29 | jectile-current-project-files))) | 
| 381c0 | 20 69 74 29 0a 20 20 20 28 28 70 72 6f 6a 65 63    74 69 6c 65 2d 2d 69 6d 70 6c 2d 74 6f 2d 74 65 | .it)....((projectile--impl-to-te | 
| 381e0 | 73 74 2d 64 69 72 2d 66 61 6c 6c 62 61 63 6b 20    69 6d 70 6c 2d 66 69 6c 65 29 0a 20 20 20 20 28 | st-dir-fallback.impl-file).....( | 
| 38200 | 6c 69 73 74 20 69 74 29 29 29 29 0a 0a 28 64 65    66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 2d | list.it))))..(defun.projectile-- | 
| 38220 | 74 65 73 74 2d 74 6f 2d 69 6d 70 6c 2d 70 72 65    64 69 63 61 74 65 20 28 74 65 73 74 2d 66 69 6c | test-to-impl-predicate.(test-fil | 
| 38240 | 65 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 70    72 65 64 69 63 61 74 65 2c 20 77 68 69 63 68 20 | e)..."Return.a.predicate,.which. | 
| 38260 | 72 65 74 75 72 6e 73 20 74 20 66 6f 72 20 61 6e    79 20 69 6d 70 6c 20 66 69 6c 65 73 20 66 6f 72 | returns.t.for.any.impl.files.for | 
| 38280 | 20 54 45 53 54 2d 46 49 4c 45 2e 22 0a 20 20 28    6c 65 74 2a 20 28 28 62 61 73 65 6e 61 6d 65 20 | .TEST-FILE."...(let*.((basename. | 
| 382a0 | 28 66 69 6c 65 2d 6e 61 6d 65 2d 73 61 6e 73 2d    65 78 74 65 6e 73 69 6f 6e 20 28 66 69 6c 65 2d | (file-name-sans-extension.(file- | 
| 382c0 | 6e 61 6d 65 2d 6e 6f 6e 64 69 72 65 63 74 6f 72    79 20 74 65 73 74 2d 66 69 6c 65 29 29 29 0a 20 | name-nondirectory.test-file))).. | 
| 382e0 | 20 20 20 20 20 20 20 20 28 74 65 73 74 2d 70 72    65 66 69 78 20 28 66 75 6e 63 61 6c 6c 20 70 72 | ........(test-prefix.(funcall.pr | 
| 38300 | 6f 6a 65 63 74 69 6c 65 2d 74 65 73 74 2d 70 72    65 66 69 78 2d 66 75 6e 63 74 69 6f 6e 20 28 70 | ojectile-test-prefix-function.(p | 
| 38320 | 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63    74 2d 74 79 70 65 29 29 29 0a 20 20 20 20 20 20 | rojectile-project-type)))....... | 
| 38340 | 20 20 20 28 74 65 73 74 2d 73 75 66 66 69 78 20    28 66 75 6e 63 61 6c 6c 20 70 72 6f 6a 65 63 74 | ...(test-suffix.(funcall.project | 
| 38360 | 69 6c 65 2d 74 65 73 74 2d 73 75 66 66 69 78 2d    66 75 6e 63 74 69 6f 6e 20 28 70 72 6f 6a 65 63 | ile-test-suffix-function.(projec | 
| 38380 | 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 74 79 70    65 29 29 29 29 0a 20 20 20 20 28 6c 61 6d 62 64 | tile-project-type)))).....(lambd | 
| 383a0 | 61 20 28 63 75 72 72 65 6e 74 2d 66 69 6c 65 29    0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 6e 61 | a.(current-file).......(let.((na | 
| 383c0 | 6d 65 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 6e 6f    6e 64 69 72 65 63 74 6f 72 79 20 28 66 69 6c 65 | me.(file-name-nondirectory.(file | 
| 383e0 | 2d 6e 61 6d 65 2d 73 61 6e 73 2d 65 78 74 65 6e    73 69 6f 6e 20 63 75 72 72 65 6e 74 2d 66 69 6c | -name-sans-extension.current-fil | 
| 38400 | 65 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 6f    72 20 28 77 68 65 6e 20 74 65 73 74 2d 70 72 65 | e)))).........(or.(when.test-pre | 
| 38420 | 66 69 78 20 28 73 74 72 69 6e 67 2d 65 71 75 61    6c 20 28 63 6f 6e 63 61 74 20 74 65 73 74 2d 70 | fix.(string-equal.(concat.test-p | 
| 38440 | 72 65 66 69 78 20 6e 61 6d 65 29 20 62 61 73 65    6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 | refix.name).basename)).......... | 
| 38460 | 20 20 20 28 77 68 65 6e 20 74 65 73 74 2d 73 75    66 66 69 78 20 28 73 74 72 69 6e 67 2d 65 71 75 | ...(when.test-suffix.(string-equ | 
| 38480 | 61 6c 20 28 63 6f 6e 63 61 74 20 6e 61 6d 65 20    74 65 73 74 2d 73 75 66 66 69 78 29 20 62 61 73 | al.(concat.name.test-suffix).bas | 
| 384a0 | 65 6e 61 6d 65 29 29 29 29 29 29 29 0a 0a 28 64    65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d | ename)))))))..(defun.projectile- | 
| 384c0 | 2d 66 69 6e 64 2d 6d 61 74 63 68 69 6e 67 2d 66    69 6c 65 20 28 74 65 73 74 2d 66 69 6c 65 29 0a | -find-matching-file.(test-file). | 
| 384e0 | 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 74    20 6f 66 20 69 6d 70 6c 20 66 69 6c 65 73 20 74 | .."Return.a.list.of.impl.files.t | 
| 38500 | 65 73 74 65 64 20 62 79 20 54 45 53 54 2d 46 49    4c 45 2e 0a 0a 54 68 65 20 70 72 65 63 65 64 65 | ested.by.TEST-FILE...The.precede | 
| 38520 | 6e 63 65 20 66 6f 72 20 64 65 74 65 72 6d 69 6e    69 6e 67 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 | nce.for.determining.implementati | 
| 38540 | 6f 6e 20 66 69 6c 65 73 20 74 6f 20 72 65 74 75    72 6e 20 69 73 3a 0a 0a 31 2e 20 55 73 65 20 74 | on.files.to.return.is:..1..Use.t | 
| 38560 | 68 65 20 70 72 6f 6a 65 63 74 20 74 79 70 65 27    73 20 73 72 63 2d 64 69 72 20 70 72 6f 70 65 72 | he.project.type's.src-dir.proper | 
| 38580 | 74 79 20 69 66 20 69 74 27 73 20 73 65 74 20 74    6f 20 61 20 66 75 6e 63 74 69 6f 6e 0a 32 2e 20 | ty.if.it's.set.to.a.function.2.. | 
| 385a0 | 55 73 65 20 74 68 65 20 70 72 6f 6a 65 63 74 20    74 79 70 65 27 73 20 72 65 6c 61 74 65 64 2d 66 | Use.the.project.type's.related-f | 
| 385c0 | 69 6c 65 73 2d 66 6e 20 70 72 6f 70 65 72 74 79    20 69 66 20 73 65 74 0a 33 2e 20 55 73 65 20 74 | iles-fn.property.if.set.3..Use.t | 
| 385e0 | 68 65 20 70 72 6f 6a 65 63 74 20 74 79 70 65 27    73 20 73 72 63 2d 64 69 72 20 70 72 6f 70 65 72 | he.project.type's.src-dir.proper | 
| 38600 | 74 79 20 69 66 20 69 74 27 73 20 73 65 74 20 74    6f 20 61 20 73 74 72 69 6e 67 0a 34 2e 20 44 65 | ty.if.it's.set.to.a.string.4..De | 
| 38620 | 66 61 75 6c 74 20 74 6f 20 61 20 66 61 6c 6c 62    61 63 6b 20 77 68 69 63 68 20 6d 61 74 63 68 65 | fault.to.a.fallback.which.matche | 
| 38640 | 73 20 61 6c 6c 20 70 72 6f 6a 65 63 74 20 66 69    6c 65 73 20 61 67 61 69 6e 73 74 0a 20 20 20 60 | s.all.project.files.against....` | 
| 38660 | 70 72 6f 6a 65 63 74 69 6c 65 2d 2d 74 65 73 74    2d 74 6f 2d 69 6d 70 6c 2d 70 72 65 64 69 63 61 | projectile--test-to-impl-predica | 
| 38680 | 74 65 27 0a 35 2e 20 46 61 6c 6c 62 61 63 6b 20    74 6f 20 73 77 61 70 70 69 6e 67 20 5c 22 74 65 | te'.5..Fallback.to.swapping.\"te | 
| 386a0 | 73 74 5c 22 20 66 6f 72 20 5c 22 73 72 63 5c 22    20 69 6e 20 54 45 53 54 2d 46 49 4c 45 20 69 66 | st\".for.\"src\".in.TEST-FILE.if | 
| 386c0 | 20 5c 22 74 65 73 74 5c 22 0a 20 20 20 69 73 20    61 20 73 75 62 73 74 72 69 6e 67 20 6f 66 20 54 | .\"test\"....is.a.substring.of.T | 
| 386e0 | 45 53 54 2d 46 49 4c 45 2e 22 0a 20 20 28 70 72    6f 6a 65 63 74 69 6c 65 2d 2d 61 63 6f 6e 64 0a | EST-FILE."...(projectile--acond. | 
| 38700 | 20 20 20 28 28 70 72 6f 6a 65 63 74 69 6c 65 2d    2d 69 6d 70 6c 2d 66 69 6c 65 2d 66 72 6f 6d 2d | ...((projectile--impl-file-from- | 
| 38720 | 73 72 63 2d 64 69 72 2d 66 6e 20 74 65 73 74 2d    66 69 6c 65 29 20 28 6c 69 73 74 20 69 74 29 29 | src-dir-fn.test-file).(list.it)) | 
| 38740 | 0a 20 20 20 28 28 70 72 6f 6a 65 63 74 69 6c 65    2d 2d 72 65 6c 61 74 65 64 2d 66 69 6c 65 73 2d | ....((projectile--related-files- | 
| 38760 | 70 6c 69 73 74 2d 62 79 2d 6b 69 6e 64 20 74 65    73 74 2d 66 69 6c 65 20 3a 69 6d 70 6c 29 0a 20 | plist-by-kind.test-file.:impl).. | 
| 38780 | 20 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 2d    72 65 6c 61 74 65 64 2d 66 69 6c 65 73 2d 66 72 | ...(projectile--related-files-fr | 
| 387a0 | 6f 6d 2d 70 6c 69 73 74 20 69 74 29 29 0a 20 20    20 28 28 70 72 6f 6a 65 63 74 69 6c 65 2d 2d 69 | om-plist.it))....((projectile--i | 
| 387c0 | 6d 70 6c 2d 66 69 6c 65 2d 66 72 6f 6d 2d 73 72    63 2d 64 69 72 2d 73 74 72 20 74 65 73 74 2d 66 | mpl-file-from-src-dir-str.test-f | 
| 387e0 | 69 6c 65 29 20 28 6c 69 73 74 20 69 74 29 29 0a    20 20 20 28 28 70 72 6f 6a 65 63 74 69 6c 65 2d | ile).(list.it))....((projectile- | 
| 38800 | 2d 62 65 73 74 2d 6f 72 2d 61 6c 6c 2d 63 61 6e    64 69 64 61 74 65 73 2d 62 61 73 65 64 2d 6f 6e | -best-or-all-candidates-based-on | 
| 38820 | 2d 70 61 72 65 6e 74 73 2d 64 69 72 73 0a 20 20    20 20 20 74 65 73 74 2d 66 69 6c 65 20 28 63 6c | -parents-dirs......test-file.(cl | 
| 38840 | 2d 72 65 6d 6f 76 65 2d 69 66 2d 6e 6f 74 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | -remove-if-not.................( | 
| 38860 | 70 72 6f 6a 65 63 74 69 6c 65 2d 2d 74 65 73 74    2d 74 6f 2d 69 6d 70 6c 2d 70 72 65 64 69 63 61 | projectile--test-to-impl-predica | 
| 38880 | 74 65 20 74 65 73 74 2d 66 69 6c 65 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 | te.test-file).................(p | 
| 388a0 | 72 6f 6a 65 63 74 69 6c 65 2d 63 75 72 72 65 6e    74 2d 70 72 6f 6a 65 63 74 2d 66 69 6c 65 73 29 | rojectile-current-project-files) | 
| 388c0 | 29 29 20 69 74 29 0a 20 20 20 28 28 70 72 6f 6a    65 63 74 69 6c 65 2d 2d 74 65 73 74 2d 74 6f 2d | )).it)....((projectile--test-to- | 
| 388e0 | 69 6d 70 6c 2d 64 69 72 2d 66 61 6c 6c 62 61 63    6b 20 74 65 73 74 2d 66 69 6c 65 29 20 28 6c 69 | impl-dir-fallback.test-file).(li | 
| 38900 | 73 74 20 69 74 29 29 29 29 0a 0a 28 64 65 66 75    6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 2d 63 68 | st.it))))..(defun.projectile--ch | 
| 38920 | 6f 6f 73 65 2d 66 72 6f 6d 2d 63 61 6e 64 69 64    61 74 65 73 20 28 63 61 6e 64 69 64 61 74 65 73 | oose-from-candidates.(candidates | 
| 38940 | 29 0a 20 20 22 43 68 6f 6f 73 65 20 6f 6e 65 20    69 74 65 6d 20 66 72 6f 6d 20 43 41 4e 44 49 44 | )..."Choose.one.item.from.CANDID | 
| 38960 | 41 54 45 53 2e 22 0a 20 20 28 69 66 20 28 3d 20    28 6c 65 6e 67 74 68 20 63 61 6e 64 69 64 61 74 | ATES."...(if.(=.(length.candidat | 
| 38980 | 65 73 29 20 31 29 0a 20 20 20 20 20 20 28 63 61    72 20 63 61 6e 64 69 64 61 74 65 73 29 0a 20 20 | es).1).......(car.candidates)... | 
| 389a0 | 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 63 6f    6d 70 6c 65 74 69 6e 67 2d 72 65 61 64 20 22 53 | ..(projectile-completing-read."S | 
| 389c0 | 77 69 74 63 68 20 74 6f 3a 20 22 20 63 61 6e 64    69 64 61 74 65 73 29 29 29 0a 0a 28 64 65 66 75 | witch.to:.".candidates)))..(defu | 
| 389e0 | 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 66 69 6e    64 2d 6d 61 74 63 68 69 6e 67 2d 74 65 73 74 20 | n.projectile-find-matching-test. | 
| 38a00 | 28 69 6d 70 6c 2d 66 69 6c 65 29 0a 20 20 22 43    6f 6d 70 75 74 65 20 74 68 65 20 6e 61 6d 65 20 | (impl-file)..."Compute.the.name. | 
| 38a20 | 6f 66 20 74 68 65 20 74 65 73 74 20 6d 61 74 63    68 69 6e 67 20 49 4d 50 4c 2d 46 49 4c 45 2e 22 | of.the.test.matching.IMPL-FILE." | 
| 38a40 | 0a 20 20 28 77 68 65 6e 2d 6c 65 74 20 28 28 63    61 6e 64 69 64 61 74 65 73 20 28 70 72 6f 6a 65 | ...(when-let.((candidates.(proje | 
| 38a60 | 63 74 69 6c 65 2d 2d 66 69 6e 64 2d 6d 61 74 63    68 69 6e 67 2d 74 65 73 74 20 69 6d 70 6c 2d 66 | ctile--find-matching-test.impl-f | 
| 38a80 | 69 6c 65 29 29 29 0a 20 20 20 20 28 70 72 6f 6a    65 63 74 69 6c 65 2d 2d 63 68 6f 6f 73 65 2d 66 | ile))).....(projectile--choose-f | 
| 38aa0 | 72 6f 6d 2d 63 61 6e 64 69 64 61 74 65 73 20 63    61 6e 64 69 64 61 74 65 73 29 29 29 0a 0a 28 64 | rom-candidates.candidates)))..(d | 
| 38ac0 | 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d    66 69 6e 64 2d 6d 61 74 63 68 69 6e 67 2d 66 69 | efun.projectile-find-matching-fi | 
| 38ae0 | 6c 65 20 28 74 65 73 74 2d 66 69 6c 65 29 0a 20    20 22 43 6f 6d 70 75 74 65 20 74 68 65 20 6e 61 | le.(test-file)..."Compute.the.na | 
| 38b00 | 6d 65 20 6f 66 20 61 20 66 69 6c 65 20 6d 61 74    63 68 69 6e 67 20 54 45 53 54 2d 46 49 4c 45 2e | me.of.a.file.matching.TEST-FILE. | 
| 38b20 | 22 0a 20 20 28 77 68 65 6e 2d 6c 65 74 20 28 28    63 61 6e 64 69 64 61 74 65 73 20 28 70 72 6f 6a | "...(when-let.((candidates.(proj | 
| 38b40 | 65 63 74 69 6c 65 2d 2d 66 69 6e 64 2d 6d 61 74    63 68 69 6e 67 2d 66 69 6c 65 20 74 65 73 74 2d | ectile--find-matching-file.test- | 
| 38b60 | 66 69 6c 65 29 29 29 0a 20 20 20 20 28 70 72 6f    6a 65 63 74 69 6c 65 2d 2d 63 68 6f 6f 73 65 2d | file))).....(projectile--choose- | 
| 38b80 | 66 72 6f 6d 2d 63 61 6e 64 69 64 61 74 65 73 20    63 61 6e 64 69 64 61 74 65 73 29 29 29 0a 0a 28 | from-candidates.candidates)))..( | 
| 38ba0 | 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65    2d 67 72 65 70 2d 64 65 66 61 75 6c 74 2d 66 69 | defun.projectile-grep-default-fi | 
| 38bc0 | 6c 65 73 20 28 29 0a 20 20 22 54 72 79 20 74 6f    20 66 69 6e 64 20 61 20 64 65 66 61 75 6c 74 20 | les.()..."Try.to.find.a.default. | 
| 38be0 | 70 61 74 74 65 72 6e 20 66 6f 72 20 60 70 72 6f    6a 65 63 74 69 6c 65 2d 67 72 65 70 27 2e 0a 54 | pattern.for.`projectile-grep'..T | 
| 38c00 | 68 69 73 20 69 73 20 61 20 73 75 62 73 65 74 20    6f 66 20 60 67 72 65 70 2d 72 65 61 64 2d 66 69 | his.is.a.subset.of.`grep-read-fi | 
| 38c20 | 6c 65 73 27 2c 20 77 68 65 72 65 20 65 69 74 68    65 72 20 61 20 6d 61 74 63 68 69 6e 67 20 65 6e | les',.where.either.a.matching.en | 
| 38c40 | 74 72 79 20 66 72 6f 6d 0a 60 67 72 65 70 2d 66    69 6c 65 73 2d 61 6c 69 61 73 65 73 27 20 6f 72 | try.from.`grep-files-aliases'.or | 
| 38c60 | 20 66 69 6c 65 20 6e 61 6d 65 20 65 78 74 65 6e    73 69 6f 6e 20 70 61 74 74 65 72 6e 20 69 73 20 | .file.name.extension.pattern.is. | 
| 38c80 | 72 65 74 75 72 6e 65 64 2e 22 0a 20 20 28 77 68    65 6e 20 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e | returned."...(when.buffer-file-n | 
| 38ca0 | 61 6d 65 0a 20 20 20 20 28 6c 65 74 2a 20 28 28    66 6e 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 6e 6f | ame.....(let*.((fn.(file-name-no | 
| 38cc0 | 6e 64 69 72 65 63 74 6f 72 79 20 62 75 66 66 65    72 2d 66 69 6c 65 2d 6e 61 6d 65 29 29 0a 20 20 | ndirectory.buffer-file-name))... | 
| 38ce0 | 20 20 20 20 20 20 20 20 20 28 64 65 66 61 75 6c    74 2d 61 6c 69 61 73 0a 20 20 20 20 20 20 20 20 | .........(default-alias......... | 
| 38d00 | 20 20 20 20 20 28 6c 65 74 20 28 28 61 6c 69 61    73 65 73 20 28 72 65 6d 6f 76 65 20 28 61 73 73 | .....(let.((aliases.(remove.(ass | 
| 38d20 | 6f 63 20 22 61 6c 6c 22 20 67 72 65 70 2d 66 69    6c 65 73 2d 61 6c 69 61 73 65 73 29 0a 20 20 20 | oc."all".grep-files-aliases).... | 
| 38d40 | 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 | ................................ | 
| 38d60 | 20 67 72 65 70 2d 66 69 6c 65 73 2d 61 6c 69 61    73 65 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 | .grep-files-aliases))........... | 
| 38d80 | 20 20 20 20 20 20 20 20 20 61 6c 69 61 73 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | .........alias)................( | 
| 38da0 | 77 68 69 6c 65 20 61 6c 69 61 73 65 73 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | while.aliases..................( | 
| 38dc0 | 73 65 74 71 20 61 6c 69 61 73 20 28 63 61 72 20    61 6c 69 61 73 65 73 29 0a 20 20 20 20 20 20 20 | setq.alias.(car.aliases)........ | 
| 38de0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    61 6c 69 61 73 65 73 20 28 63 64 72 20 61 6c 69 | ................aliases.(cdr.ali | 
| 38e00 | 61 73 65 73 29 29 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 28 69 66 20 28 73 74 72 | ases))..................(if.(str | 
| 38e20 | 69 6e 67 2d 6d 61 74 63 68 20 28 6d 61 70 63 6f    6e 63 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 | ing-match.(mapconcat............ | 
| 38e40 | 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 23 27 77 69 6c 64 63 | .........................#'wildc | 
| 38e60 | 61 72 64 2d 74 6f 2d 72 65 67 65 78 70 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ard-to-regexp................... | 
| 38e80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 73 70 6c 69 74 2d 73 74 72 69 6e 67 20 | ..................(split-string. | 
| 38ea0 | 28 63 64 72 20 61 6c 69 61 73 29 20 6e 69 6c 20    74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | (cdr.alias).nil.t).............. | 
| 38ec0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 22 5c 5c 7c 22 29 0a 20 20 | ......................."\\|")... | 
| 38ee0 | 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 | ................................ | 
| 38f00 | 20 66 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 | .fn)......................(setq. | 
| 38f20 | 61 6c 69 61 73 65 73 20 6e 69 6c 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | aliases.nil).................... | 
| 38f40 | 28 73 65 74 71 20 61 6c 69 61 73 20 6e 69 6c 29    29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | (setq.alias.nil))).............. | 
| 38f60 | 20 20 28 63 64 72 20 61 6c 69 61 73 29 29 29 0a    20 20 20 20 20 20 20 20 20 20 20 28 64 65 66 61 | ..(cdr.alias)))............(defa | 
| 38f80 | 75 6c 74 2d 65 78 74 65 6e 73 69 6f 6e 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 | ult-extension..............(let. | 
| 38fa0 | 28 28 65 78 74 20 28 66 69 6c 65 2d 6e 61 6d 65    2d 65 78 74 65 6e 73 69 6f 6e 20 66 6e 29 29 29 | ((ext.(file-name-extension.fn))) | 
| 38fc0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 61 6e 64 20 65 78 74 20 28 63 6f 6e 63 61 74 | ................(and.ext.(concat | 
| 38fe0 | 20 22 2a 2e 22 20 65 78 74 29 29 29 29 29 0a 20    20 20 20 20 20 28 6f 72 20 64 65 66 61 75 6c 74 | ."*.".ext))))).......(or.default | 
| 39000 | 2d 61 6c 69 61 73 20 64 65 66 61 75 6c 74 2d 65    78 74 65 6e 73 69 6f 6e 29 29 29 29 0a 0a 28 64 | -alias.default-extension))))..(d | 
| 39020 | 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d    2d 67 6c 6f 62 61 6c 6c 79 2d 69 67 6e 6f 72 65 | efun.projectile--globally-ignore | 
| 39040 | 64 2d 66 69 6c 65 2d 73 75 66 66 69 78 65 73 2d    67 6c 6f 62 20 28 29 0a 20 20 22 52 65 74 75 72 | d-file-suffixes-glob.()..."Retur | 
| 39060 | 6e 20 69 67 6e 6f 72 65 64 20 66 69 6c 65 20 73    75 66 66 69 78 65 73 20 61 73 20 61 20 6c 69 73 | n.ignored.file.suffixes.as.a.lis | 
| 39080 | 74 20 6f 66 20 67 6c 6f 62 20 70 61 74 74 65 72    6e 73 2e 22 0a 20 20 28 6d 61 70 63 61 72 20 28 | t.of.glob.patterns."...(mapcar.( | 
| 390a0 | 6c 61 6d 62 64 61 20 28 70 61 74 29 20 28 63 6f    6e 63 61 74 20 22 2a 22 20 70 61 74 29 29 20 70 | lambda.(pat).(concat."*".pat)).p | 
| 390c0 | 72 6f 6a 65 63 74 69 6c 65 2d 67 6c 6f 62 61 6c    6c 79 2d 69 67 6e 6f 72 65 64 2d 66 69 6c 65 2d | rojectile-globally-ignored-file- | 
| 390e0 | 73 75 66 66 69 78 65 73 29 29 0a 0a 28 64 65 66    75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 2d 72 | suffixes))..(defun.projectile--r | 
| 39100 | 65 61 64 2d 73 65 61 72 63 68 2d 73 74 72 69 6e    67 2d 77 69 74 68 2d 64 65 66 61 75 6c 74 20 28 | ead-search-string-with-default.( | 
| 39120 | 70 72 65 66 69 78 2d 6c 61 62 65 6c 29 0a 20 20    28 6c 65 74 2a 20 28 28 70 72 65 66 69 78 2d 6c | prefix-label)...(let*.((prefix-l | 
| 39140 | 61 62 65 6c 20 28 70 72 6f 6a 65 63 74 69 6c 65    2d 70 72 65 70 65 6e 64 2d 70 72 6f 6a 65 63 74 | abel.(projectile-prepend-project | 
| 39160 | 2d 6e 61 6d 65 20 70 72 65 66 69 78 2d 6c 61 62    65 6c 29 29 0a 20 20 20 20 20 20 20 20 20 28 64 | -name.prefix-label))..........(d | 
| 39180 | 65 66 61 75 6c 74 2d 76 61 6c 75 65 20 28 70 72    6f 6a 65 63 74 69 6c 65 2d 73 79 6d 62 6f 6c 2d | efault-value.(projectile-symbol- | 
| 391a0 | 6f 72 2d 73 65 6c 65 63 74 69 6f 6e 2d 61 74 2d    70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 20 20 | or-selection-at-point))......... | 
| 391c0 | 20 28 64 65 66 61 75 6c 74 2d 6c 61 62 65 6c 20    28 69 66 20 28 6f 72 20 28 6e 6f 74 20 64 65 66 | .(default-label.(if.(or.(not.def | 
| 391e0 | 61 75 6c 74 2d 76 61 6c 75 65 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ault-value)..................... | 
| 39200 | 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72    69 6e 67 3d 20 64 65 66 61 75 6c 74 2d 76 61 6c | ............(string=.default-val | 
| 39220 | 75 65 20 22 22 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 | ue.""))......................... | 
| 39240 | 20 20 20 20 22 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 | ...."".......................... | 
| 39260 | 20 28 66 6f 72 6d 61 74 20 22 20 28 64 65 66 61    75 6c 74 20 25 73 29 22 20 64 65 66 61 75 6c 74 | .(format.".(default.%s)".default | 
| 39280 | 2d 76 61 6c 75 65 29 29 29 29 0a 20 20 20 20 28    72 65 61 64 2d 73 74 72 69 6e 67 20 28 66 6f 72 | -value)))).....(read-string.(for | 
| 392a0 | 6d 61 74 20 22 25 73 25 73 3a 20 22 20 70 72 65    66 69 78 2d 6c 61 62 65 6c 20 64 65 66 61 75 6c | mat."%s%s:.".prefix-label.defaul | 
| 392c0 | 74 2d 6c 61 62 65 6c 29 20 6e 69 6c 20 6e 69 6c    20 64 65 66 61 75 6c 74 2d 76 61 6c 75 65 29 29 | t-label).nil.nil.default-value)) | 
| 392e0 | 29 0a 0a 28 64 65 66 76 61 72 20 70 72 6f 6a 65    63 74 69 6c 65 2d 67 72 65 70 2d 66 69 6e 64 2d | )..(defvar.projectile-grep-find- | 
| 39300 | 69 67 6e 6f 72 65 64 2d 70 61 74 68 73 29 0a 28    64 65 66 76 61 72 20 70 72 6f 6a 65 63 74 69 6c | ignored-paths).(defvar.projectil | 
| 39320 | 65 2d 67 72 65 70 2d 66 69 6e 64 2d 75 6e 69 67    6e 6f 72 65 64 2d 70 61 74 68 73 29 0a 28 64 65 | e-grep-find-unignored-paths).(de | 
| 39340 | 66 76 61 72 20 70 72 6f 6a 65 63 74 69 6c 65 2d    67 72 65 70 2d 66 69 6e 64 2d 69 67 6e 6f 72 65 | fvar.projectile-grep-find-ignore | 
| 39360 | 64 2d 70 61 74 74 65 72 6e 73 29 0a 28 64 65 66    76 61 72 20 70 72 6f 6a 65 63 74 69 6c 65 2d 67 | d-patterns).(defvar.projectile-g | 
| 39380 | 72 65 70 2d 66 69 6e 64 2d 75 6e 69 67 6e 6f 72    65 64 2d 70 61 74 74 65 72 6e 73 29 0a 0a 28 64 | rep-find-unignored-patterns)..(d | 
| 393a0 | 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d    72 67 72 65 70 2d 64 65 66 61 75 6c 74 2d 63 6f | efun.projectile-rgrep-default-co | 
| 393c0 | 6d 6d 61 6e 64 20 28 72 65 67 65 78 70 20 66 69    6c 65 73 20 64 69 72 29 0a 20 20 22 43 6f 6d 70 | mmand.(regexp.files.dir)..."Comp | 
| 393e0 | 75 74 65 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20    66 6f 72 20 5c 5c 5b 72 67 72 65 70 5d 20 74 6f | ute.the.command.for.\\[rgrep].to | 
| 39400 | 20 75 73 65 20 62 79 20 64 65 66 61 75 6c 74 2e    0a 0a 45 78 74 65 6e 73 69 6f 6e 20 6f 66 20 74 | .use.by.default...Extension.of.t | 
| 39420 | 68 65 20 45 6d 61 63 73 20 32 35 2e 31 20 69 6d    70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 6f 66 20 | he.Emacs.25.1.implementation.of. | 
| 39440 | 60 72 67 72 65 70 2d 64 65 66 61 75 6c 74 2d 63    6f 6d 6d 61 6e 64 27 2c 20 77 69 74 68 0a 77 68 | `rgrep-default-command',.with.wh | 
| 39460 | 69 63 68 20 69 74 20 73 68 61 72 65 73 20 69 74    73 20 61 72 67 6c 69 73 74 2e 22 0a 20 20 28 72 | ich.it.shares.its.arglist."...(r | 
| 39480 | 65 71 75 69 72 65 20 27 66 69 6e 64 2d 64 69 72    65 64 29 20 20 20 20 20 20 3b 20 66 6f 72 20 60 | equire.'find-dired)......;.for.` | 
| 394a0 | 66 69 6e 64 2d 6e 61 6d 65 2d 61 72 67 27 0a 20    20 28 67 72 65 70 2d 65 78 70 61 6e 64 2d 74 65 | find-name-arg'...(grep-expand-te | 
| 394c0 | 6d 70 6c 61 74 65 0a 20 20 20 67 72 65 70 2d 66    69 6e 64 2d 74 65 6d 70 6c 61 74 65 0a 20 20 20 | mplate....grep-find-template.... | 
| 394e0 | 72 65 67 65 78 70 0a 20 20 20 28 63 6f 6e 63 61    74 20 28 73 68 65 6c 6c 2d 71 75 6f 74 65 2d 61 | regexp....(concat.(shell-quote-a | 
| 39500 | 72 67 75 6d 65 6e 74 20 22 28 22 29 0a 20 20 20    20 20 20 20 20 20 20 20 22 20 22 20 66 69 6e 64 | rgument."(")............".".find | 
| 39520 | 2d 6e 61 6d 65 2d 61 72 67 20 22 20 22 0a 20 20    20 20 20 20 20 20 20 20 20 28 6d 61 70 63 6f 6e | -name-arg."."............(mapcon | 
| 39540 | 63 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 20    23 27 73 68 65 6c 6c 2d 71 75 6f 74 65 2d 61 72 | cat.............#'shell-quote-ar | 
| 39560 | 67 75 6d 65 6e 74 0a 20 20 20 20 20 20 20 20 20    20 20 20 28 73 70 6c 69 74 2d 73 74 72 69 6e 67 | gument.............(split-string | 
| 39580 | 20 66 69 6c 65 73 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 28 63 6f 6e 63 61 74 20 22 20 2d 6f | .files).............(concat.".-o | 
| 395a0 | 20 22 20 66 69 6e 64 2d 6e 61 6d 65 2d 61 72 67    20 22 20 22 29 29 0a 20 20 20 20 20 20 20 20 20 | .".find-name-arg.".")).......... | 
| 395c0 | 20 20 22 20 22 0a 20 20 20 20 20 20 20 20 20 20    20 28 73 68 65 6c 6c 2d 71 75 6f 74 65 2d 61 72 | .."."............(shell-quote-ar | 
| 395e0 | 67 75 6d 65 6e 74 20 22 29 22 29 29 0a 20 20 20    64 69 72 0a 20 20 20 28 63 6f 6e 63 61 74 0a 20 | gument.")"))....dir....(concat.. | 
| 39600 | 20 20 20 28 61 6e 64 20 67 72 65 70 2d 66 69 6e    64 2d 69 67 6e 6f 72 65 64 2d 64 69 72 65 63 74 | ...(and.grep-find-ignored-direct | 
| 39620 | 6f 72 69 65 73 0a 20 20 20 20 20 20 20 20 20 28    63 6f 6e 63 61 74 20 22 2d 74 79 70 65 20 64 20 | ories..........(concat."-type.d. | 
| 39640 | 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 73 68 65 6c 6c 2d 71 75 6f 74 65 2d | "..................(shell-quote- | 
| 39660 | 61 72 67 75 6d 65 6e 74 20 22 28 22 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b | argument."(")..................; | 
| 39680 | 3b 20 77 65 20 73 68 6f 75 6c 64 20 75 73 65 20    73 68 65 6c 6c 2d 71 75 6f 74 65 2d 61 72 67 75 | ;.we.should.use.shell-quote-argu | 
| 396a0 | 6d 65 6e 74 20 68 65 72 65 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 22 20 2d 70 61 | ment.here..................".-pa | 
| 396c0 | 74 68 20 22 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 6d 61 70 63 6f 6e 63 61 74 | th."..................(mapconcat | 
| 396e0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 23 27 69 64 65 6e 74 69 74 79 0a 20 20 | ...................#'identity... | 
| 39700 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 64 65 6c 71 20 6e 69 6c 20 28 6d 61 70 63 61 | ................(delq.nil.(mapca | 
| 39720 | 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 20 23 | r..............................# | 
| 39740 | 27 28 6c 61 6d 62 64 61 20 28 69 67 6e 6f 72 65    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | '(lambda.(ignore)............... | 
| 39760 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 63 6f 6e 64 20 28 28 73 74 72 69 6e | ...................(cond.((strin | 
| 39780 | 67 70 20 69 67 6e 6f 72 65 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | gp.ignore)...................... | 
| 397a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 73 68 65 6c 6c 2d 71 75 6f 74 65 2d | ...................(shell-quote- | 
| 397c0 | 61 72 67 75 6d 65 6e 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 | argument........................ | 
| 397e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 63 6f 6e 63 61 74 20 22 2a 2f 22 20 69 | ..................(concat."*/".i | 
| 39800 | 67 6e 6f 72 65 29 29 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | gnore)))........................ | 
| 39820 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 28 63 6f 6e 73 70 20 69 67 6e 6f 72 65 29 0a | ................((consp.ignore). | 
| 39840 | 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 | ................................ | 
| 39860 | 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 66 75    6e 63 61 6c 6c 20 28 63 61 72 20 69 67 6e 6f 72 | ........(and.(funcall.(car.ignor | 
| 39880 | 65 29 20 64 69 72 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 | e).dir)......................... | 
| 398a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 73 68 65 6c 6c 2d 71 75 6f 74 | .....................(shell-quot | 
| 398c0 | 65 2d 61 72 67 75 6d 65 6e 74 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | e-argument...................... | 
| 398e0 | 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 63 6f 6e 63 61 74 | .........................(concat | 
| 39900 | 20 22 2a 2f 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 | ."*/"........................... | 
| 39920 | 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 63 64 72 | ............................(cdr | 
| 39940 | 20 69 67 6e 6f 72 65 29 29 29 29 29 29 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .ignore))))))).................. | 
| 39960 | 20 20 20 20 20 20 20 20 20 20 20 20 67 72 65 70    2d 66 69 6e 64 2d 69 67 6e 6f 72 65 64 2d 64 69 | ............grep-find-ignored-di | 
| 39980 | 72 65 63 74 6f 72 69 65 73 29 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 20 | rectories))...................". | 
| 399a0 | 2d 6f 20 2d 70 61 74 68 20 22 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 22 20 22 | -o.-path.").................."." | 
| 399c0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 73 68 65 6c 6c 2d 71 75 6f 74 65 2d 61 | ..................(shell-quote-a | 
| 399e0 | 72 67 75 6d 65 6e 74 20 22 29 22 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 20 | rgument.")")..................". | 
| 39a00 | 2d 70 72 75 6e 65 20 2d 6f 20 22 29 29 0a 20 20    20 20 28 61 6e 64 20 67 72 65 70 2d 66 69 6e 64 | -prune.-o.")).....(and.grep-find | 
| 39a20 | 2d 69 67 6e 6f 72 65 64 2d 66 69 6c 65 73 0a 20    20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 | -ignored-files..........(concat. | 
| 39a40 | 28 73 68 65 6c 6c 2d 71 75 6f 74 65 2d 61 72 67    75 6d 65 6e 74 20 22 21 22 29 20 22 20 2d 74 79 | (shell-quote-argument."!").".-ty | 
| 39a60 | 70 65 20 64 20 22 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 28 73 68 65 6c 6c 2d 71 | pe.d."..................(shell-q | 
| 39a80 | 75 6f 74 65 2d 61 72 67 75 6d 65 6e 74 20 22 28    22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | uote-argument."(").............. | 
| 39aa0 | 20 20 20 20 3b 3b 20 77 65 20 73 68 6f 75 6c 64    20 75 73 65 20 73 68 65 6c 6c 2d 71 75 6f 74 65 | ....;;.we.should.use.shell-quote | 
| 39ac0 | 2d 61 72 67 75 6d 65 6e 74 20 68 65 72 65 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | -argument.here.................. | 
| 39ae0 | 22 20 2d 6e 61 6d 65 20 22 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 | ".-name."..................(mapc | 
| 39b00 | 6f 6e 63 61 74 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 23 27 28 6c 61 6d 62 64 | oncat...................#'(lambd | 
| 39b20 | 61 20 28 69 67 6e 6f 72 65 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | a.(ignore)...................... | 
| 39b40 | 20 28 63 6f 6e 64 20 28 28 73 74 72 69 6e 67 70    20 69 67 6e 6f 72 65 29 0a 20 20 20 20 20 20 20 | .(cond.((stringp.ignore)........ | 
| 39b60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 73 68 65 6c 6c 2d 71 75 6f | ......................(shell-quo | 
| 39b80 | 74 65 2d 61 72 67 75 6d 65 6e 74 20 69 67 6e 6f    72 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 | te-argument.ignore))............ | 
| 39ba0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 28 63 6f 6e 73 70 20 69 67 6e 6f 72 65 29 | .................((consp.ignore) | 
| 39bc0 | 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 28 61 | ..............................(a | 
| 39be0 | 6e 64 20 28 66 75 6e 63 61 6c 6c 20 28 63 61 72    20 69 67 6e 6f 72 65 29 20 64 69 72 29 0a 20 20 | nd.(funcall.(car.ignore).dir)... | 
| 39c00 | 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 | ................................ | 
| 39c20 | 28 73 68 65 6c 6c 2d 71 75 6f 74 65 2d 61 72 67    75 6d 65 6e 74 0a 20 20 20 20 20 20 20 20 20 20 | (shell-quote-argument........... | 
| 39c40 | 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 63 64 72 20 69 67 | .........................(cdr.ig | 
| 39c60 | 6e 6f 72 65 29 29 29 29 29 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 67 72 65 | nore))))))...................gre | 
| 39c80 | 70 2d 66 69 6e 64 2d 69 67 6e 6f 72 65 64 2d 66    69 6c 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 | p-find-ignored-files............ | 
| 39ca0 | 20 20 20 20 20 20 20 22 20 2d 6f 20 2d 6e 61 6d    65 20 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 | .......".-o.-name.")............ | 
| 39cc0 | 20 20 20 20 20 20 22 20 22 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 28 73 68 65 6c | ......"."..................(shel | 
| 39ce0 | 6c 2d 71 75 6f 74 65 2d 61 72 67 75 6d 65 6e 74    20 22 29 22 29 0a 20 20 20 20 20 20 20 20 20 20 | l-quote-argument.")")........... | 
| 39d00 | 20 20 20 20 20 20 20 22 20 2d 70 72 75 6e 65 20    2d 6f 20 22 29 29 0a 20 20 20 20 28 61 6e 64 20 | .......".-prune.-o.")).....(and. | 
| 39d20 | 70 72 6f 6a 65 63 74 69 6c 65 2d 67 72 65 70 2d    66 69 6e 64 2d 69 67 6e 6f 72 65 64 2d 70 61 74 | projectile-grep-find-ignored-pat | 
| 39d40 | 68 73 0a 20 20 20 20 20 20 20 20 20 28 63 6f 6e    63 61 74 20 28 73 68 65 6c 6c 2d 71 75 6f 74 65 | hs..........(concat.(shell-quote | 
| 39d60 | 2d 61 72 67 75 6d 65 6e 74 20 22 28 22 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | -argument."(").................. | 
| 39d80 | 22 20 2d 70 61 74 68 20 22 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 | ".-path."..................(mapc | 
| 39da0 | 6f 6e 63 61 74 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 | oncat...................(lambda. | 
| 39dc0 | 28 69 67 6e 6f 72 65 29 20 28 73 68 65 6c 6c 2d    71 75 6f 74 65 2d 61 72 67 75 6d 65 6e 74 0a 20 | (ignore).(shell-quote-argument.. | 
| 39de0 | 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 | ................................ | 
| 39e00 | 20 20 20 28 63 6f 6e 63 61 74 20 22 2e 2f 22 20    69 67 6e 6f 72 65 29 29 29 0a 20 20 20 20 20 20 | ...(concat."./".ignore)))....... | 
| 39e20 | 20 20 20 20 20 20 20 20 20 20 20 20 70 72 6f 6a    65 63 74 69 6c 65 2d 67 72 65 70 2d 66 69 6e 64 | ............projectile-grep-find | 
| 39e40 | 2d 69 67 6e 6f 72 65 64 2d 70 61 74 68 73 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | -ignored-paths.................. | 
| 39e60 | 20 22 20 2d 6f 20 2d 70 61 74 68 20 22 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .".-o.-path.").................. | 
| 39e80 | 22 20 22 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 73 68 65 6c 6c 2d 71 75 6f 74 | "."..................(shell-quot | 
| 39ea0 | 65 2d 61 72 67 75 6d 65 6e 74 20 22 29 22 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | e-argument.")")................. | 
| 39ec0 | 20 22 20 2d 70 72 75 6e 65 20 2d 6f 20 22 29 29    0a 20 20 20 20 28 61 6e 64 20 70 72 6f 6a 65 63 | .".-prune.-o.")).....(and.projec | 
| 39ee0 | 74 69 6c 65 2d 67 72 65 70 2d 66 69 6e 64 2d 69    67 6e 6f 72 65 64 2d 70 61 74 74 65 72 6e 73 0a | tile-grep-find-ignored-patterns. | 
| 39f00 | 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74    20 28 73 68 65 6c 6c 2d 71 75 6f 74 65 2d 61 72 | .........(concat.(shell-quote-ar | 
| 39f20 | 67 75 6d 65 6e 74 20 22 28 22 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e | gument."(")..................(an | 
| 39f40 | 64 20 28 6f 72 20 70 72 6f 6a 65 63 74 69 6c 65    2d 67 72 65 70 2d 66 69 6e 64 2d 75 6e 69 67 6e | d.(or.projectile-grep-find-unign | 
| 39f60 | 6f 72 65 64 2d 70 61 74 68 73 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ored-paths...................... | 
| 39f80 | 20 20 20 20 20 70 72 6f 6a 65 63 74 69 6c 65 2d    67 72 65 70 2d 66 69 6e 64 2d 75 6e 69 67 6e 6f | .....projectile-grep-find-unigno | 
| 39fa0 | 72 65 64 2d 70 61 74 74 65 72 6e 73 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | red-patterns)................... | 
| 39fc0 | 20 20 20 20 28 63 6f 6e 63 61 74 20 22 20 22 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ....(concat."."................. | 
| 39fe0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73    68 65 6c 6c 2d 71 75 6f 74 65 2d 61 72 67 75 6d | ..............(shell-quote-argum | 
| 3a000 | 65 6e 74 20 22 28 22 29 29 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 22 20 2d 70 | ent."(")))..................".-p | 
| 3a020 | 61 74 68 20 22 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 28 6d 61 70 63 6f 6e 63 61 | ath."..................(mapconca | 
| 3a040 | 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 6c 61 6d 62 64 61 20 28 69 67 6e | t...................(lambda.(ign | 
| 3a060 | 6f 72 65 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 28 73 68 65 6c 6c 2d | ore).....................(shell- | 
| 3a080 | 71 75 6f 74 65 2d 61 72 67 75 6d 65 6e 74 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | quote-argument.................. | 
| 3a0a0 | 20 20 20 20 28 69 66 20 28 73 74 72 69 6e 67 2d    70 72 65 66 69 78 2d 70 20 22 2a 22 20 69 67 6e | ....(if.(string-prefix-p."*".ign | 
| 3a0c0 | 6f 72 65 29 20 69 67 6e 6f 72 65 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ore).ignore..................... | 
| 3a0e0 | 20 20 20 28 63 6f 6e 63 61 74 20 22 2a 2f 22 20    69 67 6e 6f 72 65 29 29 29 29 0a 20 20 20 20 20 | ...(concat."*/".ignore))))...... | 
| 3a100 | 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 6f    6a 65 63 74 69 6c 65 2d 67 72 65 70 2d 66 69 6e | .............projectile-grep-fin | 
| 3a120 | 64 2d 69 67 6e 6f 72 65 64 2d 70 61 74 74 65 72    6e 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | d-ignored-patterns.............. | 
| 3a140 | 20 20 20 20 20 22 20 2d 6f 20 2d 70 61 74 68 20    22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | .....".-o.-path.").............. | 
| 3a160 | 20 20 20 20 28 61 6e 64 20 28 6f 72 20 70 72 6f    6a 65 63 74 69 6c 65 2d 67 72 65 70 2d 66 69 6e | ....(and.(or.projectile-grep-fin | 
| 3a180 | 64 2d 75 6e 69 67 6e 6f 72 65 64 2d 70 61 74 68    73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | d-unignored-paths............... | 
| 3a1a0 | 20 20 20 20 20 20 20 20 20 20 20 20 70 72 6f 6a    65 63 74 69 6c 65 2d 67 72 65 70 2d 66 69 6e 64 | ............projectile-grep-find | 
| 3a1c0 | 2d 75 6e 69 67 6e 6f 72 65 64 2d 70 61 74 74 65    72 6e 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 | -unignored-patterns)............ | 
| 3a1e0 | 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63    61 74 20 22 20 22 0a 20 20 20 20 20 20 20 20 20 | ...........(concat.".".......... | 
| 3a200 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 73 68 65 6c 6c 2d 71 75 6f 74 | .....................(shell-quot | 
| 3a220 | 65 2d 61 72 67 75 6d 65 6e 74 20 22 29 22 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | e-argument.")")................. | 
| 3a240 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 20    2d 61 20 22 0a 20 20 20 20 20 20 20 20 20 20 20 | ..............".-a."............ | 
| 3a260 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 73 68 65 6c 6c 2d 71 75 6f 74 65 2d | ...................(shell-quote- | 
| 3a280 | 61 72 67 75 6d 65 6e 74 20 22 21 22 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | argument."!")................... | 
| 3a2a0 | 20 20 20 20 20 20 20 20 20 20 20 20 22 20 22 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ............"."................. | 
| 3a2c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73    68 65 6c 6c 2d 71 75 6f 74 65 2d 61 72 67 75 6d | ..............(shell-quote-argum | 
| 3a2e0 | 65 6e 74 20 22 28 22 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 | ent."(")........................ | 
| 3a300 | 20 20 20 20 20 20 20 28 61 6e 64 20 70 72 6f 6a    65 63 74 69 6c 65 2d 67 72 65 70 2d 66 69 6e 64 | .......(and.projectile-grep-find | 
| 3a320 | 2d 75 6e 69 67 6e 6f 72 65 64 2d 70 61 74 68 73    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | -unignored-paths................ | 
| 3a340 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 63 6f 6e 63 61 74 20 22 20 2d 70 | ....................(concat.".-p | 
| 3a360 | 61 74 68 20 22 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ath."........................... | 
| 3a380 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 6d 61 70 63 6f 6e 63 61 74 0a 20 20 20 20 | .................(mapconcat..... | 
| 3a3a0 | 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 | ................................ | 
| 3a3c0 | 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20    28 69 67 6e 6f 72 65 29 20 28 73 68 65 6c 6c 2d | ........(lambda.(ignore).(shell- | 
| 3a3e0 | 71 75 6f 74 65 2d 61 72 67 75 6d 65 6e 74 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | quote-argument.................. | 
| 3a400 | 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 | ................................ | 
| 3a420 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f    6e 63 61 74 20 22 2e 2f 22 20 69 67 6e 6f 72 65 | .............(concat."./".ignore | 
| 3a440 | 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | )))............................. | 
| 3a460 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    70 72 6f 6a 65 63 74 69 6c 65 2d 67 72 65 70 2d | ................projectile-grep- | 
| 3a480 | 66 69 6e 64 2d 75 6e 69 67 6e 6f 72 65 64 2d 70    61 74 68 73 0a 20 20 20 20 20 20 20 20 20 20 20 | find-unignored-paths............ | 
| 3a4a0 | 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 | ................................ | 
| 3a4c0 | 20 22 20 2d 6f 20 2d 70 61 74 68 20 22 29 29 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .".-o.-path.")))................ | 
| 3a4e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    61 6e 64 20 70 72 6f 6a 65 63 74 69 6c 65 2d 67 | ...............(and.projectile-g | 
| 3a500 | 72 65 70 2d 66 69 6e 64 2d 75 6e 69 67 6e 6f 72    65 64 2d 70 61 74 68 73 0a 20 20 20 20 20 20 20 | rep-find-unignored-paths........ | 
| 3a520 | 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 70 72 6f 6a | ............................proj | 
| 3a540 | 65 63 74 69 6c 65 2d 67 72 65 70 2d 66 69 6e 64    2d 75 6e 69 67 6e 6f 72 65 64 2d 70 61 74 74 65 | ectile-grep-find-unignored-patte | 
| 3a560 | 72 6e 73 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 | rns............................. | 
| 3a580 | 20 20 20 20 20 20 20 22 20 2d 6f 22 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .......".-o")................... | 
| 3a5a0 | 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64    20 70 72 6f 6a 65 63 74 69 6c 65 2d 67 72 65 70 | ............(and.projectile-grep | 
| 3a5c0 | 2d 66 69 6e 64 2d 75 6e 69 67 6e 6f 72 65 64 2d    70 61 74 74 65 72 6e 73 0a 20 20 20 20 20 20 20 | -find-unignored-patterns........ | 
| 3a5e0 | 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 63 6f 6e | ............................(con | 
| 3a600 | 63 61 74 20 22 20 2d 70 61 74 68 20 22 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | cat.".-path."................... | 
| 3a620 | 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 6d 61 70 63 6f 6e | .........................(mapcon | 
| 3a640 | 63 61 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 20 20 20 | cat............................. | 
| 3a660 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 6c 61 6d 62 64 61 20 28 69 67 6e 6f 72 65 29 | ................(lambda.(ignore) | 
| 3a680 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ | 
| 3a6a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    73 68 65 6c 6c 2d 71 75 6f 74 65 2d 61 72 67 75 | ...............(shell-quote-argu | 
| 3a6c0 | 6d 65 6e 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 20 20 | ment............................ | 
| 3a6e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 69 66 20 28 73 74 72 69 6e 67 2d | ....................(if.(string- | 
| 3a700 | 70 72 65 66 69 78 2d 70 20 22 2a 22 20 69 67 6e    6f 72 65 29 20 69 67 6e 6f 72 65 0a 20 20 20 20 | prefix-p."*".ignore).ignore..... | 
| 3a720 | 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 | ................................ | 
| 3a740 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f    6e 63 61 74 20 22 2a 2f 22 20 69 67 6e 6f 72 65 | .............(concat."*/".ignore | 
| 3a760 | 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ))))............................ | 
| 3a780 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 70 72 6f 6a 65 63 74 69 6c 65 2d 67 72 65 70 | .................projectile-grep | 
| 3a7a0 | 2d 66 69 6e 64 2d 75 6e 69 67 6e 6f 72 65 64 2d    70 61 74 74 65 72 6e 73 0a 20 20 20 20 20 20 20 | -find-unignored-patterns........ | 
| 3a7c0 | 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 | ................................ | 
| 3a7e0 | 20 20 20 20 20 22 20 2d 6f 20 2d 70 61 74 68 20    22 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 | .....".-o.-path.")))............ | 
| 3a800 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 22 20 22 0a 20 20 20 20 20 20 20 20 20 | ...................".".......... | 
| 3a820 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 73 68 65 6c 6c 2d 71 75 6f 74 | .....................(shell-quot | 
| 3a840 | 65 2d 61 72 67 75 6d 65 6e 74 20 22 29 22 29 29    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | e-argument.")")))............... | 
| 3a860 | 20 20 20 22 20 22 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 28 73 68 65 6c 6c 2d 71 | ..."."..................(shell-q | 
| 3a880 | 75 6f 74 65 2d 61 72 67 75 6d 65 6e 74 20 22 29    22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | uote-argument.")").............. | 
| 3a8a0 | 20 20 20 20 22 20 2d 70 72 75 6e 65 20 2d 6f 20    22 29 29 29 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 | ....".-prune.-o.")))))..;;;###au | 
| 3a8c0 | 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 70 72    6f 6a 65 63 74 69 6c 65 2d 67 72 65 70 20 28 26 | toload.(defun.projectile-grep.(& | 
| 3a8e0 | 6f 70 74 69 6f 6e 61 6c 20 72 65 67 65 78 70 20    61 72 67 29 0a 20 20 22 50 65 72 66 6f 72 6d 20 | optional.regexp.arg)..."Perform. | 
| 3a900 | 72 67 72 65 70 20 69 6e 20 74 68 65 20 70 72 6f    6a 65 63 74 2e 0a 0a 57 69 74 68 20 61 20 70 72 | rgrep.in.the.project...With.a.pr | 
| 3a920 | 65 66 69 78 20 41 52 47 20 61 73 6b 73 20 66 6f    72 20 66 69 6c 65 73 20 28 67 6c 6f 62 62 69 6e | efix.ARG.asks.for.files.(globbin | 
| 3a940 | 67 2d 61 77 61 72 65 29 20 77 68 69 63 68 20 74    6f 20 67 72 65 70 20 69 6e 2e 0a 57 69 74 68 20 | g-aware).which.to.grep.in..With. | 
| 3a960 | 70 72 65 66 69 78 20 41 52 47 20 6f 66 20 60 2d    27 20 28 73 75 63 68 20 61 73 20 60 4d 2d 2d 27 | prefix.ARG.of.`-'.(such.as.`M--' | 
| 3a980 | 29 2c 20 64 65 66 61 75 6c 74 20 74 68 65 20 66    69 6c 65 73 20 28 77 69 74 68 6f 75 74 20 70 72 | ),.default.the.files.(without.pr | 
| 3a9a0 | 6f 6d 70 74 29 2c 0a 74 6f 20 60 70 72 6f 6a 65    63 74 69 6c 65 2d 67 72 65 70 2d 64 65 66 61 75 | ompt),.to.`projectile-grep-defau | 
| 3a9c0 | 6c 74 2d 66 69 6c 65 73 27 2e 0a 0a 57 69 74 68    20 52 45 47 45 58 50 20 67 69 76 65 6e 2c 20 64 | lt-files'...With.REGEXP.given,.d | 
| 3a9e0 | 6f 6e 27 74 20 71 75 65 72 79 20 74 68 65 20 75    73 65 72 20 66 6f 72 20 61 20 72 65 67 65 78 70 | on't.query.the.user.for.a.regexp | 
| 3aa00 | 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76    65 20 22 69 5c 6e 50 22 29 0a 20 20 28 72 65 71 | ."...(interactive."i\nP")...(req | 
| 3aa20 | 75 69 72 65 20 27 67 72 65 70 29 20 3b 3b 20 66    6f 72 20 60 72 67 72 65 70 27 0a 20 20 28 6c 65 | uire.'grep).;;.for.`rgrep'...(le | 
| 3aa40 | 74 2a 20 28 28 72 6f 6f 74 73 20 28 70 72 6f 6a    65 63 74 69 6c 65 2d 67 65 74 2d 70 72 6f 6a 65 | t*.((roots.(projectile-get-proje | 
| 3aa60 | 63 74 2d 64 69 72 65 63 74 6f 72 69 65 73 20 28    70 72 6f 6a 65 63 74 69 6c 65 2d 61 63 71 75 69 | ct-directories.(projectile-acqui | 
| 3aa80 | 72 65 2d 72 6f 6f 74 29 29 29 0a 20 20 20 20 20    20 20 20 20 28 73 65 61 72 63 68 2d 72 65 67 65 | re-root)))..........(search-rege | 
| 3aaa0 | 78 70 20 28 6f 72 20 72 65 67 65 78 70 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | xp.(or.regexp................... | 
| 3aac0 | 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 6a 65    63 74 69 6c 65 2d 2d 72 65 61 64 2d 73 65 61 72 | ..........(projectile--read-sear | 
| 3aae0 | 63 68 2d 73 74 72 69 6e 67 2d 77 69 74 68 2d 64    65 66 61 75 6c 74 20 22 47 72 65 70 20 66 6f 72 | ch-string-with-default."Grep.for | 
| 3ab00 | 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 66    69 6c 65 73 20 28 61 6e 64 20 61 72 67 20 28 6f | ")))..........(files.(and.arg.(o | 
| 3ab20 | 72 20 28 61 6e 64 20 28 65 71 75 61 6c 20 63 75    72 72 65 6e 74 2d 70 72 65 66 69 78 2d 61 72 67 | r.(and.(equal.current-prefix-arg | 
| 3ab40 | 20 27 2d 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 | .'-)............................ | 
| 3ab60 | 20 20 20 20 20 20 20 28 70 72 6f 6a 65 63 74 69    6c 65 2d 67 72 65 70 2d 64 65 66 61 75 6c 74 2d | .......(projectile-grep-default- | 
| 3ab80 | 66 69 6c 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 | files))......................... | 
| 3aba0 | 20 20 20 20 20 28 72 65 61 64 2d 73 74 72 69 6e    67 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 | .....(read-string.(projectile-pr | 
| 3abc0 | 65 70 65 6e 64 2d 70 72 6f 6a 65 63 74 2d 6e 61    6d 65 20 22 47 72 65 70 20 69 6e 3a 20 22 29 0a | epend-project-name."Grep.in:."). | 
| 3abe0 | 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 | ................................ | 
| 3ac00 | 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 6a 65    63 74 69 6c 65 2d 67 72 65 70 2d 64 65 66 61 75 | ..........(projectile-grep-defau | 
| 3ac20 | 6c 74 2d 66 69 6c 65 73 29 29 29 29 29 29 0a 20    20 20 20 28 64 6f 6c 69 73 74 20 28 72 6f 6f 74 | lt-files)))))).....(dolist.(root | 
| 3ac40 | 2d 64 69 72 20 72 6f 6f 74 73 29 0a 20 20 20 20    20 20 28 72 65 71 75 69 72 65 20 27 76 63 2d 67 | -dir.roots).......(require.'vc-g | 
| 3ac60 | 69 74 29 20 3b 3b 20 66 6f 72 20 60 76 63 2d 67    69 74 2d 67 72 65 70 27 0a 20 20 20 20 20 20 3b | it).;;.for.`vc-git-grep'.......; | 
| 3ac80 | 3b 20 69 6e 20 67 69 74 20 70 72 6f 6a 65 63 74    73 20 75 73 65 72 73 20 68 61 76 65 20 74 68 65 | ;.in.git.projects.users.have.the | 
| 3aca0 | 20 6f 70 74 69 6f 6e 20 74 6f 20 75 73 65 20 60    76 63 2d 67 69 74 2d 67 72 65 70 27 20 69 6e 73 | .option.to.use.`vc-git-grep'.ins | 
| 3acc0 | 74 65 61 64 20 6f 66 20 60 72 67 72 65 70 27 0a    20 20 20 20 20 20 28 69 66 20 28 61 6e 64 20 28 | tead.of.`rgrep'.......(if.(and.( | 
| 3ace0 | 65 71 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 70    72 6f 6a 65 63 74 2d 76 63 73 29 20 27 67 69 74 | eq.(projectile-project-vcs).'git | 
| 3ad00 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 70 72 6f 6a 65 63 74 69 6c 65 2d 75 73 65 2d | )................projectile-use- | 
| 3ad20 | 67 69 74 2d 67 72 65 70 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 28 66 62 6f 75 6e 64 70 | git-grep................(fboundp | 
| 3ad40 | 20 27 76 63 2d 67 69 74 2d 67 72 65 70 29 29 0a    20 20 20 20 20 20 20 20 20 20 28 76 63 2d 67 69 | .'vc-git-grep))...........(vc-gi | 
| 3ad60 | 74 2d 67 72 65 70 20 73 65 61 72 63 68 2d 72 65    67 65 78 70 20 28 6f 72 20 66 69 6c 65 73 20 22 | t-grep.search-regexp.(or.files." | 
| 3ad80 | 22 29 20 72 6f 6f 74 2d 64 69 72 29 0a 20 20 20    20 20 20 20 20 3b 3b 20 70 61 74 68 73 20 66 6f | ").root-dir).........;;.paths.fo | 
| 3ada0 | 72 20 66 69 6e 64 2d 67 72 65 70 20 73 68 6f 75    6c 64 20 72 65 6c 61 74 69 76 65 20 61 6e 64 20 | r.find-grep.should.relative.and. | 
| 3adc0 | 77 69 74 68 6f 75 74 20 74 72 61 69 6c 69 6e 67    20 2f 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 | without.trailing./.........(let. | 
| 3ade0 | 28 28 67 72 65 70 2d 66 69 6e 64 2d 69 67 6e 6f    72 65 64 2d 66 69 6c 65 73 0a 20 20 20 20 20 20 | ((grep-find-ignored-files....... | 
| 3ae00 | 20 20 20 20 20 20 20 20 20 28 63 6c 2d 75 6e 69    6f 6e 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 2d | .........(cl-union.(projectile-- | 
| 3ae20 | 67 6c 6f 62 61 6c 6c 79 2d 69 67 6e 6f 72 65 64    2d 66 69 6c 65 2d 73 75 66 66 69 78 65 73 2d 67 | globally-ignored-file-suffixes-g | 
| 3ae40 | 6c 6f 62 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 67 72 | lob)..........................gr | 
| 3ae60 | 65 70 2d 66 69 6e 64 2d 69 67 6e 6f 72 65 64 2d    66 69 6c 65 73 29 29 0a 20 20 20 20 20 20 20 20 | ep-find-ignored-files))......... | 
| 3ae80 | 20 20 20 20 20 20 28 70 72 6f 6a 65 63 74 69 6c    65 2d 67 72 65 70 2d 66 69 6e 64 2d 69 67 6e 6f | ......(projectile-grep-find-igno | 
| 3aea0 | 72 65 64 2d 70 61 74 68 73 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 28 61 70 70 65 6e 64 | red-paths................(append | 
| 3aec0 | 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61    20 28 66 29 20 28 64 69 72 65 63 74 6f 72 79 2d | .(mapcar.(lambda.(f).(directory- | 
| 3aee0 | 66 69 6c 65 2d 6e 61 6d 65 20 28 66 69 6c 65 2d    72 65 6c 61 74 69 76 65 2d 6e 61 6d 65 20 66 20 | file-name.(file-relative-name.f. | 
| 3af00 | 72 6f 6f 74 2d 64 69 72 29 29 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | root-dir)))..................... | 
| 3af20 | 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 6a    65 63 74 69 6c 65 2d 69 67 6e 6f 72 65 64 2d 64 | ...........(projectile-ignored-d | 
| 3af40 | 69 72 65 63 74 6f 72 69 65 73 29 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | irectories)).................... | 
| 3af60 | 20 20 20 20 28 6d 61 70 63 61 72 20 28 6c 61 6d    62 64 61 20 28 66 69 6c 65 29 0a 20 20 20 20 20 | ....(mapcar.(lambda.(file)...... | 
| 3af80 | 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 66 69 6c | ............................(fil | 
| 3afa0 | 65 2d 72 65 6c 61 74 69 76 65 2d 6e 61 6d 65 20    66 69 6c 65 20 72 6f 6f 74 2d 64 69 72 29 29 0a | e-relative-name.file.root-dir)). | 
| 3afc0 | 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 | ...............................( | 
| 3afe0 | 70 72 6f 6a 65 63 74 69 6c 65 2d 69 67 6e 6f 72    65 64 2d 66 69 6c 65 73 29 29 29 29 0a 20 20 20 | projectile-ignored-files)))).... | 
| 3b000 | 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 6a    65 63 74 69 6c 65 2d 67 72 65 70 2d 66 69 6e 64 | ...........(projectile-grep-find | 
| 3b020 | 2d 75 6e 69 67 6e 6f 72 65 64 2d 70 61 74 68 73    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | -unignored-paths................ | 
| 3b040 | 28 61 70 70 65 6e 64 20 28 6d 61 70 63 61 72 20    28 6c 61 6d 62 64 61 20 28 66 29 20 28 64 69 72 | (append.(mapcar.(lambda.(f).(dir | 
| 3b060 | 65 63 74 6f 72 79 2d 66 69 6c 65 2d 6e 61 6d 65    20 28 66 69 6c 65 2d 72 65 6c 61 74 69 76 65 2d | ectory-file-name.(file-relative- | 
| 3b080 | 6e 61 6d 65 20 66 20 72 6f 6f 74 2d 64 69 72 29    29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | name.f.root-dir))).............. | 
| 3b0a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 75 6e | ..................(projectile-un | 
| 3b0c0 | 69 67 6e 6f 72 65 64 2d 64 69 72 65 63 74 6f 72    69 65 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 | ignored-directories))........... | 
| 3b0e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61    70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 66 69 | .............(mapcar.(lambda.(fi | 
| 3b100 | 6c 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 20 20 | le)............................. | 
| 3b120 | 20 20 20 20 20 28 66 69 6c 65 2d 72 65 6c 61 74    69 76 65 2d 6e 61 6d 65 20 66 69 6c 65 20 72 6f | .....(file-relative-name.file.ro | 
| 3b140 | 6f 74 2d 64 69 72 29 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ot-dir))........................ | 
| 3b160 | 20 20 20 20 20 20 20 20 28 70 72 6f 6a 65 63 74    69 6c 65 2d 75 6e 69 67 6e 6f 72 65 64 2d 66 69 | ........(projectile-unignored-fi | 
| 3b180 | 6c 65 73 29 29 29 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 70 72 6f 6a 65 63 74 69 6c | les))))...............(projectil | 
| 3b1a0 | 65 2d 67 72 65 70 2d 66 69 6e 64 2d 69 67 6e 6f    72 65 64 2d 70 61 74 74 65 72 6e 73 20 28 70 72 | e-grep-find-ignored-patterns.(pr | 
| 3b1c0 | 6f 6a 65 63 74 69 6c 65 2d 70 61 74 74 65 72 6e    73 2d 74 6f 2d 69 67 6e 6f 72 65 29 29 0a 20 20 | ojectile-patterns-to-ignore))... | 
| 3b1e0 | 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f    6a 65 63 74 69 6c 65 2d 67 72 65 70 2d 66 69 6e | ............(projectile-grep-fin | 
| 3b200 | 64 2d 75 6e 69 67 6e 6f 72 65 64 2d 70 61 74 74    65 72 6e 73 20 28 70 72 6f 6a 65 63 74 69 6c 65 | d-unignored-patterns.(projectile | 
| 3b220 | 2d 70 61 74 74 65 72 6e 73 2d 74 6f 2d 65 6e 73    75 72 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 | -patterns-to-ensure))).......... | 
| 3b240 | 20 28 67 72 65 70 2d 63 6f 6d 70 75 74 65 2d 64    65 66 61 75 6c 74 73 29 0a 20 20 20 20 20 20 20 | .(grep-compute-defaults)........ | 
| 3b260 | 20 20 20 28 63 6c 2d 6c 65 74 66 20 28 28 28 73    79 6d 62 6f 6c 2d 66 75 6e 63 74 69 6f 6e 20 27 | ...(cl-letf.(((symbol-function.' | 
| 3b280 | 72 67 72 65 70 2d 64 65 66 61 75 6c 74 2d 63 6f    6d 6d 61 6e 64 29 20 23 27 70 72 6f 6a 65 63 74 | rgrep-default-command).#'project | 
| 3b2a0 | 69 6c 65 2d 72 67 72 65 70 2d 64 65 66 61 75 6c    74 2d 63 6f 6d 6d 61 6e 64 29 29 0a 20 20 20 20 | ile-rgrep-default-command))..... | 
| 3b2c0 | 20 20 20 20 20 20 20 20 28 72 67 72 65 70 20 73    65 61 72 63 68 2d 72 65 67 65 78 70 20 28 6f 72 | ........(rgrep.search-regexp.(or | 
| 3b2e0 | 20 66 69 6c 65 73 20 22 2a 20 2e 2a 22 29 20 72    6f 6f 74 2d 64 69 72 29 0a 20 20 20 20 20 20 20 | .files."*..*").root-dir)........ | 
| 3b300 | 20 20 20 20 20 28 77 68 65 6e 20 28 67 65 74 2d    62 75 66 66 65 72 20 22 2a 67 72 65 70 2a 22 29 | .....(when.(get-buffer."*grep*") | 
| 3b320 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b    3b 20 57 68 65 6e 20 67 72 65 70 20 69 73 20 75 | ...............;;.When.grep.is.u | 
| 3b340 | 73 69 6e 67 20 61 20 67 6c 6f 62 61 6c 20 2a 67    72 65 70 2a 20 62 75 66 66 65 72 20 72 65 6e 61 | sing.a.global.*grep*.buffer.rena | 
| 3b360 | 6d 65 20 69 74 20 74 6f 20 62 65 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 3b 3b 20 73 63 6f | me.it.to.be...............;;.sco | 
| 3b380 | 70 65 64 20 74 6f 20 74 68 65 20 63 75 72 72 65    6e 74 20 72 6f 6f 74 20 74 6f 20 61 6c 6c 6f 77 | ped.to.the.current.root.to.allow | 
| 3b3a0 | 20 6d 75 6c 74 69 70 6c 65 20 63 6f 6e 63 75 72    72 65 6e 74 20 67 72 65 70 0a 20 20 20 20 20 20 | .multiple.concurrent.grep....... | 
| 3b3c0 | 20 20 20 20 20 20 20 20 3b 3b 20 6f 70 65 72 61    74 69 6f 6e 73 2c 20 6f 6e 65 20 70 65 72 20 72 | ........;;.operations,.one.per.r | 
| 3b3e0 | 6f 6f 74 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d | oot...............(with-current- | 
| 3b400 | 62 75 66 66 65 72 20 22 2a 67 72 65 70 2a 22 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | buffer."*grep*"................. | 
| 3b420 | 28 72 65 6e 61 6d 65 2d 62 75 66 66 65 72 20 28    63 6f 6e 63 61 74 20 22 2a 67 72 65 70 20 3c 22 | (rename-buffer.(concat."*grep.<" | 
| 3b440 | 20 72 6f 6f 74 2d 64 69 72 20 22 3e 2a 22 29 29    29 29 29 29 29 29 0a 20 20 20 20 28 72 75 6e 2d | .root-dir.">*")))))))).....(run- | 
| 3b460 | 68 6f 6f 6b 73 20 27 70 72 6f 6a 65 63 74 69 6c    65 2d 67 72 65 70 2d 66 69 6e 69 73 68 65 64 2d | hooks.'projectile-grep-finished- | 
| 3b480 | 68 6f 6f 6b 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 70 | hook)))..;;;###autoload.(defun.p | 
| 3b4a0 | 72 6f 6a 65 63 74 69 6c 65 2d 61 67 20 28 73 65    61 72 63 68 2d 74 65 72 6d 20 26 6f 70 74 69 6f | rojectile-ag.(search-term.&optio | 
| 3b4c0 | 6e 61 6c 20 61 72 67 29 0a 20 20 22 52 75 6e 20    61 6e 20 61 67 20 73 65 61 72 63 68 20 77 69 74 | nal.arg)..."Run.an.ag.search.wit | 
| 3b4e0 | 68 20 53 45 41 52 43 48 2d 54 45 52 4d 20 69 6e    20 74 68 65 20 70 72 6f 6a 65 63 74 2e 0a 0a 57 | h.SEARCH-TERM.in.the.project...W | 
| 3b500 | 69 74 68 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20    70 72 65 66 69 78 20 61 72 67 75 6d 65 6e 74 20 | ith.an.optional.prefix.argument. | 
| 3b520 | 41 52 47 20 53 45 41 52 43 48 2d 54 45 52 4d 20    69 73 20 69 6e 74 65 72 70 72 65 74 65 64 20 61 | ARG.SEARCH-TERM.is.interpreted.a | 
| 3b540 | 73 20 61 0a 72 65 67 75 6c 61 72 20 65 78 70 72    65 73 73 69 6f 6e 2e 22 0a 20 20 28 69 6e 74 65 | s.a.regular.expression."...(inte | 
| 3b560 | 72 61 63 74 69 76 65 0a 20 20 20 28 6c 69 73 74    20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 2d 72 65 | ractive....(list.(projectile--re | 
| 3b580 | 61 64 2d 73 65 61 72 63 68 2d 73 74 72 69 6e 67    2d 77 69 74 68 2d 64 65 66 61 75 6c 74 0a 20 20 | ad-search-string-with-default... | 
| 3b5a0 | 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20    22 41 67 20 25 73 73 65 61 72 63 68 20 66 6f 72 | ........(format."Ag.%ssearch.for | 
| 3b5c0 | 22 20 28 69 66 20 63 75 72 72 65 6e 74 2d 70 72    65 66 69 78 2d 61 72 67 20 22 72 65 67 65 78 70 | ".(if.current-prefix-arg."regexp | 
| 3b5e0 | 20 22 20 22 22 29 29 29 0a 20 20 20 20 20 20 20    20 20 63 75 72 72 65 6e 74 2d 70 72 65 66 69 78 | ."."")))..........current-prefix | 
| 3b600 | 2d 61 72 67 29 29 0a 20 20 28 69 66 20 28 72 65    71 75 69 72 65 20 27 61 67 20 6e 69 6c 20 27 6e | -arg))...(if.(require.'ag.nil.'n | 
| 3b620 | 6f 65 72 72 6f 72 29 0a 20 20 20 20 20 20 28 6c    65 74 20 28 28 61 67 2d 63 6f 6d 6d 61 6e 64 20 | oerror).......(let.((ag-command. | 
| 3b640 | 28 69 66 20 61 72 67 20 27 61 67 2d 72 65 67 65    78 70 20 27 61 67 29 29 0a 20 20 20 20 20 20 20 | (if.arg.'ag-regexp.'ag))........ | 
| 3b660 | 20 20 20 20 20 28 61 67 2d 69 67 6e 6f 72 65 2d    6c 69 73 74 20 28 64 65 6c 71 20 6e 69 6c 0a 20 | .....(ag-ignore-list.(delq.nil.. | 
| 3b680 | 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 | ................................ | 
| 3b6a0 | 20 28 64 65 6c 65 74 65 2d 64 75 70 73 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .(delete-dups................... | 
| 3b6c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 61 70 70 65 6e 64 0a 20 20 20 20 20 20 20 | .................(append........ | 
| 3b6e0 | 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 61 67 2d | .............................ag- | 
| 3b700 | 69 67 6e 6f 72 65 2d 6c 69 73 74 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ignore-list..................... | 
| 3b720 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 70 72 6f 6a 65 63 74 69 6c 65 2d 69 67 6e 6f | ................(projectile-igno | 
| 3b740 | 72 65 64 2d 66 69 6c 65 73 2d 72 65 6c 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | red-files-rel).................. | 
| 3b760 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 69 | ...................(projectile-i | 
| 3b780 | 67 6e 6f 72 65 64 2d 64 69 72 65 63 74 6f 72 69    65 73 2d 72 65 6c 29 0a 20 20 20 20 20 20 20 20 | gnored-directories-rel)......... | 
| 3b7a0 | 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 70 72 6f | ............................(pro | 
| 3b7c0 | 6a 65 63 74 69 6c 65 2d 2d 67 6c 6f 62 61 6c 6c    79 2d 69 67 6e 6f 72 65 64 2d 66 69 6c 65 2d 73 | jectile--globally-ignored-file-s | 
| 3b7e0 | 75 66 66 69 78 65 73 2d 67 6c 6f 62 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | uffixes-glob)................... | 
| 3b800 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 3b 3b 20 61 67 20 73 75 70 70 6f 72 74 73 | ..................;;.ag.supports | 
| 3b820 | 20 67 69 74 20 69 67 6e 6f 72 65 20 66 69 6c 65    73 20 64 69 72 65 63 74 6c 79 0a 20 20 20 20 20 | .git.ignore.files.directly...... | 
| 3b840 | 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 | ...............................( | 
| 3b860 | 75 6e 6c 65 73 73 20 28 65 71 20 28 70 72 6f 6a    65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 76 | unless.(eq.(projectile-project-v | 
| 3b880 | 63 73 29 20 27 67 69 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 | cs).'git)....................... | 
| 3b8a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 61 70 70 65 6e 64 20 67 72 65 70 2d 66 69 6e | ................(append.grep-fin | 
| 3b8c0 | 64 2d 69 67 6e 6f 72 65 64 2d 66 69 6c 65 73 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | d-ignored-files................. | 
| 3b8e0 | 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 67 72 | ..............................gr | 
| 3b900 | 65 70 2d 66 69 6e 64 2d 69 67 6e 6f 72 65 64 2d    64 69 72 65 63 74 6f 72 69 65 73 0a 20 20 20 20 | ep-find-ignored-directories..... | 
| 3b920 | 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 | ................................ | 
| 3b940 | 20 20 20 20 20 20 20 20 20 20 27 28 29 29 29 29    29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ..........'()))))))............. | 
| 3b960 | 3b 3b 20 72 65 73 65 74 20 74 68 65 20 70 72 65    66 69 78 20 61 72 67 2c 20 6f 74 68 65 72 77 69 | ;;.reset.the.prefix.arg,.otherwi | 
| 3b980 | 73 65 20 69 74 20 77 69 6c 6c 20 61 66 66 65 63    74 20 74 68 65 20 61 67 2d 63 6f 6d 6d 61 6e 64 | se.it.will.affect.the.ag-command | 
| 3b9a0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 63 75    72 72 65 6e 74 2d 70 72 65 66 69 78 2d 61 72 67 | .............(current-prefix-arg | 
| 3b9c0 | 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 28    66 75 6e 63 61 6c 6c 20 61 67 2d 63 6f 6d 6d 61 | .nil)).........(funcall.ag-comma | 
| 3b9e0 | 6e 64 20 73 65 61 72 63 68 2d 74 65 72 6d 20 28    70 72 6f 6a 65 63 74 69 6c 65 2d 61 63 71 75 69 | nd.search-term.(projectile-acqui | 
| 3ba00 | 72 65 2d 72 6f 6f 74 29 29 29 0a 20 20 20 20 28    65 72 72 6f 72 20 22 50 61 63 6b 61 67 65 20 27 | re-root))).....(error."Package.' | 
| 3ba20 | 61 67 27 20 69 73 20 6e 6f 74 20 61 76 61 69 6c    61 62 6c 65 22 29 29 29 0a 0a 3b 3b 3b 23 23 23 | ag'.is.not.available")))..;;;### | 
| 3ba40 | 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20    70 72 6f 6a 65 63 74 69 6c 65 2d 72 69 70 67 72 | autoload.(defun.projectile-ripgr | 
| 3ba60 | 65 70 20 28 73 65 61 72 63 68 2d 74 65 72 6d 20    26 6f 70 74 69 6f 6e 61 6c 20 61 72 67 29 0a 20 | ep.(search-term.&optional.arg).. | 
| 3ba80 | 20 22 52 75 6e 20 61 20 72 69 70 67 72 65 70 20    28 72 67 29 20 73 65 61 72 63 68 20 77 69 74 68 | ."Run.a.ripgrep.(rg).search.with | 
| 3baa0 | 20 60 53 45 41 52 43 48 2d 54 45 52 4d 27 20 61    74 20 63 75 72 72 65 6e 74 20 70 72 6f 6a 65 63 | .`SEARCH-TERM'.at.current.projec | 
| 3bac0 | 74 20 72 6f 6f 74 2e 0a 0a 57 69 74 68 20 61 6e    20 6f 70 74 69 6f 6e 61 6c 20 70 72 65 66 69 78 | t.root...With.an.optional.prefix | 
| 3bae0 | 20 61 72 67 75 6d 65 6e 74 20 41 52 47 20 53 45    41 52 43 48 2d 54 45 52 4d 20 69 73 20 69 6e 74 | .argument.ARG.SEARCH-TERM.is.int | 
| 3bb00 | 65 72 70 72 65 74 65 64 20 61 73 20 61 0a 72 65    67 75 6c 61 72 20 65 78 70 72 65 73 73 69 6f 6e | erpreted.as.a.regular.expression | 
| 3bb20 | 2e 0a 0a 54 68 69 73 20 63 6f 6d 6d 61 6e 64 20    64 65 70 65 6e 64 73 20 6f 6e 20 6f 66 20 74 68 | ...This.command.depends.on.of.th | 
| 3bb40 | 65 20 45 6d 61 63 73 20 70 61 63 6b 61 67 65 73    20 72 69 70 67 72 65 70 20 6f 72 20 72 67 20 62 | e.Emacs.packages.ripgrep.or.rg.b | 
| 3bb60 | 65 69 6e 67 0a 69 6e 73 74 61 6c 6c 65 64 20 74    6f 20 77 6f 72 6b 2e 22 0a 20 20 28 69 6e 74 65 | eing.installed.to.work."...(inte | 
| 3bb80 | 72 61 63 74 69 76 65 0a 20 20 20 28 6c 69 73 74    20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 2d 72 65 | ractive....(list.(projectile--re | 
| 3bba0 | 61 64 2d 73 65 61 72 63 68 2d 73 74 72 69 6e 67    2d 77 69 74 68 2d 64 65 66 61 75 6c 74 0a 20 20 | ad-search-string-with-default... | 
| 3bbc0 | 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20    22 52 69 70 67 72 65 70 20 25 73 73 65 61 72 63 | ........(format."Ripgrep.%ssearc | 
| 3bbe0 | 68 20 66 6f 72 22 20 28 69 66 20 63 75 72 72 65    6e 74 2d 70 72 65 66 69 78 2d 61 72 67 20 22 72 | h.for".(if.current-prefix-arg."r | 
| 3bc00 | 65 67 65 78 70 20 22 20 22 22 29 29 29 0a 20 20    20 20 20 20 20 20 20 63 75 72 72 65 6e 74 2d 70 | egexp."."")))..........current-p | 
| 3bc20 | 72 65 66 69 78 2d 61 72 67 29 29 0a 20 20 28 6c    65 74 20 28 28 61 72 67 73 20 28 6d 61 70 63 61 | refix-arg))...(let.((args.(mapca | 
| 3bc40 | 72 20 28 6c 61 6d 62 64 61 20 28 76 61 6c 29 20    28 63 6f 6e 63 61 74 20 22 2d 2d 67 6c 6f 62 20 | r.(lambda.(val).(concat."--glob. | 
| 3bc60 | 21 22 20 76 61 6c 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 28 | !".val)).......................( | 
| 3bc80 | 61 70 70 65 6e 64 20 70 72 6f 6a 65 63 74 69 6c    65 2d 67 6c 6f 62 61 6c 6c 79 2d 69 67 6e 6f 72 | append.projectile-globally-ignor | 
| 3bca0 | 65 64 2d 66 69 6c 65 73 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ed-files........................ | 
| 3bcc0 | 20 20 20 20 20 20 20 70 72 6f 6a 65 63 74 69 6c    65 2d 67 6c 6f 62 61 6c 6c 79 2d 69 67 6e 6f 72 | .......projectile-globally-ignor | 
| 3bce0 | 65 64 2d 64 69 72 65 63 74 6f 72 69 65 73 29 29    29 29 0a 20 20 20 20 3b 3b 20 77 65 20 72 65 6c | ed-directories)))).....;;.we.rel | 
| 3bd00 | 79 20 6f 6e 20 74 68 65 20 65 78 74 65 72 6e 61    6c 20 70 61 63 6b 61 67 65 73 20 72 69 70 67 72 | y.on.the.external.packages.ripgr | 
| 3bd20 | 65 70 20 61 6e 64 20 72 67 20 66 6f 72 20 74 68    65 20 61 63 74 75 61 6c 20 73 65 61 72 63 68 0a | ep.and.rg.for.the.actual.search. | 
| 3bd40 | 20 20 20 20 3b 3b 0a 20 20 20 20 3b 3b 20 66 69    72 73 74 20 77 65 20 63 68 65 63 6b 20 69 66 20 | ....;;.....;;.first.we.check.if. | 
| 3bd60 | 77 65 20 63 61 6e 20 6c 6f 61 64 20 72 69 70 67    72 65 70 0a 20 20 20 20 28 63 6f 6e 64 20 28 28 | we.can.load.ripgrep.....(cond.(( | 
| 3bd80 | 72 65 71 75 69 72 65 20 27 72 69 70 67 72 65 70    20 6e 69 6c 20 27 6e 6f 65 72 72 6f 72 29 0a 20 | require.'ripgrep.nil.'noerror).. | 
| 3bda0 | 20 20 20 20 20 20 20 20 20 20 28 72 69 70 67 72    65 70 2d 72 65 67 65 78 70 20 73 65 61 72 63 68 | ..........(ripgrep-regexp.search | 
| 3bdc0 | 2d 74 65 72 6d 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 | -term........................... | 
| 3bde0 | 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 61 63 71    75 69 72 65 2d 72 6f 6f 74 29 0a 20 20 20 20 20 | .(projectile-acquire-root)...... | 
| 3be00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 69 66 20 61 72 67 0a 20 20 | ......................(if.arg... | 
| 3be20 | 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 61 72 67 | .............................arg | 
| 3be40 | 73 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 28 | s..............................( | 
| 3be60 | 63 6f 6e 73 20 22 2d 2d 66 69 78 65 64 2d 73 74    72 69 6e 67 73 20 2d 2d 68 69 64 64 65 6e 22 20 | cons."--fixed-strings.--hidden". | 
| 3be80 | 61 72 67 73 29 29 29 29 0a 20 20 20 20 20 20 20    20 20 20 3b 3b 20 61 6e 64 20 74 68 65 6e 20 77 | args))))...........;;.and.then.w | 
| 3bea0 | 65 20 74 72 79 20 72 67 0a 20 20 20 20 20 20 20    20 20 20 28 28 72 65 71 75 69 72 65 20 27 72 67 | e.try.rg...........((require.'rg | 
| 3bec0 | 20 6e 69 6c 20 27 6e 6f 65 72 72 6f 72 29 0a 20    20 20 20 20 20 20 20 20 20 20 28 72 67 2d 72 75 | .nil.'noerror)............(rg-ru | 
| 3bee0 | 6e 20 73 65 61 72 63 68 2d 74 65 72 6d 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | n.search-term................... | 
| 3bf00 | 20 22 2a 22 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 61 6c | ."*".......................;;.al | 
| 3bf20 | 6c 20 66 69 6c 65 73 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 6a | l.files....................(proj | 
| 3bf40 | 65 63 74 69 6c 65 2d 61 63 71 75 69 72 65 2d 72    6f 6f 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 | ectile-acquire-root)............ | 
| 3bf60 | 20 20 20 20 20 20 20 20 28 6e 6f 74 20 61 72 67    29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ........(not.arg)............... | 
| 3bf80 | 20 20 3b 3b 20 6c 69 74 65 72 61 6c 20 73 65 61    72 63 68 3f 0a 20 20 20 20 20 20 20 20 20 20 20 | ..;;.literal.search?............ | 
| 3bfa0 | 20 20 20 20 20 20 20 20 6e 69 6c 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ........nil..................... | 
| 3bfc0 | 20 20 3b 3b 20 6e 6f 20 6e 65 65 64 20 74 6f 20    63 6f 6e 66 69 72 6d 0a 20 20 20 20 20 20 20 20 | ..;;.no.need.to.confirm......... | 
| 3bfe0 | 20 20 20 20 20 20 20 20 20 20 20 61 72 67 73 29    29 0a 20 20 20 20 20 20 20 20 20 20 28 74 20 28 | ...........args))...........(t.( | 
| 3c000 | 65 72 72 6f 72 20 22 50 61 63 6b 61 67 65 73 20    60 72 69 70 67 72 65 70 27 20 61 6e 64 20 60 72 | error."Packages.`ripgrep'.and.`r | 
| 3c020 | 67 27 20 61 72 65 20 6e 6f 74 20 61 76 61 69 6c    61 62 6c 65 22 29 29 29 29 29 0a 0a 28 64 65 66 | g'.are.not.available")))))..(def | 
| 3c040 | 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 66 69    6e 64 2d 72 65 66 65 72 65 6e 63 65 73 20 28 26 | un.projectile-find-references.(& | 
| 3c060 | 6f 70 74 69 6f 6e 61 6c 20 73 79 6d 62 6f 6c 29    0a 20 20 22 46 69 6e 64 20 61 6c 6c 20 72 65 66 | optional.symbol)..."Find.all.ref | 
| 3c080 | 65 72 65 6e 63 65 73 20 74 6f 20 53 59 4d 42 4f    4c 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 | erences.to.SYMBOL.in.the.current | 
| 3c0a0 | 20 70 72 6f 6a 65 63 74 2e 0a 0a 41 20 74 68 69    6e 20 77 72 61 70 70 65 72 20 61 72 6f 75 6e 64 | .project...A.thin.wrapper.around | 
| 3c0c0 | 20 60 78 72 65 66 2d 72 65 66 65 72 65 6e 63 65    73 2d 69 6e 2d 64 69 72 65 63 74 6f 72 79 27 2e | .`xref-references-in-directory'. | 
| 3c0e0 | 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65    29 0a 20 20 28 77 68 65 6e 20 28 61 6e 64 20 28 | "...(interactive)...(when.(and.( | 
| 3c100 | 66 62 6f 75 6e 64 70 20 27 78 72 65 66 2d 72 65    66 65 72 65 6e 63 65 73 2d 69 6e 2d 64 69 72 65 | fboundp.'xref-references-in-dire | 
| 3c120 | 63 74 6f 72 79 29 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 28 66 62 6f 75 6e 64 70 20 27 78 72 | ctory)..............(fboundp.'xr | 
| 3c140 | 65 66 2d 2d 73 68 6f 77 2d 78 72 65 66 73 29 29    0a 20 20 20 20 28 6c 65 74 20 28 28 70 72 6f 6a | ef--show-xrefs)).....(let.((proj | 
| 3c160 | 65 63 74 2d 72 6f 6f 74 20 28 70 72 6f 6a 65 63    74 69 6c 65 2d 61 63 71 75 69 72 65 2d 72 6f 6f | ect-root.(projectile-acquire-roo | 
| 3c180 | 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73    79 6d 62 6f 6c 20 28 6f 72 20 73 79 6d 62 6f 6c | t))...........(symbol.(or.symbol | 
| 3c1a0 | 20 28 72 65 61 64 2d 66 72 6f 6d 2d 6d 69 6e 69    62 75 66 66 65 72 20 22 4c 6f 6f 6b 75 70 20 69 | .(read-from-minibuffer."Lookup.i | 
| 3c1c0 | 6e 20 70 72 6f 6a 65 63 74 3a 20 22 20 28 70 72    6f 6a 65 63 74 69 6c 65 2d 73 79 6d 62 6f 6c 2d | n.project:.".(projectile-symbol- | 
| 3c1e0 | 61 74 2d 70 6f 69 6e 74 29 29 29 29 29 0a 20 20    20 20 20 20 28 78 72 65 66 2d 2d 73 68 6f 77 2d | at-point))))).......(xref--show- | 
| 3c200 | 78 72 65 66 73 20 28 78 72 65 66 2d 72 65 66 65    72 65 6e 63 65 73 2d 69 6e 2d 64 69 72 65 63 74 | xrefs.(xref-references-in-direct | 
| 3c220 | 6f 72 79 20 73 79 6d 62 6f 6c 20 70 72 6f 6a 65    63 74 2d 72 6f 6f 74 29 20 6e 69 6c 29 29 29 29 | ory.symbol.project-root).nil)))) | 
| 3c240 | 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74    69 6c 65 2d 74 61 67 73 2d 65 78 63 6c 75 64 65 | ..(defun.projectile-tags-exclude | 
| 3c260 | 2d 70 61 74 74 65 72 6e 73 20 28 29 0a 20 20 22    52 65 74 75 72 6e 20 61 20 73 74 72 69 6e 67 20 | -patterns.()..."Return.a.string. | 
| 3c280 | 77 69 74 68 20 65 78 63 6c 75 64 65 20 70 61 74    74 65 72 6e 73 20 66 6f 72 20 63 74 61 67 73 2e | with.exclude.patterns.for.ctags. | 
| 3c2a0 | 22 0a 20 20 28 6d 61 70 63 6f 6e 63 61 74 20 28    6c 61 6d 62 64 61 20 28 70 61 74 74 65 72 6e 29 | "...(mapconcat.(lambda.(pattern) | 
| 3c2c0 | 20 28 66 6f 72 6d 61 74 20 22 2d 2d 65 78 63 6c    75 64 65 3d 5c 22 25 73 5c 22 22 0a 20 20 20 20 | .(format."--exclude=\"%s\""..... | 
| 3c2e0 | 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 | ................................ | 
| 3c300 | 20 20 20 28 64 69 72 65 63 74 6f 72 79 2d 66 69    6c 65 2d 6e 61 6d 65 20 70 61 74 74 65 72 6e 29 | ...(directory-file-name.pattern) | 
| 3c320 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    28 61 70 70 65 6e 64 0a 20 20 20 20 20 20 20 20 | ))..............(append......... | 
| 3c340 | 20 20 20 20 20 20 28 70 72 6f 6a 65 63 74 69 6c    65 2d 69 67 6e 6f 72 65 64 2d 64 69 72 65 63 74 | ......(projectile-ignored-direct | 
| 3c360 | 6f 72 69 65 73 2d 72 65 6c 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 28 70 72 6f 6a 65 63 | ories-rel)...............(projec | 
| 3c380 | 74 69 6c 65 2d 70 61 74 74 65 72 6e 73 2d 74 6f    2d 69 67 6e 6f 72 65 29 29 20 22 20 22 29 29 0a | tile-patterns-to-ignore)).".")). | 
| 3c3a0 | 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a    28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c | .;;;###autoload.(defun.projectil | 
| 3c3c0 | 65 2d 72 65 67 65 6e 65 72 61 74 65 2d 74 61 67    73 20 28 29 0a 20 20 22 52 65 67 65 6e 65 72 61 | e-regenerate-tags.()..."Regenera | 
| 3c3e0 | 74 65 20 74 68 65 20 70 72 6f 6a 65 63 74 27 73    20 5b 65 7c 67 5d 74 61 67 73 2e 22 0a 20 20 28 | te.the.project's.[e|g]tags."...( | 
| 3c400 | 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28    69 66 20 28 61 6e 64 20 28 62 6f 75 6e 64 70 20 | interactive)...(if.(and.(boundp. | 
| 3c420 | 27 67 67 74 61 67 73 2d 6d 6f 64 65 29 0a 20 20    20 20 20 20 20 20 20 20 20 28 6d 65 6d 71 20 70 | 'ggtags-mode)............(memq.p | 
| 3c440 | 72 6f 6a 65 63 74 69 6c 65 2d 74 61 67 73 2d 62    61 63 6b 65 6e 64 20 27 28 61 75 74 6f 20 67 67 | rojectile-tags-backend.'(auto.gg | 
| 3c460 | 74 61 67 73 29 29 29 0a 20 20 20 20 20 20 28 70    72 6f 67 6e 0a 20 20 20 20 20 20 20 20 28 6c 65 | tags))).......(progn.........(le | 
| 3c480 | 74 2a 20 28 28 67 67 74 61 67 73 2d 70 72 6f 6a    65 63 74 2d 72 6f 6f 74 20 28 70 72 6f 6a 65 63 | t*.((ggtags-project-root.(projec | 
| 3c4a0 | 74 69 6c 65 2d 61 63 71 75 69 72 65 2d 72 6f 6f    74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | tile-acquire-root))............. | 
| 3c4c0 | 20 20 20 28 64 65 66 61 75 6c 74 2d 64 69 72 65    63 74 6f 72 79 20 67 67 74 61 67 73 2d 70 72 6f | ...(default-directory.ggtags-pro | 
| 3c4e0 | 6a 65 63 74 2d 72 6f 6f 74 29 29 0a 20 20 20 20    20 20 20 20 20 20 28 67 67 74 61 67 73 2d 65 6e | ject-root))...........(ggtags-en | 
| 3c500 | 73 75 72 65 2d 70 72 6f 6a 65 63 74 29 0a 20 20    20 20 20 20 20 20 20 20 28 67 67 74 61 67 73 2d | sure-project)...........(ggtags- | 
| 3c520 | 75 70 64 61 74 65 2d 74 61 67 73 20 74 29 29 29    0a 20 20 20 20 28 6c 65 74 2a 20 28 28 70 72 6f | update-tags.t))).....(let*.((pro | 
| 3c540 | 6a 65 63 74 2d 72 6f 6f 74 20 28 70 72 6f 6a 65    63 74 69 6c 65 2d 61 63 71 75 69 72 65 2d 72 6f | ject-root.(projectile-acquire-ro | 
| 3c560 | 6f 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20    28 74 61 67 73 2d 65 78 63 6c 75 64 65 20 28 70 | ot))............(tags-exclude.(p | 
| 3c580 | 72 6f 6a 65 63 74 69 6c 65 2d 74 61 67 73 2d 65    78 63 6c 75 64 65 2d 70 61 74 74 65 72 6e 73 29 | rojectile-tags-exclude-patterns) | 
| 3c5a0 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 64 65    66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 20 | )............(default-directory. | 
| 3c5c0 | 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 29 0a 20 20    20 20 20 20 20 20 20 20 20 28 74 61 67 73 2d 66 | project-root)............(tags-f | 
| 3c5e0 | 69 6c 65 20 28 65 78 70 61 6e 64 2d 66 69 6c 65    2d 6e 61 6d 65 20 70 72 6f 6a 65 63 74 69 6c 65 | ile.(expand-file-name.projectile | 
| 3c600 | 2d 74 61 67 73 2d 66 69 6c 65 2d 6e 61 6d 65 29    29 0a 20 20 20 20 20 20 20 20 20 20 20 28 63 6f | -tags-file-name))............(co | 
| 3c620 | 6d 6d 61 6e 64 20 28 66 6f 72 6d 61 74 20 70 72    6f 6a 65 63 74 69 6c 65 2d 74 61 67 73 2d 63 6f | mmand.(format.projectile-tags-co | 
| 3c640 | 6d 6d 61 6e 64 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 | mmand........................... | 
| 3c660 | 20 20 28 6f 72 20 28 66 69 6c 65 2d 72 65 6d 6f    74 65 2d 70 20 74 61 67 73 2d 66 69 6c 65 20 27 | ..(or.(file-remote-p.tags-file.' | 
| 3c680 | 6c 6f 63 61 6c 6e 61 6d 65 29 20 74 61 67 73 2d    66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 | localname).tags-file)........... | 
| 3c6a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 74 61 67 73 2d 65 78 63 6c 75 64 65 0a 20 | ..................tags-exclude.. | 
| 3c6c0 | 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 22 2e 22 29 29 | ...........................".")) | 
| 3c6e0 | 0a 20 20 20 20 20 20 20 20 20 20 20 73 68 65 6c    6c 2d 6f 75 74 70 75 74 20 65 78 69 74 2d 63 6f | ............shell-output.exit-co | 
| 3c700 | 64 65 29 0a 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 | de).......(with-temp-buffer..... | 
| 3c720 | 20 20 20 20 28 73 65 74 71 20 65 78 69 74 2d 63    6f 64 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ....(setq.exit-code............. | 
| 3c740 | 20 20 28 70 72 6f 63 65 73 73 2d 66 69 6c 65 2d    73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 20 63 6f | ..(process-file-shell-command.co | 
| 3c760 | 6d 6d 61 6e 64 20 6e 69 6c 20 28 63 75 72 72 65    6e 74 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20 | mmand.nil.(current-buffer))..... | 
| 3c780 | 20 20 20 20 20 20 20 20 20 20 73 68 65 6c 6c 2d    6f 75 74 70 75 74 20 28 73 74 72 69 6e 67 2d 74 | ..........shell-output.(string-t | 
| 3c7a0 | 72 69 6d 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 | rim............................. | 
| 3c7c0 | 28 62 75 66 66 65 72 2d 73 75 62 73 74 72 69 6e    67 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 | (buffer-substring.(point-min).(p | 
| 3c7e0 | 6f 69 6e 74 2d 6d 61 78 29 29 29 29 29 0a 20 20    20 20 20 20 28 75 6e 6c 65 73 73 20 28 7a 65 72 | oint-max))))).......(unless.(zer | 
| 3c800 | 6f 70 20 65 78 69 74 2d 63 6f 64 65 29 0a 20 20    20 20 20 20 20 20 28 65 72 72 6f 72 20 73 68 65 | op.exit-code).........(error.she | 
| 3c820 | 6c 6c 2d 6f 75 74 70 75 74 29 29 0a 20 20 20 20    20 20 28 76 69 73 69 74 2d 74 61 67 73 2d 74 61 | ll-output)).......(visit-tags-ta | 
| 3c840 | 62 6c 65 20 74 61 67 73 2d 66 69 6c 65 29 0a 20    20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 52 | ble.tags-file).......(message."R | 
| 3c860 | 65 67 65 6e 65 72 61 74 65 64 20 25 73 22 20 74    61 67 73 2d 66 69 6c 65 29 29 29 29 0a 0a 28 64 | egenerated.%s".tags-file))))..(d | 
| 3c880 | 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d    76 69 73 69 74 2d 70 72 6f 6a 65 63 74 2d 74 61 | efun.projectile-visit-project-ta | 
| 3c8a0 | 67 73 2d 74 61 62 6c 65 20 28 29 0a 20 20 22 56    69 73 69 74 20 74 68 65 20 63 75 72 72 65 6e 74 | gs-table.()..."Visit.the.current | 
| 3c8c0 | 20 70 72 6f 6a 65 63 74 27 73 20 74 61 67 73 20    74 61 62 6c 65 2e 22 0a 20 20 28 77 68 65 6e 20 | .project's.tags.table."...(when. | 
| 3c8e0 | 28 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a    65 63 74 2d 70 29 0a 20 20 20 20 28 6c 65 74 20 | (projectile-project-p).....(let. | 
| 3c900 | 28 28 74 61 67 73 2d 66 69 6c 65 20 28 70 72 6f    6a 65 63 74 69 6c 65 2d 65 78 70 61 6e 64 2d 72 | ((tags-file.(projectile-expand-r | 
| 3c920 | 6f 6f 74 20 70 72 6f 6a 65 63 74 69 6c 65 2d 74    61 67 73 2d 66 69 6c 65 2d 6e 61 6d 65 29 29 29 | oot.projectile-tags-file-name))) | 
| 3c940 | 0a 20 20 20 20 20 20 28 77 68 65 6e 20 28 66 69    6c 65 2d 65 78 69 73 74 73 2d 70 20 74 61 67 73 | .......(when.(file-exists-p.tags | 
| 3c960 | 2d 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 28    77 69 74 68 2d 64 65 6d 6f 74 65 64 2d 65 72 72 | -file).........(with-demoted-err | 
| 3c980 | 6f 72 73 20 22 45 72 72 6f 72 20 6c 6f 61 64 69    6e 67 20 74 61 67 73 2d 66 69 6c 65 3a 20 25 73 | ors."Error.loading.tags-file:.%s | 
| 3c9a0 | 22 0a 20 20 20 20 20 20 20 20 20 20 28 76 69 73    69 74 2d 74 61 67 73 2d 74 61 62 6c 65 20 74 61 | "...........(visit-tags-table.ta | 
| 3c9c0 | 67 73 2d 66 69 6c 65 20 74 29 29 29 29 29 29 0a    0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 | gs-file.t))))))..(defun.projecti | 
| 3c9e0 | 6c 65 2d 64 65 74 65 72 6d 69 6e 65 2d 66 69 6e    64 2d 74 61 67 2d 66 6e 20 28 29 0a 20 20 22 44 | le-determine-find-tag-fn.()..."D | 
| 3ca00 | 65 74 65 72 6d 69 6e 65 20 77 68 69 63 68 20 66    75 6e 63 74 69 6f 6e 20 74 6f 20 75 73 65 20 66 | etermine.which.function.to.use.f | 
| 3ca20 | 6f 72 20 61 20 63 61 6c 6c 20 74 6f 20 60 70 72    6f 6a 65 63 74 69 6c 65 2d 66 69 6e 64 2d 74 61 | or.a.call.to.`projectile-find-ta | 
| 3ca40 | 67 27 2e 22 0a 20 20 28 6f 72 0a 20 20 20 28 63    6f 6e 64 0a 20 20 20 20 28 28 65 71 20 70 72 6f | g'."...(or....(cond.....((eq.pro | 
| 3ca60 | 6a 65 63 74 69 6c 65 2d 74 61 67 73 2d 62 61 63    6b 65 6e 64 20 27 61 75 74 6f 29 0a 20 20 20 20 | jectile-tags-backend.'auto)..... | 
| 3ca80 | 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 28 28 66    62 6f 75 6e 64 70 20 27 67 67 74 61 67 73 2d 66 | .(cond.......((fboundp.'ggtags-f | 
| 3caa0 | 69 6e 64 2d 74 61 67 2d 64 77 69 6d 29 0a 20 20    20 20 20 20 20 27 67 67 74 61 67 73 2d 66 69 6e | ind-tag-dwim)........'ggtags-fin | 
| 3cac0 | 64 2d 74 61 67 2d 64 77 69 6d 29 0a 20 20 20 20    20 20 28 28 66 62 6f 75 6e 64 70 20 27 78 72 65 | d-tag-dwim).......((fboundp.'xre | 
| 3cae0 | 66 2d 66 69 6e 64 2d 64 65 66 69 6e 69 74 69 6f    6e 73 29 0a 20 20 20 20 20 20 20 27 78 72 65 66 | f-find-definitions)........'xref | 
| 3cb00 | 2d 66 69 6e 64 2d 64 65 66 69 6e 69 74 69 6f 6e    73 29 0a 20 20 20 20 20 20 28 28 66 62 6f 75 6e | -find-definitions).......((fboun | 
| 3cb20 | 64 70 20 27 65 74 61 67 73 2d 73 65 6c 65 63 74    2d 66 69 6e 64 2d 74 61 67 29 0a 20 20 20 20 20 | dp.'etags-select-find-tag)...... | 
| 3cb40 | 20 20 27 65 74 61 67 73 2d 73 65 6c 65 63 74 2d    66 69 6e 64 2d 74 61 67 29 29 29 0a 20 20 20 20 | ..'etags-select-find-tag)))..... | 
| 3cb60 | 28 28 65 71 20 70 72 6f 6a 65 63 74 69 6c 65 2d    74 61 67 73 2d 62 61 63 6b 65 6e 64 20 27 78 72 | ((eq.projectile-tags-backend.'xr | 
| 3cb80 | 65 66 29 0a 20 20 20 20 20 28 77 68 65 6e 20 28    66 62 6f 75 6e 64 70 20 27 78 72 65 66 2d 66 69 | ef)......(when.(fboundp.'xref-fi | 
| 3cba0 | 6e 64 2d 64 65 66 69 6e 69 74 69 6f 6e 73 29 0a    20 20 20 20 20 20 20 27 78 72 65 66 2d 66 69 6e | nd-definitions)........'xref-fin | 
| 3cbc0 | 64 2d 64 65 66 69 6e 69 74 69 6f 6e 73 29 29 0a    20 20 20 20 28 28 65 71 20 70 72 6f 6a 65 63 74 | d-definitions)).....((eq.project | 
| 3cbe0 | 69 6c 65 2d 74 61 67 73 2d 62 61 63 6b 65 6e 64    20 27 67 67 74 61 67 73 29 0a 20 20 20 20 20 28 | ile-tags-backend.'ggtags)......( | 
| 3cc00 | 77 68 65 6e 20 28 66 62 6f 75 6e 64 70 20 27 67    67 74 61 67 73 2d 66 69 6e 64 2d 74 61 67 2d 64 | when.(fboundp.'ggtags-find-tag-d | 
| 3cc20 | 77 69 6d 29 0a 20 20 20 20 20 20 20 27 67 67 74    61 67 73 2d 66 69 6e 64 2d 74 61 67 2d 64 77 69 | wim)........'ggtags-find-tag-dwi | 
| 3cc40 | 6d 29 29 0a 20 20 20 20 28 28 65 71 20 70 72 6f    6a 65 63 74 69 6c 65 2d 74 61 67 73 2d 62 61 63 | m)).....((eq.projectile-tags-bac | 
| 3cc60 | 6b 65 6e 64 20 27 65 74 61 67 73 2d 73 65 6c 65    63 74 29 0a 20 20 20 20 20 28 77 68 65 6e 20 28 | kend.'etags-select)......(when.( | 
| 3cc80 | 66 62 6f 75 6e 64 70 20 27 65 74 61 67 73 2d 73    65 6c 65 63 74 2d 66 69 6e 64 2d 74 61 67 29 0a | fboundp.'etags-select-find-tag). | 
| 3cca0 | 20 20 20 20 20 20 20 27 65 74 61 67 73 2d 73 65    6c 65 63 74 2d 66 69 6e 64 2d 74 61 67 29 29 29 | .......'etags-select-find-tag))) | 
| 3ccc0 | 0a 20 20 20 27 66 69 6e 64 2d 74 61 67 29 29 0a    0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a | ....'find-tag))..;;;###autoload. | 
| 3cce0 | 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c    65 2d 66 69 6e 64 2d 74 61 67 20 28 29 0a 20 20 | (defun.projectile-find-tag.()... | 
| 3cd00 | 22 46 69 6e 64 20 74 61 67 20 69 6e 20 70 72 6f    6a 65 63 74 2e 22 0a 20 20 28 69 6e 74 65 72 61 | "Find.tag.in.project."...(intera | 
| 3cd20 | 63 74 69 76 65 29 0a 20 20 28 70 72 6f 6a 65 63    74 69 6c 65 2d 76 69 73 69 74 2d 70 72 6f 6a 65 | ctive)...(projectile-visit-proje | 
| 3cd40 | 63 74 2d 74 61 67 73 2d 74 61 62 6c 65 29 0a 20    20 3b 3b 20 41 75 74 6f 2d 64 69 73 63 6f 76 65 | ct-tags-table)...;;.Auto-discove | 
| 3cd60 | 72 20 74 68 65 20 75 73 65 72 27 73 20 70 72 65    66 65 72 65 6e 63 65 20 66 6f 72 20 74 61 67 73 | r.the.user's.preference.for.tags | 
| 3cd80 | 0a 20 20 28 6c 65 74 20 28 28 66 69 6e 64 2d 74    61 67 2d 66 6e 20 28 70 72 6f 6a 65 63 74 69 6c | ...(let.((find-tag-fn.(projectil | 
| 3cda0 | 65 2d 64 65 74 65 72 6d 69 6e 65 2d 66 69 6e 64    2d 74 61 67 2d 66 6e 29 29 29 0a 20 20 20 20 28 | e-determine-find-tag-fn))).....( | 
| 3cdc0 | 63 61 6c 6c 2d 69 6e 74 65 72 61 63 74 69 76 65    6c 79 20 66 69 6e 64 2d 74 61 67 2d 66 6e 29 29 | call-interactively.find-tag-fn)) | 
| 3cde0 | 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 70 72 6f    6a 65 63 74 69 6c 65 2d 77 69 74 68 2d 64 65 66 | )..(defmacro.projectile-with-def | 
| 3ce00 | 61 75 6c 74 2d 64 69 72 20 28 64 69 72 20 26 72    65 73 74 20 62 6f 64 79 29 0a 20 20 22 49 6e 76 | ault-dir.(dir.&rest.body)..."Inv | 
| 3ce20 | 6f 6b 65 20 69 6e 20 44 49 52 20 74 68 65 20 42    4f 44 59 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 | oke.in.DIR.the.BODY."...(declare | 
| 3ce40 | 20 28 64 65 62 75 67 20 74 29 20 28 69 6e 64 65    6e 74 20 31 29 29 0a 20 20 60 28 6c 65 74 20 28 | .(debug.t).(indent.1))...`(let.( | 
| 3ce60 | 28 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f    72 79 20 2c 64 69 72 29 29 0a 20 20 20 20 20 2c | (default-directory.,dir))......, | 
| 3ce80 | 40 62 6f 64 79 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 70 | @body))..;;;###autoload.(defun.p | 
| 3cea0 | 72 6f 6a 65 63 74 69 6c 65 2d 72 75 6e 2d 63 6f    6d 6d 61 6e 64 2d 69 6e 2d 72 6f 6f 74 20 28 29 | rojectile-run-command-in-root.() | 
| 3cec0 | 0a 20 20 22 49 6e 76 6f 6b 65 20 60 65 78 65 63    75 74 65 2d 65 78 74 65 6e 64 65 64 2d 63 6f 6d | ..."Invoke.`execute-extended-com | 
| 3cee0 | 6d 61 6e 64 27 20 69 6e 20 74 68 65 20 70 72 6f    6a 65 63 74 27 73 20 72 6f 6f 74 2e 22 0a 20 20 | mand'.in.the.project's.root."... | 
| 3cf00 | 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20    28 70 72 6f 6a 65 63 74 69 6c 65 2d 77 69 74 68 | (interactive)...(projectile-with | 
| 3cf20 | 2d 64 65 66 61 75 6c 74 2d 64 69 72 20 28 70 72    6f 6a 65 63 74 69 6c 65 2d 61 63 71 75 69 72 65 | -default-dir.(projectile-acquire | 
| 3cf40 | 2d 72 6f 6f 74 29 0a 20 20 20 20 28 63 61 6c 6c    2d 69 6e 74 65 72 61 63 74 69 76 65 6c 79 20 23 | -root).....(call-interactively.# | 
| 3cf60 | 27 65 78 65 63 75 74 65 2d 65 78 74 65 6e 64 65    64 2d 63 6f 6d 6d 61 6e 64 29 29 29 0a 0a 3b 3b | 'execute-extended-command)))..;; | 
| 3cf80 | 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65    66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 72 | ;###autoload.(defun.projectile-r | 
| 3cfa0 | 75 6e 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64    2d 69 6e 2d 72 6f 6f 74 20 28 63 6f 6d 6d 61 6e | un-shell-command-in-root.(comman | 
| 3cfc0 | 64 20 26 6f 70 74 69 6f 6e 61 6c 20 6f 75 74 70    75 74 2d 62 75 66 66 65 72 20 65 72 72 6f 72 2d | d.&optional.output-buffer.error- | 
| 3cfe0 | 62 75 66 66 65 72 29 0a 20 20 22 49 6e 76 6f 6b    65 20 60 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 | buffer)..."Invoke.`shell-command | 
| 3d000 | 27 20 69 6e 20 74 68 65 20 70 72 6f 6a 65 63 74    27 73 20 72 6f 6f 74 2e 22 0a 20 20 28 69 6e 74 | '.in.the.project's.root."...(int | 
| 3d020 | 65 72 61 63 74 69 76 65 20 28 6c 69 73 74 20 28    72 65 61 64 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 | eractive.(list.(read-shell-comma | 
| 3d040 | 6e 64 20 22 53 68 65 6c 6c 20 63 6f 6d 6d 61 6e    64 3a 20 22 29 29 29 0a 20 20 28 70 72 6f 6a 65 | nd."Shell.command:.")))...(proje | 
| 3d060 | 63 74 69 6c 65 2d 77 69 74 68 2d 64 65 66 61 75    6c 74 2d 64 69 72 20 28 70 72 6f 6a 65 63 74 69 | ctile-with-default-dir.(projecti | 
| 3d080 | 6c 65 2d 61 63 71 75 69 72 65 2d 72 6f 6f 74 29    0a 20 20 20 20 28 73 68 65 6c 6c 2d 63 6f 6d 6d | le-acquire-root).....(shell-comm | 
| 3d0a0 | 61 6e 64 20 63 6f 6d 6d 61 6e 64 20 6f 75 74 70    75 74 2d 62 75 66 66 65 72 20 65 72 72 6f 72 2d | and.command.output-buffer.error- | 
| 3d0c0 | 62 75 66 66 65 72 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 | buffer)))..;;;###autoload.(defun | 
| 3d0e0 | 20 70 72 6f 6a 65 63 74 69 6c 65 2d 72 75 6e 2d    61 73 79 6e 63 2d 73 68 65 6c 6c 2d 63 6f 6d 6d | .projectile-run-async-shell-comm | 
| 3d100 | 61 6e 64 2d 69 6e 2d 72 6f 6f 74 20 28 63 6f 6d    6d 61 6e 64 20 26 6f 70 74 69 6f 6e 61 6c 20 6f | and-in-root.(command.&optional.o | 
| 3d120 | 75 74 70 75 74 2d 62 75 66 66 65 72 20 65 72 72    6f 72 2d 62 75 66 66 65 72 29 0a 20 20 22 49 6e | utput-buffer.error-buffer)..."In | 
| 3d140 | 76 6f 6b 65 20 60 61 73 79 6e 63 2d 73 68 65 6c    6c 2d 63 6f 6d 6d 61 6e 64 27 20 69 6e 20 74 68 | voke.`async-shell-command'.in.th | 
| 3d160 | 65 20 70 72 6f 6a 65 63 74 27 73 20 72 6f 6f 74    2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 | e.project's.root."...(interactiv | 
| 3d180 | 65 20 28 6c 69 73 74 20 28 72 65 61 64 2d 73 68    65 6c 6c 2d 63 6f 6d 6d 61 6e 64 20 22 41 73 79 | e.(list.(read-shell-command."Asy | 
| 3d1a0 | 6e 63 20 73 68 65 6c 6c 20 63 6f 6d 6d 61 6e 64    3a 20 22 29 29 29 0a 20 20 28 70 72 6f 6a 65 63 | nc.shell.command:.")))...(projec | 
| 3d1c0 | 74 69 6c 65 2d 77 69 74 68 2d 64 65 66 61 75 6c    74 2d 64 69 72 20 28 70 72 6f 6a 65 63 74 69 6c | tile-with-default-dir.(projectil | 
| 3d1e0 | 65 2d 61 63 71 75 69 72 65 2d 72 6f 6f 74 29 0a    20 20 20 20 28 61 73 79 6e 63 2d 73 68 65 6c 6c | e-acquire-root).....(async-shell | 
| 3d200 | 2d 63 6f 6d 6d 61 6e 64 20 63 6f 6d 6d 61 6e 64    20 6f 75 74 70 75 74 2d 62 75 66 66 65 72 20 65 | -command.command.output-buffer.e | 
| 3d220 | 72 72 6f 72 2d 62 75 66 66 65 72 29 29 29 0a 0a    3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 | rror-buffer)))..;;;###autoload.( | 
| 3d240 | 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65    2d 72 75 6e 2d 67 64 62 20 28 29 0a 20 20 22 49 | defun.projectile-run-gdb.()..."I | 
| 3d260 | 6e 76 6f 6b 65 20 60 67 64 62 27 20 69 6e 20 74    68 65 20 70 72 6f 6a 65 63 74 27 73 20 72 6f 6f | nvoke.`gdb'.in.the.project's.roo | 
| 3d280 | 74 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69    76 65 29 0a 20 20 28 70 72 6f 6a 65 63 74 69 6c | t."...(interactive)...(projectil | 
| 3d2a0 | 65 2d 77 69 74 68 2d 64 65 66 61 75 6c 74 2d 64    69 72 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 61 | e-with-default-dir.(projectile-a | 
| 3d2c0 | 63 71 75 69 72 65 2d 72 6f 6f 74 29 0a 20 20 20    20 28 63 61 6c 6c 2d 69 6e 74 65 72 61 63 74 69 | cquire-root).....(call-interacti | 
| 3d2e0 | 76 65 6c 79 20 27 67 64 62 29 29 29 0a 0a 3b 3b    3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 | vely.'gdb)))..;;;###autoload.(de | 
| 3d300 | 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 72    75 6e 2d 73 68 65 6c 6c 20 28 26 6f 70 74 69 6f | fun.projectile-run-shell.(&optio | 
| 3d320 | 6e 61 6c 20 61 72 67 29 0a 20 20 22 49 6e 76 6f    6b 65 20 60 73 68 65 6c 6c 27 20 69 6e 20 74 68 | nal.arg)..."Invoke.`shell'.in.th | 
| 3d340 | 65 20 70 72 6f 6a 65 63 74 27 73 20 72 6f 6f 74    2e 0a 0a 53 77 69 74 63 68 20 74 6f 20 74 68 65 | e.project's.root...Switch.to.the | 
| 3d360 | 20 70 72 6f 6a 65 63 74 20 73 70 65 63 69 66 69    63 20 73 68 65 6c 6c 20 62 75 66 66 65 72 20 69 | .project.specific.shell.buffer.i | 
| 3d380 | 66 20 69 74 20 61 6c 72 65 61 64 79 20 65 78 69    73 74 73 2e 0a 0a 55 73 65 20 61 20 70 72 65 66 | f.it.already.exists...Use.a.pref | 
| 3d3a0 | 69 78 20 61 72 67 75 6d 65 6e 74 20 41 52 47 20    74 6f 20 69 6e 64 69 63 61 74 65 20 63 72 65 61 | ix.argument.ARG.to.indicate.crea | 
| 3d3c0 | 74 69 6f 6e 20 6f 66 20 61 20 6e 65 77 20 70 72    6f 63 65 73 73 20 69 6e 73 74 65 61 64 2e 22 0a | tion.of.a.new.process.instead.". | 
| 3d3e0 | 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22    50 22 29 0a 20 20 28 6c 65 74 20 28 28 70 72 6f | ..(interactive."P")...(let.((pro | 
| 3d400 | 6a 65 63 74 20 28 70 72 6f 6a 65 63 74 69 6c 65    2d 61 63 71 75 69 72 65 2d 72 6f 6f 74 29 29 29 | ject.(projectile-acquire-root))) | 
| 3d420 | 0a 20 20 20 20 28 70 72 6f 6a 65 63 74 69 6c 65    2d 77 69 74 68 2d 64 65 66 61 75 6c 74 2d 64 69 | .....(projectile-with-default-di | 
| 3d440 | 72 20 70 72 6f 6a 65 63 74 0a 20 20 20 20 20 20    28 73 68 65 6c 6c 20 28 70 72 6f 6a 65 63 74 69 | r.project.......(shell.(projecti | 
| 3d460 | 6c 65 2d 67 65 6e 65 72 61 74 65 2d 70 72 6f 63    65 73 73 2d 6e 61 6d 65 20 22 73 68 65 6c 6c 22 | le-generate-process-name."shell" | 
| 3d480 | 20 61 72 67 20 70 72 6f 6a 65 63 74 29 29 29 29    29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 | .arg.project)))))..;;;###autoloa | 
| 3d4a0 | 64 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74    69 6c 65 2d 72 75 6e 2d 65 73 68 65 6c 6c 20 28 | d.(defun.projectile-run-eshell.( | 
| 3d4c0 | 26 6f 70 74 69 6f 6e 61 6c 20 61 72 67 29 0a 20    20 22 49 6e 76 6f 6b 65 20 60 65 73 68 65 6c 6c | &optional.arg)..."Invoke.`eshell | 
| 3d4e0 | 27 20 69 6e 20 74 68 65 20 70 72 6f 6a 65 63 74    27 73 20 72 6f 6f 74 2e 0a 0a 53 77 69 74 63 68 | '.in.the.project's.root...Switch | 
| 3d500 | 20 74 6f 20 74 68 65 20 70 72 6f 6a 65 63 74 20    73 70 65 63 69 66 69 63 20 65 73 68 65 6c 6c 20 | .to.the.project.specific.eshell. | 
| 3d520 | 62 75 66 66 65 72 20 69 66 20 69 74 20 61 6c 72    65 61 64 79 20 65 78 69 73 74 73 2e 0a 0a 55 73 | buffer.if.it.already.exists...Us | 
| 3d540 | 65 20 61 20 70 72 65 66 69 78 20 61 72 67 75 6d    65 6e 74 20 41 52 47 20 74 6f 20 69 6e 64 69 63 | e.a.prefix.argument.ARG.to.indic | 
| 3d560 | 61 74 65 20 63 72 65 61 74 69 6f 6e 20 6f 66 20    61 20 6e 65 77 20 70 72 6f 63 65 73 73 20 69 6e | ate.creation.of.a.new.process.in | 
| 3d580 | 73 74 65 61 64 2e 22 0a 20 20 28 69 6e 74 65 72    61 63 74 69 76 65 20 22 50 22 29 0a 20 20 28 6c | stead."...(interactive."P")...(l | 
| 3d5a0 | 65 74 20 28 28 70 72 6f 6a 65 63 74 20 28 70 72    6f 6a 65 63 74 69 6c 65 2d 61 63 71 75 69 72 65 | et.((project.(projectile-acquire | 
| 3d5c0 | 2d 72 6f 6f 74 29 29 29 0a 20 20 20 20 28 70 72    6f 6a 65 63 74 69 6c 65 2d 77 69 74 68 2d 64 65 | -root))).....(projectile-with-de | 
| 3d5e0 | 66 61 75 6c 74 2d 64 69 72 20 70 72 6f 6a 65 63    74 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 65 | fault-dir.project.......(let.((e | 
| 3d600 | 73 68 65 6c 6c 2d 62 75 66 66 65 72 2d 6e 61 6d    65 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 67 65 | shell-buffer-name.(projectile-ge | 
| 3d620 | 6e 65 72 61 74 65 2d 70 72 6f 63 65 73 73 2d 6e    61 6d 65 20 22 65 73 68 65 6c 6c 22 20 61 72 67 | nerate-process-name."eshell".arg | 
| 3d640 | 20 70 72 6f 6a 65 63 74 29 29 29 0a 20 20 20 20    20 20 20 20 28 65 73 68 65 6c 6c 29 29 29 29 29 | .project))).........(eshell))))) | 
| 3d660 | 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64    0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 | ..;;;###autoload.(defun.projecti | 
| 3d680 | 6c 65 2d 72 75 6e 2d 69 65 6c 6d 20 28 26 6f 70    74 69 6f 6e 61 6c 20 61 72 67 29 0a 20 20 22 49 | le-run-ielm.(&optional.arg)..."I | 
| 3d6a0 | 6e 76 6f 6b 65 20 60 69 65 6c 6d 27 20 69 6e 20    74 68 65 20 70 72 6f 6a 65 63 74 27 73 20 72 6f | nvoke.`ielm'.in.the.project's.ro | 
| 3d6c0 | 6f 74 2e 0a 0a 53 77 69 74 63 68 20 74 6f 20 74    68 65 20 70 72 6f 6a 65 63 74 20 73 70 65 63 69 | ot...Switch.to.the.project.speci | 
| 3d6e0 | 66 69 63 20 69 65 6c 6d 20 62 75 66 66 65 72 20    69 66 20 69 74 20 61 6c 72 65 61 64 79 20 65 78 | fic.ielm.buffer.if.it.already.ex | 
| 3d700 | 69 73 74 73 2e 0a 0a 55 73 65 20 61 20 70 72 65    66 69 78 20 61 72 67 75 6d 65 6e 74 20 41 52 47 | ists...Use.a.prefix.argument.ARG | 
| 3d720 | 20 74 6f 20 69 6e 64 69 63 61 74 65 20 63 72 65    61 74 69 6f 6e 20 6f 66 20 61 20 6e 65 77 20 70 | .to.indicate.creation.of.a.new.p | 
| 3d740 | 72 6f 63 65 73 73 20 69 6e 73 74 65 61 64 2e 22    0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 | rocess.instead."...(interactive. | 
| 3d760 | 22 50 22 29 0a 20 20 28 6c 65 74 2a 20 28 28 70    72 6f 6a 65 63 74 20 28 70 72 6f 6a 65 63 74 69 | "P")...(let*.((project.(projecti | 
| 3d780 | 6c 65 2d 61 63 71 75 69 72 65 2d 72 6f 6f 74 29    29 0a 20 20 20 20 20 20 20 20 20 28 69 65 6c 6d | le-acquire-root))..........(ielm | 
| 3d7a0 | 2d 62 75 66 66 65 72 2d 6e 61 6d 65 20 28 70 72    6f 6a 65 63 74 69 6c 65 2d 67 65 6e 65 72 61 74 | -buffer-name.(projectile-generat | 
| 3d7c0 | 65 2d 70 72 6f 63 65 73 73 2d 6e 61 6d 65 20 22    69 65 6c 6d 22 20 61 72 67 20 70 72 6f 6a 65 63 | e-process-name."ielm".arg.projec | 
| 3d7e0 | 74 29 29 29 0a 20 20 20 20 28 69 66 20 28 67 65    74 2d 62 75 66 66 65 72 20 69 65 6c 6d 2d 62 75 | t))).....(if.(get-buffer.ielm-bu | 
| 3d800 | 66 66 65 72 2d 6e 61 6d 65 29 0a 20 20 20 20 20    20 20 20 28 73 77 69 74 63 68 2d 74 6f 2d 62 75 | ffer-name).........(switch-to-bu | 
| 3d820 | 66 66 65 72 20 69 65 6c 6d 2d 62 75 66 66 65 72    2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 28 70 72 | ffer.ielm-buffer-name).......(pr | 
| 3d840 | 6f 6a 65 63 74 69 6c 65 2d 77 69 74 68 2d 64 65    66 61 75 6c 74 2d 64 69 72 20 70 72 6f 6a 65 63 | ojectile-with-default-dir.projec | 
| 3d860 | 74 0a 20 20 20 20 20 20 20 20 28 69 65 6c 6d 29    29 0a 20 20 20 20 20 20 3b 3b 20 69 65 6c 6d 27 | t.........(ielm)).......;;.ielm' | 
| 3d880 | 73 20 62 75 66 66 65 72 20 6e 61 6d 65 20 69 73    20 68 61 72 64 63 6f 64 65 64 2c 20 73 6f 20 77 | s.buffer.name.is.hardcoded,.so.w | 
| 3d8a0 | 65 20 68 61 76 65 20 74 6f 20 72 65 6e 61 6d 65    20 69 74 20 61 66 74 65 72 20 63 72 65 61 74 69 | e.have.to.rename.it.after.creati | 
| 3d8c0 | 6f 6e 0a 20 20 20 20 20 20 28 72 65 6e 61 6d 65    2d 62 75 66 66 65 72 20 69 65 6c 6d 2d 62 75 66 | on.......(rename-buffer.ielm-buf | 
| 3d8e0 | 66 65 72 2d 6e 61 6d 65 29 29 29 29 0a 0a 3b 3b    3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 | fer-name))))..;;;###autoload.(de | 
| 3d900 | 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 72    75 6e 2d 74 65 72 6d 20 28 26 6f 70 74 69 6f 6e | fun.projectile-run-term.(&option | 
| 3d920 | 61 6c 20 61 72 67 29 0a 20 20 22 49 6e 76 6f 6b    65 20 60 74 65 72 6d 27 20 69 6e 20 74 68 65 20 | al.arg)..."Invoke.`term'.in.the. | 
| 3d940 | 70 72 6f 6a 65 63 74 27 73 20 72 6f 6f 74 2e 0a    0a 53 77 69 74 63 68 20 74 6f 20 74 68 65 20 70 | project's.root...Switch.to.the.p | 
| 3d960 | 72 6f 6a 65 63 74 20 73 70 65 63 69 66 69 63 20    74 65 72 6d 20 62 75 66 66 65 72 20 69 66 20 69 | roject.specific.term.buffer.if.i | 
| 3d980 | 74 20 61 6c 72 65 61 64 79 20 65 78 69 73 74 73    2e 0a 0a 55 73 65 20 61 20 70 72 65 66 69 78 20 | t.already.exists...Use.a.prefix. | 
| 3d9a0 | 61 72 67 75 6d 65 6e 74 20 41 52 47 20 74 6f 20    69 6e 64 69 63 61 74 65 20 63 72 65 61 74 69 6f | argument.ARG.to.indicate.creatio | 
| 3d9c0 | 6e 20 6f 66 20 61 20 6e 65 77 20 70 72 6f 63 65    73 73 20 69 6e 73 74 65 61 64 2e 22 0a 20 20 28 | n.of.a.new.process.instead."...( | 
| 3d9e0 | 69 6e 74 65 72 61 63 74 69 76 65 20 22 50 22 29    0a 20 20 28 6c 65 74 2a 20 28 28 70 72 6f 6a 65 | interactive."P")...(let*.((proje | 
| 3da00 | 63 74 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 61    63 71 75 69 72 65 2d 72 6f 6f 74 29 29 0a 20 20 | ct.(projectile-acquire-root))... | 
| 3da20 | 20 20 20 20 20 20 20 28 62 75 66 66 65 72 2d 6e    61 6d 65 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d | .......(buffer-name.(projectile- | 
| 3da40 | 67 65 6e 65 72 61 74 65 2d 70 72 6f 63 65 73 73    2d 6e 61 6d 65 20 22 74 65 72 6d 22 20 61 72 67 | generate-process-name."term".arg | 
| 3da60 | 20 70 72 6f 6a 65 63 74 29 29 0a 20 20 20 20 20    20 20 20 20 28 64 65 66 61 75 6c 74 2d 70 72 6f | .project))..........(default-pro | 
| 3da80 | 67 72 61 6d 20 28 6f 72 20 65 78 70 6c 69 63 69    74 2d 73 68 65 6c 6c 2d 66 69 6c 65 2d 6e 61 6d | gram.(or.explicit-shell-file-nam | 
| 3daa0 | 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | e............................... | 
| 3dac0 | 28 67 65 74 65 6e 76 20 22 45 53 48 45 4c 4c 22    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | (getenv."ESHELL")............... | 
| 3dae0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 67 65 74 65 6e 76 20 22 53 48 45 4c 4c 22 29 | ................(getenv."SHELL") | 
| 3db00 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 | ..............................." | 
| 3db20 | 2f 62 69 6e 2f 73 68 22 29 29 29 0a 20 20 20 20    28 75 6e 6c 65 73 73 20 28 67 65 74 2d 62 75 66 | /bin/sh"))).....(unless.(get-buf | 
| 3db40 | 66 65 72 20 62 75 66 66 65 72 2d 6e 61 6d 65 29    0a 20 20 20 20 20 20 28 72 65 71 75 69 72 65 20 | fer.buffer-name).......(require. | 
| 3db60 | 27 74 65 72 6d 29 0a 20 20 20 20 20 20 28 6c 65    74 20 28 28 70 72 6f 67 72 61 6d 20 28 72 65 61 | 'term).......(let.((program.(rea | 
| 3db80 | 64 2d 66 72 6f 6d 2d 6d 69 6e 69 62 75 66 66 65    72 20 22 52 75 6e 20 70 72 6f 67 72 61 6d 3a 20 | d-from-minibuffer."Run.program:. | 
| 3dba0 | 22 20 64 65 66 61 75 6c 74 2d 70 72 6f 67 72 61    6d 29 29 29 0a 20 20 20 20 20 20 20 20 28 70 72 | ".default-program))).........(pr | 
| 3dbc0 | 6f 6a 65 63 74 69 6c 65 2d 77 69 74 68 2d 64 65    66 61 75 6c 74 2d 64 69 72 20 70 72 6f 6a 65 63 | ojectile-with-default-dir.projec | 
| 3dbe0 | 74 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74    2d 62 75 66 66 65 72 20 28 74 65 72 6d 2d 61 6e | t...........(set-buffer.(term-an | 
| 3dc00 | 73 69 2d 6d 61 6b 65 2d 74 65 72 6d 20 62 75 66    66 65 72 2d 6e 61 6d 65 20 70 72 6f 67 72 61 6d | si-make-term.buffer-name.program | 
| 3dc20 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 74 65    72 6d 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 20 | ))...........(term-mode)........ | 
| 3dc40 | 20 20 20 28 74 65 72 6d 2d 63 68 61 72 2d 6d 6f    64 65 29 29 29 29 0a 20 20 20 20 28 73 77 69 74 | ...(term-char-mode)))).....(swit | 
| 3dc60 | 63 68 2d 74 6f 2d 62 75 66 66 65 72 20 62 75 66    66 65 72 2d 6e 61 6d 65 29 29 29 0a 0a 28 64 65 | ch-to-buffer.buffer-name)))..(de | 
| 3dc80 | 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 2d    76 74 65 72 6d 20 28 26 6f 70 74 69 6f 6e 61 6c | fun.projectile--vterm.(&optional | 
| 3dca0 | 20 6e 65 77 2d 70 72 6f 63 65 73 73 20 6f 74 68    65 72 2d 77 69 6e 64 6f 77 29 0a 20 20 22 49 6e | .new-process.other-window)..."In | 
| 3dcc0 | 76 6f 6b 65 20 60 76 74 65 72 6d 27 20 69 6e 20    74 68 65 20 70 72 6f 6a 65 63 74 27 73 20 72 6f | voke.`vterm'.in.the.project's.ro | 
| 3dce0 | 6f 74 2e 0a 0a 55 73 65 20 61 72 67 75 6d 65 6e    74 20 4e 45 57 2d 50 52 4f 43 45 53 53 20 74 6f | ot...Use.argument.NEW-PROCESS.to | 
| 3dd00 | 20 69 6e 64 69 63 61 74 65 20 63 72 65 61 74 69    6f 6e 20 6f 66 20 61 20 6e 65 77 20 70 72 6f 63 | .indicate.creation.of.a.new.proc | 
| 3dd20 | 65 73 73 20 69 6e 73 74 65 61 64 2e 0a 55 73 65    20 61 72 67 75 6d 65 6e 74 20 4f 54 48 45 52 2d | ess.instead..Use.argument.OTHER- | 
| 3dd40 | 57 49 4e 44 4f 57 20 74 6f 20 69 6e 64 65 6e 74    61 74 69 6f 6e 20 77 68 65 74 68 65 72 20 74 68 | WINDOW.to.indentation.whether.th | 
| 3dd60 | 65 20 62 75 66 66 65 72 20 73 68 6f 75 6c 64 0a    62 65 20 64 69 73 70 6c 61 79 65 64 20 69 6e 20 | e.buffer.should.be.displayed.in. | 
| 3dd80 | 61 20 64 69 66 66 65 72 65 6e 74 20 77 69 6e 64    6f 77 2e 0a 0a 53 77 69 74 63 68 20 74 6f 20 74 | a.different.window...Switch.to.t | 
| 3dda0 | 68 65 20 70 72 6f 6a 65 63 74 20 73 70 65 63 69    66 69 63 20 74 65 72 6d 20 62 75 66 66 65 72 20 | he.project.specific.term.buffer. | 
| 3ddc0 | 69 66 20 69 74 20 61 6c 72 65 61 64 79 20 65 78    69 73 74 73 2e 22 0a 20 20 28 6c 65 74 2a 20 28 | if.it.already.exists."...(let*.( | 
| 3dde0 | 28 70 72 6f 6a 65 63 74 20 28 70 72 6f 6a 65 63    74 69 6c 65 2d 61 63 71 75 69 72 65 2d 72 6f 6f | (project.(projectile-acquire-roo | 
| 3de00 | 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 62 75    66 66 65 72 20 28 70 72 6f 6a 65 63 74 69 6c 65 | t))..........(buffer.(projectile | 
| 3de20 | 2d 67 65 6e 65 72 61 74 65 2d 70 72 6f 63 65 73    73 2d 6e 61 6d 65 20 22 76 74 65 72 6d 22 20 6e | -generate-process-name."vterm".n | 
| 3de40 | 65 77 2d 70 72 6f 63 65 73 73 20 70 72 6f 6a 65    63 74 29 29 29 0a 20 20 20 20 28 75 6e 6c 65 73 | ew-process.project))).....(unles | 
| 3de60 | 73 20 28 72 65 71 75 69 72 65 20 27 76 74 65 72    6d 20 6e 69 6c 20 27 6e 6f 65 72 72 6f 72 29 0a | s.(require.'vterm.nil.'noerror). | 
| 3de80 | 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 50 61    63 6b 61 67 65 20 27 76 74 65 72 6d 27 20 69 73 | ......(error."Package.'vterm'.is | 
| 3dea0 | 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 22 29    29 0a 20 20 20 20 28 69 66 20 28 62 75 66 66 65 | .not.available")).....(if.(buffe | 
| 3dec0 | 72 2d 6c 69 76 65 2d 70 20 28 67 65 74 2d 62 75    66 66 65 72 20 62 75 66 66 65 72 29 29 0a 20 20 | r-live-p.(get-buffer.buffer))... | 
| 3dee0 | 20 20 20 20 20 20 28 69 66 20 6f 74 68 65 72 2d    77 69 6e 64 6f 77 0a 20 20 20 20 20 20 20 20 20 | ......(if.other-window.......... | 
| 3df00 | 20 20 20 28 73 77 69 74 63 68 2d 74 6f 2d 62 75    66 66 65 72 2d 6f 74 68 65 72 2d 77 69 6e 64 6f | ...(switch-to-buffer-other-windo | 
| 3df20 | 77 20 62 75 66 66 65 72 29 0a 20 20 20 20 20 20    20 20 20 20 28 73 77 69 74 63 68 2d 74 6f 2d 62 | w.buffer)...........(switch-to-b | 
| 3df40 | 75 66 66 65 72 20 62 75 66 66 65 72 29 29 0a 20    20 20 20 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 | uffer.buffer)).......(projectile | 
| 3df60 | 2d 77 69 74 68 2d 64 65 66 61 75 6c 74 2d 64 69    72 20 70 72 6f 6a 65 63 74 0a 20 20 20 20 20 20 | -with-default-dir.project....... | 
| 3df80 | 20 20 28 69 66 20 6f 74 68 65 72 2d 77 69 6e 64    6f 77 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 | ..(if.other-window.............( | 
| 3dfa0 | 76 74 65 72 6d 2d 6f 74 68 65 72 2d 77 69 6e 64    6f 77 20 62 75 66 66 65 72 29 0a 20 20 20 20 20 | vterm-other-window.buffer)...... | 
| 3dfc0 | 20 20 20 20 20 28 76 74 65 72 6d 20 62 75 66 66    65 72 29 29 29 29 29 29 0a 0a 3b 3b 3b 23 23 23 | .....(vterm.buffer))))))..;;;### | 
| 3dfe0 | 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20    70 72 6f 6a 65 63 74 69 6c 65 2d 72 75 6e 2d 76 | autoload.(defun.projectile-run-v | 
| 3e000 | 74 65 72 6d 20 28 26 6f 70 74 69 6f 6e 61 6c 20    61 72 67 29 0a 20 20 22 49 6e 76 6f 6b 65 20 60 | term.(&optional.arg)..."Invoke.` | 
| 3e020 | 76 74 65 72 6d 27 20 69 6e 20 74 68 65 20 70 72    6f 6a 65 63 74 27 73 20 72 6f 6f 74 2e 0a 0a 53 | vterm'.in.the.project's.root...S | 
| 3e040 | 77 69 74 63 68 20 74 6f 20 74 68 65 20 70 72 6f    6a 65 63 74 20 73 70 65 63 69 66 69 63 20 74 65 | witch.to.the.project.specific.te | 
| 3e060 | 72 6d 20 62 75 66 66 65 72 20 69 66 20 69 74 20    61 6c 72 65 61 64 79 20 65 78 69 73 74 73 2e 0a | rm.buffer.if.it.already.exists.. | 
| 3e080 | 0a 55 73 65 20 61 20 70 72 65 66 69 78 20 61 72    67 75 6d 65 6e 74 20 41 52 47 20 74 6f 20 69 6e | .Use.a.prefix.argument.ARG.to.in | 
| 3e0a0 | 64 69 63 61 74 65 20 63 72 65 61 74 69 6f 6e 20    6f 66 20 61 20 6e 65 77 20 70 72 6f 63 65 73 73 | dicate.creation.of.a.new.process | 
| 3e0c0 | 20 69 6e 73 74 65 61 64 2e 22 0a 20 20 28 69 6e    74 65 72 61 63 74 69 76 65 20 22 50 22 29 0a 20 | .instead."...(interactive."P").. | 
| 3e0e0 | 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 2d 76 74    65 72 6d 20 61 72 67 29 29 0a 0a 3b 3b 3b 23 23 | .(projectile--vterm.arg))..;;;## | 
| 3e100 | 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e    20 70 72 6f 6a 65 63 74 69 6c 65 2d 72 75 6e 2d | #autoload.(defun.projectile-run- | 
| 3e120 | 76 74 65 72 6d 2d 6f 74 68 65 72 2d 77 69 6e 64    6f 77 20 28 26 6f 70 74 69 6f 6e 61 6c 20 61 72 | vterm-other-window.(&optional.ar | 
| 3e140 | 67 29 0a 20 20 22 49 6e 76 6f 6b 65 20 60 76 74    65 72 6d 27 20 69 6e 20 74 68 65 20 70 72 6f 6a | g)..."Invoke.`vterm'.in.the.proj | 
| 3e160 | 65 63 74 27 73 20 72 6f 6f 74 2e 0a 0a 53 77 69    74 63 68 20 74 6f 20 74 68 65 20 70 72 6f 6a 65 | ect's.root...Switch.to.the.proje | 
| 3e180 | 63 74 20 73 70 65 63 69 66 69 63 20 74 65 72 6d    20 62 75 66 66 65 72 20 69 66 20 69 74 20 61 6c | ct.specific.term.buffer.if.it.al | 
| 3e1a0 | 72 65 61 64 79 20 65 78 69 73 74 73 2e 0a 0a 55    73 65 20 61 20 70 72 65 66 69 78 20 61 72 67 75 | ready.exists...Use.a.prefix.argu | 
| 3e1c0 | 6d 65 6e 74 20 41 52 47 20 74 6f 20 69 6e 64 69    63 61 74 65 20 63 72 65 61 74 69 6f 6e 20 6f 66 | ment.ARG.to.indicate.creation.of | 
| 3e1e0 | 20 61 20 6e 65 77 20 70 72 6f 63 65 73 73 20 69    6e 73 74 65 61 64 2e 22 0a 20 20 28 69 6e 74 65 | .a.new.process.instead."...(inte | 
| 3e200 | 72 61 63 74 69 76 65 20 22 50 22 29 0a 20 20 28    70 72 6f 6a 65 63 74 69 6c 65 2d 2d 76 74 65 72 | ractive."P")...(projectile--vter | 
| 3e220 | 6d 20 61 72 67 20 27 6f 74 68 65 72 2d 77 69 6e    64 6f 77 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 | m.arg.'other-window))..(defun.pr | 
| 3e240 | 6f 6a 65 63 74 69 6c 65 2d 66 69 6c 65 73 2d 69    6e 2d 70 72 6f 6a 65 63 74 2d 64 69 72 65 63 74 | ojectile-files-in-project-direct | 
| 3e260 | 6f 72 79 20 28 64 69 72 65 63 74 6f 72 79 29 0a    20 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 74 | ory.(directory)..."Return.a.list | 
| 3e280 | 20 6f 66 20 66 69 6c 65 73 20 69 6e 20 44 49 52    45 43 54 4f 52 59 2e 22 0a 20 20 28 6c 65 74 2a | .of.files.in.DIRECTORY."...(let* | 
| 3e2a0 | 20 28 28 70 72 6f 6a 65 63 74 20 28 70 72 6f 6a    65 63 74 69 6c 65 2d 61 63 71 75 69 72 65 2d 72 | .((project.(projectile-acquire-r | 
| 3e2c0 | 6f 6f 74 29 29 0a 20 20 20 20 20 20 20 20 20 28    64 69 72 20 28 66 69 6c 65 2d 72 65 6c 61 74 69 | oot))..........(dir.(file-relati | 
| 3e2e0 | 76 65 2d 6e 61 6d 65 20 28 65 78 70 61 6e 64 2d    66 69 6c 65 2d 6e 61 6d 65 20 64 69 72 65 63 74 | ve-name.(expand-file-name.direct | 
| 3e300 | 6f 72 79 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 | ory)............................ | 
| 3e320 | 20 20 20 20 20 20 20 70 72 6f 6a 65 63 74 29 29    29 0a 20 20 20 20 28 63 6c 2d 72 65 6d 6f 76 65 | .......project))).....(cl-remove | 
| 3e340 | 2d 69 66 2d 6e 6f 74 0a 20 20 20 20 20 28 6c 61    6d 62 64 61 20 28 66 29 20 28 73 74 72 69 6e 67 | -if-not......(lambda.(f).(string | 
| 3e360 | 2d 70 72 65 66 69 78 2d 70 20 64 69 72 20 66 29    29 0a 20 20 20 20 20 28 70 72 6f 6a 65 63 74 69 | -prefix-p.dir.f))......(projecti | 
| 3e380 | 6c 65 2d 70 72 6f 6a 65 63 74 2d 66 69 6c 65 73    20 70 72 6f 6a 65 63 74 29 29 29 29 0a 0a 28 64 | le-project-files.project))))..(d | 
| 3e3a0 | 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d    66 69 6c 65 73 2d 66 72 6f 6d 2d 63 6d 64 20 28 | efun.projectile-files-from-cmd.( | 
| 3e3c0 | 63 6d 64 20 64 69 72 65 63 74 6f 72 79 29 0a 20    20 22 55 73 65 20 61 20 67 72 65 70 2d 6c 69 6b | cmd.directory)..."Use.a.grep-lik | 
| 3e3e0 | 65 20 43 4d 44 20 74 6f 20 73 65 61 72 63 68 20    66 6f 72 20 66 69 6c 65 73 20 77 69 74 68 69 6e | e.CMD.to.search.for.files.within | 
| 3e400 | 20 44 49 52 45 43 54 4f 52 59 2e 0a 0a 43 4d 44    20 73 68 6f 75 6c 64 20 69 6e 63 6c 75 64 65 20 | .DIRECTORY...CMD.should.include. | 
| 3e420 | 74 68 65 20 6e 65 63 65 73 73 61 72 79 20 73 65    61 72 63 68 20 70 61 72 61 6d 73 20 61 6e 64 20 | the.necessary.search.params.and. | 
| 3e440 | 73 68 6f 75 6c 64 20 6f 75 74 70 75 74 0a 65 71    75 69 76 61 6c 65 6e 74 6c 79 20 74 6f 20 67 72 | should.output.equivalently.to.gr | 
| 3e460 | 65 70 20 2d 48 6c 49 20 28 6f 6e 6c 79 20 75 6e    69 71 75 65 20 6d 61 74 63 68 69 6e 67 20 66 69 | ep.-HlI.(only.unique.matching.fi | 
| 3e480 | 6c 65 6e 61 6d 65 73 29 2e 0a 52 65 74 75 72 6e    73 20 61 20 6c 69 73 74 20 6f 66 20 65 78 70 61 | lenames)..Returns.a.list.of.expa | 
| 3e4a0 | 6e 64 65 64 20 66 69 6c 65 6e 61 6d 65 73 2e 22    0a 20 20 28 6c 65 74 20 28 28 64 65 66 61 75 6c | nded.filenames."...(let.((defaul | 
| 3e4c0 | 74 2d 64 69 72 65 63 74 6f 72 79 20 64 69 72 65    63 74 6f 72 79 29 29 0a 20 20 20 20 28 6d 61 70 | t-directory.directory)).....(map | 
| 3e4e0 | 63 61 72 20 28 6c 61 6d 62 64 61 20 28 73 74 72    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | car.(lambda.(str)............... | 
| 3e500 | 28 63 6f 6e 63 61 74 20 64 69 72 65 63 74 6f 72    79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | (concat.directory............... | 
| 3e520 | 20 20 20 20 20 20 20 20 28 69 66 20 28 73 74 72    69 6e 67 2d 70 72 65 66 69 78 2d 70 20 22 2e 2f | ........(if.(string-prefix-p."./ | 
| 3e540 | 22 20 73 74 72 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 | ".str).......................... | 
| 3e560 | 20 28 73 75 62 73 74 72 69 6e 67 20 73 74 72 20    32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | .(substring.str.2).............. | 
| 3e580 | 20 20 20 20 20 20 20 20 20 20 20 73 74 72 29 29    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 | ...........str))).............(s | 
| 3e5a0 | 70 6c 69 74 2d 73 74 72 69 6e 67 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 | plit-string..............(string | 
| 3e5c0 | 2d 74 72 69 6d 20 28 73 68 65 6c 6c 2d 63 6f 6d    6d 61 6e 64 2d 74 6f 2d 73 74 72 69 6e 67 20 63 | -trim.(shell-command-to-string.c | 
| 3e5e0 | 6d 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 22 5c 6e 2b 22 0a 20 20 20 20 20 20 20 20 | md)).............."\n+"......... | 
| 3e600 | 20 20 20 20 20 74 29 29 29 29 0a 0a 28 64 65 66    76 61 72 20 70 72 6f 6a 65 63 74 69 6c 65 2d 66 | .....t))))..(defvar.projectile-f | 
| 3e620 | 69 6c 65 73 2d 77 69 74 68 2d 73 74 72 69 6e 67    2d 63 6f 6d 6d 61 6e 64 73 0a 20 20 27 28 28 72 | iles-with-string-commands...'((r | 
| 3e640 | 67 20 2e 20 22 72 67 20 2d 6c 46 20 2d 2d 6e 6f    2d 68 65 61 64 69 6e 67 20 2d 2d 63 6f 6c 6f 72 | g..."rg.-lF.--no-heading.--color | 
| 3e660 | 20 6e 65 76 65 72 20 22 29 0a 20 20 20 20 28 61    67 20 2e 20 22 61 67 20 2d 2d 6c 69 74 65 72 61 | .never.").....(ag..."ag.--litera | 
| 3e680 | 6c 20 2d 2d 6e 6f 63 6f 6c 6f 72 20 2d 2d 6e 6f    68 65 61 64 69 6e 67 20 2d 6c 20 22 29 0a 20 20 | l.--nocolor.--noheading.-l.")... | 
| 3e6a0 | 20 20 28 61 63 6b 20 2e 20 22 61 63 6b 20 2d 2d    6c 69 74 65 72 61 6c 20 2d 2d 6e 6f 63 6f 6c 6f | ..(ack..."ack.--literal.--nocolo | 
| 3e6c0 | 72 20 2d 6c 20 22 29 0a 20 20 20 20 28 67 69 74    20 2e 20 22 67 69 74 20 67 72 65 70 20 2d 48 6c | r.-l.").....(git..."git.grep.-Hl | 
| 3e6e0 | 49 20 22 29 0a 20 20 20 20 3b 3b 20 2d 72 3a 20    72 65 63 75 72 73 69 76 65 0a 20 20 20 20 3b 3b | I.").....;;.-r:.recursive.....;; | 
| 3e700 | 20 2d 48 3a 20 73 68 6f 77 20 66 69 6c 65 6e 61    6d 65 20 66 6f 72 20 65 61 63 68 20 6d 61 74 63 | .-H:.show.filename.for.each.matc | 
| 3e720 | 68 0a 20 20 20 20 3b 3b 20 2d 6c 3a 20 73 68 6f    77 20 6f 6e 6c 79 20 66 69 6c 65 20 6e 61 6d 65 | h.....;;.-l:.show.only.file.name | 
| 3e740 | 73 20 77 69 74 68 20 6d 61 74 63 68 65 73 0a 20    20 20 20 3b 3b 20 2d 49 3a 20 6e 6f 20 62 69 6e | s.with.matches.....;;.-I:.no.bin | 
| 3e760 | 61 72 79 20 66 69 6c 65 73 0a 20 20 20 20 28 67    72 65 70 20 2e 20 22 67 72 65 70 20 2d 72 48 6c | ary.files.....(grep..."grep.-rHl | 
| 3e780 | 49 20 25 73 20 2e 22 29 29 29 0a 0a 28 64 65 66    75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 2d 72 | I.%s..")))..(defun.projectile--r | 
| 3e7a0 | 67 2d 63 6f 6e 73 74 72 75 63 74 2d 63 6f 6d 6d    61 6e 64 20 28 73 65 61 72 63 68 2d 74 65 72 6d | g-construct-command.(search-term | 
| 3e7c0 | 20 26 6f 70 74 69 6f 6e 61 6c 20 66 69 6c 65 2d    65 78 74 29 0a 20 20 22 43 6f 6e 73 74 72 75 63 | .&optional.file-ext)..."Construc | 
| 3e7e0 | 74 20 52 67 20 6f 70 74 69 6f 6e 20 74 6f 20 73    65 61 72 63 68 20 66 69 6c 65 73 20 62 79 20 74 | t.Rg.option.to.search.files.by.t | 
| 3e800 | 68 65 20 65 78 74 65 6e 73 69 6f 6e 20 46 49 4c    45 2d 45 58 54 2e 22 0a 20 20 28 69 66 20 28 73 | he.extension.FILE-EXT."...(if.(s | 
| 3e820 | 74 72 69 6e 67 70 20 66 69 6c 65 2d 65 78 74 29    0a 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 28 | tringp.file-ext).......(concat.( | 
| 3e840 | 63 64 72 20 28 61 73 73 6f 63 20 27 72 67 20 70    72 6f 6a 65 63 74 69 6c 65 2d 66 69 6c 65 73 2d | cdr.(assoc.'rg.projectile-files- | 
| 3e860 | 77 69 74 68 2d 73 74 72 69 6e 67 2d 63 6f 6d 6d    61 6e 64 73 29 29 0a 20 20 20 20 20 20 20 20 20 | with-string-commands)).......... | 
| 3e880 | 20 20 20 20 20 22 2d 67 20 27 22 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 66 69 6c 65 2d 65 | ....."-g.'"...............file-e | 
| 3e8a0 | 78 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    20 22 27 20 22 0a 20 20 20 20 20 20 20 20 20 20 | xt..............."'."........... | 
| 3e8c0 | 20 20 20 20 73 65 61 72 63 68 2d 74 65 72 6d 29    0a 20 20 20 20 28 63 6f 6e 63 61 74 20 28 63 64 | ....search-term).....(concat.(cd | 
| 3e8e0 | 72 20 28 61 73 73 6f 63 20 27 72 67 20 70 72 6f    6a 65 63 74 69 6c 65 2d 66 69 6c 65 73 2d 77 69 | r.(assoc.'rg.projectile-files-wi | 
| 3e900 | 74 68 2d 73 74 72 69 6e 67 2d 63 6f 6d 6d 61 6e    64 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 | th-string-commands))............ | 
| 3e920 | 20 73 65 61 72 63 68 2d 74 65 72 6d 29 29 29 0a    0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 | .search-term)))..(defun.projecti | 
| 3e940 | 6c 65 2d 2d 61 67 2d 63 6f 6e 73 74 72 75 63 74    2d 63 6f 6d 6d 61 6e 64 20 28 73 65 61 72 63 68 | le--ag-construct-command.(search | 
| 3e960 | 2d 74 65 72 6d 20 26 6f 70 74 69 6f 6e 61 6c 20    66 69 6c 65 2d 65 78 74 29 0a 20 20 22 43 6f 6e | -term.&optional.file-ext)..."Con | 
| 3e980 | 73 74 72 75 63 74 20 41 67 20 6f 70 74 69 6f 6e    20 74 6f 20 73 65 61 72 63 68 20 66 69 6c 65 73 | struct.Ag.option.to.search.files | 
| 3e9a0 | 20 62 79 20 74 68 65 20 65 78 74 65 6e 73 69 6f    6e 20 46 49 4c 45 2d 45 58 54 2e 22 0a 20 20 28 | .by.the.extension.FILE-EXT."...( | 
| 3e9c0 | 69 66 20 28 73 74 72 69 6e 67 70 20 66 69 6c 65    2d 65 78 74 29 0a 20 20 20 20 20 20 28 63 6f 6e | if.(stringp.file-ext).......(con | 
| 3e9e0 | 63 61 74 20 28 63 64 72 20 28 61 73 73 6f 63 20    27 61 67 20 70 72 6f 6a 65 63 74 69 6c 65 2d 66 | cat.(cdr.(assoc.'ag.projectile-f | 
| 3ea00 | 69 6c 65 73 2d 77 69 74 68 2d 73 74 72 69 6e 67    2d 63 6f 6d 6d 61 6e 64 73 29 29 0a 20 20 20 20 | iles-with-string-commands))..... | 
| 3ea20 | 20 20 20 20 20 20 20 20 20 20 22 2d 47 20 22 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 | .........."-G."...............(r | 
| 3ea40 | 65 70 6c 61 63 65 2d 72 65 67 65 78 70 2d 69 6e    2d 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 | eplace-regexp-in-string......... | 
| 3ea60 | 20 20 20 20 20 20 20 22 5c 5c 2a 22 20 22 22 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | ......."\\*".""................( | 
| 3ea80 | 72 65 70 6c 61 63 65 2d 72 65 67 65 78 70 2d 69    6e 2d 73 74 72 69 6e 67 20 22 5c 5c 2e 22 20 22 | replace-regexp-in-string."\\."." | 
| 3eaa0 | 5c 5c 5c 5c 2e 22 20 66 69 6c 65 2d 65 78 74 29    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | \\\\.".file-ext))............... | 
| 3eac0 | 22 24 20 22 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 73 65 61 72 63 68 2d 74 65 72 6d 29 0a | "$."...............search-term). | 
| 3eae0 | 20 20 20 20 28 63 6f 6e 63 61 74 20 28 63 64 72    20 28 61 73 73 6f 63 20 27 61 67 20 70 72 6f 6a | ....(concat.(cdr.(assoc.'ag.proj | 
| 3eb00 | 65 63 74 69 6c 65 2d 66 69 6c 65 73 2d 77 69 74    68 2d 73 74 72 69 6e 67 2d 63 6f 6d 6d 61 6e 64 | ectile-files-with-string-command | 
| 3eb20 | 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20    73 65 61 72 63 68 2d 74 65 72 6d 29 29 29 0a 0a | s)).............search-term))).. | 
| 3eb40 | 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c    65 2d 2d 61 63 6b 2d 63 6f 6e 73 74 72 75 63 74 | (defun.projectile--ack-construct | 
| 3eb60 | 2d 63 6f 6d 6d 61 6e 64 20 28 73 65 61 72 63 68    2d 74 65 72 6d 20 26 6f 70 74 69 6f 6e 61 6c 20 | -command.(search-term.&optional. | 
| 3eb80 | 66 69 6c 65 2d 65 78 74 29 0a 20 20 22 43 6f 6e    73 74 72 75 63 74 20 41 63 6b 20 6f 70 74 69 6f | file-ext)..."Construct.Ack.optio | 
| 3eba0 | 6e 20 74 6f 20 73 65 61 72 63 68 20 66 69 6c 65    73 20 62 79 20 74 68 65 20 65 78 74 65 6e 73 69 | n.to.search.files.by.the.extensi | 
| 3ebc0 | 6f 6e 20 46 49 4c 45 2d 45 58 54 2e 22 0a 20 20    28 69 66 20 28 73 74 72 69 6e 67 70 20 66 69 6c | on.FILE-EXT."...(if.(stringp.fil | 
| 3ebe0 | 65 2d 65 78 74 29 0a 20 20 20 20 20 20 28 63 6f    6e 63 61 74 20 22 61 63 6b 20 2d 67 20 27 22 0a | e-ext).......(concat."ack.-g.'". | 
| 3ec00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72    65 70 6c 61 63 65 2d 72 65 67 65 78 70 2d 69 6e | ..............(replace-regexp-in | 
| 3ec20 | 2d 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 22 5c 5c 2a 22 20 22 22 0a | -string................"\\*"."". | 
| 3ec40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    72 65 70 6c 61 63 65 2d 72 65 67 65 78 70 2d 69 | ...............(replace-regexp-i | 
| 3ec60 | 6e 2d 73 74 72 69 6e 67 20 22 5c 5c 2e 22 20 22    5c 5c 5c 5c 2e 22 20 66 69 6c 65 2d 65 78 74 29 | n-string."\\."."\\\\.".file-ext) | 
| 3ec80 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    22 24 27 20 7c 20 22 0a 20 20 20 20 20 20 20 20 | )..............."$'.|."......... | 
| 3eca0 | 20 20 20 20 20 20 28 63 64 72 20 28 61 73 73 6f    63 20 27 61 63 6b 20 70 72 6f 6a 65 63 74 69 6c | ......(cdr.(assoc.'ack.projectil | 
| 3ecc0 | 65 2d 66 69 6c 65 73 2d 77 69 74 68 2d 73 74 72    69 6e 67 2d 63 6f 6d 6d 61 6e 64 73 29 29 0a 20 | e-files-with-string-commands)).. | 
| 3ece0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 78    20 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | ............."-x.".............. | 
| 3ed00 | 20 73 65 61 72 63 68 2d 74 65 72 6d 29 0a 20 20    20 20 28 63 6f 6e 63 61 74 20 28 63 64 72 20 28 | .search-term).....(concat.(cdr.( | 
| 3ed20 | 61 73 73 6f 63 20 27 61 63 6b 20 70 72 6f 6a 65    63 74 69 6c 65 2d 66 69 6c 65 73 2d 77 69 74 68 | assoc.'ack.projectile-files-with | 
| 3ed40 | 2d 73 74 72 69 6e 67 2d 63 6f 6d 6d 61 6e 64 73    29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 | -string-commands)).............s | 
| 3ed60 | 65 61 72 63 68 2d 74 65 72 6d 29 29 29 0a 0a 28    64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 | earch-term)))..(defun.projectile | 
| 3ed80 | 2d 2d 67 69 74 2d 67 72 65 70 2d 63 6f 6e 73 74    72 75 63 74 2d 63 6f 6d 6d 61 6e 64 20 28 73 65 | --git-grep-construct-command.(se | 
| 3eda0 | 61 72 63 68 2d 74 65 72 6d 20 26 6f 70 74 69 6f    6e 61 6c 20 66 69 6c 65 2d 65 78 74 29 0a 20 20 | arch-term.&optional.file-ext)... | 
| 3edc0 | 22 43 6f 6e 73 74 72 75 63 74 20 47 72 65 70 20    6f 70 74 69 6f 6e 20 74 6f 20 73 65 61 72 63 68 | "Construct.Grep.option.to.search | 
| 3ede0 | 20 66 69 6c 65 73 20 62 79 20 74 68 65 20 65 78    74 65 6e 73 69 6f 6e 20 46 49 4c 45 2d 45 58 54 | .files.by.the.extension.FILE-EXT | 
| 3ee00 | 2e 22 0a 20 20 28 69 66 20 28 73 74 72 69 6e 67    70 20 66 69 6c 65 2d 65 78 74 29 0a 20 20 20 20 | ."...(if.(stringp.file-ext)..... | 
| 3ee20 | 20 20 28 63 6f 6e 63 61 74 20 28 63 64 72 20 28    61 73 73 6f 63 20 27 67 69 74 20 70 72 6f 6a 65 | ..(concat.(cdr.(assoc.'git.proje | 
| 3ee40 | 63 74 69 6c 65 2d 66 69 6c 65 73 2d 77 69 74 68    2d 73 74 72 69 6e 67 2d 63 6f 6d 6d 61 6e 64 73 | ctile-files-with-string-commands | 
| 3ee60 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    20 73 65 61 72 63 68 2d 74 65 72 6d 0a 20 20 20 | ))...............search-term.... | 
| 3ee80 | 20 20 20 20 20 20 20 20 20 20 20 22 20 20 2d 2d    20 27 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ..........."..--.'"............. | 
| 3eea0 | 20 20 66 69 6c 65 2d 65 78 74 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 22 27 22 29 0a 20 20 | ..file-ext..............."'")... | 
| 3eec0 | 20 20 28 63 6f 6e 63 61 74 20 28 63 64 72 20 28    61 73 73 6f 63 20 27 67 69 74 20 70 72 6f 6a 65 | ..(concat.(cdr.(assoc.'git.proje | 
| 3eee0 | 63 74 69 6c 65 2d 66 69 6c 65 73 2d 77 69 74 68    2d 73 74 72 69 6e 67 2d 63 6f 6d 6d 61 6e 64 73 | ctile-files-with-string-commands | 
| 3ef00 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73    65 61 72 63 68 2d 74 65 72 6d 29 29 29 0a 0a 28 | )).............search-term)))..( | 
| 3ef20 | 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65    2d 2d 67 72 65 70 2d 63 6f 6e 73 74 72 75 63 74 | defun.projectile--grep-construct | 
| 3ef40 | 2d 63 6f 6d 6d 61 6e 64 20 28 73 65 61 72 63 68    2d 74 65 72 6d 20 26 6f 70 74 69 6f 6e 61 6c 20 | -command.(search-term.&optional. | 
| 3ef60 | 66 69 6c 65 2d 65 78 74 29 0a 20 20 22 43 6f 6e    73 74 72 75 63 74 20 47 72 65 70 20 6f 70 74 69 | file-ext)..."Construct.Grep.opti | 
| 3ef80 | 6f 6e 20 74 6f 20 73 65 61 72 63 68 20 66 69 6c    65 73 20 62 79 20 74 68 65 20 65 78 74 65 6e 73 | on.to.search.files.by.the.extens | 
| 3efa0 | 69 6f 6e 20 46 49 4c 45 2d 45 58 54 2e 22 0a 20    20 28 69 66 20 28 73 74 72 69 6e 67 70 20 66 69 | ion.FILE-EXT."...(if.(stringp.fi | 
| 3efc0 | 6c 65 2d 65 78 74 29 0a 20 20 20 20 20 20 28 63    6f 6e 63 61 74 20 28 66 6f 72 6d 61 74 20 28 63 | le-ext).......(concat.(format.(c | 
| 3efe0 | 64 72 20 28 61 73 73 6f 63 20 27 67 72 65 70 20    70 72 6f 6a 65 63 74 69 6c 65 2d 66 69 6c 65 73 | dr.(assoc.'grep.projectile-files | 
| 3f000 | 2d 77 69 74 68 2d 73 74 72 69 6e 67 2d 63 6f 6d    6d 61 6e 64 73 29 29 0a 20 20 20 20 20 20 20 20 | -with-string-commands))......... | 
| 3f020 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65    61 72 63 68 2d 74 65 72 6d 29 0a 20 20 20 20 20 | ..............search-term)...... | 
| 3f040 | 20 20 20 20 20 20 20 20 20 22 20 2d 2d 69 6e 63    6c 75 64 65 20 27 22 0a 20 20 20 20 20 20 20 20 | .........".--include.'"......... | 
| 3f060 | 20 20 20 20 20 20 66 69 6c 65 2d 65 78 74 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 22 27 22 | ......file-ext..............."'" | 
| 3f080 | 29 0a 20 20 20 20 28 66 6f 72 6d 61 74 20 28 63    64 72 20 28 61 73 73 6f 63 20 27 67 72 65 70 20 | ).....(format.(cdr.(assoc.'grep. | 
| 3f0a0 | 70 72 6f 6a 65 63 74 69 6c 65 2d 66 69 6c 65 73    2d 77 69 74 68 2d 73 74 72 69 6e 67 2d 63 6f 6d | projectile-files-with-string-com | 
| 3f0c0 | 6d 61 6e 64 73 29 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 73 65 61 72 63 68 2d 74 65 72 6d 29 | mands)).............search-term) | 
| 3f0e0 | 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65    63 74 69 6c 65 2d 66 69 6c 65 73 2d 77 69 74 68 | ))..(defun.projectile-files-with | 
| 3f100 | 2d 73 74 72 69 6e 67 20 28 73 74 72 69 6e 67 20    64 69 72 65 63 74 6f 72 79 20 26 6f 70 74 69 6f | -string.(string.directory.&optio | 
| 3f120 | 6e 61 6c 20 66 69 6c 65 2d 65 78 74 29 0a 20 20    22 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f | nal.file-ext)..."Return.a.list.o | 
| 3f140 | 66 20 61 6c 6c 20 66 69 6c 65 73 20 63 6f 6e 74    61 69 6e 69 6e 67 20 53 54 52 49 4e 47 20 69 6e | f.all.files.containing.STRING.in | 
| 3f160 | 20 44 49 52 45 43 54 4f 52 59 2e 0a 0a 54 72 69    65 73 20 74 6f 20 75 73 65 20 72 67 2c 20 61 67 | .DIRECTORY...Tries.to.use.rg,.ag | 
| 3f180 | 2c 20 61 63 6b 2c 20 67 69 74 2d 67 72 65 70 2c    20 61 6e 64 20 67 72 65 70 20 69 6e 20 74 68 61 | ,.ack,.git-grep,.and.grep.in.tha | 
| 3f1a0 | 74 20 6f 72 64 65 72 2e 20 20 49 66 20 74 68 6f    73 65 0a 61 72 65 20 69 6d 70 6f 73 73 69 62 6c | t.order...If.those.are.impossibl | 
| 3f1c0 | 65 20 28 66 6f 72 20 69 6e 73 74 61 6e 63 65 20    6f 6e 20 57 69 6e 64 6f 77 73 29 2c 20 72 65 74 | e.(for.instance.on.Windows),.ret | 
| 3f1e0 | 75 72 6e 73 20 61 20 6c 69 73 74 20 6f 66 20 61    6c 6c 0a 66 69 6c 65 73 20 69 6e 20 74 68 65 20 | urns.a.list.of.all.files.in.the. | 
| 3f200 | 70 72 6f 6a 65 63 74 2e 22 0a 20 20 28 69 66 20    28 70 72 6f 6a 65 63 74 69 6c 65 2d 75 6e 69 78 | project."...(if.(projectile-unix | 
| 3f220 | 79 2d 73 79 73 74 65 6d 2d 70 29 0a 20 20 20 20    20 20 28 6c 65 74 2a 20 28 28 73 65 61 72 63 68 | y-system-p).......(let*.((search | 
| 3f240 | 2d 74 65 72 6d 20 28 73 68 65 6c 6c 2d 71 75 6f    74 65 2d 61 72 67 75 6d 65 6e 74 20 73 74 72 69 | -term.(shell-quote-argument.stri | 
| 3f260 | 6e 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 28 63 6d 64 20 28 63 6f 6e 64 20 28 28 65 | ng))..............(cmd.(cond.((e | 
| 3f280 | 78 65 63 75 74 61 62 6c 65 2d 66 69 6e 64 20 22    72 67 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 | xecutable-find."rg")............ | 
| 3f2a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70    72 6f 6a 65 63 74 69 6c 65 2d 2d 72 67 2d 63 6f | ..............(projectile--rg-co | 
| 3f2c0 | 6e 73 74 72 75 63 74 2d 63 6f 6d 6d 61 6e 64 20    73 65 61 72 63 68 2d 74 65 72 6d 20 66 69 6c 65 | nstruct-command.search-term.file | 
| 3f2e0 | 2d 65 78 74 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 28 | -ext)).........................( | 
| 3f300 | 28 65 78 65 63 75 74 61 62 6c 65 2d 66 69 6e 64    20 22 61 67 22 29 0a 20 20 20 20 20 20 20 20 20 | (executable-find."ag").......... | 
| 3f320 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 70 72 6f 6a 65 63 74 69 6c 65 2d 2d 61 67 2d | ................(projectile--ag- | 
| 3f340 | 63 6f 6e 73 74 72 75 63 74 2d 63 6f 6d 6d 61 6e    64 20 73 65 61 72 63 68 2d 74 65 72 6d 20 66 69 | construct-command.search-term.fi | 
| 3f360 | 6c 65 2d 65 78 74 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 | le-ext))........................ | 
| 3f380 | 20 28 28 65 78 65 63 75 74 61 62 6c 65 2d 66 69    6e 64 20 22 61 63 6b 22 29 0a 20 20 20 20 20 20 | .((executable-find."ack")....... | 
| 3f3a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 2d | ...................(projectile-- | 
| 3f3c0 | 61 63 6b 2d 63 6f 6e 73 74 72 75 63 74 2d 63 6f    6d 6d 61 6e 64 20 73 65 61 72 63 68 2d 74 65 72 | ack-construct-command.search-ter | 
| 3f3e0 | 6d 20 66 69 6c 65 2d 65 78 74 29 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | m.file-ext)).................... | 
| 3f400 | 20 20 20 20 20 28 28 61 6e 64 20 28 65 78 65 63    75 74 61 62 6c 65 2d 66 69 6e 64 20 22 67 69 74 | .....((and.(executable-find."git | 
| 3f420 | 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ").............................. | 
| 3f440 | 20 28 65 71 20 28 70 72 6f 6a 65 63 74 69 6c 65    2d 70 72 6f 6a 65 63 74 2d 76 63 73 29 20 27 67 | .(eq.(projectile-project-vcs).'g | 
| 3f460 | 69 74 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 28 70 | it))..........................(p | 
| 3f480 | 72 6f 6a 65 63 74 69 6c 65 2d 2d 67 69 74 2d 67    72 65 70 2d 63 6f 6e 73 74 72 75 63 74 2d 63 6f | rojectile--git-grep-construct-co | 
| 3f4a0 | 6d 6d 61 6e 64 20 73 65 61 72 63 68 2d 74 65 72    6d 20 66 69 6c 65 2d 65 78 74 29 29 0a 20 20 20 | mmand.search-term.file-ext)).... | 
| 3f4c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 74 0a 20 20 20 20 20 20 20 20 | .....................(t......... | 
| 3f4e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 2d 67 72 | .................(projectile--gr | 
| 3f500 | 65 70 2d 63 6f 6e 73 74 72 75 63 74 2d 63 6f 6d    6d 61 6e 64 20 73 65 61 72 63 68 2d 74 65 72 6d | ep-construct-command.search-term | 
| 3f520 | 20 66 69 6c 65 2d 65 78 74 29 29 29 29 29 0a 20    20 20 20 20 20 20 20 28 70 72 6f 6a 65 63 74 69 | .file-ext))))).........(projecti | 
| 3f540 | 6c 65 2d 66 69 6c 65 73 2d 66 72 6f 6d 2d 63 6d    64 20 63 6d 64 20 64 69 72 65 63 74 6f 72 79 29 | le-files-from-cmd.cmd.directory) | 
| 3f560 | 29 0a 20 20 20 20 3b 3b 20 77 65 20 68 61 76 65    20 74 6f 20 72 65 6a 65 63 74 20 64 69 72 65 63 | ).....;;.we.have.to.reject.direc | 
| 3f580 | 74 6f 72 69 65 73 20 61 73 20 61 20 77 6f 72 6b    61 72 6f 75 6e 64 20 74 6f 20 77 6f 72 6b 20 77 | tories.as.a.workaround.to.work.w | 
| 3f5a0 | 69 74 68 20 67 69 74 20 73 75 62 6d 6f 64 75 6c    65 73 0a 20 20 20 20 28 63 6c 2d 72 65 6d 6f 76 | ith.git.submodules.....(cl-remov | 
| 3f5c0 | 65 2d 69 66 0a 20 20 20 20 20 23 27 66 69 6c 65    2d 64 69 72 65 63 74 6f 72 79 2d 70 0a 20 20 20 | e-if......#'file-directory-p.... | 
| 3f5e0 | 20 20 28 6d 61 70 63 61 72 20 23 27 28 6c 61 6d    62 64 61 20 28 66 69 6c 65 29 20 28 65 78 70 61 | ..(mapcar.#'(lambda.(file).(expa | 
| 3f600 | 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 66 69 6c    65 20 64 69 72 65 63 74 6f 72 79 29 29 0a 20 20 | nd-file-name.file.directory))... | 
| 3f620 | 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 6a    65 63 74 69 6c 65 2d 64 69 72 2d 66 69 6c 65 73 | ...........(projectile-dir-files | 
| 3f640 | 20 64 69 72 65 63 74 6f 72 79 29 29 29 29 29 0a    0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a | .directory)))))..;;;###autoload. | 
| 3f660 | 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c    65 2d 72 65 70 6c 61 63 65 20 28 26 6f 70 74 69 | (defun.projectile-replace.(&opti | 
| 3f680 | 6f 6e 61 6c 20 61 72 67 29 0a 20 20 22 52 65 70    6c 61 63 65 20 6c 69 74 65 72 61 6c 20 73 74 72 | onal.arg)..."Replace.literal.str | 
| 3f6a0 | 69 6e 67 20 69 6e 20 70 72 6f 6a 65 63 74 20 75    73 69 6e 67 20 6e 6f 6e 2d 72 65 67 65 78 70 20 | ing.in.project.using.non-regexp. | 
| 3f6c0 | 60 74 61 67 73 2d 71 75 65 72 79 2d 72 65 70 6c    61 63 65 27 2e 0a 0a 57 69 74 68 20 61 20 70 72 | `tags-query-replace'...With.a.pr | 
| 3f6e0 | 65 66 69 78 20 61 72 67 75 6d 65 6e 74 20 41 52    47 20 70 72 6f 6d 70 74 73 20 79 6f 75 20 66 6f | efix.argument.ARG.prompts.you.fo | 
| 3f700 | 72 20 61 20 64 69 72 65 63 74 6f 72 79 20 61 6e    64 20 66 69 6c 65 20 6e 61 6d 65 20 70 61 74 74 | r.a.directory.and.file.name.patt | 
| 3f720 | 65 72 6e 73 0a 6f 6e 20 77 68 69 63 68 20 74 6f    20 72 75 6e 20 74 68 65 20 72 65 70 6c 61 63 65 | erns.on.which.to.run.the.replace | 
| 3f740 | 6d 65 6e 74 2e 22 0a 20 20 28 69 6e 74 65 72 61    63 74 69 76 65 20 22 50 22 29 0a 20 20 28 6c 65 | ment."...(interactive."P")...(le | 
| 3f760 | 74 2a 20 28 28 64 69 72 65 63 74 6f 72 79 20 28    69 66 20 61 72 67 0a 20 20 20 20 20 20 20 20 20 | t*.((directory.(if.arg.......... | 
| 3f780 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    66 69 6c 65 2d 6e 61 6d 65 2d 61 73 2d 64 69 72 | ...............(file-name-as-dir | 
| 3f7a0 | 65 63 74 6f 72 79 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ectory.......................... | 
| 3f7c0 | 28 72 65 61 64 2d 64 69 72 65 63 74 6f 72 79 2d    6e 61 6d 65 20 22 52 65 70 6c 61 63 65 20 69 6e | (read-directory-name."Replace.in | 
| 3f7e0 | 20 64 69 72 65 63 74 6f 72 79 3a 20 22 29 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .directory:."))................. | 
| 3f800 | 20 20 20 20 20 20 28 70 72 6f 6a 65 63 74 69 6c    65 2d 61 63 71 75 69 72 65 2d 72 6f 6f 74 29 29 | ......(projectile-acquire-root)) | 
| 3f820 | 29 0a 20 20 20 20 20 20 20 20 20 28 66 69 6c 65    2d 65 78 74 20 28 69 66 20 61 72 67 0a 20 20 20 | )..........(file-ext.(if.arg.... | 
| 3f840 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 69 66 20 28 66 62 6f 75 6e 64 70 | ....................(if.(fboundp | 
| 3f860 | 20 23 27 68 65 6c 6d 2d 67 72 65 70 2d 67 65 74    2d 66 69 6c 65 2d 65 78 74 65 6e 73 69 6f 6e 73 | .#'helm-grep-get-file-extensions | 
| 3f880 | 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 28 63 61 | )............................(ca | 
| 3f8a0 | 72 20 28 68 65 6c 6d 2d 67 72 65 70 2d 67 65 74    2d 66 69 6c 65 2d 65 78 74 65 6e 73 69 6f 6e 73 | r.(helm-grep-get-file-extensions | 
| 3f8c0 | 20 28 6c 69 73 74 20 64 69 72 65 63 74 6f 72 79    29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | .(list.directory)))............. | 
| 3f8e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65    61 64 2d 73 74 72 69 6e 67 0a 20 20 20 20 20 20 | .............(read-string....... | 
| 3f900 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d | ....................(projectile- | 
| 3f920 | 70 72 65 70 65 6e 64 2d 70 72 6f 6a 65 63 74 2d    6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 | prepend-project-name............ | 
| 3f940 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    22 57 69 74 68 20 66 69 6c 65 20 65 78 74 65 6e | ................"With.file.exten | 
| 3f960 | 73 69 6f 6e 20 28 65 6d 70 74 79 20 73 74 72 69    6e 67 20 6d 65 61 6e 73 20 61 6c 6c 20 66 69 6c | sion.(empty.string.means.all.fil | 
| 3f980 | 65 73 29 3a 20 22 29 29 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e | es):.")))......................n | 
| 3f9a0 | 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 28 6f    6c 64 2d 74 65 78 74 20 28 72 65 61 64 2d 73 74 | il))..........(old-text.(read-st | 
| 3f9c0 | 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 28 70 72 6f 6a 65 63 | ring.....................(projec | 
| 3f9e0 | 74 69 6c 65 2d 70 72 65 70 65 6e 64 2d 70 72 6f    6a 65 63 74 2d 6e 61 6d 65 20 22 52 65 70 6c 61 | tile-prepend-project-name."Repla | 
| 3fa00 | 63 65 3a 20 22 29 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 6a | ce:.").....................(proj | 
| 3fa20 | 65 63 74 69 6c 65 2d 73 79 6d 62 6f 6c 2d 6f 72    2d 73 65 6c 65 63 74 69 6f 6e 2d 61 74 2d 70 6f | ectile-symbol-or-selection-at-po | 
| 3fa40 | 69 6e 74 29 29 29 0a 20 20 20 20 20 20 20 20 20    28 6e 65 77 2d 74 65 78 74 20 28 72 65 61 64 2d | int)))..........(new-text.(read- | 
| 3fa60 | 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 6a | string.....................(proj | 
| 3fa80 | 65 63 74 69 6c 65 2d 70 72 65 70 65 6e 64 2d 70    72 6f 6a 65 63 74 2d 6e 61 6d 65 0a 20 20 20 20 | ectile-prepend-project-name..... | 
| 3faa0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 66 6f 72 6d 61 74 20 22 52 65 70 6c 61 63 | .................(format."Replac | 
| 3fac0 | 65 20 25 73 20 77 69 74 68 3a 20 22 20 6f 6c 64    2d 74 65 78 74 29 29 29 29 0a 20 20 20 20 20 20 | e.%s.with:.".old-text))))....... | 
| 3fae0 | 20 20 20 28 66 69 6c 65 73 20 28 70 72 6f 6a 65    63 74 69 6c 65 2d 66 69 6c 65 73 2d 77 69 74 68 | ...(files.(projectile-files-with | 
| 3fb00 | 2d 73 74 72 69 6e 67 20 6f 6c 64 2d 74 65 78 74    20 64 69 72 65 63 74 6f 72 79 20 66 69 6c 65 2d | -string.old-text.directory.file- | 
| 3fb20 | 65 78 74 29 29 29 0a 20 20 20 20 28 69 66 20 28    66 62 6f 75 6e 64 70 20 23 27 66 69 6c 65 6c 6f | ext))).....(if.(fboundp.#'filelo | 
| 3fb40 | 6f 70 2d 63 6f 6e 74 69 6e 75 65 29 0a 20 20 20    20 20 20 20 20 3b 3b 20 45 6d 61 63 73 20 32 37 | op-continue).........;;.Emacs.27 | 
| 3fb60 | 2b 0a 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e    20 28 66 69 6c 65 6c 6f 6f 70 2d 69 6e 69 74 69 | +.........(progn.(fileloop-initi | 
| 3fb80 | 61 6c 69 7a 65 2d 72 65 70 6c 61 63 65 20 6f 6c    64 2d 74 65 78 74 20 6e 65 77 2d 74 65 78 74 20 | alize-replace.old-text.new-text. | 
| 3fba0 | 66 69 6c 65 73 20 27 64 65 66 61 75 6c 74 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | files.'default)................( | 
| 3fbc0 | 66 69 6c 65 6c 6f 6f 70 2d 63 6f 6e 74 69 6e 75    65 29 29 0a 20 20 20 20 20 20 3b 3b 20 45 6d 61 | fileloop-continue)).......;;.Ema | 
| 3fbe0 | 63 73 20 32 35 20 61 6e 64 20 32 36 0a 20 20 20    20 20 20 3b 3b 0a 20 20 20 20 20 20 3b 3b 20 41 | cs.25.and.26.......;;.......;;.A | 
| 3fc00 | 64 61 70 74 65 64 20 66 72 6f 6d 20 60 74 61 67    73 2d 71 75 65 72 79 2d 72 65 70 6c 61 63 65 27 | dapted.from.`tags-query-replace' | 
| 3fc20 | 20 66 6f 72 20 6c 69 74 65 72 61 6c 20 73 74 72    69 6e 67 73 20 28 6e 6f 74 20 72 65 67 65 78 70 | .for.literal.strings.(not.regexp | 
| 3fc40 | 29 0a 20 20 20 20 20 20 28 77 69 74 68 2d 6e 6f    2d 77 61 72 6e 69 6e 67 73 0a 20 20 20 20 20 20 | ).......(with-no-warnings....... | 
| 3fc60 | 20 20 28 73 65 74 71 20 74 61 67 73 2d 6c 6f 6f    70 2d 73 63 61 6e 0a 20 20 20 20 20 20 20 20 20 | ..(setq.tags-loop-scan.......... | 
| 3fc80 | 20 20 20 20 20 60 28 6c 65 74 20 2c 28 75 6e 6c    65 73 73 20 28 65 71 75 61 6c 20 6f 6c 64 2d 74 | .....`(let.,(unless.(equal.old-t | 
| 3fca0 | 65 78 74 20 28 64 6f 77 6e 63 61 73 65 20 6f 6c    64 2d 74 65 78 74 29 29 0a 20 20 20 20 20 20 20 | ext.(downcase.old-text))........ | 
| 3fcc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    27 28 28 63 61 73 65 2d 66 6f 6c 64 2d 73 65 61 | ................'((case-fold-sea | 
| 3fce0 | 72 63 68 20 6e 69 6c 29 29 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 | rch.nil)))..................(if. | 
| 3fd00 | 28 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 20    27 2c 6f 6c 64 2d 74 65 78 74 20 6e 69 6c 20 74 | (search-forward.',old-text.nil.t | 
| 3fd20 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 3b 3b 20 57 68 65 6e 20 77 | )......................;;.When.w | 
| 3fd40 | 65 20 66 69 6e 64 20 61 20 6d 61 74 63 68 2c 20    6d 6f 76 65 20 62 61 63 6b 20 74 6f 0a 20 20 20 | e.find.a.match,.move.back.to.... | 
| 3fd60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 3b 3b 20 74 68 65 20 62 65 67 69 6e 6e 69 | ..................;;.the.beginni | 
| 3fd80 | 6e 67 20 6f 66 20 69 74 20 73 6f 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ng.of.it.so..................... | 
| 3fda0 | 20 3b 3b 20 70 65 72 66 6f 72 6d 2d 72 65 70 6c    61 63 65 20 77 69 6c 6c 20 73 65 65 20 69 74 2e | .;;.perform-replace.will.see.it. | 
| 3fdc0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 | ......................(goto-char | 
| 3fde0 | 20 28 6d 61 74 63 68 2d 62 65 67 69 6e 6e 69 6e    67 20 30 29 29 29 29 29 0a 20 20 20 20 20 20 20 | .(match-beginning.0)))))........ | 
| 3fe00 | 20 28 73 65 74 71 20 74 61 67 73 2d 6c 6f 6f 70    2d 6f 70 65 72 61 74 65 0a 20 20 20 20 20 20 20 | .(setq.tags-loop-operate........ | 
| 3fe20 | 20 20 20 20 20 20 20 60 28 70 65 72 66 6f 72 6d    2d 72 65 70 6c 61 63 65 20 27 2c 6f 6c 64 2d 74 | .......`(perform-replace.',old-t | 
| 3fe40 | 65 78 74 20 27 2c 6e 65 77 2d 74 65 78 74 20 74    20 6e 69 6c 20 6e 69 6c 0a 20 20 20 20 20 20 20 | ext.',new-text.t.nil.nil........ | 
| 3fe60 | 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 6e 69 6c 20 6d 75 6c | .........................nil.mul | 
| 3fe80 | 74 69 2d 71 75 65 72 79 2d 72 65 70 6c 61 63 65    2d 6d 61 70 29 29 0a 20 20 20 20 20 20 20 20 28 | ti-query-replace-map)).........( | 
| 3fea0 | 74 61 67 73 2d 6c 6f 6f 70 2d 63 6f 6e 74 69 6e    75 65 20 28 6f 72 20 28 63 6f 6e 73 20 27 6c 69 | tags-loop-continue.(or.(cons.'li | 
| 3fec0 | 73 74 20 66 69 6c 65 73 29 20 74 29 29 29 29 29    29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 | st.files).t))))))..;;;###autoloa | 
| 3fee0 | 64 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74    69 6c 65 2d 72 65 70 6c 61 63 65 2d 72 65 67 65 | d.(defun.projectile-replace-rege | 
| 3ff00 | 78 70 20 28 26 6f 70 74 69 6f 6e 61 6c 20 61 72    67 29 0a 20 20 22 52 65 70 6c 61 63 65 20 61 20 | xp.(&optional.arg)..."Replace.a. | 
| 3ff20 | 72 65 67 65 78 70 20 69 6e 20 74 68 65 20 70 72    6f 6a 65 63 74 20 75 73 69 6e 67 20 60 74 61 67 | regexp.in.the.project.using.`tag | 
| 3ff40 | 73 2d 71 75 65 72 79 2d 72 65 70 6c 61 63 65 27    2e 0a 0a 57 69 74 68 20 61 20 70 72 65 66 69 78 | s-query-replace'...With.a.prefix | 
| 3ff60 | 20 61 72 67 75 6d 65 6e 74 20 41 52 47 20 70 72    6f 6d 70 74 73 20 79 6f 75 20 66 6f 72 20 61 20 | .argument.ARG.prompts.you.for.a. | 
| 3ff80 | 64 69 72 65 63 74 6f 72 79 20 6f 6e 20 77 68 69    63 68 0a 74 6f 20 72 75 6e 20 74 68 65 20 72 65 | directory.on.which.to.run.the.re | 
| 3ffa0 | 70 6c 61 63 65 6d 65 6e 74 2e 22 0a 20 20 28 69    6e 74 65 72 61 63 74 69 76 65 20 22 50 22 29 0a | placement."...(interactive."P"). | 
| 3ffc0 | 20 20 28 6c 65 74 2a 20 28 28 64 69 72 65 63 74    6f 72 79 20 28 69 66 20 61 72 67 0a 20 20 20 20 | ..(let*.((directory.(if.arg..... | 
| 3ffe0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 61 | ....................(file-name-a | 
| 40000 | 73 2d 64 69 72 65 63 74 6f 72 79 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | s-directory..................... | 
| 40020 | 20 20 20 20 20 28 72 65 61 64 2d 64 69 72 65 63    74 6f 72 79 2d 6e 61 6d 65 20 22 52 65 70 6c 61 | .....(read-directory-name."Repla | 
| 40040 | 63 65 20 72 65 67 65 78 70 20 69 6e 20 64 69 72    65 63 74 6f 72 79 3a 20 22 29 29 0a 20 20 20 20 | ce.regexp.in.directory:."))..... | 
| 40060 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 61 63 | ..................(projectile-ac | 
| 40080 | 71 75 69 72 65 2d 72 6f 6f 74 29 29 29 0a 20 20    20 20 20 20 20 20 20 28 6f 6c 64 2d 74 65 78 74 | quire-root)))..........(old-text | 
| 400a0 | 20 28 72 65 61 64 2d 73 74 72 69 6e 67 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .(read-string................... | 
| 400c0 | 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72    65 70 65 6e 64 2d 70 72 6f 6a 65 63 74 2d 6e 61 | ..(projectile-prepend-project-na | 
| 400e0 | 6d 65 20 22 52 65 70 6c 61 63 65 20 72 65 67 65    78 70 3a 20 22 29 0a 20 20 20 20 20 20 20 20 20 | me."Replace.regexp:.").......... | 
| 40100 | 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 6a    65 63 74 69 6c 65 2d 73 79 6d 62 6f 6c 2d 6f 72 | ...........(projectile-symbol-or | 
| 40120 | 2d 73 65 6c 65 63 74 69 6f 6e 2d 61 74 2d 70 6f    69 6e 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 | -selection-at-point))).......... | 
| 40140 | 28 6e 65 77 2d 74 65 78 74 20 28 72 65 61 64 2d    73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 | (new-text.(read-string.......... | 
| 40160 | 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 6a    65 63 74 69 6c 65 2d 70 72 65 70 65 6e 64 2d 70 | ...........(projectile-prepend-p | 
| 40180 | 72 6f 6a 65 63 74 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 | roject-name..................... | 
| 401a0 | 20 28 66 6f 72 6d 61 74 20 22 52 65 70 6c 61 63    65 20 72 65 67 65 78 70 20 25 73 20 77 69 74 68 | .(format."Replace.regexp.%s.with | 
| 401c0 | 3a 20 22 20 6f 6c 64 2d 74 65 78 74 29 29 29 29    0a 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 73 | :.".old-text))))..........(files | 
| 401e0 | 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 57 65    20 68 61 76 65 20 74 6f 20 72 65 6a 65 63 74 20 | ...........;;.We.have.to.reject. | 
| 40200 | 64 69 72 65 63 74 6f 72 69 65 73 20 61 73 20 61    20 77 6f 72 6b 61 72 6f 75 6e 64 20 74 6f 20 77 | directories.as.a.workaround.to.w | 
| 40220 | 6f 72 6b 20 77 69 74 68 20 67 69 74 20 73 75 62    6d 6f 64 75 6c 65 73 2e 0a 20 20 20 20 20 20 20 | ork.with.git.submodules......... | 
| 40240 | 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 20 20 20    3b 3b 20 57 65 20 63 61 6e 27 74 20 6e 61 72 72 | ...;;...........;;.We.can't.narr | 
| 40260 | 6f 77 20 74 68 65 20 6c 69 73 74 20 6f 66 20 66    69 6c 65 73 20 77 69 74 68 0a 20 20 20 20 20 20 | ow.the.list.of.files.with....... | 
| 40280 | 20 20 20 20 3b 3b 20 60 70 72 6f 6a 65 63 74 69    6c 65 2d 66 69 6c 65 73 2d 77 69 74 68 2d 73 74 | ....;;.`projectile-files-with-st | 
| 402a0 | 72 69 6e 67 27 20 62 65 63 61 75 73 65 20 74 68    6f 73 65 20 72 65 67 65 78 70 20 74 6f 6f 6c 73 | ring'.because.those.regexp.tools | 
| 402c0 | 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 64 6f    6e 27 74 20 73 75 70 70 6f 72 74 20 45 6d 61 63 | ...........;;.don't.support.Emac | 
| 402e0 | 73 20 72 65 67 75 6c 61 72 20 65 78 70 72 65 73    73 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 | s.regular.expressions........... | 
| 40300 | 20 28 63 6c 2d 72 65 6d 6f 76 65 2d 69 66 0a 20    20 20 20 20 20 20 20 20 20 20 23 27 66 69 6c 65 | .(cl-remove-if............#'file | 
| 40320 | 2d 64 69 72 65 63 74 6f 72 79 2d 70 0a 20 20 20    20 20 20 20 20 20 20 20 28 6d 61 70 63 61 72 20 | -directory-p............(mapcar. | 
| 40340 | 23 27 28 6c 61 6d 62 64 61 20 28 66 69 6c 65 29    20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 | #'(lambda.(file).(expand-file-na | 
| 40360 | 6d 65 20 66 69 6c 65 20 64 69 72 65 63 74 6f 72    79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | me.file.directory))............. | 
| 40380 | 20 20 20 20 20 20 20 28 70 72 6f 6a 65 63 74 69    6c 65 2d 64 69 72 2d 66 69 6c 65 73 20 64 69 72 | .......(projectile-dir-files.dir | 
| 403a0 | 65 63 74 6f 72 79 29 29 29 29 29 0a 20 20 20 20    3b 3b 20 46 49 58 4d 45 3a 20 50 72 6f 62 61 62 | ectory))))).....;;.FIXME:.Probab | 
| 403c0 | 6c 79 20 77 6f 75 6c 64 20 66 61 69 6c 20 6f 6e    20 45 6d 61 63 73 20 32 37 2b 2c 20 66 6f 75 72 | ly.would.fail.on.Emacs.27+,.four | 
| 403e0 | 74 68 20 61 72 67 75 6d 65 6e 74 20 69 73 20 67    6f 6e 65 2e 0a 20 20 20 20 28 77 69 74 68 2d 6e | th.argument.is.gone......(with-n | 
| 40400 | 6f 2d 77 61 72 6e 69 6e 67 73 20 28 74 61 67 73    2d 71 75 65 72 79 2d 72 65 70 6c 61 63 65 20 6f | o-warnings.(tags-query-replace.o | 
| 40420 | 6c 64 2d 74 65 78 74 20 6e 65 77 2d 74 65 78 74    20 6e 69 6c 20 28 63 6f 6e 73 20 27 6c 69 73 74 | ld-text.new-text.nil.(cons.'list | 
| 40440 | 20 66 69 6c 65 73 29 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 | .files)))))..;;;###autoload.(def | 
| 40460 | 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 6b 69    6c 6c 2d 62 75 66 66 65 72 73 20 28 29 0a 20 20 | un.projectile-kill-buffers.()... | 
| 40480 | 22 4b 69 6c 6c 20 70 72 6f 6a 65 63 74 20 62 75    66 66 65 72 73 2e 0a 0a 54 68 65 20 62 75 66 66 | "Kill.project.buffers...The.buff | 
| 404a0 | 65 72 20 61 72 65 20 6b 69 6c 6c 65 64 20 61 63    63 6f 72 64 69 6e 67 20 74 6f 20 74 68 65 20 76 | er.are.killed.according.to.the.v | 
| 404c0 | 61 6c 75 65 20 6f 66 0a 60 70 72 6f 6a 65 63 74    69 6c 65 2d 6b 69 6c 6c 2d 62 75 66 66 65 72 73 | alue.of.`projectile-kill-buffers | 
| 404e0 | 2d 66 69 6c 74 65 72 27 2e 22 0a 20 20 28 69 6e    74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6c 65 | -filter'."...(interactive)...(le | 
| 40500 | 74 2a 20 28 28 70 72 6f 6a 65 63 74 20 28 70 72    6f 6a 65 63 74 69 6c 65 2d 61 63 71 75 69 72 65 | t*.((project.(projectile-acquire | 
| 40520 | 2d 72 6f 6f 74 29 29 0a 20 20 20 20 20 20 20 20    20 28 70 72 6f 6a 65 63 74 2d 6e 61 6d 65 20 28 | -root))..........(project-name.( | 
| 40540 | 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65    63 74 2d 6e 61 6d 65 20 70 72 6f 6a 65 63 74 29 | projectile-project-name.project) | 
| 40560 | 29 0a 20 20 20 20 20 20 20 20 20 28 62 75 66 66    65 72 73 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d | )..........(buffers.(projectile- | 
| 40580 | 70 72 6f 6a 65 63 74 2d 62 75 66 66 65 72 73 20    70 72 6f 6a 65 63 74 29 29 29 0a 20 20 20 20 28 | project-buffers.project))).....( | 
| 405a0 | 77 68 65 6e 20 28 79 65 73 2d 6f 72 2d 6e 6f 2d    70 0a 20 20 20 20 20 20 20 20 20 20 20 28 66 6f | when.(yes-or-no-p............(fo | 
| 405c0 | 72 6d 61 74 20 22 41 72 65 20 79 6f 75 20 73 75    72 65 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 6b | rmat."Are.you.sure.you.want.to.k | 
| 405e0 | 69 6c 6c 20 25 73 20 62 75 66 66 65 72 73 20 66    6f 72 20 27 25 73 27 3f 20 22 0a 20 20 20 20 20 | ill.%s.buffers.for.'%s'?."...... | 
| 40600 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c    65 6e 67 74 68 20 62 75 66 66 65 72 73 29 20 70 | ..............(length.buffers).p | 
| 40620 | 72 6f 6a 65 63 74 2d 6e 61 6d 65 29 29 0a 20 20    20 20 20 20 28 64 6f 6c 69 73 74 20 28 62 75 66 | roject-name)).......(dolist.(buf | 
| 40640 | 66 65 72 20 62 75 66 66 65 72 73 29 0a 20 20 20    20 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 0a | fer.buffers).........(when.(and. | 
| 40660 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b    3b 20 77 65 20 74 61 6b 65 20 63 61 72 65 20 6e | ...............;;.we.take.care.n | 
| 40680 | 6f 74 20 74 6f 20 6b 69 6c 6c 20 69 6e 64 69 72    65 63 74 20 62 75 66 66 65 72 73 20 64 69 72 65 | ot.to.kill.indirect.buffers.dire | 
| 406a0 | 63 74 6c 79 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 3b 3b 20 61 73 20 77 65 20 6d 69 67 | ctly................;;.as.we.mig | 
| 406c0 | 68 74 20 65 6e 63 6f 75 6e 74 65 72 20 74 68 65    6d 20 61 66 74 65 72 20 74 68 65 69 72 20 62 61 | ht.encounter.them.after.their.ba | 
| 406e0 | 73 65 20 62 75 66 66 65 72 73 20 61 72 65 20 6b    69 6c 6c 65 64 0a 20 20 20 20 20 20 20 20 20 20 | se.buffers.are.killed........... | 
| 40700 | 20 20 20 20 20 28 6e 6f 74 20 28 62 75 66 66 65    72 2d 62 61 73 65 2d 62 75 66 66 65 72 20 62 75 | .....(not.(buffer-base-buffer.bu | 
| 40720 | 66 66 65 72 29 29 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 69 66 20 28 66 75 6e 63 74 | ffer))................(if.(funct | 
| 40740 | 69 6f 6e 70 20 70 72 6f 6a 65 63 74 69 6c 65 2d    6b 69 6c 6c 2d 62 75 66 66 65 72 73 2d 66 69 6c | ionp.projectile-kill-buffers-fil | 
| 40760 | 74 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c | ter)....................(funcall | 
| 40780 | 20 70 72 6f 6a 65 63 74 69 6c 65 2d 6b 69 6c 6c    2d 62 75 66 66 65 72 73 2d 66 69 6c 74 65 72 20 | .projectile-kill-buffers-filter. | 
| 407a0 | 62 75 66 66 65 72 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 28 70 63 61 73 65 20 | buffer)..................(pcase. | 
| 407c0 | 70 72 6f 6a 65 63 74 69 6c 65 2d 6b 69 6c 6c 2d    62 75 66 66 65 72 73 2d 66 69 6c 74 65 72 0a 20 | projectile-kill-buffers-filter.. | 
| 407e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 27 6b 69 6c 6c 2d 61 6c 6c 20 74 29 0a | ..................('kill-all.t). | 
| 40800 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 27 6b 69 6c 6c 2d 6f 6e 6c 79 2d 66 | ...................('kill-only-f | 
| 40820 | 69 6c 65 73 20 28 62 75 66 66 65 72 2d 66 69 6c    65 2d 6e 61 6d 65 20 62 75 66 66 65 72 29 29 0a | iles.(buffer-file-name.buffer)). | 
| 40840 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 5f 20 28 75 73 65 72 2d 65 72 72 6f | ...................(_.(user-erro | 
| 40860 | 72 20 22 49 6e 76 61 6c 69 64 20 70 72 6f 6a 65    63 74 69 6c 65 2d 6b 69 6c 6c 2d 62 75 66 66 65 | r."Invalid.projectile-kill-buffe | 
| 40880 | 72 73 2d 66 69 6c 74 65 72 20 76 61 6c 75 65 3a    20 25 53 22 20 70 72 6f 6a 65 63 74 69 6c 65 2d | rs-filter.value:.%S".projectile- | 
| 408a0 | 6b 69 6c 6c 2d 62 75 66 66 65 72 73 2d 66 69 6c    74 65 72 29 29 29 29 29 0a 20 20 20 20 20 20 20 | kill-buffers-filter)))))........ | 
| 408c0 | 20 20 20 28 6b 69 6c 6c 2d 62 75 66 66 65 72 20    62 75 66 66 65 72 29 29 29 29 29 29 0a 0a 3b 3b | ...(kill-buffer.buffer))))))..;; | 
| 408e0 | 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65    66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 73 | ;###autoload.(defun.projectile-s | 
| 40900 | 61 76 65 2d 70 72 6f 6a 65 63 74 2d 62 75 66 66    65 72 73 20 28 29 0a 20 20 22 53 61 76 65 20 61 | ave-project-buffers.()..."Save.a | 
| 40920 | 6c 6c 20 70 72 6f 6a 65 63 74 20 62 75 66 66 65    72 73 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 | ll.project.buffers."...(interact | 
| 40940 | 69 76 65 29 0a 20 20 28 6c 65 74 2a 20 28 28 70    72 6f 6a 65 63 74 20 28 70 72 6f 6a 65 63 74 69 | ive)...(let*.((project.(projecti | 
| 40960 | 6c 65 2d 61 63 71 75 69 72 65 2d 72 6f 6f 74 29    29 0a 20 20 20 20 20 20 20 20 20 28 70 72 6f 6a | le-acquire-root))..........(proj | 
| 40980 | 65 63 74 2d 6e 61 6d 65 20 28 70 72 6f 6a 65 63    74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 6e 61 6d | ect-name.(projectile-project-nam | 
| 409a0 | 65 20 70 72 6f 6a 65 63 74 29 29 0a 20 20 20 20    20 20 20 20 20 28 6d 6f 64 69 66 69 65 64 2d 62 | e.project))..........(modified-b | 
| 409c0 | 75 66 66 65 72 73 20 28 63 6c 2d 72 65 6d 6f 76    65 2d 69 66 2d 6e 6f 74 20 28 6c 61 6d 62 64 61 | uffers.(cl-remove-if-not.(lambda | 
| 409e0 | 20 28 62 75 66 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 | .(buf).......................... | 
| 40a00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 61 6e 64 20 28 62 75 66 66 | ......................(and.(buff | 
| 40a20 | 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 20 62 75 66    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | er-file-name.buf)............... | 
| 40a40 | 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 | ................................ | 
| 40a60 | 20 20 20 20 20 20 28 62 75 66 66 65 72 2d 6d 6f    64 69 66 69 65 64 2d 70 20 62 75 66 29 29 29 0a | ......(buffer-modified-p.buf))). | 
| 40a80 | 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 | ................................ | 
| 40aa0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72    6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 | .............(projectile-project | 
| 40ac0 | 2d 62 75 66 66 65 72 73 20 70 72 6f 6a 65 63 74    29 29 29 29 0a 20 20 20 20 28 69 66 20 28 6e 75 | -buffers.project)))).....(if.(nu | 
| 40ae0 | 6c 6c 20 6d 6f 64 69 66 69 65 64 2d 62 75 66 66    65 72 73 29 0a 20 20 20 20 20 20 20 20 28 6d 65 | ll.modified-buffers).........(me | 
| 40b00 | 73 73 61 67 65 20 22 5b 25 73 5d 20 4e 6f 20 62    75 66 66 65 72 73 20 6e 65 65 64 20 73 61 76 69 | ssage."[%s].No.buffers.need.savi | 
| 40b20 | 6e 67 22 20 70 72 6f 6a 65 63 74 2d 6e 61 6d 65    29 0a 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 | ng".project-name).......(dolist. | 
| 40b40 | 28 62 75 66 20 6d 6f 64 69 66 69 65 64 2d 62 75    66 66 65 72 73 29 0a 20 20 20 20 20 20 20 20 28 | (buf.modified-buffers).........( | 
| 40b60 | 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66    66 65 72 20 62 75 66 0a 20 20 20 20 20 20 20 20 | with-current-buffer.buf......... | 
| 40b80 | 20 20 28 73 61 76 65 2d 62 75 66 66 65 72 29 29    29 0a 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 | ..(save-buffer))).......(message | 
| 40ba0 | 20 22 5b 25 73 5d 20 53 61 76 65 64 20 25 64 20    62 75 66 66 65 72 73 22 20 70 72 6f 6a 65 63 74 | ."[%s].Saved.%d.buffers".project | 
| 40bc0 | 2d 6e 61 6d 65 20 28 6c 65 6e 67 74 68 20 6d 6f    64 69 66 69 65 64 2d 62 75 66 66 65 72 73 29 29 | -name.(length.modified-buffers)) | 
| 40be0 | 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 70 72 6f 6a 65 | )))..;;;###autoload.(defun.proje | 
| 40c00 | 63 74 69 6c 65 2d 64 69 72 65 64 20 28 29 0a 20    20 22 4f 70 65 6e 20 60 64 69 72 65 64 27 20 61 | ctile-dired.()..."Open.`dired'.a | 
| 40c20 | 74 20 74 68 65 20 72 6f 6f 74 20 6f 66 20 74 68    65 20 70 72 6f 6a 65 63 74 2e 22 0a 20 20 28 69 | t.the.root.of.the.project."...(i | 
| 40c40 | 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 64    69 72 65 64 20 28 70 72 6f 6a 65 63 74 69 6c 65 | nteractive)...(dired.(projectile | 
| 40c60 | 2d 61 63 71 75 69 72 65 2d 72 6f 6f 74 29 29 29    0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 | -acquire-root)))..;;;###autoload | 
| 40c80 | 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69    6c 65 2d 64 69 72 65 64 2d 6f 74 68 65 72 2d 77 | .(defun.projectile-dired-other-w | 
| 40ca0 | 69 6e 64 6f 77 20 28 29 0a 20 20 22 4f 70 65 6e    20 60 64 69 72 65 64 27 20 20 61 74 20 74 68 65 | indow.()..."Open.`dired'..at.the | 
| 40cc0 | 20 72 6f 6f 74 20 6f 66 20 74 68 65 20 70 72 6f    6a 65 63 74 20 69 6e 20 61 6e 6f 74 68 65 72 20 | .root.of.the.project.in.another. | 
| 40ce0 | 77 69 6e 64 6f 77 2e 22 0a 20 20 28 69 6e 74 65    72 61 63 74 69 76 65 29 0a 20 20 28 64 69 72 65 | window."...(interactive)...(dire | 
| 40d00 | 64 2d 6f 74 68 65 72 2d 77 69 6e 64 6f 77 20 28    70 72 6f 6a 65 63 74 69 6c 65 2d 61 63 71 75 69 | d-other-window.(projectile-acqui | 
| 40d20 | 72 65 2d 72 6f 6f 74 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 | re-root)))..;;;###autoload.(defu | 
| 40d40 | 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 64 69 72    65 64 2d 6f 74 68 65 72 2d 66 72 61 6d 65 20 28 | n.projectile-dired-other-frame.( | 
| 40d60 | 29 0a 20 20 22 4f 70 65 6e 20 60 64 69 72 65 64    27 20 61 74 20 74 68 65 20 72 6f 6f 74 20 6f 66 | )..."Open.`dired'.at.the.root.of | 
| 40d80 | 20 74 68 65 20 70 72 6f 6a 65 63 74 20 69 6e 20    61 6e 6f 74 68 65 72 20 66 72 61 6d 65 2e 22 0a | .the.project.in.another.frame.". | 
| 40da0 | 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a    20 20 28 64 69 72 65 64 2d 6f 74 68 65 72 2d 66 | ..(interactive)...(dired-other-f | 
| 40dc0 | 72 61 6d 65 20 28 70 72 6f 6a 65 63 74 69 6c 65    2d 61 63 71 75 69 72 65 2d 72 6f 6f 74 29 29 29 | rame.(projectile-acquire-root))) | 
| 40de0 | 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64    0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 | ..;;;###autoload.(defun.projecti | 
| 40e00 | 6c 65 2d 76 63 20 28 26 6f 70 74 69 6f 6e 61 6c    20 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 29 0a 20 | le-vc.(&optional.project-root).. | 
| 40e20 | 20 22 4f 70 65 6e 20 60 76 63 2d 64 69 72 27 20    61 74 20 74 68 65 20 72 6f 6f 74 20 6f 66 20 74 | ."Open.`vc-dir'.at.the.root.of.t | 
| 40e40 | 68 65 20 70 72 6f 6a 65 63 74 2e 0a 0a 46 6f 72    20 67 69 74 20 70 72 6f 6a 65 63 74 73 20 60 6d | he.project...For.git.projects.`m | 
| 40e60 | 61 67 69 74 2d 73 74 61 74 75 73 2d 69 6e 74 65    72 6e 61 6c 27 20 69 73 20 75 73 65 64 20 69 66 | agit-status-internal'.is.used.if | 
| 40e80 | 20 61 76 61 69 6c 61 62 6c 65 2e 0a 46 6f 72 20    68 67 20 70 72 6f 6a 65 63 74 73 20 60 6d 6f 6e | .available..For.hg.projects.`mon | 
| 40ea0 | 6b 79 2d 73 74 61 74 75 73 27 20 69 73 20 75 73    65 64 20 69 66 20 61 76 61 69 6c 61 62 6c 65 2e | ky-status'.is.used.if.available. | 
| 40ec0 | 0a 0a 49 66 20 50 52 4f 4a 45 43 54 2d 52 4f 4f    54 20 69 73 20 67 69 76 65 6e 2c 20 69 74 20 69 | ..If.PROJECT-ROOT.is.given,.it.i | 
| 40ee0 | 73 20 6f 70 65 6e 65 64 20 69 6e 73 74 65 61 64    20 6f 66 20 74 68 65 20 70 72 6f 6a 65 63 74 0a | s.opened.instead.of.the.project. | 
| 40f00 | 72 6f 6f 74 20 64 69 72 65 63 74 6f 72 79 20 6f    66 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 75 | root.directory.of.the.current.bu | 
| 40f20 | 66 66 65 72 20 66 69 6c 65 2e 20 20 49 66 20 69    6e 74 65 72 61 63 74 69 76 65 6c 79 0a 63 61 6c | ffer.file...If.interactively.cal | 
| 40f40 | 6c 65 64 20 77 69 74 68 20 61 20 70 72 65 66 69    78 20 61 72 67 75 6d 65 6e 74 2c 20 74 68 65 20 | led.with.a.prefix.argument,.the. | 
| 40f60 | 75 73 65 72 20 69 73 20 70 72 6f 6d 70 74 65 64    20 66 6f 72 20 61 20 70 72 6f 6a 65 63 74 0a 64 | user.is.prompted.for.a.project.d | 
| 40f80 | 69 72 65 63 74 6f 72 79 20 74 6f 20 6f 70 65 6e    2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 | irectory.to.open."...(interactiv | 
| 40fa0 | 65 20 28 61 6e 64 20 63 75 72 72 65 6e 74 2d 70    72 65 66 69 78 2d 61 72 67 0a 20 20 20 20 20 20 | e.(and.current-prefix-arg....... | 
| 40fc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c    69 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ..............(list............. | 
| 40fe0 | 20 20 20 20 20 20 20 20 20 28 70 72 6f 6a 65 63    74 69 6c 65 2d 63 6f 6d 70 6c 65 74 69 6e 67 2d | .........(projectile-completing- | 
| 41000 | 72 65 61 64 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 22 4f 70 65 6e | read......................."Open | 
| 41020 | 20 70 72 6f 6a 65 63 74 20 56 43 20 69 6e 3a 20    22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .project.VC.in:."............... | 
| 41040 | 20 20 20 20 20 20 20 20 70 72 6f 6a 65 63 74 69    6c 65 2d 6b 6e 6f 77 6e 2d 70 72 6f 6a 65 63 74 | ........projectile-known-project | 
| 41060 | 73 29 29 29 29 0a 20 20 28 75 6e 6c 65 73 73 20    70 72 6f 6a 65 63 74 2d 72 6f 6f 74 0a 20 20 20 | s))))...(unless.project-root.... | 
| 41080 | 20 28 73 65 74 71 20 70 72 6f 6a 65 63 74 2d 72    6f 6f 74 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d | .(setq.project-root.(projectile- | 
| 410a0 | 61 63 71 75 69 72 65 2d 72 6f 6f 74 29 29 29 0a    20 20 28 6c 65 74 20 28 28 76 63 73 20 28 70 72 | acquire-root)))...(let.((vcs.(pr | 
| 410c0 | 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74    2d 76 63 73 20 70 72 6f 6a 65 63 74 2d 72 6f 6f | ojectile-project-vcs.project-roo | 
| 410e0 | 74 29 29 29 0a 20 20 20 20 28 63 6c 2d 63 61 73    65 20 76 63 73 0a 20 20 20 20 20 20 28 67 69 74 | t))).....(cl-case.vcs.......(git | 
| 41100 | 0a 20 20 20 20 20 20 20 28 63 6f 6e 64 20 28 28    66 62 6f 75 6e 64 70 20 27 6d 61 67 69 74 2d 73 | ........(cond.((fboundp.'magit-s | 
| 41120 | 74 61 74 75 73 2d 69 6e 74 65 72 6e 61 6c 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d | tatus-internal)...............(m | 
| 41140 | 61 67 69 74 2d 73 74 61 74 75 73 2d 69 6e 74 65    72 6e 61 6c 20 70 72 6f 6a 65 63 74 2d 72 6f 6f | agit-status-internal.project-roo | 
| 41160 | 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 28 28 66 62 6f 75 6e 64 70 20 27 6d 61 67 69 | t))..............((fboundp.'magi | 
| 41180 | 74 2d 73 74 61 74 75 73 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 28 77 69 74 68 2d 6e 6f | t-status)...............(with-no | 
| 411a0 | 2d 77 61 72 6e 69 6e 67 73 20 28 6d 61 67 69 74    2d 73 74 61 74 75 73 20 70 72 6f 6a 65 63 74 2d | -warnings.(magit-status.project- | 
| 411c0 | 72 6f 6f 74 29 29 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 28 74 0a 20 20 20 20 20 20 20 20 | root)))..............(t......... | 
| 411e0 | 20 20 20 20 20 20 28 76 63 2d 64 69 72 20 70 72    6f 6a 65 63 74 2d 72 6f 6f 74 29 29 29 29 0a 20 | ......(vc-dir.project-root)))).. | 
| 41200 | 20 20 20 20 20 28 68 67 0a 20 20 20 20 20 20 20    28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 6d 6f | .....(hg........(if.(fboundp.'mo | 
| 41220 | 6e 6b 79 2d 73 74 61 74 75 73 29 0a 20 20 20 20    20 20 20 20 20 20 20 28 6d 6f 6e 6b 79 2d 73 74 | nky-status)............(monky-st | 
| 41240 | 61 74 75 73 20 70 72 6f 6a 65 63 74 2d 72 6f 6f    74 29 0a 20 20 20 20 20 20 20 20 20 28 76 63 2d | atus.project-root)..........(vc- | 
| 41260 | 64 69 72 20 70 72 6f 6a 65 63 74 2d 72 6f 6f 74    29 29 29 0a 20 20 20 20 20 20 28 74 20 28 76 63 | dir.project-root))).......(t.(vc | 
| 41280 | 2d 64 69 72 20 70 72 6f 6a 65 63 74 2d 72 6f 6f    74 29 29 29 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 | -dir.project-root)))))..;;;###au | 
| 412a0 | 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 70 72    6f 6a 65 63 74 69 6c 65 2d 72 65 63 65 6e 74 66 | toload.(defun.projectile-recentf | 
| 412c0 | 20 28 29 0a 20 20 22 53 68 6f 77 20 61 20 6c 69    73 74 20 6f 66 20 72 65 63 65 6e 74 6c 79 20 76 | .()..."Show.a.list.of.recently.v | 
| 412e0 | 69 73 69 74 65 64 20 66 69 6c 65 73 20 69 6e 20    61 20 70 72 6f 6a 65 63 74 2e 22 0a 20 20 28 69 | isited.files.in.a.project."...(i | 
| 41300 | 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 69    66 20 28 62 6f 75 6e 64 70 20 27 72 65 63 65 6e | nteractive)...(if.(boundp.'recen | 
| 41320 | 74 66 2d 6c 69 73 74 29 0a 20 20 20 20 20 20 28    66 69 6e 64 2d 66 69 6c 65 20 28 70 72 6f 6a 65 | tf-list).......(find-file.(proje | 
| 41340 | 63 74 69 6c 65 2d 65 78 70 61 6e 64 2d 72 6f 6f    74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ctile-expand-root............... | 
| 41360 | 20 20 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d    63 6f 6d 70 6c 65 74 69 6e 67 2d 72 65 61 64 0a | ....(projectile-completing-read. | 
| 41380 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 22 52 65 63 65 6e 74 6c 79 20 76 69 73 | ..................."Recently.vis | 
| 413a0 | 69 74 65 64 20 66 69 6c 65 73 3a 20 22 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ited.files:."................... | 
| 413c0 | 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 72 65 63    65 6e 74 66 2d 66 69 6c 65 73 29 29 29 29 0a 20 | .(projectile-recentf-files)))).. | 
| 413e0 | 20 20 20 28 6d 65 73 73 61 67 65 20 22 72 65 63    65 6e 74 66 20 69 73 20 6e 6f 74 20 65 6e 61 62 | ...(message."recentf.is.not.enab | 
| 41400 | 6c 65 64 22 29 29 29 0a 0a 28 64 65 66 75 6e 20    70 72 6f 6a 65 63 74 69 6c 65 2d 72 65 63 65 6e | led")))..(defun.projectile-recen | 
| 41420 | 74 66 2d 66 69 6c 65 73 20 28 29 0a 20 20 22 52    65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 | tf-files.()..."Return.a.list.of. | 
| 41440 | 72 65 63 65 6e 74 6c 79 20 76 69 73 69 74 65 64    20 66 69 6c 65 73 20 69 6e 20 61 20 70 72 6f 6a | recently.visited.files.in.a.proj | 
| 41460 | 65 63 74 2e 22 0a 20 20 28 61 6e 64 20 28 62 6f    75 6e 64 70 20 27 72 65 63 65 6e 74 66 2d 6c 69 | ect."...(and.(boundp.'recentf-li | 
| 41480 | 73 74 29 0a 20 20 20 20 20 20 20 28 6c 65 74 20    28 28 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 20 28 | st)........(let.((project-root.( | 
| 414a0 | 70 72 6f 6a 65 63 74 69 6c 65 2d 61 63 71 75 69    72 65 2d 72 6f 6f 74 29 29 29 0a 20 20 20 20 20 | projectile-acquire-root)))...... | 
| 414c0 | 20 20 20 20 28 6d 61 70 63 61 72 0a 20 20 20 20    20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 66 | ....(mapcar...........(lambda.(f | 
| 414e0 | 29 20 28 66 69 6c 65 2d 72 65 6c 61 74 69 76 65    2d 6e 61 6d 65 20 66 20 70 72 6f 6a 65 63 74 2d | ).(file-relative-name.f.project- | 
| 41500 | 72 6f 6f 74 29 29 0a 20 20 20 20 20 20 20 20 20    20 28 63 6c 2d 72 65 6d 6f 76 65 2d 69 66 2d 6e | root))...........(cl-remove-if-n | 
| 41520 | 6f 74 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c    61 6d 62 64 61 20 28 66 29 20 28 73 74 72 69 6e | ot............(lambda.(f).(strin | 
| 41540 | 67 2d 70 72 65 66 69 78 2d 70 20 70 72 6f 6a 65    63 74 2d 72 6f 6f 74 20 28 65 78 70 61 6e 64 2d | g-prefix-p.project-root.(expand- | 
| 41560 | 66 69 6c 65 2d 6e 61 6d 65 20 66 29 29 29 0a 20    20 20 20 20 20 20 20 20 20 20 72 65 63 65 6e 74 | file-name.f)))............recent | 
| 41580 | 66 2d 6c 69 73 74 29 29 29 29 29 0a 0a 28 64 65    66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 73 | f-list)))))..(defun.projectile-s | 
| 415a0 | 65 72 69 61 6c 69 7a 65 2d 63 61 63 68 65 20 28    29 0a 20 20 22 53 65 72 69 61 6c 69 7a 65 73 20 | erialize-cache.()..."Serializes. | 
| 415c0 | 74 68 65 20 6d 65 6d 6f 72 79 20 63 61 63 68 65    20 74 6f 20 74 68 65 20 68 61 72 64 20 64 72 69 | the.memory.cache.to.the.hard.dri | 
| 415e0 | 76 65 2e 22 0a 20 20 28 70 72 6f 6a 65 63 74 69    6c 65 2d 73 65 72 69 61 6c 69 7a 65 20 70 72 6f | ve."...(projectile-serialize.pro | 
| 41600 | 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 73    2d 63 61 63 68 65 20 70 72 6f 6a 65 63 74 69 6c | jectile-projects-cache.projectil | 
| 41620 | 65 2d 63 61 63 68 65 2d 66 69 6c 65 29 29 0a 0a    28 64 65 66 76 61 72 20 70 72 6f 6a 65 63 74 69 | e-cache-file))..(defvar.projecti | 
| 41640 | 6c 65 2d 63 6f 6e 66 69 67 75 72 65 2d 63 6d 64    2d 6d 61 70 0a 20 20 28 6d 61 6b 65 2d 68 61 73 | le-configure-cmd-map...(make-has | 
| 41660 | 68 2d 74 61 62 6c 65 20 3a 74 65 73 74 20 27 65    71 75 61 6c 29 0a 20 20 22 41 20 6d 61 70 70 69 | h-table.:test.'equal)..."A.mappi | 
| 41680 | 6e 67 20 62 65 74 77 65 65 6e 20 70 72 6f 6a 65    63 74 73 20 61 6e 64 20 74 68 65 20 6c 61 73 74 | ng.between.projects.and.the.last | 
| 416a0 | 20 63 6f 6e 66 69 67 75 72 65 20 63 6f 6d 6d 61    6e 64 20 75 73 65 64 20 6f 6e 20 74 68 65 6d 2e | .configure.command.used.on.them. | 
| 416c0 | 22 29 0a 0a 28 64 65 66 76 61 72 20 70 72 6f 6a    65 63 74 69 6c 65 2d 63 6f 6d 70 69 6c 61 74 69 | ")..(defvar.projectile-compilati | 
| 416e0 | 6f 6e 2d 63 6d 64 2d 6d 61 70 0a 20 20 28 6d 61    6b 65 2d 68 61 73 68 2d 74 61 62 6c 65 20 3a 74 | on-cmd-map...(make-hash-table.:t | 
| 41700 | 65 73 74 20 27 65 71 75 61 6c 29 0a 20 20 22 41    20 6d 61 70 70 69 6e 67 20 62 65 74 77 65 65 6e | est.'equal)..."A.mapping.between | 
| 41720 | 20 70 72 6f 6a 65 63 74 73 20 61 6e 64 20 74 68    65 20 6c 61 73 74 20 63 6f 6d 70 69 6c 61 74 69 | .projects.and.the.last.compilati | 
| 41740 | 6f 6e 20 63 6f 6d 6d 61 6e 64 20 75 73 65 64 20    6f 6e 20 74 68 65 6d 2e 22 29 0a 0a 28 64 65 66 | on.command.used.on.them.")..(def | 
| 41760 | 76 61 72 20 70 72 6f 6a 65 63 74 69 6c 65 2d 69    6e 73 74 61 6c 6c 2d 63 6d 64 2d 6d 61 70 0a 20 | var.projectile-install-cmd-map.. | 
| 41780 | 20 28 6d 61 6b 65 2d 68 61 73 68 2d 74 61 62 6c    65 20 3a 74 65 73 74 20 27 65 71 75 61 6c 29 0a | .(make-hash-table.:test.'equal). | 
| 417a0 | 20 20 22 41 20 6d 61 70 70 69 6e 67 20 62 65 74    77 65 65 6e 20 70 72 6f 6a 65 63 74 73 20 61 6e | .."A.mapping.between.projects.an | 
| 417c0 | 64 20 74 68 65 20 6c 61 73 74 20 69 6e 73 74 61    6c 6c 20 63 6f 6d 6d 61 6e 64 20 75 73 65 64 20 | d.the.last.install.command.used. | 
| 417e0 | 6f 6e 20 74 68 65 6d 2e 22 29 0a 0a 28 64 65 66    76 61 72 20 70 72 6f 6a 65 63 74 69 6c 65 2d 70 | on.them.")..(defvar.projectile-p | 
| 41800 | 61 63 6b 61 67 65 2d 63 6d 64 2d 6d 61 70 0a 20    20 28 6d 61 6b 65 2d 68 61 73 68 2d 74 61 62 6c | ackage-cmd-map...(make-hash-tabl | 
| 41820 | 65 20 3a 74 65 73 74 20 27 65 71 75 61 6c 29 0a    20 20 22 41 20 6d 61 70 70 69 6e 67 20 62 65 74 | e.:test.'equal)..."A.mapping.bet | 
| 41840 | 77 65 65 6e 20 70 72 6f 6a 65 63 74 73 20 61 6e    64 20 74 68 65 20 6c 61 73 74 20 70 61 63 6b 61 | ween.projects.and.the.last.packa | 
| 41860 | 67 65 20 63 6f 6d 6d 61 6e 64 20 75 73 65 64 20    6f 6e 20 74 68 65 6d 2e 22 29 0a 0a 28 64 65 66 | ge.command.used.on.them.")..(def | 
| 41880 | 76 61 72 20 70 72 6f 6a 65 63 74 69 6c 65 2d 74    65 73 74 2d 63 6d 64 2d 6d 61 70 0a 20 20 28 6d | var.projectile-test-cmd-map...(m | 
| 418a0 | 61 6b 65 2d 68 61 73 68 2d 74 61 62 6c 65 20 3a    74 65 73 74 20 27 65 71 75 61 6c 29 0a 20 20 22 | ake-hash-table.:test.'equal)..." | 
| 418c0 | 41 20 6d 61 70 70 69 6e 67 20 62 65 74 77 65 65    6e 20 70 72 6f 6a 65 63 74 73 20 61 6e 64 20 74 | A.mapping.between.projects.and.t | 
| 418e0 | 68 65 20 6c 61 73 74 20 74 65 73 74 20 63 6f 6d    6d 61 6e 64 20 75 73 65 64 20 6f 6e 20 74 68 65 | he.last.test.command.used.on.the | 
| 41900 | 6d 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 70 72    6f 6a 65 63 74 69 6c 65 2d 72 75 6e 2d 63 6d 64 | m.")..(defvar.projectile-run-cmd | 
| 41920 | 2d 6d 61 70 0a 20 20 28 6d 61 6b 65 2d 68 61 73    68 2d 74 61 62 6c 65 20 3a 74 65 73 74 20 27 65 | -map...(make-hash-table.:test.'e | 
| 41940 | 71 75 61 6c 29 0a 20 20 22 41 20 6d 61 70 70 69    6e 67 20 62 65 74 77 65 65 6e 20 70 72 6f 6a 65 | qual)..."A.mapping.between.proje | 
| 41960 | 63 74 73 20 61 6e 64 20 74 68 65 20 6c 61 73 74    20 72 75 6e 20 63 6f 6d 6d 61 6e 64 20 75 73 65 | cts.and.the.last.run.command.use | 
| 41980 | 64 20 6f 6e 20 74 68 65 6d 2e 22 29 0a 0a 28 64    65 66 76 61 72 20 70 72 6f 6a 65 63 74 69 6c 65 | d.on.them.")..(defvar.projectile | 
| 419a0 | 2d 70 72 6f 6a 65 63 74 2d 65 6e 61 62 6c 65 2d    63 6d 64 2d 63 61 63 68 69 6e 67 20 74 0a 20 20 | -project-enable-cmd-caching.t... | 
| 419c0 | 22 45 6e 61 62 6c 65 73 20 63 6f 6d 6d 61 6e 64    20 63 61 63 68 69 6e 67 20 66 6f 72 20 74 68 65 | "Enables.command.caching.for.the | 
| 419e0 | 20 70 72 6f 6a 65 63 74 2e 20 20 53 65 74 20 74    6f 20 6e 69 6c 20 74 6f 20 64 69 73 61 62 6c 65 | .project...Set.to.nil.to.disable | 
| 41a00 | 2e 0a 53 68 6f 75 6c 64 20 62 65 20 73 65 74 20    76 69 61 20 2e 64 69 72 2d 6c 6f 63 61 6c 73 2e | ..Should.be.set.via..dir-locals. | 
| 41a20 | 65 6c 2e 22 29 0a 0a 28 64 65 66 75 6e 20 70 72    6f 6a 65 63 74 69 6c 65 2d 2d 63 61 63 68 65 2d | el.")..(defun.projectile--cache- | 
| 41a40 | 70 72 6f 6a 65 63 74 2d 63 6f 6d 6d 61 6e 64 73    2d 70 20 28 29 0a 20 20 22 57 68 65 74 68 65 72 | project-commands-p.()..."Whether | 
| 41a60 | 20 74 6f 20 63 61 63 68 65 20 70 72 6f 6a 65 63    74 20 63 6f 6d 6d 61 6e 64 73 2e 22 0a 20 20 28 | .to.cache.project.commands."...( | 
| 41a80 | 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 65 72    0a 20 20 20 20 28 68 61 63 6b 2d 64 69 72 2d 6c | with-temp-buffer.....(hack-dir-l | 
| 41aa0 | 6f 63 61 6c 2d 76 61 72 69 61 62 6c 65 73 2d 6e    6f 6e 2d 66 69 6c 65 2d 62 75 66 66 65 72 29 0a | ocal-variables-non-file-buffer). | 
| 41ac0 | 20 20 20 20 70 72 6f 6a 65 63 74 69 6c 65 2d 70    72 6f 6a 65 63 74 2d 65 6e 61 62 6c 65 2d 63 6d | ....projectile-project-enable-cm | 
| 41ae0 | 64 2d 63 61 63 68 69 6e 67 29 29 0a 0a 28 64 65    66 76 61 72 20 70 72 6f 6a 65 63 74 69 6c 65 2d | d-caching))..(defvar.projectile- | 
| 41b00 | 70 72 6f 6a 65 63 74 2d 63 6f 6e 66 69 67 75 72    65 2d 63 6d 64 20 6e 69 6c 0a 20 20 22 54 68 65 | project-configure-cmd.nil..."The | 
| 41b20 | 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 75 73 65 20    77 69 74 68 20 60 70 72 6f 6a 65 63 74 69 6c 65 | .command.to.use.with.`projectile | 
| 41b40 | 2d 63 6f 6e 66 69 67 75 72 65 2d 70 72 6f 6a 65    63 74 27 2e 0a 49 74 20 74 61 6b 65 73 20 70 72 | -configure-project'..It.takes.pr | 
| 41b60 | 65 63 65 64 65 6e 63 65 20 6f 76 65 72 20 74 68    65 20 64 65 66 61 75 6c 74 20 63 6f 6d 6d 61 6e | ecedence.over.the.default.comman | 
| 41b80 | 64 20 66 6f 72 20 74 68 65 20 70 72 6f 6a 65 63    74 20 74 79 70 65 20 77 68 65 6e 20 73 65 74 2e | d.for.the.project.type.when.set. | 
| 41ba0 | 0a 53 68 6f 75 6c 64 20 62 65 20 73 65 74 20 76    69 61 20 2e 64 69 72 2d 6c 6f 63 61 6c 73 2e 65 | .Should.be.set.via..dir-locals.e | 
| 41bc0 | 6c 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 70 72    6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 | l.")..(defvar.projectile-project | 
| 41be0 | 2d 63 6f 6d 70 69 6c 61 74 69 6f 6e 2d 63 6d 64    20 6e 69 6c 0a 20 20 22 54 68 65 20 63 6f 6d 6d | -compilation-cmd.nil..."The.comm | 
| 41c00 | 61 6e 64 20 74 6f 20 75 73 65 20 77 69 74 68 20    60 70 72 6f 6a 65 63 74 69 6c 65 2d 63 6f 6d 70 | and.to.use.with.`projectile-comp | 
| 41c20 | 69 6c 65 2d 70 72 6f 6a 65 63 74 27 2e 0a 49 74    20 74 61 6b 65 73 20 70 72 65 63 65 64 65 6e 63 | ile-project'..It.takes.precedenc | 
| 41c40 | 65 20 6f 76 65 72 20 74 68 65 20 64 65 66 61 75    6c 74 20 63 6f 6d 6d 61 6e 64 20 66 6f 72 20 74 | e.over.the.default.command.for.t | 
| 41c60 | 68 65 20 70 72 6f 6a 65 63 74 20 74 79 70 65 20    77 68 65 6e 20 73 65 74 2e 0a 53 68 6f 75 6c 64 | he.project.type.when.set..Should | 
| 41c80 | 20 62 65 20 73 65 74 20 76 69 61 20 2e 64 69 72    2d 6c 6f 63 61 6c 73 2e 65 6c 2e 22 29 0a 0a 28 | .be.set.via..dir-locals.el.")..( | 
| 41ca0 | 64 65 66 76 61 72 20 70 72 6f 6a 65 63 74 69 6c    65 2d 70 72 6f 6a 65 63 74 2d 63 6f 6d 70 69 6c | defvar.projectile-project-compil | 
| 41cc0 | 61 74 69 6f 6e 2d 64 69 72 20 6e 69 6c 0a 20 20    22 54 68 65 20 64 69 72 65 63 74 6f 72 79 20 74 | ation-dir.nil..."The.directory.t | 
| 41ce0 | 6f 20 75 73 65 20 77 69 74 68 20 60 70 72 6f 6a    65 63 74 69 6c 65 2d 63 6f 6d 70 69 6c 65 2d 70 | o.use.with.`projectile-compile-p | 
| 41d00 | 72 6f 6a 65 63 74 27 2e 0a 54 68 65 20 64 69 72    65 63 74 6f 72 79 20 70 61 74 68 20 69 73 20 72 | roject'..The.directory.path.is.r | 
| 41d20 | 65 6c 61 74 69 76 65 20 74 6f 20 74 68 65 20 70    72 6f 6a 65 63 74 20 72 6f 6f 74 2e 0a 53 68 6f | elative.to.the.project.root..Sho | 
| 41d40 | 75 6c 64 20 62 65 20 73 65 74 20 76 69 61 20 2e    64 69 72 2d 6c 6f 63 61 6c 73 2e 65 6c 2e 22 29 | uld.be.set.via..dir-locals.el.") | 
| 41d60 | 0a 0a 28 64 65 66 76 61 72 20 70 72 6f 6a 65 63    74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 74 65 73 | ..(defvar.projectile-project-tes | 
| 41d80 | 74 2d 63 6d 64 20 6e 69 6c 0a 20 20 22 54 68 65    20 63 6f 6d 6d 61 6e 64 20 74 6f 20 75 73 65 20 | t-cmd.nil..."The.command.to.use. | 
| 41da0 | 77 69 74 68 20 60 70 72 6f 6a 65 63 74 69 6c 65    2d 74 65 73 74 2d 70 72 6f 6a 65 63 74 27 2e 0a | with.`projectile-test-project'.. | 
| 41dc0 | 49 74 20 74 61 6b 65 73 20 70 72 65 63 65 64 65    6e 63 65 20 6f 76 65 72 20 74 68 65 20 64 65 66 | It.takes.precedence.over.the.def | 
| 41de0 | 61 75 6c 74 20 63 6f 6d 6d 61 6e 64 20 66 6f 72    20 74 68 65 20 70 72 6f 6a 65 63 74 20 74 79 70 | ault.command.for.the.project.typ | 
| 41e00 | 65 20 77 68 65 6e 20 73 65 74 2e 0a 53 68 6f 75    6c 64 20 62 65 20 73 65 74 20 76 69 61 20 2e 64 | e.when.set..Should.be.set.via..d | 
| 41e20 | 69 72 2d 6c 6f 63 61 6c 73 2e 65 6c 2e 22 29 0a    0a 28 64 65 66 76 61 72 20 70 72 6f 6a 65 63 74 | ir-locals.el.")..(defvar.project | 
| 41e40 | 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 69 6e 73 74    61 6c 6c 2d 63 6d 64 20 6e 69 6c 0a 20 20 22 54 | ile-project-install-cmd.nil..."T | 
| 41e60 | 68 65 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 75 73    65 20 77 69 74 68 20 60 70 72 6f 6a 65 63 74 69 | he.command.to.use.with.`projecti | 
| 41e80 | 6c 65 2d 69 6e 73 74 61 6c 6c 2d 70 72 6f 6a 65    63 74 27 2e 0a 49 74 20 74 61 6b 65 73 20 70 72 | le-install-project'..It.takes.pr | 
| 41ea0 | 65 63 65 64 65 6e 63 65 20 6f 76 65 72 20 74 68    65 20 64 65 66 61 75 6c 74 20 63 6f 6d 6d 61 6e | ecedence.over.the.default.comman | 
| 41ec0 | 64 20 66 6f 72 20 74 68 65 20 70 72 6f 6a 65 63    74 20 74 79 70 65 20 77 68 65 6e 20 73 65 74 2e | d.for.the.project.type.when.set. | 
| 41ee0 | 0a 53 68 6f 75 6c 64 20 62 65 20 73 65 74 20 76    69 61 20 2e 64 69 72 2d 6c 6f 63 61 6c 73 2e 65 | .Should.be.set.via..dir-locals.e | 
| 41f00 | 6c 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 70 72    6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 | l.")..(defvar.projectile-project | 
| 41f20 | 2d 70 61 63 6b 61 67 65 2d 63 6d 64 20 6e 69 6c    0a 20 20 22 54 68 65 20 63 6f 6d 6d 61 6e 64 20 | -package-cmd.nil..."The.command. | 
| 41f40 | 74 6f 20 75 73 65 20 77 69 74 68 20 60 70 72 6f    6a 65 63 74 69 6c 65 2d 70 61 63 6b 61 67 65 2d | to.use.with.`projectile-package- | 
| 41f60 | 70 72 6f 6a 65 63 74 27 2e 0a 49 74 20 74 61 6b    65 73 20 70 72 65 63 65 64 65 6e 63 65 20 6f 76 | project'..It.takes.precedence.ov | 
| 41f80 | 65 72 20 74 68 65 20 64 65 66 61 75 6c 74 20 63    6f 6d 6d 61 6e 64 20 66 6f 72 20 74 68 65 20 70 | er.the.default.command.for.the.p | 
| 41fa0 | 72 6f 6a 65 63 74 20 74 79 70 65 20 77 68 65 6e    20 73 65 74 2e 0a 53 68 6f 75 6c 64 20 62 65 20 | roject.type.when.set..Should.be. | 
| 41fc0 | 73 65 74 20 76 69 61 20 2e 64 69 72 2d 6c 6f 63    61 6c 73 2e 65 6c 2e 22 29 0a 0a 28 64 65 66 76 | set.via..dir-locals.el.")..(defv | 
| 41fe0 | 61 72 20 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72    6f 6a 65 63 74 2d 72 75 6e 2d 63 6d 64 20 6e 69 | ar.projectile-project-run-cmd.ni | 
| 42000 | 6c 0a 20 20 22 54 68 65 20 63 6f 6d 6d 61 6e 64    20 74 6f 20 75 73 65 20 77 69 74 68 20 60 70 72 | l..."The.command.to.use.with.`pr | 
| 42020 | 6f 6a 65 63 74 69 6c 65 2d 72 75 6e 2d 70 72 6f    6a 65 63 74 27 2e 0a 49 74 20 74 61 6b 65 73 20 | ojectile-run-project'..It.takes. | 
| 42040 | 70 72 65 63 65 64 65 6e 63 65 20 6f 76 65 72 20    74 68 65 20 64 65 66 61 75 6c 74 20 63 6f 6d 6d | precedence.over.the.default.comm | 
| 42060 | 61 6e 64 20 66 6f 72 20 74 68 65 20 70 72 6f 6a    65 63 74 20 74 79 70 65 20 77 68 65 6e 20 73 65 | and.for.the.project.type.when.se | 
| 42080 | 74 2e 0a 53 68 6f 75 6c 64 20 62 65 20 73 65 74    20 76 69 61 20 2e 64 69 72 2d 6c 6f 63 61 6c 73 | t..Should.be.set.via..dir-locals | 
| 420a0 | 2e 65 6c 2e 22 29 0a 0a 28 64 65 66 75 6e 20 70    72 6f 6a 65 63 74 69 6c 65 2d 64 65 66 61 75 6c | .el.")..(defun.projectile-defaul | 
| 420c0 | 74 2d 67 65 6e 65 72 69 63 2d 63 6f 6d 6d 61 6e    64 20 28 70 72 6f 6a 65 63 74 2d 74 79 70 65 20 | t-generic-command.(project-type. | 
| 420e0 | 63 6f 6d 6d 61 6e 64 2d 74 79 70 65 29 0a 20 20    22 47 65 6e 65 72 69 63 20 72 65 74 72 69 65 76 | command-type)..."Generic.retriev | 
| 42100 | 61 6c 20 6f 66 20 43 4f 4d 4d 41 4e 44 2d 54 59    50 45 73 20 64 65 66 61 75 6c 74 20 63 6d 64 2d | al.of.COMMAND-TYPEs.default.cmd- | 
| 42120 | 76 61 6c 75 65 20 66 6f 72 20 50 52 4f 4a 45 43    54 2d 54 59 50 45 2e 0a 0a 49 66 20 66 6f 75 6e | value.for.PROJECT-TYPE...If.foun | 
| 42140 | 64 2c 20 63 68 65 63 6b 73 20 69 66 20 76 61 6c    75 65 20 69 73 20 73 79 6d 62 6f 6c 20 6f 72 20 | d,.checks.if.value.is.symbol.or. | 
| 42160 | 73 74 72 69 6e 67 2e 20 20 49 6e 20 63 61 73 65    20 6f 66 20 73 79 6d 62 6f 6c 0a 72 65 73 6f 6c | string...In.case.of.symbol.resol | 
| 42180 | 76 65 73 20 74 6f 20 66 75 6e 63 74 69 6f 6e 20    60 66 75 6e 63 61 6c 6c 27 73 2e 20 20 52 65 74 | ves.to.function.`funcall's...Ret | 
| 421a0 | 75 72 6e 20 76 61 6c 75 65 20 6f 66 20 66 75 6e    63 74 69 6f 6e 20 4d 55 53 54 0a 62 65 20 73 74 | urn.value.of.function.MUST.be.st | 
| 421c0 | 72 69 6e 67 20 74 6f 20 62 65 20 65 78 65 63 75    74 65 64 20 61 73 20 63 6f 6d 6d 61 6e 64 2e 22 | ring.to.be.executed.as.command." | 
| 421e0 | 0a 20 20 28 6c 65 74 20 28 28 63 6f 6d 6d 61 6e    64 20 28 70 6c 69 73 74 2d 67 65 74 20 28 61 6c | ...(let.((command.(plist-get.(al | 
| 42200 | 69 73 74 2d 67 65 74 20 70 72 6f 6a 65 63 74 2d    74 79 70 65 20 70 72 6f 6a 65 63 74 69 6c 65 2d | ist-get.project-type.projectile- | 
| 42220 | 70 72 6f 6a 65 63 74 2d 74 79 70 65 73 29 20 63    6f 6d 6d 61 6e 64 2d 74 79 70 65 29 29 29 0a 20 | project-types).command-type))).. | 
| 42240 | 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 28 28    6e 6f 74 20 63 6f 6d 6d 61 6e 64 29 20 6e 69 6c | ...(cond......((not.command).nil | 
| 42260 | 29 0a 20 20 20 20 20 28 28 73 74 72 69 6e 67 70    20 63 6f 6d 6d 61 6e 64 29 20 63 6f 6d 6d 61 6e | )......((stringp.command).comman | 
| 42280 | 64 29 0a 20 20 20 20 20 28 28 66 75 6e 63 74 69    6f 6e 70 20 63 6f 6d 6d 61 6e 64 29 0a 20 20 20 | d)......((functionp.command).... | 
| 422a0 | 20 20 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20    63 6f 6d 6d 61 6e 64 29 0a 20 20 20 20 20 20 20 | ...(if.(fboundp.command)........ | 
| 422c0 | 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 73 79 6d    62 6f 6c 2d 66 75 6e 63 74 69 6f 6e 20 63 6f 6d | ...(funcall.(symbol-function.com | 
| 422e0 | 6d 61 6e 64 29 29 29 29 0a 20 20 20 20 20 28 74    0a 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 54 | mand))))......(t.......(error."T | 
| 42300 | 68 65 20 76 61 6c 75 65 20 66 6f 72 3a 20 25 73    20 69 6e 20 70 72 6f 6a 65 63 74 2d 74 79 70 65 | he.value.for:.%s.in.project-type | 
| 42320 | 3a 20 25 73 20 77 61 73 20 6e 65 69 74 68 65 72    20 61 20 66 75 6e 63 74 69 6f 6e 20 6e 6f 72 20 | :.%s.was.neither.a.function.nor. | 
| 42340 | 61 20 73 74 72 69 6e 67 22 20 63 6f 6d 6d 61 6e    64 2d 74 79 70 65 20 70 72 6f 6a 65 63 74 2d 74 | a.string".command-type.project-t | 
| 42360 | 79 70 65 29 29 29 29 29 0a 0a 28 64 65 66 75 6e    20 70 72 6f 6a 65 63 74 69 6c 65 2d 64 65 66 61 | ype)))))..(defun.projectile-defa | 
| 42380 | 75 6c 74 2d 63 6f 6e 66 69 67 75 72 65 2d 63 6f    6d 6d 61 6e 64 20 28 70 72 6f 6a 65 63 74 2d 74 | ult-configure-command.(project-t | 
| 423a0 | 79 70 65 29 0a 20 20 22 52 65 74 72 69 65 76 65    20 64 65 66 61 75 6c 74 20 63 6f 6e 66 69 67 75 | ype)..."Retrieve.default.configu | 
| 423c0 | 72 65 20 63 6f 6d 6d 61 6e 64 20 66 6f 72 20 50    52 4f 4a 45 43 54 2d 54 59 50 45 2e 22 0a 20 20 | re.command.for.PROJECT-TYPE."... | 
| 423e0 | 28 70 72 6f 6a 65 63 74 69 6c 65 2d 64 65 66 61    75 6c 74 2d 67 65 6e 65 72 69 63 2d 63 6f 6d 6d | (projectile-default-generic-comm | 
| 42400 | 61 6e 64 20 70 72 6f 6a 65 63 74 2d 74 79 70 65    20 27 63 6f 6e 66 69 67 75 72 65 2d 63 6f 6d 6d | and.project-type.'configure-comm | 
| 42420 | 61 6e 64 29 29 0a 0a 28 64 65 66 75 6e 20 70 72    6f 6a 65 63 74 69 6c 65 2d 64 65 66 61 75 6c 74 | and))..(defun.projectile-default | 
| 42440 | 2d 63 6f 6d 70 69 6c 61 74 69 6f 6e 2d 63 6f 6d    6d 61 6e 64 20 28 70 72 6f 6a 65 63 74 2d 74 79 | -compilation-command.(project-ty | 
| 42460 | 70 65 29 0a 20 20 22 52 65 74 72 69 65 76 65 20    64 65 66 61 75 6c 74 20 63 6f 6d 70 69 6c 61 74 | pe)..."Retrieve.default.compilat | 
| 42480 | 69 6f 6e 20 63 6f 6d 6d 61 6e 64 20 66 6f 72 20    50 52 4f 4a 45 43 54 2d 54 59 50 45 2e 22 0a 20 | ion.command.for.PROJECT-TYPE.".. | 
| 424a0 | 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 64 65 66    61 75 6c 74 2d 67 65 6e 65 72 69 63 2d 63 6f 6d | .(projectile-default-generic-com | 
| 424c0 | 6d 61 6e 64 20 70 72 6f 6a 65 63 74 2d 74 79 70    65 20 27 63 6f 6d 70 69 6c 65 2d 63 6f 6d 6d 61 | mand.project-type.'compile-comma | 
| 424e0 | 6e 64 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f    6a 65 63 74 69 6c 65 2d 64 65 66 61 75 6c 74 2d | nd))..(defun.projectile-default- | 
| 42500 | 63 6f 6d 70 69 6c 61 74 69 6f 6e 2d 64 69 72 20    28 70 72 6f 6a 65 63 74 2d 74 79 70 65 29 0a 20 | compilation-dir.(project-type).. | 
| 42520 | 20 22 52 65 74 72 69 65 76 65 20 64 65 66 61 75    6c 74 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 64 | ."Retrieve.default.compilation.d | 
| 42540 | 69 72 65 63 74 6f 72 79 20 66 6f 72 20 50 52 4f    4a 45 43 54 2d 54 59 50 45 2e 22 0a 20 20 28 70 | irectory.for.PROJECT-TYPE."...(p | 
| 42560 | 72 6f 6a 65 63 74 69 6c 65 2d 64 65 66 61 75 6c    74 2d 67 65 6e 65 72 69 63 2d 63 6f 6d 6d 61 6e | rojectile-default-generic-comman | 
| 42580 | 64 20 70 72 6f 6a 65 63 74 2d 74 79 70 65 20 27    63 6f 6d 70 69 6c 61 74 69 6f 6e 2d 64 69 72 29 | d.project-type.'compilation-dir) | 
| 425a0 | 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63    74 69 6c 65 2d 64 65 66 61 75 6c 74 2d 74 65 73 | )..(defun.projectile-default-tes | 
| 425c0 | 74 2d 63 6f 6d 6d 61 6e 64 20 28 70 72 6f 6a 65    63 74 2d 74 79 70 65 29 0a 20 20 22 52 65 74 72 | t-command.(project-type)..."Retr | 
| 425e0 | 69 65 76 65 20 64 65 66 61 75 6c 74 20 74 65 73    74 20 63 6f 6d 6d 61 6e 64 20 66 6f 72 20 50 52 | ieve.default.test.command.for.PR | 
| 42600 | 4f 4a 45 43 54 2d 54 59 50 45 2e 22 0a 20 20 28    70 72 6f 6a 65 63 74 69 6c 65 2d 64 65 66 61 75 | OJECT-TYPE."...(projectile-defau | 
| 42620 | 6c 74 2d 67 65 6e 65 72 69 63 2d 63 6f 6d 6d 61    6e 64 20 70 72 6f 6a 65 63 74 2d 74 79 70 65 20 | lt-generic-command.project-type. | 
| 42640 | 27 74 65 73 74 2d 63 6f 6d 6d 61 6e 64 29 29 0a    0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 | 'test-command))..(defun.projecti | 
| 42660 | 6c 65 2d 64 65 66 61 75 6c 74 2d 69 6e 73 74 61    6c 6c 2d 63 6f 6d 6d 61 6e 64 20 28 70 72 6f 6a | le-default-install-command.(proj | 
| 42680 | 65 63 74 2d 74 79 70 65 29 0a 20 20 22 52 65 74    72 69 65 76 65 20 64 65 66 61 75 6c 74 20 69 6e | ect-type)..."Retrieve.default.in | 
| 426a0 | 73 74 61 6c 6c 20 63 6f 6d 6d 61 6e 64 20 66 6f    72 20 50 52 4f 4a 45 43 54 2d 54 59 50 45 2e 22 | stall.command.for.PROJECT-TYPE." | 
| 426c0 | 0a 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 64    65 66 61 75 6c 74 2d 67 65 6e 65 72 69 63 2d 63 | ...(projectile-default-generic-c | 
| 426e0 | 6f 6d 6d 61 6e 64 20 70 72 6f 6a 65 63 74 2d 74    79 70 65 20 27 69 6e 73 74 61 6c 6c 2d 63 6f 6d | ommand.project-type.'install-com | 
| 42700 | 6d 61 6e 64 29 29 0a 0a 28 64 65 66 75 6e 20 70    72 6f 6a 65 63 74 69 6c 65 2d 64 65 66 61 75 6c | mand))..(defun.projectile-defaul | 
| 42720 | 74 2d 70 61 63 6b 61 67 65 2d 63 6f 6d 6d 61 6e    64 20 28 70 72 6f 6a 65 63 74 2d 74 79 70 65 29 | t-package-command.(project-type) | 
| 42740 | 0a 20 20 22 52 65 74 72 69 65 76 65 20 64 65 66    61 75 6c 74 20 70 61 63 6b 61 67 65 20 63 6f 6d | ..."Retrieve.default.package.com | 
| 42760 | 6d 61 6e 64 20 66 6f 72 20 50 52 4f 4a 45 43 54    2d 54 59 50 45 2e 22 0a 20 20 28 70 72 6f 6a 65 | mand.for.PROJECT-TYPE."...(proje | 
| 42780 | 63 74 69 6c 65 2d 64 65 66 61 75 6c 74 2d 67 65    6e 65 72 69 63 2d 63 6f 6d 6d 61 6e 64 20 70 72 | ctile-default-generic-command.pr | 
| 427a0 | 6f 6a 65 63 74 2d 74 79 70 65 20 27 70 61 63 6b    61 67 65 2d 63 6f 6d 6d 61 6e 64 29 29 0a 0a 28 | oject-type.'package-command))..( | 
| 427c0 | 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65    2d 64 65 66 61 75 6c 74 2d 72 75 6e 2d 63 6f 6d | defun.projectile-default-run-com | 
| 427e0 | 6d 61 6e 64 20 28 70 72 6f 6a 65 63 74 2d 74 79    70 65 29 0a 20 20 22 52 65 74 72 69 65 76 65 20 | mand.(project-type)..."Retrieve. | 
| 42800 | 64 65 66 61 75 6c 74 20 72 75 6e 20 63 6f 6d 6d    61 6e 64 20 66 6f 72 20 50 52 4f 4a 45 43 54 2d | default.run.command.for.PROJECT- | 
| 42820 | 54 59 50 45 2e 22 0a 20 20 28 70 72 6f 6a 65 63    74 69 6c 65 2d 64 65 66 61 75 6c 74 2d 67 65 6e | TYPE."...(projectile-default-gen | 
| 42840 | 65 72 69 63 2d 63 6f 6d 6d 61 6e 64 20 70 72 6f    6a 65 63 74 2d 74 79 70 65 20 27 72 75 6e 2d 63 | eric-command.project-type.'run-c | 
| 42860 | 6f 6d 6d 61 6e 64 29 29 0a 0a 28 64 65 66 75 6e    20 70 72 6f 6a 65 63 74 69 6c 65 2d 63 6f 6e 66 | ommand))..(defun.projectile-conf | 
| 42880 | 69 67 75 72 65 2d 63 6f 6d 6d 61 6e 64 20 28 63    6f 6d 70 69 6c 65 2d 64 69 72 29 0a 20 20 22 52 | igure-command.(compile-dir)..."R | 
| 428a0 | 65 74 72 69 65 76 65 20 74 68 65 20 63 6f 6e 66    69 67 75 72 65 20 63 6f 6d 6d 61 6e 64 20 66 6f | etrieve.the.configure.command.fo | 
| 428c0 | 72 20 43 4f 4d 50 49 4c 45 2d 44 49 52 2e 0a 0a    54 68 65 20 63 6f 6d 6d 61 6e 64 20 69 73 20 64 | r.COMPILE-DIR...The.command.is.d | 
| 428e0 | 65 74 65 72 6d 69 6e 65 64 20 6c 69 6b 65 20 74    68 69 73 3a 0a 0a 2d 20 66 69 72 73 74 20 77 65 | etermined.like.this:..-.first.we | 
| 42900 | 20 63 68 65 63 6b 20 60 70 72 6f 6a 65 63 74 69    6c 65 2d 63 6f 6e 66 69 67 75 72 65 2d 63 6d 64 | .check.`projectile-configure-cmd | 
| 42920 | 2d 6d 61 70 27 20 66 6f 72 20 74 68 65 20 6c 61    73 74 0a 63 6f 6e 66 69 67 75 72 65 20 63 6f 6d | -map'.for.the.last.configure.com | 
| 42940 | 6d 61 6e 64 20 74 68 61 74 20 77 61 73 20 69 6e    76 6f 6b 65 64 20 6f 6e 20 74 68 65 20 70 72 6f | mand.that.was.invoked.on.the.pro | 
| 42960 | 6a 65 63 74 0a 0a 2d 20 74 68 65 6e 20 77 65 20    63 68 65 63 6b 20 66 6f 72 20 60 70 72 6f 6a 65 | ject..-.then.we.check.for.`proje | 
| 42980 | 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 63 6f    6e 66 69 67 75 72 65 2d 63 6d 64 27 20 73 75 70 | ctile-project-configure-cmd'.sup | 
| 429a0 | 70 6c 69 65 64 0a 76 69 61 20 2e 64 69 72 2d 6c    6f 63 61 6c 73 2e 65 6c 0a 0a 2d 20 66 69 6e 61 | plied.via..dir-locals.el..-.fina | 
| 429c0 | 6c 6c 79 20 77 65 20 63 68 65 63 6b 20 66 6f 72    20 74 68 65 20 64 65 66 61 75 6c 74 20 63 6f 6e | lly.we.check.for.the.default.con | 
| 429e0 | 66 69 67 75 72 65 20 63 6f 6d 6d 61 6e 64 20 66    6f 72 20 61 0a 70 72 6f 6a 65 63 74 20 6f 66 20 | figure.command.for.a.project.of. | 
| 42a00 | 74 68 61 74 20 74 79 70 65 22 0a 20 20 28 6f 72    20 28 67 65 74 68 61 73 68 20 63 6f 6d 70 69 6c | that.type"...(or.(gethash.compil | 
| 42a20 | 65 2d 64 69 72 20 70 72 6f 6a 65 63 74 69 6c 65    2d 63 6f 6e 66 69 67 75 72 65 2d 63 6d 64 2d 6d | e-dir.projectile-configure-cmd-m | 
| 42a40 | 61 70 29 0a 20 20 20 20 20 20 70 72 6f 6a 65 63    74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 63 6f 6e | ap).......projectile-project-con | 
| 42a60 | 66 69 67 75 72 65 2d 63 6d 64 0a 20 20 20 20 20    20 28 6c 65 74 20 28 28 63 6d 64 2d 66 6f 72 6d | figure-cmd.......(let.((cmd-form | 
| 42a80 | 61 74 2d 73 74 72 69 6e 67 20 28 70 72 6f 6a 65    63 74 69 6c 65 2d 64 65 66 61 75 6c 74 2d 63 6f | at-string.(projectile-default-co | 
| 42aa0 | 6e 66 69 67 75 72 65 2d 63 6f 6d 6d 61 6e 64 20    28 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a | nfigure-command.(projectile-proj | 
| 42ac0 | 65 63 74 2d 74 79 70 65 29 29 29 29 0a 20 20 20    20 20 20 20 20 28 77 68 65 6e 20 63 6d 64 2d 66 | ect-type)))).........(when.cmd-f | 
| 42ae0 | 6f 72 6d 61 74 2d 73 74 72 69 6e 67 0a 20 20 20    20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 63 | ormat-string...........(format.c | 
| 42b00 | 6d 64 2d 66 6f 72 6d 61 74 2d 73 74 72 69 6e 67    20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f | md-format-string.(projectile-pro | 
| 42b20 | 6a 65 63 74 2d 72 6f 6f 74 29 20 63 6f 6d 70 69    6c 65 2d 64 69 72 29 29 29 29 29 0a 0a 28 64 65 | ject-root).compile-dir)))))..(de | 
| 42b40 | 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 63    6f 6d 70 69 6c 61 74 69 6f 6e 2d 62 75 66 66 65 | fun.projectile-compilation-buffe | 
| 42b60 | 72 2d 6e 61 6d 65 20 28 63 6f 6d 70 69 6c 61 74    69 6f 6e 2d 6d 6f 64 65 29 0a 20 20 22 4d 65 61 | r-name.(compilation-mode)..."Mea | 
| 42b80 | 6e 74 20 74 6f 20 62 65 20 75 73 65 64 20 66 6f    72 20 60 63 6f 6d 70 69 6c 61 74 69 6f 6e 2d 62 | nt.to.be.used.for.`compilation-b | 
| 42ba0 | 75 66 66 65 72 2d 6e 61 6d 65 2d 66 75 6e 63 74    69 6f 6e 60 2e 0a 41 72 67 75 6d 65 6e 74 20 43 | uffer-name-function`..Argument.C | 
| 42bc0 | 4f 4d 50 49 4c 41 54 49 4f 4e 2d 4d 4f 44 45 20    69 73 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 | OMPILATION-MODE.is.the.name.of.t | 
| 42be0 | 68 65 20 6d 61 6a 6f 72 20 6d 6f 64 65 20 75 73    65 64 20 66 6f 72 20 74 68 65 0a 63 6f 6d 70 69 | he.major.mode.used.for.the.compi | 
| 42c00 | 6c 61 74 69 6f 6e 20 62 75 66 66 65 72 2e 22 0a    20 20 28 63 6f 6e 63 61 74 20 22 2a 22 20 28 64 | lation.buffer."...(concat."*".(d | 
| 42c20 | 6f 77 6e 63 61 73 65 20 63 6f 6d 70 69 6c 61 74    69 6f 6e 2d 6d 6f 64 65 29 20 22 2a 22 0a 20 20 | owncase.compilation-mode)."*"... | 
| 42c40 | 20 20 20 20 20 20 20 20 28 69 66 20 28 70 72 6f    6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d | ........(if.(projectile-project- | 
| 42c60 | 70 29 20 28 63 6f 6e 63 61 74 20 22 3c 22 20 28    70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 | p).(concat."<".(projectile-proje | 
| 42c80 | 63 74 2d 6e 61 6d 65 29 20 22 3e 22 29 20 22 22    29 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a | ct-name).">")."")))..(defun.proj | 
| 42ca0 | 65 63 74 69 6c 65 2d 63 75 72 72 65 6e 74 2d 70    72 6f 6a 65 63 74 2d 62 75 66 66 65 72 2d 70 20 | ectile-current-project-buffer-p. | 
| 42cc0 | 28 29 0a 20 20 22 4d 65 61 6e 74 20 74 6f 20 62    65 20 75 73 65 64 20 66 6f 72 20 60 63 6f 6d 70 | ()..."Meant.to.be.used.for.`comp | 
| 42ce0 | 69 6c 61 74 69 6f 6e 2d 73 61 76 65 2d 62 75 66    66 65 72 73 2d 70 72 65 64 69 63 61 74 65 60 2e | ilation-save-buffers-predicate`. | 
| 42d00 | 0a 54 68 69 73 20 69 6e 64 69 63 61 74 65 73 20    77 68 65 74 68 65 72 20 74 68 65 20 63 75 72 72 | .This.indicates.whether.the.curr | 
| 42d20 | 65 6e 74 20 62 75 66 66 65 72 20 69 73 20 69 6e    20 74 68 65 20 73 61 6d 65 20 70 72 6f 6a 65 63 | ent.buffer.is.in.the.same.projec | 
| 42d40 | 74 20 61 73 20 74 68 65 20 63 75 72 72 65 6e 74    0a 77 69 6e 64 6f 77 20 28 69 6e 63 6c 75 64 69 | t.as.the.current.window.(includi | 
| 42d60 | 6e 67 20 72 65 74 75 72 6e 69 6e 67 20 74 72 75    65 20 69 66 20 6e 65 69 74 68 65 72 20 69 73 20 | ng.returning.true.if.neither.is. | 
| 42d80 | 69 6e 20 61 20 70 72 6f 6a 65 63 74 29 2e 22 0a    20 20 28 6c 65 74 20 28 28 72 6f 6f 74 20 28 77 | in.a.project)."...(let.((root.(w | 
| 42da0 | 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66    65 72 20 28 77 69 6e 64 6f 77 2d 62 75 66 66 65 | ith-current-buffer.(window-buffe | 
| 42dc0 | 72 29 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 70    72 6f 6a 65 63 74 2d 72 6f 6f 74 29 29 29 29 0a | r).(projectile-project-root)))). | 
| 42de0 | 20 20 20 20 28 6f 72 20 28 6e 6f 74 20 72 6f 6f    74 29 0a 20 20 20 20 20 20 20 20 28 70 72 6f 6a | ....(or.(not.root).........(proj | 
| 42e00 | 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 62    75 66 66 65 72 2d 70 20 28 63 75 72 72 65 6e 74 | ectile-project-buffer-p.(current | 
| 42e20 | 2d 62 75 66 66 65 72 29 20 72 6f 6f 74 29 29 29    29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 | -buffer).root))))..(defun.projec | 
| 42e40 | 74 69 6c 65 2d 63 6f 6d 70 69 6c 61 74 69 6f 6e    2d 63 6f 6d 6d 61 6e 64 20 28 63 6f 6d 70 69 6c | tile-compilation-command.(compil | 
| 42e60 | 65 2d 64 69 72 29 0a 20 20 22 52 65 74 72 69 65    76 65 20 74 68 65 20 63 6f 6d 70 69 6c 61 74 69 | e-dir)..."Retrieve.the.compilati | 
| 42e80 | 6f 6e 20 63 6f 6d 6d 61 6e 64 20 66 6f 72 20 43    4f 4d 50 49 4c 45 2d 44 49 52 2e 0a 0a 54 68 65 | on.command.for.COMPILE-DIR...The | 
| 42ea0 | 20 63 6f 6d 6d 61 6e 64 20 69 73 20 64 65 74 65    72 6d 69 6e 65 64 20 6c 69 6b 65 20 74 68 69 73 | .command.is.determined.like.this | 
| 42ec0 | 3a 0a 0a 2d 20 66 69 72 73 74 20 77 65 20 63 68    65 63 6b 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d | :..-.first.we.check.`projectile- | 
| 42ee0 | 63 6f 6d 70 69 6c 61 74 69 6f 6e 2d 63 6d 64 2d    6d 61 70 27 20 66 6f 72 20 74 68 65 20 6c 61 73 | compilation-cmd-map'.for.the.las | 
| 42f00 | 74 0a 63 6f 6d 70 69 6c 65 20 63 6f 6d 6d 61 6e    64 20 74 68 61 74 20 77 61 73 20 69 6e 76 6f 6b | t.compile.command.that.was.invok | 
| 42f20 | 65 64 20 6f 6e 20 74 68 65 20 70 72 6f 6a 65 63    74 0a 0a 2d 20 74 68 65 6e 20 77 65 20 63 68 65 | ed.on.the.project..-.then.we.che | 
| 42f40 | 63 6b 20 66 6f 72 20 60 70 72 6f 6a 65 63 74 69    6c 65 2d 70 72 6f 6a 65 63 74 2d 63 6f 6d 70 69 | ck.for.`projectile-project-compi | 
| 42f60 | 6c 61 74 69 6f 6e 2d 63 6d 64 27 20 73 75 70 70    6c 69 65 64 0a 76 69 61 20 2e 64 69 72 2d 6c 6f | lation-cmd'.supplied.via..dir-lo | 
| 42f80 | 63 61 6c 73 2e 65 6c 0a 0a 2d 20 66 69 6e 61 6c    6c 79 20 77 65 20 63 68 65 63 6b 20 66 6f 72 20 | cals.el..-.finally.we.check.for. | 
| 42fa0 | 74 68 65 20 64 65 66 61 75 6c 74 20 63 6f 6d 70    69 6c 61 74 69 6f 6e 20 63 6f 6d 6d 61 6e 64 20 | the.default.compilation.command. | 
| 42fc0 | 66 6f 72 20 61 0a 70 72 6f 6a 65 63 74 20 6f 66    20 74 68 61 74 20 74 79 70 65 22 0a 20 20 28 6f | for.a.project.of.that.type"...(o | 
| 42fe0 | 72 20 28 67 65 74 68 61 73 68 20 63 6f 6d 70 69    6c 65 2d 64 69 72 20 70 72 6f 6a 65 63 74 69 6c | r.(gethash.compile-dir.projectil | 
| 43000 | 65 2d 63 6f 6d 70 69 6c 61 74 69 6f 6e 2d 63 6d    64 2d 6d 61 70 29 0a 20 20 20 20 20 20 70 72 6f | e-compilation-cmd-map).......pro | 
| 43020 | 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d    63 6f 6d 70 69 6c 61 74 69 6f 6e 2d 63 6d 64 0a | jectile-project-compilation-cmd. | 
| 43040 | 20 20 20 20 20 20 28 70 72 6f 6a 65 63 74 69 6c    65 2d 64 65 66 61 75 6c 74 2d 63 6f 6d 70 69 6c | ......(projectile-default-compil | 
| 43060 | 61 74 69 6f 6e 2d 63 6f 6d 6d 61 6e 64 20 28 70    72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 | ation-command.(projectile-projec | 
| 43080 | 74 2d 74 79 70 65 29 29 29 29 0a 0a 28 64 65 66    75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 74 65 | t-type))))..(defun.projectile-te | 
| 430a0 | 73 74 2d 63 6f 6d 6d 61 6e 64 20 28 63 6f 6d 70    69 6c 65 2d 64 69 72 29 0a 20 20 22 52 65 74 72 | st-command.(compile-dir)..."Retr | 
| 430c0 | 69 65 76 65 20 74 68 65 20 74 65 73 74 20 63 6f    6d 6d 61 6e 64 20 66 6f 72 20 43 4f 4d 50 49 4c | ieve.the.test.command.for.COMPIL | 
| 430e0 | 45 2d 44 49 52 2e 0a 0a 54 68 65 20 63 6f 6d 6d    61 6e 64 20 69 73 20 64 65 74 65 72 6d 69 6e 65 | E-DIR...The.command.is.determine | 
| 43100 | 64 20 6c 69 6b 65 20 74 68 69 73 3a 0a 0a 2d 20    66 69 72 73 74 20 77 65 20 63 68 65 63 6b 20 60 | d.like.this:..-.first.we.check.` | 
| 43120 | 70 72 6f 6a 65 63 74 69 6c 65 2d 74 65 73 74 2d    63 6d 64 2d 6d 61 70 27 20 66 6f 72 20 74 68 65 | projectile-test-cmd-map'.for.the | 
| 43140 | 20 6c 61 73 74 0a 74 65 73 74 20 63 6f 6d 6d 61    6e 64 20 74 68 61 74 20 77 61 73 20 69 6e 76 6f | .last.test.command.that.was.invo | 
| 43160 | 6b 65 64 20 6f 6e 20 74 68 65 20 70 72 6f 6a 65    63 74 0a 0a 2d 20 74 68 65 6e 20 77 65 20 63 68 | ked.on.the.project..-.then.we.ch | 
| 43180 | 65 63 6b 20 66 6f 72 20 60 70 72 6f 6a 65 63 74    69 6c 65 2d 70 72 6f 6a 65 63 74 2d 74 65 73 74 | eck.for.`projectile-project-test | 
| 431a0 | 2d 63 6d 64 27 20 73 75 70 70 6c 69 65 64 0a 76    69 61 20 2e 64 69 72 2d 6c 6f 63 61 6c 73 2e 65 | -cmd'.supplied.via..dir-locals.e | 
| 431c0 | 6c 0a 0a 2d 20 66 69 6e 61 6c 6c 79 20 77 65 20    63 68 65 63 6b 20 66 6f 72 20 74 68 65 20 64 65 | l..-.finally.we.check.for.the.de | 
| 431e0 | 66 61 75 6c 74 20 74 65 73 74 20 63 6f 6d 6d 61    6e 64 20 66 6f 72 20 61 0a 70 72 6f 6a 65 63 74 | fault.test.command.for.a.project | 
| 43200 | 20 6f 66 20 74 68 61 74 20 74 79 70 65 22 0a 20    20 28 6f 72 20 28 67 65 74 68 61 73 68 20 63 6f | .of.that.type"...(or.(gethash.co | 
| 43220 | 6d 70 69 6c 65 2d 64 69 72 20 70 72 6f 6a 65 63    74 69 6c 65 2d 74 65 73 74 2d 63 6d 64 2d 6d 61 | mpile-dir.projectile-test-cmd-ma | 
| 43240 | 70 29 0a 20 20 20 20 20 20 70 72 6f 6a 65 63 74    69 6c 65 2d 70 72 6f 6a 65 63 74 2d 74 65 73 74 | p).......projectile-project-test | 
| 43260 | 2d 63 6d 64 0a 20 20 20 20 20 20 28 70 72 6f 6a    65 63 74 69 6c 65 2d 64 65 66 61 75 6c 74 2d 74 | -cmd.......(projectile-default-t | 
| 43280 | 65 73 74 2d 63 6f 6d 6d 61 6e 64 20 28 70 72 6f    6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d | est-command.(projectile-project- | 
| 432a0 | 74 79 70 65 29 29 29 29 0a 0a 28 64 65 66 75 6e    20 70 72 6f 6a 65 63 74 69 6c 65 2d 69 6e 73 74 | type))))..(defun.projectile-inst | 
| 432c0 | 61 6c 6c 2d 63 6f 6d 6d 61 6e 64 20 28 63 6f 6d    70 69 6c 65 2d 64 69 72 29 0a 20 20 22 52 65 74 | all-command.(compile-dir)..."Ret | 
| 432e0 | 72 69 65 76 65 20 74 68 65 20 69 6e 73 74 61 6c    6c 20 63 6f 6d 6d 61 6e 64 20 66 6f 72 20 43 4f | rieve.the.install.command.for.CO | 
| 43300 | 4d 50 49 4c 45 2d 44 49 52 2e 0a 0a 54 68 65 20    63 6f 6d 6d 61 6e 64 20 69 73 20 64 65 74 65 72 | MPILE-DIR...The.command.is.deter | 
| 43320 | 6d 69 6e 65 64 20 6c 69 6b 65 20 74 68 69 73 3a    0a 0a 2d 20 66 69 72 73 74 20 77 65 20 63 68 65 | mined.like.this:..-.first.we.che | 
| 43340 | 63 6b 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 69    6e 73 74 61 6c 6c 2d 63 6d 64 2d 6d 61 70 27 20 | ck.`projectile-install-cmd-map'. | 
| 43360 | 66 6f 72 20 74 68 65 20 6c 61 73 74 0a 69 6e 73    74 61 6c 6c 20 63 6f 6d 6d 61 6e 64 20 74 68 61 | for.the.last.install.command.tha | 
| 43380 | 74 20 77 61 73 20 69 6e 76 6f 6b 65 64 20 6f 6e    20 74 68 65 20 70 72 6f 6a 65 63 74 0a 0a 2d 20 | t.was.invoked.on.the.project..-. | 
| 433a0 | 74 68 65 6e 20 77 65 20 63 68 65 63 6b 20 66 6f    72 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 | then.we.check.for.`projectile-pr | 
| 433c0 | 6f 6a 65 63 74 2d 69 6e 73 74 61 6c 6c 2d 63 6d    64 27 20 73 75 70 70 6c 69 65 64 0a 76 69 61 20 | oject-install-cmd'.supplied.via. | 
| 433e0 | 2e 64 69 72 2d 6c 6f 63 61 6c 73 2e 65 6c 0a 0a    2d 20 66 69 6e 61 6c 6c 79 20 77 65 20 63 68 65 | .dir-locals.el..-.finally.we.che | 
| 43400 | 63 6b 20 66 6f 72 20 74 68 65 20 64 65 66 61 75    6c 74 20 69 6e 73 74 61 6c 6c 20 63 6f 6d 6d 61 | ck.for.the.default.install.comma | 
| 43420 | 6e 64 20 66 6f 72 20 61 0a 70 72 6f 6a 65 63 74    20 6f 66 20 74 68 61 74 20 74 79 70 65 22 0a 20 | nd.for.a.project.of.that.type".. | 
| 43440 | 20 28 6f 72 20 28 67 65 74 68 61 73 68 20 63 6f    6d 70 69 6c 65 2d 64 69 72 20 70 72 6f 6a 65 63 | .(or.(gethash.compile-dir.projec | 
| 43460 | 74 69 6c 65 2d 69 6e 73 74 61 6c 6c 2d 63 6d 64    2d 6d 61 70 29 0a 20 20 20 20 20 20 70 72 6f 6a | tile-install-cmd-map).......proj | 
| 43480 | 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 69    6e 73 74 61 6c 6c 2d 63 6d 64 0a 20 20 20 20 20 | ectile-project-install-cmd...... | 
| 434a0 | 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 64 65 66    61 75 6c 74 2d 69 6e 73 74 61 6c 6c 2d 63 6f 6d | .(projectile-default-install-com | 
| 434c0 | 6d 61 6e 64 20 28 70 72 6f 6a 65 63 74 69 6c 65    2d 70 72 6f 6a 65 63 74 2d 74 79 70 65 29 29 29 | mand.(projectile-project-type))) | 
| 434e0 | 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63    74 69 6c 65 2d 70 61 63 6b 61 67 65 2d 63 6f 6d | )..(defun.projectile-package-com | 
| 43500 | 6d 61 6e 64 20 28 63 6f 6d 70 69 6c 65 2d 64 69    72 29 0a 20 20 22 52 65 74 72 69 65 76 65 20 74 | mand.(compile-dir)..."Retrieve.t | 
| 43520 | 68 65 20 70 61 63 6b 61 67 65 20 63 6f 6d 6d 61    6e 64 20 66 6f 72 20 43 4f 4d 50 49 4c 45 2d 44 | he.package.command.for.COMPILE-D | 
| 43540 | 49 52 2e 0a 0a 54 68 65 20 63 6f 6d 6d 61 6e 64    20 69 73 20 64 65 74 65 72 6d 69 6e 65 64 20 6c | IR...The.command.is.determined.l | 
| 43560 | 69 6b 65 20 74 68 69 73 3a 0a 0a 2d 20 66 69 72    73 74 20 77 65 20 63 68 65 63 6b 20 60 70 72 6f | ike.this:..-.first.we.check.`pro | 
| 43580 | 6a 65 63 74 69 6c 65 2d 70 61 63 6b 67 61 67 65    2d 63 6d 64 2d 6d 61 70 27 20 66 6f 72 20 74 68 | jectile-packgage-cmd-map'.for.th | 
| 435a0 | 65 20 6c 61 73 74 0a 69 6e 73 74 61 6c 6c 20 63    6f 6d 6d 61 6e 64 20 74 68 61 74 20 77 61 73 20 | e.last.install.command.that.was. | 
| 435c0 | 69 6e 76 6f 6b 65 64 20 6f 6e 20 74 68 65 20 70    72 6f 6a 65 63 74 0a 0a 2d 20 74 68 65 6e 20 77 | invoked.on.the.project..-.then.w | 
| 435e0 | 65 20 63 68 65 63 6b 20 66 6f 72 20 60 70 72 6f    6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d | e.check.for.`projectile-project- | 
| 43600 | 70 61 63 6b 61 67 65 2d 63 6d 64 27 20 73 75 70    70 6c 69 65 64 0a 76 69 61 20 2e 64 69 72 2d 6c | package-cmd'.supplied.via..dir-l | 
| 43620 | 6f 63 61 6c 73 2e 65 6c 0a 0a 2d 20 66 69 6e 61    6c 6c 79 20 77 65 20 63 68 65 63 6b 20 66 6f 72 | ocals.el..-.finally.we.check.for | 
| 43640 | 20 74 68 65 20 64 65 66 61 75 6c 74 20 70 61 63    6b 61 67 65 20 63 6f 6d 6d 61 6e 64 20 66 6f 72 | .the.default.package.command.for | 
| 43660 | 20 61 0a 70 72 6f 6a 65 63 74 20 6f 66 20 74 68    61 74 20 74 79 70 65 22 0a 20 20 28 6f 72 20 28 | .a.project.of.that.type"...(or.( | 
| 43680 | 67 65 74 68 61 73 68 20 63 6f 6d 70 69 6c 65 2d    64 69 72 20 70 72 6f 6a 65 63 74 69 6c 65 2d 70 | gethash.compile-dir.projectile-p | 
| 436a0 | 61 63 6b 61 67 65 2d 63 6d 64 2d 6d 61 70 29 0a    20 20 20 20 20 20 70 72 6f 6a 65 63 74 69 6c 65 | ackage-cmd-map).......projectile | 
| 436c0 | 2d 70 72 6f 6a 65 63 74 2d 70 61 63 6b 61 67 65    2d 63 6d 64 0a 20 20 20 20 20 20 28 70 72 6f 6a | -project-package-cmd.......(proj | 
| 436e0 | 65 63 74 69 6c 65 2d 64 65 66 61 75 6c 74 2d 70    61 63 6b 61 67 65 2d 63 6f 6d 6d 61 6e 64 20 28 | ectile-default-package-command.( | 
| 43700 | 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65    63 74 2d 74 79 70 65 29 29 29 29 0a 0a 28 64 65 | projectile-project-type))))..(de | 
| 43720 | 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 72    75 6e 2d 63 6f 6d 6d 61 6e 64 20 28 63 6f 6d 70 | fun.projectile-run-command.(comp | 
| 43740 | 69 6c 65 2d 64 69 72 29 0a 20 20 22 52 65 74 72    69 65 76 65 20 74 68 65 20 72 75 6e 20 63 6f 6d | ile-dir)..."Retrieve.the.run.com | 
| 43760 | 6d 61 6e 64 20 66 6f 72 20 43 4f 4d 50 49 4c 45    2d 44 49 52 2e 0a 0a 54 68 65 20 63 6f 6d 6d 61 | mand.for.COMPILE-DIR...The.comma | 
| 43780 | 6e 64 20 69 73 20 64 65 74 65 72 6d 69 6e 65 64    20 6c 69 6b 65 20 74 68 69 73 3a 0a 0a 2d 20 66 | nd.is.determined.like.this:..-.f | 
| 437a0 | 69 72 73 74 20 77 65 20 63 68 65 63 6b 20 60 70    72 6f 6a 65 63 74 69 6c 65 2d 72 75 6e 2d 63 6d | irst.we.check.`projectile-run-cm | 
| 437c0 | 64 2d 6d 61 70 27 20 66 6f 72 20 74 68 65 20 6c    61 73 74 0a 72 75 6e 20 63 6f 6d 6d 61 6e 64 20 | d-map'.for.the.last.run.command. | 
| 437e0 | 74 68 61 74 20 77 61 73 20 69 6e 76 6f 6b 65 64    20 6f 6e 20 74 68 65 20 70 72 6f 6a 65 63 74 0a | that.was.invoked.on.the.project. | 
| 43800 | 0a 2d 20 74 68 65 6e 20 77 65 20 63 68 65 63 6b    20 66 6f 72 20 60 70 72 6f 6a 65 63 74 69 6c 65 | .-.then.we.check.for.`projectile | 
| 43820 | 2d 70 72 6f 6a 65 63 74 2d 72 75 6e 2d 63 6d 64    27 20 73 75 70 70 6c 69 65 64 0a 76 69 61 20 2e | -project-run-cmd'.supplied.via.. | 
| 43840 | 64 69 72 2d 6c 6f 63 61 6c 73 2e 65 6c 0a 0a 2d    20 66 69 6e 61 6c 6c 79 20 77 65 20 63 68 65 63 | dir-locals.el..-.finally.we.chec | 
| 43860 | 6b 20 66 6f 72 20 74 68 65 20 64 65 66 61 75 6c    74 20 72 75 6e 20 63 6f 6d 6d 61 6e 64 20 66 6f | k.for.the.default.run.command.fo | 
| 43880 | 72 20 61 0a 70 72 6f 6a 65 63 74 20 6f 66 20 74    68 61 74 20 74 79 70 65 22 0a 20 20 28 6f 72 20 | r.a.project.of.that.type"...(or. | 
| 438a0 | 28 67 65 74 68 61 73 68 20 63 6f 6d 70 69 6c 65    2d 64 69 72 20 70 72 6f 6a 65 63 74 69 6c 65 2d | (gethash.compile-dir.projectile- | 
| 438c0 | 72 75 6e 2d 63 6d 64 2d 6d 61 70 29 0a 20 20 20    20 20 20 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 | run-cmd-map).......projectile-pr | 
| 438e0 | 6f 6a 65 63 74 2d 72 75 6e 2d 63 6d 64 0a 20 20    20 20 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d | oject-run-cmd.......(projectile- | 
| 43900 | 64 65 66 61 75 6c 74 2d 72 75 6e 2d 63 6f 6d 6d    61 6e 64 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d | default-run-command.(projectile- | 
| 43920 | 70 72 6f 6a 65 63 74 2d 74 79 70 65 29 29 29 29    0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 | project-type))))..(defun.project | 
| 43940 | 69 6c 65 2d 72 65 61 64 2d 63 6f 6d 6d 61 6e 64    20 28 70 72 6f 6d 70 74 20 63 6f 6d 6d 61 6e 64 | ile-read-command.(prompt.command | 
| 43960 | 29 0a 20 20 22 41 64 61 70 74 65 64 20 66 72 6f    6d 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 60 | )..."Adapted.from.the.function.` | 
| 43980 | 63 6f 6d 70 69 6c 61 74 69 6f 6e 2d 72 65 61 64    2d 63 6f 6d 6d 61 6e 64 27 2e 22 0a 20 20 28 6c | compilation-read-command'."...(l | 
| 439a0 | 65 74 20 28 28 63 6f 6d 70 69 6c 65 2d 68 69 73    74 6f 72 79 0a 20 20 20 20 20 20 20 20 20 3b 3b | et.((compile-history..........;; | 
| 439c0 | 20 66 65 74 63 68 20 74 68 65 20 63 6f 6d 6d 61    6e 64 20 68 69 73 74 6f 72 79 20 66 6f 72 20 74 | .fetch.the.command.history.for.t | 
| 439e0 | 68 65 20 63 75 72 72 65 6e 74 20 70 72 6f 6a 65    63 74 0a 20 20 20 20 20 20 20 20 20 28 72 69 6e | he.current.project..........(rin | 
| 43a00 | 67 2d 65 6c 65 6d 65 6e 74 73 20 28 70 72 6f 6a    65 63 74 69 6c 65 2d 2d 67 65 74 2d 63 6f 6d 6d | g-elements.(projectile--get-comm | 
| 43a20 | 61 6e 64 2d 68 69 73 74 6f 72 79 20 28 70 72 6f    6a 65 63 74 69 6c 65 2d 61 63 71 75 69 72 65 2d | and-history.(projectile-acquire- | 
| 43a40 | 72 6f 6f 74 29 29 29 29 29 0a 20 20 20 20 28 72    65 61 64 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e | root))))).....(read-shell-comman | 
| 43a60 | 64 20 70 72 6f 6d 70 74 20 63 6f 6d 6d 61 6e 64    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | d.prompt.command................ | 
| 43a80 | 20 20 20 20 20 20 20 20 20 28 69 66 20 28 65 71    75 61 6c 20 28 63 61 72 20 63 6f 6d 70 69 6c 65 | .........(if.(equal.(car.compile | 
| 43aa0 | 2d 68 69 73 74 6f 72 79 29 20 63 6f 6d 6d 61 6e    64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | -history).command).............. | 
| 43ac0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27    28 63 6f 6d 70 69 6c 65 2d 68 69 73 74 6f 72 79 | ...............'(compile-history | 
| 43ae0 | 20 2e 20 31 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 | ...1)........................... | 
| 43b00 | 27 63 6f 6d 70 69 6c 65 2d 68 69 73 74 6f 72 79    29 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f | 'compile-history))))..(defun.pro | 
| 43b20 | 6a 65 63 74 69 6c 65 2d 63 6f 6d 70 69 6c 61 74    69 6f 6e 2d 64 69 72 20 28 29 0a 20 20 22 52 65 | jectile-compilation-dir.()..."Re | 
| 43b40 | 74 72 69 65 76 65 20 74 68 65 20 63 6f 6d 70 69    6c 61 74 69 6f 6e 20 64 69 72 65 63 74 6f 72 79 | trieve.the.compilation.directory | 
| 43b60 | 20 66 6f 72 20 74 68 69 73 20 70 72 6f 6a 65 63    74 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 74 79 | .for.this.project."...(let*.((ty | 
| 43b80 | 70 65 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 70    72 6f 6a 65 63 74 2d 74 79 70 65 29 29 0a 20 20 | pe.(projectile-project-type))... | 
| 43ba0 | 20 20 20 20 20 20 20 28 64 69 72 65 63 74 6f 72    79 20 28 6f 72 20 70 72 6f 6a 65 63 74 69 6c 65 | .......(directory.(or.projectile | 
| 43bc0 | 2d 70 72 6f 6a 65 63 74 2d 63 6f 6d 70 69 6c 61    74 69 6f 6e 2d 64 69 72 0a 20 20 20 20 20 20 20 | -project-compilation-dir........ | 
| 43be0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 64 65 66 | .................(projectile-def | 
| 43c00 | 61 75 6c 74 2d 63 6f 6d 70 69 6c 61 74 69 6f 6e    2d 64 69 72 20 74 79 70 65 29 29 29 29 0a 20 20 | ault-compilation-dir.type))))... | 
| 43c20 | 20 20 28 69 66 20 64 69 72 65 63 74 6f 72 79 0a    20 20 20 20 20 20 20 20 28 66 69 6c 65 2d 74 72 | ..(if.directory.........(file-tr | 
| 43c40 | 75 65 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20    28 63 6f 6e 63 61 74 20 28 66 69 6c 65 2d 6e 61 | uename..........(concat.(file-na | 
| 43c60 | 6d 65 2d 61 73 2d 64 69 72 65 63 74 6f 72 79 20    28 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a | me-as-directory.(projectile-proj | 
| 43c80 | 65 63 74 2d 72 6f 6f 74 29 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 28 66 69 6c | ect-root))..................(fil | 
| 43ca0 | 65 2d 6e 61 6d 65 2d 61 73 2d 64 69 72 65 63 74    6f 72 79 20 64 69 72 65 63 74 6f 72 79 29 29 29 | e-name-as-directory.directory))) | 
| 43cc0 | 0a 20 20 20 20 20 20 28 70 72 6f 6a 65 63 74 69    6c 65 2d 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 29 | .......(projectile-project-root) | 
| 43ce0 | 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a    65 63 74 69 6c 65 2d 6d 61 79 62 65 2d 72 65 61 | )))..(defun.projectile-maybe-rea | 
| 43d00 | 64 2d 63 6f 6d 6d 61 6e 64 20 28 61 72 67 20 64    65 66 61 75 6c 74 2d 63 6d 64 20 70 72 6f 6d 70 | d-command.(arg.default-cmd.promp | 
| 43d20 | 74 29 0a 20 20 22 50 72 6f 6d 70 74 20 75 73 65    72 20 66 6f 72 20 63 6f 6d 6d 61 6e 64 20 75 6e | t)..."Prompt.user.for.command.un | 
| 43d40 | 6c 65 73 73 20 44 45 46 41 55 4c 54 2d 43 4d 44    20 69 73 20 61 6e 20 45 6c 69 73 70 20 66 75 6e | less.DEFAULT-CMD.is.an.Elisp.fun | 
| 43d60 | 63 74 69 6f 6e 2e 22 0a 20 20 28 69 66 20 28 61    6e 64 20 28 6f 72 20 28 73 74 72 69 6e 67 70 20 | ction."...(if.(and.(or.(stringp. | 
| 43d80 | 64 65 66 61 75 6c 74 2d 63 6d 64 29 20 28 6e 75    6c 6c 20 64 65 66 61 75 6c 74 2d 63 6d 64 29 29 | default-cmd).(null.default-cmd)) | 
| 43da0 | 0a 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20    63 6f 6d 70 69 6c 61 74 69 6f 6e 2d 72 65 61 64 | ............(or.compilation-read | 
| 43dc0 | 2d 63 6f 6d 6d 61 6e 64 20 61 72 67 29 29 0a 20    20 20 20 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 | -command.arg)).......(projectile | 
| 43de0 | 2d 72 65 61 64 2d 63 6f 6d 6d 61 6e 64 20 70 72    6f 6d 70 74 20 64 65 66 61 75 6c 74 2d 63 6d 64 | -read-command.prompt.default-cmd | 
| 43e00 | 29 0a 20 20 20 20 64 65 66 61 75 6c 74 2d 63 6d    64 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a | ).....default-cmd))..(defun.proj | 
| 43e20 | 65 63 74 69 6c 65 2d 72 75 6e 2d 63 6f 6d 70 69    6c 61 74 69 6f 6e 20 28 63 6d 64 20 26 6f 70 74 | ectile-run-compilation.(cmd.&opt | 
| 43e40 | 69 6f 6e 61 6c 20 75 73 65 2d 63 6f 6d 69 6e 74    2d 6d 6f 64 65 29 0a 20 20 22 52 75 6e 20 65 78 | ional.use-comint-mode)..."Run.ex | 
| 43e60 | 74 65 72 6e 61 6c 20 6f 72 20 45 6c 69 73 70 20    63 6f 6d 70 69 6c 61 74 69 6f 6e 20 63 6f 6d 6d | ternal.or.Elisp.compilation.comm | 
| 43e80 | 61 6e 64 20 43 4d 44 2e 22 0a 20 20 28 69 66 20    28 66 75 6e 63 74 69 6f 6e 70 20 63 6d 64 29 0a | and.CMD."...(if.(functionp.cmd). | 
| 43ea0 | 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 63    6d 64 29 0a 20 20 20 20 28 63 6f 6d 70 69 6c 65 | ......(funcall.cmd).....(compile | 
| 43ec0 | 20 63 6d 64 20 75 73 65 2d 63 6f 6d 69 6e 74 2d    6d 6f 64 65 29 29 29 0a 0a 28 64 65 66 76 61 72 | .cmd.use-comint-mode)))..(defvar | 
| 43ee0 | 20 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a    65 63 74 2d 63 6f 6d 6d 61 6e 64 2d 68 69 73 74 | .projectile-project-command-hist | 
| 43f00 | 6f 72 79 20 28 6d 61 6b 65 2d 68 61 73 68 2d 74    61 62 6c 65 20 3a 74 65 73 74 20 27 65 71 75 61 | ory.(make-hash-table.:test.'equa | 
| 43f20 | 6c 29 0a 20 20 22 54 68 65 20 68 69 73 74 6f 72    79 20 6f 66 20 6c 61 73 74 20 65 78 65 63 75 74 | l)..."The.history.of.last.execut | 
| 43f40 | 65 64 20 70 72 6f 6a 65 63 74 20 63 6f 6d 6d 61    6e 64 73 2c 20 70 65 72 20 70 72 6f 6a 65 63 74 | ed.project.commands,.per.project | 
| 43f60 | 2e 0a 0a 50 72 6f 6a 65 63 74 73 20 61 72 65 20    69 6e 64 65 78 65 64 20 62 79 20 74 68 65 69 72 | ...Projects.are.indexed.by.their | 
| 43f80 | 20 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 20 76 61    6c 75 65 2e 22 29 0a 0a 28 64 65 66 75 6e 20 70 | .project-root.value.")..(defun.p | 
| 43fa0 | 72 6f 6a 65 63 74 69 6c 65 2d 2d 67 65 74 2d 63    6f 6d 6d 61 6e 64 2d 68 69 73 74 6f 72 79 20 28 | rojectile--get-command-history.( | 
| 43fc0 | 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 29 0a 20 20    28 6f 72 20 28 67 65 74 68 61 73 68 20 70 72 6f | project-root)...(or.(gethash.pro | 
| 43fe0 | 6a 65 63 74 2d 72 6f 6f 74 20 70 72 6f 6a 65 63    74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 63 6f 6d | ject-root.projectile-project-com | 
| 44000 | 6d 61 6e 64 2d 68 69 73 74 6f 72 79 29 0a 20 20    20 20 20 20 28 70 75 74 68 61 73 68 20 70 72 6f | mand-history).......(puthash.pro | 
| 44020 | 6a 65 63 74 2d 72 6f 6f 74 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 28 6d 61 6b 65 2d 72 | ject-root................(make-r | 
| 44040 | 69 6e 67 20 31 36 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 70 72 6f 6a 65 63 74 69 6c | ing.16)................projectil | 
| 44060 | 65 2d 70 72 6f 6a 65 63 74 2d 63 6f 6d 6d 61 6e    64 2d 68 69 73 74 6f 72 79 29 29 29 0a 0a 28 63 | e-project-command-history)))..(c | 
| 44080 | 6c 2d 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69    6c 65 2d 2d 72 75 6e 2d 70 72 6f 6a 65 63 74 2d | l-defun.projectile--run-project- | 
| 440a0 | 63 6d 64 0a 20 20 20 20 28 63 6f 6d 6d 61 6e 64    20 63 6f 6d 6d 61 6e 64 2d 6d 61 70 20 26 6b 65 | cmd.....(command.command-map.&ke | 
| 440c0 | 79 20 73 68 6f 77 2d 70 72 6f 6d 70 74 20 70 72    6f 6d 70 74 2d 70 72 65 66 69 78 20 73 61 76 65 | y.show-prompt.prompt-prefix.save | 
| 440e0 | 2d 62 75 66 66 65 72 73 20 75 73 65 2d 63 6f 6d    69 6e 74 2d 6d 6f 64 65 29 0a 20 20 22 52 75 6e | -buffers.use-comint-mode)..."Run | 
| 44100 | 20 61 20 70 72 6f 6a 65 63 74 20 43 4f 4d 4d 41    4e 44 2c 20 74 79 70 69 63 61 6c 6c 79 20 61 20 | .a.project.COMMAND,.typically.a. | 
| 44120 | 74 65 73 74 2d 20 6f 72 20 63 6f 6d 70 69 6c 65    20 63 6f 6d 6d 61 6e 64 2e 0a 0a 43 61 63 68 65 | test-.or.compile.command...Cache | 
| 44140 | 20 74 68 65 20 43 4f 4d 4d 41 4e 44 20 66 6f 72    20 6c 61 74 65 72 20 75 73 65 20 69 6e 73 69 64 | .the.COMMAND.for.later.use.insid | 
| 44160 | 65 20 74 68 65 20 68 61 73 68 2d 74 61 62 6c 65    20 43 4f 4d 4d 41 4e 44 2d 4d 41 50 2e 0a 0a 4e | e.the.hash-table.COMMAND-MAP...N | 
| 44180 | 6f 72 6d 61 6c 6c 79 20 79 6f 75 27 6c 6c 20 62    65 20 70 72 6f 6d 70 74 65 64 20 66 6f 72 20 61 | ormally.you'll.be.prompted.for.a | 
| 441a0 | 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 63 6f 6d    6d 61 6e 64 2c 20 75 6e 6c 65 73 73 0a 76 61 72 | .compilation.command,.unless.var | 
| 441c0 | 69 61 62 6c 65 20 60 63 6f 6d 70 69 6c 61 74 69    6f 6e 2d 72 65 61 64 2d 63 6f 6d 6d 61 6e 64 27 | iable.`compilation-read-command' | 
| 441e0 | 2e 20 20 59 6f 75 20 63 61 6e 20 66 6f 72 63 65    20 74 68 65 20 70 72 6f 6d 70 74 0a 62 79 20 73 | ...You.can.force.the.prompt.by.s | 
| 44200 | 65 74 74 69 6e 67 20 53 48 4f 57 2d 50 52 4f 4d    50 54 2e 20 20 54 68 65 20 70 72 6f 6d 70 74 20 | etting.SHOW-PROMPT...The.prompt. | 
| 44220 | 77 69 6c 6c 20 62 65 20 70 72 65 66 69 78 65 64    20 77 69 74 68 20 50 52 4f 4d 50 54 2d 50 52 45 | will.be.prefixed.with.PROMPT-PRE | 
| 44240 | 46 49 58 2e 0a 0a 49 66 20 53 41 56 45 2d 42 55    46 46 45 52 53 20 69 73 20 6e 6f 6e 2d 6e 69 6c | FIX...If.SAVE-BUFFERS.is.non-nil | 
| 44260 | 20 73 61 76 65 20 61 6c 6c 20 70 72 6f 6a 65 63    74 69 6c 65 20 62 75 66 66 65 72 73 20 62 65 66 | .save.all.projectile.buffers.bef | 
| 44280 | 6f 72 65 0a 72 75 6e 6e 69 6e 67 20 74 68 65 20    63 6f 6d 6d 61 6e 64 2e 0a 0a 54 68 65 20 63 6f | ore.running.the.command...The.co | 
| 442a0 | 6d 6d 61 6e 64 20 61 63 74 75 61 6c 6c 79 20 72    75 6e 20 69 73 20 72 65 74 75 72 6e 65 64 2e 22 | mmand.actually.run.is.returned." | 
| 442c0 | 0a 20 20 28 6c 65 74 2a 20 28 28 70 72 6f 6a 65    63 74 2d 72 6f 6f 74 20 28 70 72 6f 6a 65 63 74 | ...(let*.((project-root.(project | 
| 442e0 | 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 72 6f 6f 74    29 29 0a 20 20 20 20 20 20 20 20 20 28 64 65 66 | ile-project-root))..........(def | 
| 44300 | 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 20 28    70 72 6f 6a 65 63 74 69 6c 65 2d 63 6f 6d 70 69 | ault-directory.(projectile-compi | 
| 44320 | 6c 61 74 69 6f 6e 2d 64 69 72 29 29 0a 20 20 20    20 20 20 20 20 20 28 63 6f 6d 6d 61 6e 64 20 28 | lation-dir))..........(command.( | 
| 44340 | 70 72 6f 6a 65 63 74 69 6c 65 2d 6d 61 79 62 65    2d 72 65 61 64 2d 63 6f 6d 6d 61 6e 64 20 73 68 | projectile-maybe-read-command.sh | 
| 44360 | 6f 77 2d 70 72 6f 6d 70 74 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ow-prompt....................... | 
| 44380 | 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 63 6f 6d 6d 61 | ...........................comma | 
| 443a0 | 6e 64 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 | nd.............................. | 
| 443c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 70 72 6f 6d 70 74 2d 70 72 65 66 69 | ....................prompt-prefi | 
| 443e0 | 78 29 29 0a 20 20 20 20 20 20 20 20 20 63 6f 6d    70 69 6c 61 74 69 6f 6e 2d 62 75 66 66 65 72 2d | x))..........compilation-buffer- | 
| 44400 | 6e 61 6d 65 2d 66 75 6e 63 74 69 6f 6e 0a 20 20    20 20 20 20 20 20 20 63 6f 6d 70 69 6c 61 74 69 | name-function..........compilati | 
| 44420 | 6f 6e 2d 73 61 76 65 2d 62 75 66 66 65 72 73 2d    70 72 65 64 69 63 61 74 65 29 0a 20 20 20 20 28 | on-save-buffers-predicate).....( | 
| 44440 | 77 68 65 6e 20 63 6f 6d 6d 61 6e 64 2d 6d 61 70    0a 20 20 20 20 20 20 28 70 75 74 68 61 73 68 20 | when.command-map.......(puthash. | 
| 44460 | 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72    79 20 63 6f 6d 6d 61 6e 64 20 63 6f 6d 6d 61 6e | default-directory.command.comman | 
| 44480 | 64 2d 6d 61 70 29 0a 20 20 20 20 20 20 28 6c 65    74 20 28 28 68 69 73 74 20 28 70 72 6f 6a 65 63 | d-map).......(let.((hist.(projec | 
| 444a0 | 74 69 6c 65 2d 2d 67 65 74 2d 63 6f 6d 6d 61 6e    64 2d 68 69 73 74 6f 72 79 20 70 72 6f 6a 65 63 | tile--get-command-history.projec | 
| 444c0 | 74 2d 72 6f 6f 74 29 29 29 0a 20 20 20 20 20 20    20 20 28 75 6e 6c 65 73 73 20 28 73 74 72 69 6e | t-root))).........(unless.(strin | 
| 444e0 | 67 3d 20 28 63 61 72 2d 73 61 66 65 20 28 72 69    6e 67 2d 65 6c 65 6d 65 6e 74 73 20 68 69 73 74 | g=.(car-safe.(ring-elements.hist | 
| 44500 | 29 29 20 63 6f 6d 6d 61 6e 64 29 0a 20 20 20 20    20 20 20 20 20 20 28 72 69 6e 67 2d 69 6e 73 65 | )).command)...........(ring-inse | 
| 44520 | 72 74 20 68 69 73 74 20 63 6f 6d 6d 61 6e 64 29    29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 73 61 | rt.hist.command)))).....(when.sa | 
| 44540 | 76 65 2d 62 75 66 66 65 72 73 0a 20 20 20 20 20    20 28 73 61 76 65 2d 73 6f 6d 65 2d 62 75 66 66 | ve-buffers.......(save-some-buff | 
| 44560 | 65 72 73 20 28 6e 6f 74 20 63 6f 6d 70 69 6c 61    74 69 6f 6e 2d 61 73 6b 2d 61 62 6f 75 74 2d 73 | ers.(not.compilation-ask-about-s | 
| 44580 | 61 76 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 28 6c | ave)..........................(l | 
| 445a0 | 61 6d 62 64 61 20 28 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 | ambda.()........................ | 
| 445c0 | 20 20 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d    70 72 6f 6a 65 63 74 2d 62 75 66 66 65 72 2d 70 | ....(projectile-project-buffer-p | 
| 445e0 | 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .(current-buffer)............... | 
| 44600 | 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 | ................................ | 
| 44620 | 20 20 20 20 20 20 20 20 20 20 70 72 6f 6a 65 63    74 2d 72 6f 6f 74 29 29 29 29 0a 20 20 20 20 28 | ..........project-root)))).....( | 
| 44640 | 77 68 65 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d    70 65 72 2d 70 72 6f 6a 65 63 74 2d 63 6f 6d 70 | when.projectile-per-project-comp | 
| 44660 | 69 6c 61 74 69 6f 6e 2d 62 75 66 66 65 72 0a 20    20 20 20 20 20 28 73 65 74 71 20 63 6f 6d 70 69 | ilation-buffer.......(setq.compi | 
| 44680 | 6c 61 74 69 6f 6e 2d 62 75 66 66 65 72 2d 6e 61    6d 65 2d 66 75 6e 63 74 69 6f 6e 20 23 27 70 72 | lation-buffer-name-function.#'pr | 
| 446a0 | 6f 6a 65 63 74 69 6c 65 2d 63 6f 6d 70 69 6c 61    74 69 6f 6e 2d 62 75 66 66 65 72 2d 6e 61 6d 65 | ojectile-compilation-buffer-name | 
| 446c0 | 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 63 6f    6d 70 69 6c 61 74 69 6f 6e 2d 73 61 76 65 2d 62 | ).......(setq.compilation-save-b | 
| 446e0 | 75 66 66 65 72 73 2d 70 72 65 64 69 63 61 74 65    20 23 27 70 72 6f 6a 65 63 74 69 6c 65 2d 63 75 | uffers-predicate.#'projectile-cu | 
| 44700 | 72 72 65 6e 74 2d 70 72 6f 6a 65 63 74 2d 62 75    66 66 65 72 2d 70 29 29 0a 20 20 20 20 28 75 6e | rrent-project-buffer-p)).....(un | 
| 44720 | 6c 65 73 73 20 28 66 69 6c 65 2d 64 69 72 65 63    74 6f 72 79 2d 70 20 64 65 66 61 75 6c 74 2d 64 | less.(file-directory-p.default-d | 
| 44740 | 69 72 65 63 74 6f 72 79 29 0a 20 20 20 20 20 20    28 6d 6b 64 69 72 20 64 65 66 61 75 6c 74 2d 64 | irectory).......(mkdir.default-d | 
| 44760 | 69 72 65 63 74 6f 72 79 29 29 0a 20 20 20 20 28    70 72 6f 6a 65 63 74 69 6c 65 2d 72 75 6e 2d 63 | irectory)).....(projectile-run-c | 
| 44780 | 6f 6d 70 69 6c 61 74 69 6f 6e 20 63 6f 6d 6d 61    6e 64 20 75 73 65 2d 63 6f 6d 69 6e 74 2d 6d 6f | ompilation.command.use-comint-mo | 
| 447a0 | 64 65 29 0a 20 20 20 20 63 6f 6d 6d 61 6e 64 29    29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 70 72 | de).....command))..(defcustom.pr | 
| 447c0 | 6f 6a 65 63 74 69 6c 65 2d 63 6f 6e 66 69 67 75    72 65 2d 75 73 65 2d 63 6f 6d 69 6e 74 2d 6d 6f | ojectile-configure-use-comint-mo | 
| 447e0 | 64 65 20 6e 69 6c 0a 20 20 22 4d 61 6b 65 20 74    68 65 20 6f 75 74 70 75 74 20 62 75 66 66 65 72 | de.nil..."Make.the.output.buffer | 
| 44800 | 20 6f 66 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d    63 6f 6e 66 69 67 75 72 65 2d 70 72 6f 6a 65 63 | .of.`projectile-configure-projec | 
| 44820 | 74 27 20 69 6e 74 65 72 61 63 74 69 76 65 2e 22    0a 20 20 3a 67 72 6f 75 70 20 27 70 72 6f 6a 65 | t'.interactive."...:group.'proje | 
| 44840 | 63 74 69 6c 65 0a 20 20 3a 74 79 70 65 20 27 62    6f 6f 6c 65 61 6e 0a 20 20 3a 70 61 63 6b 61 67 | ctile...:type.'boolean...:packag | 
| 44860 | 65 2d 76 65 72 73 69 6f 6e 20 27 28 70 72 6f 6a    65 63 74 69 6c 65 20 2e 20 22 32 2e 35 2e 30 22 | e-version.'(projectile..."2.5.0" | 
| 44880 | 29 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 70    72 6f 6a 65 63 74 69 6c 65 2d 63 6f 6d 70 69 6c | ))..(defcustom.projectile-compil | 
| 448a0 | 65 2d 75 73 65 2d 63 6f 6d 69 6e 74 2d 6d 6f 64    65 20 6e 69 6c 0a 20 20 22 4d 61 6b 65 20 74 68 | e-use-comint-mode.nil..."Make.th | 
| 448c0 | 65 20 6f 75 74 70 75 74 20 62 75 66 66 65 72 20    6f 66 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 63 | e.output.buffer.of.`projectile-c | 
| 448e0 | 6f 6d 70 69 6c 65 2d 70 72 6f 6a 65 63 74 27 20    69 6e 74 65 72 61 63 74 69 76 65 2e 22 0a 20 20 | ompile-project'.interactive."... | 
| 44900 | 3a 67 72 6f 75 70 20 27 70 72 6f 6a 65 63 74 69    6c 65 0a 20 20 3a 74 79 70 65 20 27 62 6f 6f 6c | :group.'projectile...:type.'bool | 
| 44920 | 65 61 6e 0a 20 20 3a 70 61 63 6b 61 67 65 2d 76    65 72 73 69 6f 6e 20 27 28 70 72 6f 6a 65 63 74 | ean...:package-version.'(project | 
| 44940 | 69 6c 65 20 2e 20 22 32 2e 35 2e 30 22 29 29 0a    0a 28 64 65 66 63 75 73 74 6f 6d 20 70 72 6f 6a | ile..."2.5.0"))..(defcustom.proj | 
| 44960 | 65 63 74 69 6c 65 2d 74 65 73 74 2d 75 73 65 2d    63 6f 6d 69 6e 74 2d 6d 6f 64 65 20 6e 69 6c 0a | ectile-test-use-comint-mode.nil. | 
| 44980 | 20 20 22 4d 61 6b 65 20 74 68 65 20 6f 75 74 70    75 74 20 62 75 66 66 65 72 20 6f 66 20 60 70 72 | .."Make.the.output.buffer.of.`pr | 
| 449a0 | 6f 6a 65 63 74 69 6c 65 2d 74 65 73 74 2d 70 72    6f 6a 65 63 74 27 20 69 6e 74 65 72 61 63 74 69 | ojectile-test-project'.interacti | 
| 449c0 | 76 65 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 70    72 6f 6a 65 63 74 69 6c 65 0a 20 20 3a 74 79 70 | ve."...:group.'projectile...:typ | 
| 449e0 | 65 20 27 62 6f 6f 6c 65 61 6e 0a 20 20 3a 70 61    63 6b 61 67 65 2d 76 65 72 73 69 6f 6e 20 27 28 | e.'boolean...:package-version.'( | 
| 44a00 | 70 72 6f 6a 65 63 74 69 6c 65 20 2e 20 22 32 2e    35 2e 30 22 29 29 0a 0a 28 64 65 66 63 75 73 74 | projectile..."2.5.0"))..(defcust | 
| 44a20 | 6f 6d 20 70 72 6f 6a 65 63 74 69 6c 65 2d 69 6e    73 74 61 6c 6c 2d 75 73 65 2d 63 6f 6d 69 6e 74 | om.projectile-install-use-comint | 
| 44a40 | 2d 6d 6f 64 65 20 6e 69 6c 0a 20 20 22 4d 61 6b    65 20 74 68 65 20 6f 75 74 70 75 74 20 62 75 66 | -mode.nil..."Make.the.output.buf | 
| 44a60 | 66 65 72 20 6f 66 20 60 70 72 6f 6a 65 63 74 69    6c 65 2d 69 6e 73 74 61 6c 6c 2d 70 72 6f 6a 65 | fer.of.`projectile-install-proje | 
| 44a80 | 63 74 27 20 69 6e 74 65 72 61 63 74 69 76 65 2e    22 0a 20 20 3a 67 72 6f 75 70 20 27 70 72 6f 6a | ct'.interactive."...:group.'proj | 
| 44aa0 | 65 63 74 69 6c 65 0a 20 20 3a 74 79 70 65 20 27    62 6f 6f 6c 65 61 6e 0a 20 20 3a 70 61 63 6b 61 | ectile...:type.'boolean...:packa | 
| 44ac0 | 67 65 2d 76 65 72 73 69 6f 6e 20 27 28 70 72 6f    6a 65 63 74 69 6c 65 20 2e 20 22 32 2e 35 2e 30 | ge-version.'(projectile..."2.5.0 | 
| 44ae0 | 22 29 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20    70 72 6f 6a 65 63 74 69 6c 65 2d 70 61 63 6b 61 | "))..(defcustom.projectile-packa | 
| 44b00 | 67 65 2d 75 73 65 2d 63 6f 6d 69 6e 74 2d 6d 6f    64 65 20 6e 69 6c 0a 20 20 22 4d 61 6b 65 20 74 | ge-use-comint-mode.nil..."Make.t | 
| 44b20 | 68 65 20 6f 75 74 70 75 74 20 62 75 66 66 65 72    20 6f 66 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d | he.output.buffer.of.`projectile- | 
| 44b40 | 70 61 63 6b 61 67 65 2d 70 72 6f 6a 65 63 74 27    20 69 6e 74 65 72 61 63 74 69 76 65 2e 22 0a 20 | package-project'.interactive.".. | 
| 44b60 | 20 3a 67 72 6f 75 70 20 27 70 72 6f 6a 65 63 74    69 6c 65 0a 20 20 3a 74 79 70 65 20 27 62 6f 6f | .:group.'projectile...:type.'boo | 
| 44b80 | 6c 65 61 6e 0a 20 20 3a 70 61 63 6b 61 67 65 2d    76 65 72 73 69 6f 6e 20 27 28 70 72 6f 6a 65 63 | lean...:package-version.'(projec | 
| 44ba0 | 74 69 6c 65 20 2e 20 22 32 2e 35 2e 30 22 29 29    0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 70 72 6f | tile..."2.5.0"))..(defcustom.pro | 
| 44bc0 | 6a 65 63 74 69 6c 65 2d 72 75 6e 2d 75 73 65 2d    63 6f 6d 69 6e 74 2d 6d 6f 64 65 20 6e 69 6c 0a | jectile-run-use-comint-mode.nil. | 
| 44be0 | 20 20 22 4d 61 6b 65 20 74 68 65 20 6f 75 74 70    75 74 20 62 75 66 66 65 72 20 6f 66 20 60 70 72 | .."Make.the.output.buffer.of.`pr | 
| 44c00 | 6f 6a 65 63 74 69 6c 65 2d 72 75 6e 2d 70 72 6f    6a 65 63 74 27 20 69 6e 74 65 72 61 63 74 69 76 | ojectile-run-project'.interactiv | 
| 44c20 | 65 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 70 72    6f 6a 65 63 74 69 6c 65 0a 20 20 3a 74 79 70 65 | e."...:group.'projectile...:type | 
| 44c40 | 20 27 62 6f 6f 6c 65 61 6e 0a 20 20 3a 70 61 63    6b 61 67 65 2d 76 65 72 73 69 6f 6e 20 27 28 70 | .'boolean...:package-version.'(p | 
| 44c60 | 72 6f 6a 65 63 74 69 6c 65 20 2e 20 22 32 2e 35    2e 30 22 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 | rojectile..."2.5.0"))..;;;###aut | 
| 44c80 | 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 70 72 6f    6a 65 63 74 69 6c 65 2d 63 6f 6e 66 69 67 75 72 | oload.(defun.projectile-configur | 
| 44ca0 | 65 2d 70 72 6f 6a 65 63 74 20 28 61 72 67 29 0a    20 20 22 52 75 6e 20 70 72 6f 6a 65 63 74 20 63 | e-project.(arg)..."Run.project.c | 
| 44cc0 | 6f 6e 66 69 67 75 72 65 20 63 6f 6d 6d 61 6e 64    2e 0a 0a 4e 6f 72 6d 61 6c 6c 79 20 79 6f 75 27 | onfigure.command...Normally.you' | 
| 44ce0 | 6c 6c 20 62 65 20 70 72 6f 6d 70 74 65 64 20 66    6f 72 20 61 20 63 6f 6d 70 69 6c 61 74 69 6f 6e | ll.be.prompted.for.a.compilation | 
| 44d00 | 20 63 6f 6d 6d 61 6e 64 2c 20 75 6e 6c 65 73 73    0a 76 61 72 69 61 62 6c 65 20 60 63 6f 6d 70 69 | .command,.unless.variable.`compi | 
| 44d20 | 6c 61 74 69 6f 6e 2d 72 65 61 64 2d 63 6f 6d 6d    61 6e 64 27 2e 20 20 59 6f 75 20 63 61 6e 20 66 | lation-read-command'...You.can.f | 
| 44d40 | 6f 72 63 65 20 74 68 65 20 70 72 6f 6d 70 74 0a    77 69 74 68 20 61 20 70 72 65 66 69 78 20 41 52 | orce.the.prompt.with.a.prefix.AR | 
| 44d60 | 47 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69    76 65 20 22 50 22 29 0a 20 20 28 6c 65 74 20 28 | G."...(interactive."P")...(let.( | 
| 44d80 | 28 63 6f 6d 6d 61 6e 64 20 28 70 72 6f 6a 65 63    74 69 6c 65 2d 63 6f 6e 66 69 67 75 72 65 2d 63 | (command.(projectile-configure-c | 
| 44da0 | 6f 6d 6d 61 6e 64 20 28 70 72 6f 6a 65 63 74 69    6c 65 2d 63 6f 6d 70 69 6c 61 74 69 6f 6e 2d 64 | ommand.(projectile-compilation-d | 
| 44dc0 | 69 72 29 29 29 0a 20 20 20 20 20 20 20 20 28 63    6f 6d 6d 61 6e 64 2d 6d 61 70 20 28 69 66 20 28 | ir))).........(command-map.(if.( | 
| 44de0 | 70 72 6f 6a 65 63 74 69 6c 65 2d 2d 63 61 63 68    65 2d 70 72 6f 6a 65 63 74 2d 63 6f 6d 6d 61 6e | projectile--cache-project-comman | 
| 44e00 | 64 73 2d 70 29 20 70 72 6f 6a 65 63 74 69 6c 65    2d 63 6f 6e 66 69 67 75 72 65 2d 63 6d 64 2d 6d | ds-p).projectile-configure-cmd-m | 
| 44e20 | 61 70 29 29 29 0a 20 20 20 20 28 70 72 6f 6a 65    63 74 69 6c 65 2d 2d 72 75 6e 2d 70 72 6f 6a 65 | ap))).....(projectile--run-proje | 
| 44e40 | 63 74 2d 63 6d 64 20 63 6f 6d 6d 61 6e 64 20 63    6f 6d 6d 61 6e 64 2d 6d 61 70 0a 20 20 20 20 20 | ct-cmd.command.command-map...... | 
| 44e60 | 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 3a 73 68 6f | ............................:sho | 
| 44e80 | 77 2d 70 72 6f 6d 70 74 20 61 72 67 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | w-prompt.arg.................... | 
| 44ea0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 70    72 6f 6d 70 74 2d 70 72 65 66 69 78 20 22 43 6f | ..............:prompt-prefix."Co | 
| 44ec0 | 6e 66 69 67 75 72 65 20 63 6f 6d 6d 61 6e 64 3a    20 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | nfigure.command:.".............. | 
| 44ee0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 3a 73 61 76 65 2d 62 75 66 66 65 72 | ....................:save-buffer | 
| 44f00 | 73 20 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 20 20 20 | s.t............................. | 
| 44f20 | 20 20 20 20 20 3a 75 73 65 2d 63 6f 6d 69 6e 74    2d 6d 6f 64 65 20 70 72 6f 6a 65 63 74 69 6c 65 | .....:use-comint-mode.projectile | 
| 44f40 | 2d 63 6f 6e 66 69 67 75 72 65 2d 75 73 65 2d 63    6f 6d 69 6e 74 2d 6d 6f 64 65 29 29 29 0a 0a 3b | -configure-use-comint-mode)))..; | 
| 44f60 | 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64    65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d | ;;###autoload.(defun.projectile- | 
| 44f80 | 63 6f 6d 70 69 6c 65 2d 70 72 6f 6a 65 63 74 20    28 61 72 67 29 0a 20 20 22 52 75 6e 20 70 72 6f | compile-project.(arg)..."Run.pro | 
| 44fa0 | 6a 65 63 74 20 63 6f 6d 70 69 6c 61 74 69 6f 6e    20 63 6f 6d 6d 61 6e 64 2e 0a 0a 4e 6f 72 6d 61 | ject.compilation.command...Norma | 
| 44fc0 | 6c 6c 79 20 79 6f 75 27 6c 6c 20 62 65 20 70 72    6f 6d 70 74 65 64 20 66 6f 72 20 61 20 63 6f 6d | lly.you'll.be.prompted.for.a.com | 
| 44fe0 | 70 69 6c 61 74 69 6f 6e 20 63 6f 6d 6d 61 6e 64    2c 20 75 6e 6c 65 73 73 0a 76 61 72 69 61 62 6c | pilation.command,.unless.variabl | 
| 45000 | 65 20 60 63 6f 6d 70 69 6c 61 74 69 6f 6e 2d 72    65 61 64 2d 63 6f 6d 6d 61 6e 64 27 2e 20 20 59 | e.`compilation-read-command'...Y | 
| 45020 | 6f 75 20 63 61 6e 20 66 6f 72 63 65 20 74 68 65    20 70 72 6f 6d 70 74 0a 77 69 74 68 20 61 20 70 | ou.can.force.the.prompt.with.a.p | 
| 45040 | 72 65 66 69 78 20 41 52 47 2e 20 20 50 65 72 20    70 72 6f 6a 65 63 74 20 64 65 66 61 75 6c 74 20 | refix.ARG...Per.project.default. | 
| 45060 | 63 6f 6d 6d 61 6e 64 20 63 61 6e 20 62 65 20 73    65 74 20 74 68 72 6f 75 67 68 0a 60 70 72 6f 6a | command.can.be.set.through.`proj | 
| 45080 | 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 63    6f 6d 70 69 6c 61 74 69 6f 6e 2d 63 6d 64 27 2e | ectile-project-compilation-cmd'. | 
| 450a0 | 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65    20 22 50 22 29 0a 20 20 28 6c 65 74 20 28 28 63 | "...(interactive."P")...(let.((c | 
| 450c0 | 6f 6d 6d 61 6e 64 20 28 70 72 6f 6a 65 63 74 69    6c 65 2d 63 6f 6d 70 69 6c 61 74 69 6f 6e 2d 63 | ommand.(projectile-compilation-c | 
| 450e0 | 6f 6d 6d 61 6e 64 20 28 70 72 6f 6a 65 63 74 69    6c 65 2d 63 6f 6d 70 69 6c 61 74 69 6f 6e 2d 64 | ommand.(projectile-compilation-d | 
| 45100 | 69 72 29 29 29 0a 20 20 20 20 20 20 20 20 28 63    6f 6d 6d 61 6e 64 2d 6d 61 70 20 28 69 66 20 28 | ir))).........(command-map.(if.( | 
| 45120 | 70 72 6f 6a 65 63 74 69 6c 65 2d 2d 63 61 63 68    65 2d 70 72 6f 6a 65 63 74 2d 63 6f 6d 6d 61 6e | projectile--cache-project-comman | 
| 45140 | 64 73 2d 70 29 20 70 72 6f 6a 65 63 74 69 6c 65    2d 63 6f 6d 70 69 6c 61 74 69 6f 6e 2d 63 6d 64 | ds-p).projectile-compilation-cmd | 
| 45160 | 2d 6d 61 70 29 29 29 0a 20 20 20 20 28 70 72 6f    6a 65 63 74 69 6c 65 2d 2d 72 75 6e 2d 70 72 6f | -map))).....(projectile--run-pro | 
| 45180 | 6a 65 63 74 2d 63 6d 64 20 63 6f 6d 6d 61 6e 64    20 63 6f 6d 6d 61 6e 64 2d 6d 61 70 0a 20 20 20 | ject-cmd.command.command-map.... | 
| 451a0 | 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 3a 73 | ..............................:s | 
| 451c0 | 68 6f 77 2d 70 72 6f 6d 70 74 20 61 72 67 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | how-prompt.arg.................. | 
| 451e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    3a 70 72 6f 6d 70 74 2d 70 72 65 66 69 78 20 22 | ................:prompt-prefix." | 
| 45200 | 43 6f 6d 70 69 6c 65 20 63 6f 6d 6d 61 6e 64 3a    20 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | Compile.command:.".............. | 
| 45220 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 3a 73 61 76 65 2d 62 75 66 66 65 72 | ....................:save-buffer | 
| 45240 | 73 20 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 20 20 20 | s.t............................. | 
| 45260 | 20 20 20 20 20 3a 75 73 65 2d 63 6f 6d 69 6e 74    2d 6d 6f 64 65 20 70 72 6f 6a 65 63 74 69 6c 65 | .....:use-comint-mode.projectile | 
| 45280 | 2d 63 6f 6d 70 69 6c 65 2d 75 73 65 2d 63 6f 6d    69 6e 74 2d 6d 6f 64 65 29 29 29 0a 0a 3b 3b 3b | -compile-use-comint-mode)))..;;; | 
| 452a0 | 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66    75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 74 65 | ###autoload.(defun.projectile-te | 
| 452c0 | 73 74 2d 70 72 6f 6a 65 63 74 20 28 61 72 67 29    0a 20 20 22 52 75 6e 20 70 72 6f 6a 65 63 74 20 | st-project.(arg)..."Run.project. | 
| 452e0 | 74 65 73 74 20 63 6f 6d 6d 61 6e 64 2e 0a 0a 4e    6f 72 6d 61 6c 6c 79 20 79 6f 75 27 6c 6c 20 62 | test.command...Normally.you'll.b | 
| 45300 | 65 20 70 72 6f 6d 70 74 65 64 20 66 6f 72 20 61    20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 63 6f 6d | e.prompted.for.a.compilation.com | 
| 45320 | 6d 61 6e 64 2c 20 75 6e 6c 65 73 73 0a 76 61 72    69 61 62 6c 65 20 60 63 6f 6d 70 69 6c 61 74 69 | mand,.unless.variable.`compilati | 
| 45340 | 6f 6e 2d 72 65 61 64 2d 63 6f 6d 6d 61 6e 64 27    2e 20 20 59 6f 75 20 63 61 6e 20 66 6f 72 63 65 | on-read-command'...You.can.force | 
| 45360 | 20 74 68 65 20 70 72 6f 6d 70 74 0a 77 69 74 68    20 61 20 70 72 65 66 69 78 20 41 52 47 2e 22 0a | .the.prompt.with.a.prefix.ARG.". | 
| 45380 | 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22    50 22 29 0a 20 20 28 6c 65 74 20 28 28 63 6f 6d | ..(interactive."P")...(let.((com | 
| 453a0 | 6d 61 6e 64 20 28 70 72 6f 6a 65 63 74 69 6c 65    2d 74 65 73 74 2d 63 6f 6d 6d 61 6e 64 20 28 70 | mand.(projectile-test-command.(p | 
| 453c0 | 72 6f 6a 65 63 74 69 6c 65 2d 63 6f 6d 70 69 6c    61 74 69 6f 6e 2d 64 69 72 29 29 29 0a 20 20 20 | rojectile-compilation-dir))).... | 
| 453e0 | 20 20 20 20 20 28 63 6f 6d 6d 61 6e 64 2d 6d 61    70 20 28 69 66 20 28 70 72 6f 6a 65 63 74 69 6c | .....(command-map.(if.(projectil | 
| 45400 | 65 2d 2d 63 61 63 68 65 2d 70 72 6f 6a 65 63 74    2d 63 6f 6d 6d 61 6e 64 73 2d 70 29 20 70 72 6f | e--cache-project-commands-p).pro | 
| 45420 | 6a 65 63 74 69 6c 65 2d 74 65 73 74 2d 63 6d 64    2d 6d 61 70 29 29 29 0a 20 20 20 20 28 70 72 6f | jectile-test-cmd-map))).....(pro | 
| 45440 | 6a 65 63 74 69 6c 65 2d 2d 72 75 6e 2d 70 72 6f    6a 65 63 74 2d 63 6d 64 20 63 6f 6d 6d 61 6e 64 | jectile--run-project-cmd.command | 
| 45460 | 20 63 6f 6d 6d 61 6e 64 2d 6d 61 70 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .command-map.................... | 
| 45480 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 73    68 6f 77 2d 70 72 6f 6d 70 74 20 61 72 67 0a 20 | ..............:show-prompt.arg.. | 
| 454a0 | 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 | ................................ | 
| 454c0 | 3a 70 72 6f 6d 70 74 2d 70 72 65 66 69 78 20 22    54 65 73 74 20 63 6f 6d 6d 61 6e 64 3a 20 22 0a | :prompt-prefix."Test.command:.". | 
| 454e0 | 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 | ................................ | 
| 45500 | 20 3a 73 61 76 65 2d 62 75 66 66 65 72 73 20 74    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .:save-buffers.t................ | 
| 45520 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 3a 75 73 65 2d 63 6f 6d 69 6e 74 2d 6d 6f | ..................:use-comint-mo | 
| 45540 | 64 65 20 70 72 6f 6a 65 63 74 69 6c 65 2d 74 65    73 74 2d 75 73 65 2d 63 6f 6d 69 6e 74 2d 6d 6f | de.projectile-test-use-comint-mo | 
| 45560 | 64 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 70 72 6f | de)))..;;;###autoload.(defun.pro | 
| 45580 | 6a 65 63 74 69 6c 65 2d 69 6e 73 74 61 6c 6c 2d    70 72 6f 6a 65 63 74 20 28 61 72 67 29 0a 20 20 | jectile-install-project.(arg)... | 
| 455a0 | 22 52 75 6e 20 70 72 6f 6a 65 63 74 20 69 6e 73    74 61 6c 6c 20 63 6f 6d 6d 61 6e 64 2e 0a 0a 4e | "Run.project.install.command...N | 
| 455c0 | 6f 72 6d 61 6c 6c 79 20 79 6f 75 27 6c 6c 20 62    65 20 70 72 6f 6d 70 74 65 64 20 66 6f 72 20 61 | ormally.you'll.be.prompted.for.a | 
| 455e0 | 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 63 6f 6d    6d 61 6e 64 2c 20 75 6e 6c 65 73 73 0a 76 61 72 | .compilation.command,.unless.var | 
| 45600 | 69 61 62 6c 65 20 60 63 6f 6d 70 69 6c 61 74 69    6f 6e 2d 72 65 61 64 2d 63 6f 6d 6d 61 6e 64 27 | iable.`compilation-read-command' | 
| 45620 | 2e 20 20 59 6f 75 20 63 61 6e 20 66 6f 72 63 65    20 74 68 65 20 70 72 6f 6d 70 74 0a 77 69 74 68 | ...You.can.force.the.prompt.with | 
| 45640 | 20 61 20 70 72 65 66 69 78 20 41 52 47 2e 22 0a    20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 | .a.prefix.ARG."...(interactive." | 
| 45660 | 50 22 29 0a 20 20 28 6c 65 74 20 28 28 63 6f 6d    6d 61 6e 64 20 28 70 72 6f 6a 65 63 74 69 6c 65 | P")...(let.((command.(projectile | 
| 45680 | 2d 69 6e 73 74 61 6c 6c 2d 63 6f 6d 6d 61 6e 64    20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 63 6f 6d | -install-command.(projectile-com | 
| 456a0 | 70 69 6c 61 74 69 6f 6e 2d 64 69 72 29 29 29 0a    20 20 20 20 20 20 20 20 28 63 6f 6d 6d 61 6e 64 | pilation-dir))).........(command | 
| 456c0 | 2d 6d 61 70 20 28 69 66 20 28 70 72 6f 6a 65 63    74 69 6c 65 2d 2d 63 61 63 68 65 2d 70 72 6f 6a | -map.(if.(projectile--cache-proj | 
| 456e0 | 65 63 74 2d 63 6f 6d 6d 61 6e 64 73 2d 70 29 20    70 72 6f 6a 65 63 74 69 6c 65 2d 69 6e 73 74 61 | ect-commands-p).projectile-insta | 
| 45700 | 6c 6c 2d 63 6d 64 2d 6d 61 70 29 29 29 0a 20 20    20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 2d 72 | ll-cmd-map))).....(projectile--r | 
| 45720 | 75 6e 2d 70 72 6f 6a 65 63 74 2d 63 6d 64 20 63    6f 6d 6d 61 6e 64 20 63 6f 6d 6d 61 6e 64 2d 6d | un-project-cmd.command.command-m | 
| 45740 | 61 70 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 | ap.............................. | 
| 45760 | 20 20 20 20 3a 73 68 6f 77 2d 70 72 6f 6d 70 74    20 61 72 67 0a 20 20 20 20 20 20 20 20 20 20 20 | ....:show-prompt.arg............ | 
| 45780 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 3a 70 72 6f 6d 70 74 2d 70 72 | ......................:prompt-pr | 
| 457a0 | 65 66 69 78 20 22 49 6e 73 74 61 6c 6c 20 63 6f    6d 6d 61 6e 64 3a 20 22 0a 20 20 20 20 20 20 20 | efix."Install.command:."........ | 
| 457c0 | 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 3a 73 61 76 65 2d | ..........................:save- | 
| 457e0 | 62 75 66 66 65 72 73 20 74 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | buffers.t....................... | 
| 45800 | 20 20 20 20 20 20 20 20 20 20 20 3a 75 73 65 2d    63 6f 6d 69 6e 74 2d 6d 6f 64 65 20 70 72 6f 6a | ...........:use-comint-mode.proj | 
| 45820 | 65 63 74 69 6c 65 2d 69 6e 73 74 61 6c 6c 2d 75    73 65 2d 63 6f 6d 69 6e 74 2d 6d 6f 64 65 29 29 | ectile-install-use-comint-mode)) | 
| 45840 | 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 70 72 6f 6a 65 63 74 | )..;;;###autoload.(defun.project | 
| 45860 | 69 6c 65 2d 70 61 63 6b 61 67 65 2d 70 72 6f 6a    65 63 74 20 28 61 72 67 29 0a 20 20 22 52 75 6e | ile-package-project.(arg)..."Run | 
| 45880 | 20 70 72 6f 6a 65 63 74 20 70 61 63 6b 61 67 65    20 63 6f 6d 6d 61 6e 64 2e 0a 0a 4e 6f 72 6d 61 | .project.package.command...Norma | 
| 458a0 | 6c 6c 79 20 79 6f 75 27 6c 6c 20 62 65 20 70 72    6f 6d 70 74 65 64 20 66 6f 72 20 61 20 63 6f 6d | lly.you'll.be.prompted.for.a.com | 
| 458c0 | 70 69 6c 61 74 69 6f 6e 20 63 6f 6d 6d 61 6e 64    2c 20 75 6e 6c 65 73 73 0a 76 61 72 69 61 62 6c | pilation.command,.unless.variabl | 
| 458e0 | 65 20 60 63 6f 6d 70 69 6c 61 74 69 6f 6e 2d 72    65 61 64 2d 63 6f 6d 6d 61 6e 64 27 2e 20 20 59 | e.`compilation-read-command'...Y | 
| 45900 | 6f 75 20 63 61 6e 20 66 6f 72 63 65 20 74 68 65    20 70 72 6f 6d 70 74 0a 77 69 74 68 20 61 20 70 | ou.can.force.the.prompt.with.a.p | 
| 45920 | 72 65 66 69 78 20 41 52 47 2e 22 0a 20 20 28 69    6e 74 65 72 61 63 74 69 76 65 20 22 50 22 29 0a | refix.ARG."...(interactive."P"). | 
| 45940 | 20 20 28 6c 65 74 20 28 28 63 6f 6d 6d 61 6e 64    20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 70 61 63 | ..(let.((command.(projectile-pac | 
| 45960 | 6b 61 67 65 2d 63 6f 6d 6d 61 6e 64 20 28 70 72    6f 6a 65 63 74 69 6c 65 2d 63 6f 6d 70 69 6c 61 | kage-command.(projectile-compila | 
| 45980 | 74 69 6f 6e 2d 64 69 72 29 29 29 0a 20 20 20 20    20 20 20 20 28 63 6f 6d 6d 61 6e 64 2d 6d 61 70 | tion-dir))).........(command-map | 
| 459a0 | 20 28 69 66 20 28 70 72 6f 6a 65 63 74 69 6c 65    2d 2d 63 61 63 68 65 2d 70 72 6f 6a 65 63 74 2d | .(if.(projectile--cache-project- | 
| 459c0 | 63 6f 6d 6d 61 6e 64 73 2d 70 29 20 70 72 6f 6a    65 63 74 69 6c 65 2d 70 61 63 6b 61 67 65 2d 63 | commands-p).projectile-package-c | 
| 459e0 | 6d 64 2d 6d 61 70 29 29 29 0a 20 20 20 20 28 70    72 6f 6a 65 63 74 69 6c 65 2d 2d 72 75 6e 2d 70 | md-map))).....(projectile--run-p | 
| 45a00 | 72 6f 6a 65 63 74 2d 63 6d 64 20 63 6f 6d 6d 61    6e 64 20 63 6f 6d 6d 61 6e 64 2d 6d 61 70 0a 20 | roject-cmd.command.command-map.. | 
| 45a20 | 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 | ................................ | 
| 45a40 | 3a 73 68 6f 77 2d 70 72 6f 6d 70 74 20 61 72 67    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | :show-prompt.arg................ | 
| 45a60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 3a 70 72 6f 6d 70 74 2d 70 72 65 66 69 78 | ..................:prompt-prefix | 
| 45a80 | 20 22 50 61 63 6b 61 67 65 20 63 6f 6d 6d 61 6e    64 3a 20 22 0a 20 20 20 20 20 20 20 20 20 20 20 | ."Package.command:."............ | 
| 45aa0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 3a 73 61 76 65 2d 62 75 66 66 | ......................:save-buff | 
| 45ac0 | 65 72 73 20 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 20 | ers.t........................... | 
| 45ae0 | 20 20 20 20 20 20 20 3a 75 73 65 2d 63 6f 6d 69    6e 74 2d 6d 6f 64 65 20 70 72 6f 6a 65 63 74 69 | .......:use-comint-mode.projecti | 
| 45b00 | 6c 65 2d 70 61 63 6b 61 67 65 2d 75 73 65 2d 63    6f 6d 69 6e 74 2d 6d 6f 64 65 29 29 29 0a 0a 3b | le-package-use-comint-mode)))..; | 
| 45b20 | 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64    65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d | ;;###autoload.(defun.projectile- | 
| 45b40 | 72 75 6e 2d 70 72 6f 6a 65 63 74 20 28 61 72 67    29 0a 20 20 22 52 75 6e 20 70 72 6f 6a 65 63 74 | run-project.(arg)..."Run.project | 
| 45b60 | 20 72 75 6e 20 63 6f 6d 6d 61 6e 64 2e 0a 0a 4e    6f 72 6d 61 6c 6c 79 20 79 6f 75 27 6c 6c 20 62 | .run.command...Normally.you'll.b | 
| 45b80 | 65 20 70 72 6f 6d 70 74 65 64 20 66 6f 72 20 61    20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 63 6f 6d | e.prompted.for.a.compilation.com | 
| 45ba0 | 6d 61 6e 64 2c 20 75 6e 6c 65 73 73 0a 76 61 72    69 61 62 6c 65 20 60 63 6f 6d 70 69 6c 61 74 69 | mand,.unless.variable.`compilati | 
| 45bc0 | 6f 6e 2d 72 65 61 64 2d 63 6f 6d 6d 61 6e 64 27    2e 20 20 59 6f 75 20 63 61 6e 20 66 6f 72 63 65 | on-read-command'...You.can.force | 
| 45be0 | 20 74 68 65 20 70 72 6f 6d 70 74 0a 77 69 74 68    20 61 20 70 72 65 66 69 78 20 41 52 47 2e 22 0a | .the.prompt.with.a.prefix.ARG.". | 
| 45c00 | 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22    50 22 29 0a 20 20 28 6c 65 74 20 28 28 63 6f 6d | ..(interactive."P")...(let.((com | 
| 45c20 | 6d 61 6e 64 20 28 70 72 6f 6a 65 63 74 69 6c 65    2d 72 75 6e 2d 63 6f 6d 6d 61 6e 64 20 28 70 72 | mand.(projectile-run-command.(pr | 
| 45c40 | 6f 6a 65 63 74 69 6c 65 2d 63 6f 6d 70 69 6c 61    74 69 6f 6e 2d 64 69 72 29 29 29 0a 20 20 20 20 | ojectile-compilation-dir)))..... | 
| 45c60 | 20 20 20 20 28 63 6f 6d 6d 61 6e 64 2d 6d 61 70    20 28 69 66 20 28 70 72 6f 6a 65 63 74 69 6c 65 | ....(command-map.(if.(projectile | 
| 45c80 | 2d 2d 63 61 63 68 65 2d 70 72 6f 6a 65 63 74 2d    63 6f 6d 6d 61 6e 64 73 2d 70 29 20 70 72 6f 6a | --cache-project-commands-p).proj | 
| 45ca0 | 65 63 74 69 6c 65 2d 72 75 6e 2d 63 6d 64 2d 6d    61 70 29 29 29 0a 20 20 20 20 28 70 72 6f 6a 65 | ectile-run-cmd-map))).....(proje | 
| 45cc0 | 63 74 69 6c 65 2d 2d 72 75 6e 2d 70 72 6f 6a 65    63 74 2d 63 6d 64 20 63 6f 6d 6d 61 6e 64 20 63 | ctile--run-project-cmd.command.c | 
| 45ce0 | 6f 6d 6d 61 6e 64 2d 6d 61 70 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ommand-map...................... | 
| 45d00 | 20 20 20 20 20 20 20 20 20 20 20 20 3a 73 68 6f    77 2d 70 72 6f 6d 70 74 20 61 72 67 0a 20 20 20 | ............:show-prompt.arg.... | 
| 45d20 | 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 3a 70 | ..............................:p | 
| 45d40 | 72 6f 6d 70 74 2d 70 72 65 66 69 78 20 22 52 75    6e 20 63 6f 6d 6d 61 6e 64 3a 20 22 0a 20 20 20 | rompt-prefix."Run.command:.".... | 
| 45d60 | 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 3a 75 | ..............................:u | 
| 45d80 | 73 65 2d 63 6f 6d 69 6e 74 2d 6d 6f 64 65 20 70    72 6f 6a 65 63 74 69 6c 65 2d 72 75 6e 2d 75 73 | se-comint-mode.projectile-run-us | 
| 45da0 | 65 2d 63 6f 6d 69 6e 74 2d 6d 6f 64 65 29 29 29    0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 | e-comint-mode)))..;;;###autoload | 
| 45dc0 | 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69    6c 65 2d 72 65 70 65 61 74 2d 6c 61 73 74 2d 63 | .(defun.projectile-repeat-last-c | 
| 45de0 | 6f 6d 6d 61 6e 64 20 28 73 68 6f 77 2d 70 72 6f    6d 70 74 29 0a 20 20 22 52 75 6e 20 6c 61 73 74 | ommand.(show-prompt)..."Run.last | 
| 45e00 | 20 70 72 6f 6a 65 63 74 69 6c 65 20 65 78 74 65    72 6e 61 6c 20 63 6f 6d 6d 61 6e 64 2e 0a 0a 45 | .projectile.external.command...E | 
| 45e20 | 78 74 65 72 6e 61 6c 20 63 6f 6d 6d 61 6e 64 73    20 61 72 65 3a 20 60 70 72 6f 6a 65 63 74 69 6c | xternal.commands.are:.`projectil | 
| 45e40 | 65 2d 63 6f 6e 66 69 67 75 72 65 2d 70 72 6f 6a    65 63 74 27 2c 0a 60 70 72 6f 6a 65 63 74 69 6c | e-configure-project',.`projectil | 
| 45e60 | 65 2d 63 6f 6d 70 69 6c 65 2d 70 72 6f 6a 65 63    74 27 2c 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d | e-compile-project',.`projectile- | 
| 45e80 | 74 65 73 74 2d 70 72 6f 6a 65 63 74 27 2c 0a 60    70 72 6f 6a 65 63 74 69 6c 65 2d 69 6e 73 74 61 | test-project',.`projectile-insta | 
| 45ea0 | 6c 6c 2d 70 72 6f 6a 65 63 74 27 2c 20 60 70 72    6f 6a 65 63 74 69 6c 65 2d 70 61 63 6b 61 67 65 | ll-project',.`projectile-package | 
| 45ec0 | 2d 70 72 6f 6a 65 63 74 27 2c 0a 61 6e 64 20 60    70 72 6f 6a 65 63 74 69 6c 65 2d 72 75 6e 2d 70 | -project',.and.`projectile-run-p | 
| 45ee0 | 72 6f 6a 65 63 74 27 2e 0a 0a 49 66 20 74 68 65    20 70 72 65 66 69 78 20 61 72 67 75 6d 65 6e 74 | roject'...If.the.prefix.argument | 
| 45f00 | 20 53 48 4f 57 5f 50 52 4f 4d 50 54 20 69 73 20    6e 6f 6e 20 6e 69 6c 2c 20 74 68 65 20 63 6f 6d | .SHOW_PROMPT.is.non.nil,.the.com | 
| 45f20 | 6d 61 6e 64 20 63 61 6e 20 62 65 20 65 64 69 74    65 64 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 | mand.can.be.edited."...(interact | 
| 45f40 | 69 76 65 20 22 50 22 29 0a 20 20 28 6c 65 74 2a    20 28 28 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 20 | ive."P")...(let*.((project-root. | 
| 45f60 | 28 70 72 6f 6a 65 63 74 69 6c 65 2d 61 63 71 75    69 72 65 2d 72 6f 6f 74 29 29 0a 20 20 20 20 20 | (projectile-acquire-root))...... | 
| 45f80 | 20 20 20 20 28 63 6f 6d 6d 61 6e 64 2d 68 69 73    74 6f 72 79 20 28 70 72 6f 6a 65 63 74 69 6c 65 | ....(command-history.(projectile | 
| 45fa0 | 2d 2d 67 65 74 2d 63 6f 6d 6d 61 6e 64 2d 68 69    73 74 6f 72 79 20 70 72 6f 6a 65 63 74 2d 72 6f | --get-command-history.project-ro | 
| 45fc0 | 6f 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 63    6f 6d 6d 61 6e 64 20 28 63 61 72 2d 73 61 66 65 | ot))..........(command.(car-safe | 
| 45fe0 | 20 28 72 69 6e 67 2d 65 6c 65 6d 65 6e 74 73 20    63 6f 6d 6d 61 6e 64 2d 68 69 73 74 6f 72 79 29 | .(ring-elements.command-history) | 
| 46000 | 29 29 0a 20 20 20 20 20 20 20 20 20 28 63 6f 6d    70 69 6c 61 74 69 6f 6e 2d 72 65 61 64 2d 63 6f | ))..........(compilation-read-co | 
| 46020 | 6d 6d 61 6e 64 20 73 68 6f 77 2d 70 72 6f 6d 70    74 29 0a 20 20 20 20 20 20 20 20 20 65 78 65 63 | mmand.show-prompt)..........exec | 
| 46040 | 75 74 65 64 2d 63 6f 6d 6d 61 6e 64 29 0a 20 20    20 20 28 75 6e 6c 65 73 73 20 63 6f 6d 6d 61 6e | uted-command).....(unless.comman | 
| 46060 | 64 0a 20 20 20 20 20 20 28 75 73 65 72 2d 65 72    72 6f 72 20 22 4e 6f 20 63 6f 6d 6d 61 6e 64 20 | d.......(user-error."No.command. | 
| 46080 | 68 61 73 20 62 65 65 6e 20 72 75 6e 20 79 65 74    20 66 6f 72 20 74 68 69 73 20 70 72 6f 6a 65 63 | has.been.run.yet.for.this.projec | 
| 460a0 | 74 22 29 29 0a 20 20 20 20 28 73 65 74 71 20 65    78 65 63 75 74 65 64 2d 63 6f 6d 6d 61 6e 64 0a | t")).....(setq.executed-command. | 
| 460c0 | 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 6a 65    63 74 69 6c 65 2d 2d 72 75 6e 2d 70 72 6f 6a 65 | ..........(projectile--run-proje | 
| 460e0 | 63 74 2d 63 6d 64 20 63 6f 6d 6d 61 6e 64 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ct-cmd.command.................. | 
| 46100 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 6e 69 6c 0a 20 20 20 20 20 20 | ......................nil....... | 
| 46120 | 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 | ................................ | 
| 46140 | 20 3a 73 61 76 65 2d 62 75 66 66 65 72 73 20 74    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .:save-buffers.t................ | 
| 46160 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 3a 70 72 6f 6d 70 74 2d | ........................:prompt- | 
| 46180 | 70 72 65 66 69 78 20 22 45 78 65 63 75 74 65 20    63 6f 6d 6d 61 6e 64 3a 20 22 29 29 0a 20 20 20 | prefix."Execute.command:.")).... | 
| 461a0 | 20 28 75 6e 6c 65 73 73 20 28 73 74 72 69 6e 67    3d 20 63 6f 6d 6d 61 6e 64 20 65 78 65 63 75 74 | .(unless.(string=.command.execut | 
| 461c0 | 65 64 2d 63 6f 6d 6d 61 6e 64 29 0a 20 20 20 20    20 20 28 72 69 6e 67 2d 69 6e 73 65 72 74 20 63 | ed-command).......(ring-insert.c | 
| 461e0 | 6f 6d 6d 61 6e 64 2d 68 69 73 74 6f 72 79 20 65    78 65 63 75 74 65 64 2d 63 6f 6d 6d 61 6e 64 29 | ommand-history.executed-command) | 
| 46200 | 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 6f 6d 70    69 6c 61 74 69 6f 6e 2d 66 69 6e 64 2d 66 69 6c | )))..(defun.compilation-find-fil | 
| 46220 | 65 2d 70 72 6f 6a 65 63 74 69 6c 65 2d 66 69 6e    64 2d 63 6f 6d 70 69 6c 61 74 69 6f 6e 2d 62 75 | e-projectile-find-compilation-bu | 
| 46240 | 66 66 65 72 20 28 6f 72 69 67 2d 66 75 6e 20 6d    61 72 6b 65 72 20 66 69 6c 65 6e 61 6d 65 20 64 | ffer.(orig-fun.marker.filename.d | 
| 46260 | 69 72 65 63 74 6f 72 79 20 26 72 65 73 74 20 66    6f 72 6d 61 74 73 29 0a 20 20 22 41 64 76 69 63 | irectory.&rest.formats)..."Advic | 
| 46280 | 65 20 61 72 6f 75 6e 64 20 63 6f 6d 70 69 6c 61    74 69 6f 6e 2d 66 69 6e 64 2d 66 69 6c 65 2e 0a | e.around.compilation-find-file.. | 
| 462a0 | 57 65 20 65 6e 68 61 6e 63 65 20 69 74 73 20 66    75 6e 63 74 69 6f 6e 61 6c 69 74 79 20 62 79 20 | We.enhance.its.functionality.by. | 
| 462c0 | 61 70 70 65 6e 64 69 6e 67 20 74 68 65 20 63 75    72 72 65 6e 74 20 70 72 6f 6a 65 63 74 27 73 20 | appending.the.current.project's. | 
| 462e0 | 64 69 72 65 63 74 6f 72 69 65 73 0a 74 6f 20 69    74 73 20 73 65 61 72 63 68 20 70 61 74 68 2e 20 | directories.to.its.search.path.. | 
| 46300 | 54 68 69 73 20 77 61 79 20 77 68 65 6e 20 66 69    6c 65 6e 61 6d 65 73 20 69 6e 20 63 6f 6d 70 69 | This.way.when.filenames.in.compi | 
| 46320 | 6c 61 74 69 6f 6e 20 62 75 66 66 65 72 73 20 63    61 6e 27 74 20 62 65 0a 66 6f 75 6e 64 20 62 79 | lation.buffers.can't.be.found.by | 
| 46340 | 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 27 73 20 6e    6f 72 6d 61 6c 20 6c 6f 67 69 63 20 74 68 65 79 | .compilation's.normal.logic.they | 
| 46360 | 20 61 72 65 20 73 65 61 72 63 68 65 64 20 66 6f    72 20 69 6e 20 70 72 6f 6a 65 63 74 0a 64 69 72 | .are.searched.for.in.project.dir | 
| 46380 | 65 63 74 6f 72 69 65 73 2e 22 0a 20 20 28 6c 65    74 2a 20 28 28 72 6f 6f 74 20 28 70 72 6f 6a 65 | ectories."...(let*.((root.(proje | 
| 463a0 | 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 72 6f    6f 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 63 | ctile-project-root))..........(c | 
| 463c0 | 6f 6d 70 69 6c 61 74 69 6f 6e 2d 73 65 61 72 63    68 2d 70 61 74 68 0a 20 20 20 20 20 20 20 20 20 | ompilation-search-path.......... | 
| 463e0 | 20 28 69 66 20 28 70 72 6f 6a 65 63 74 69 6c 65    2d 70 72 6f 6a 65 63 74 2d 70 29 0a 20 20 20 20 | .(if.(projectile-project-p)..... | 
| 46400 | 20 20 20 20 20 20 20 20 20 20 28 61 70 70 65 6e    64 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 2d 73 65 | ..........(append.compilation-se | 
| 46420 | 61 72 63 68 2d 70 61 74 68 20 28 6c 69 73 74 20    72 6f 6f 74 29 0a 20 20 20 20 20 20 20 20 20 20 | arch-path.(list.root)........... | 
| 46440 | 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70    63 61 72 20 28 6c 61 6d 62 64 61 20 28 66 29 20 | ............(mapcar.(lambda.(f). | 
| 46460 | 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d    65 20 66 20 72 6f 6f 74 29 29 0a 20 20 20 20 20 | (expand-file-name.f.root))...... | 
| 46480 | 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 72 6f 6a 65 63 | .........................(projec | 
| 464a0 | 74 69 6c 65 2d 63 75 72 72 65 6e 74 2d 70 72 6f    6a 65 63 74 2d 64 69 72 73 29 29 29 0a 20 20 20 | tile-current-project-dirs))).... | 
| 464c0 | 20 20 20 20 20 20 20 20 20 63 6f 6d 70 69 6c 61    74 69 6f 6e 2d 73 65 61 72 63 68 2d 70 61 74 68 | .........compilation-search-path | 
| 464e0 | 29 29 29 0a 20 20 20 20 28 61 70 70 6c 79 20 6f    72 69 67 2d 66 75 6e 20 60 28 2c 6d 61 72 6b 65 | ))).....(apply.orig-fun.`(,marke | 
| 46500 | 72 20 2c 66 69 6c 65 6e 61 6d 65 20 2c 64 69 72    65 63 74 6f 72 79 20 2c 40 66 6f 72 6d 61 74 73 | r.,filename.,directory.,@formats | 
| 46520 | 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f    6a 65 63 74 69 6c 65 2d 6f 70 65 6e 2d 70 72 6f | ))))..(defun.projectile-open-pro | 
| 46540 | 6a 65 63 74 73 20 28 29 0a 20 20 22 52 65 74 75    72 6e 20 61 20 6c 69 73 74 20 6f 66 20 61 6c 6c | jects.()..."Return.a.list.of.all | 
| 46560 | 20 6f 70 65 6e 20 70 72 6f 6a 65 63 74 73 2e 0a    41 6e 20 6f 70 65 6e 20 70 72 6f 6a 65 63 74 20 | .open.projects..An.open.project. | 
| 46580 | 69 73 20 61 20 70 72 6f 6a 65 63 74 20 77 69 74    68 20 61 6e 79 20 6f 70 65 6e 20 62 75 66 66 65 | is.a.project.with.any.open.buffe | 
| 465a0 | 72 73 2e 22 0a 20 20 28 64 65 6c 65 74 65 2d 64    75 70 73 0a 20 20 20 28 64 65 6c 71 20 6e 69 6c | rs."...(delete-dups....(delq.nil | 
| 465c0 | 0a 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 61    72 20 28 6c 61 6d 62 64 61 20 28 62 75 66 66 65 | ..........(mapcar.(lambda.(buffe | 
| 465e0 | 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 | r)....................(with-curr | 
| 46600 | 65 6e 74 2d 62 75 66 66 65 72 20 62 75 66 66 65    72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ent-buffer.buffer............... | 
| 46620 | 20 20 20 20 20 20 20 28 77 68 65 6e 2d 6c 65 74    20 28 28 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 20 | .......(when-let.((project-root. | 
| 46640 | 28 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a    65 63 74 2d 72 6f 6f 74 29 29 29 0a 20 20 20 20 | (projectile-project-root)))..... | 
| 46660 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 77 68 65 6e 20 28 70 72 6f 6a 65 63 | ...................(when.(projec | 
| 46680 | 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 62 75 66    66 65 72 2d 70 20 62 75 66 66 65 72 20 70 72 6f | tile-project-buffer-p.buffer.pro | 
| 466a0 | 6a 65 63 74 2d 72 6f 6f 74 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ject-root)...................... | 
| 466c0 | 20 20 20 20 28 61 62 62 72 65 76 69 61 74 65 2d    66 69 6c 65 2d 6e 61 6d 65 20 70 72 6f 6a 65 63 | ....(abbreviate-file-name.projec | 
| 466e0 | 74 2d 72 6f 6f 74 29 29 29 29 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 75 | t-root)))))..................(bu | 
| 46700 | 66 66 65 72 2d 6c 69 73 74 29 29 29 29 29 0a 0a    28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c | ffer-list)))))..(defun.projectil | 
| 46720 | 65 2d 2d 72 65 6d 6f 76 65 2d 63 75 72 72 65 6e    74 2d 70 72 6f 6a 65 63 74 20 28 70 72 6f 6a 65 | e--remove-current-project.(proje | 
| 46740 | 63 74 73 29 0a 20 20 22 52 65 6d 6f 76 65 20 74    68 65 20 63 75 72 72 65 6e 74 20 70 72 6f 6a 65 | cts)..."Remove.the.current.proje | 
| 46760 | 63 74 20 28 69 66 20 61 6e 79 29 20 66 72 6f 6d    20 74 68 65 20 6c 69 73 74 20 6f 66 20 50 52 4f | ct.(if.any).from.the.list.of.PRO | 
| 46780 | 4a 45 43 54 53 2e 22 0a 20 20 28 69 66 2d 6c 65    74 20 28 28 70 72 6f 6a 65 63 74 20 28 70 72 6f | JECTS."...(if-let.((project.(pro | 
| 467a0 | 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d    72 6f 6f 74 29 29 29 0a 20 20 20 20 20 20 28 70 | jectile-project-root))).......(p | 
| 467c0 | 72 6f 6a 65 63 74 69 6c 65 2d 64 69 66 66 65 72    65 6e 63 65 20 70 72 6f 6a 65 63 74 73 0a 20 20 | rojectile-difference.projects... | 
| 467e0 | 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 6c 69 73 74 | ...........................(list | 
| 46800 | 20 28 61 62 62 72 65 76 69 61 74 65 2d 66 69 6c    65 2d 6e 61 6d 65 20 70 72 6f 6a 65 63 74 29 29 | .(abbreviate-file-name.project)) | 
| 46820 | 29 0a 20 20 20 20 70 72 6f 6a 65 63 74 73 29 29    0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 | ).....projects))..(defun.project | 
| 46840 | 69 6c 65 2d 2d 6d 6f 76 65 2d 63 75 72 72 65 6e    74 2d 70 72 6f 6a 65 63 74 2d 74 6f 2d 65 6e 64 | ile--move-current-project-to-end | 
| 46860 | 20 28 70 72 6f 6a 65 63 74 73 29 0a 20 20 22 4d    6f 76 65 20 63 75 72 72 65 6e 74 20 70 72 6f 6a | .(projects)..."Move.current.proj | 
| 46880 | 65 63 74 20 28 69 66 20 61 6e 79 29 20 74 6f 20    74 68 65 20 65 6e 64 20 6f 66 20 6c 69 73 74 20 | ect.(if.any).to.the.end.of.list. | 
| 468a0 | 69 6e 20 74 68 65 20 6c 69 73 74 20 6f 66 20 50    52 4f 4a 45 43 54 53 2e 22 0a 20 20 28 69 66 2d | in.the.list.of.PROJECTS."...(if- | 
| 468c0 | 6c 65 74 20 28 28 70 72 6f 6a 65 63 74 20 28 70    72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 | let.((project.(projectile-projec | 
| 468e0 | 74 2d 72 6f 6f 74 29 29 29 0a 20 20 20 20 20 20    28 61 70 70 65 6e 64 0a 20 20 20 20 20 20 20 28 | t-root))).......(append........( | 
| 46900 | 70 72 6f 6a 65 63 74 69 6c 65 2d 2d 72 65 6d 6f    76 65 2d 63 75 72 72 65 6e 74 2d 70 72 6f 6a 65 | projectile--remove-current-proje | 
| 46920 | 63 74 20 70 72 6f 6a 65 63 74 73 29 0a 20 20 20    20 20 20 20 28 6c 69 73 74 20 28 61 62 62 72 65 | ct.projects)........(list.(abbre | 
| 46940 | 76 69 61 74 65 2d 66 69 6c 65 2d 6e 61 6d 65 20    70 72 6f 6a 65 63 74 29 29 29 0a 20 20 20 20 70 | viate-file-name.project))).....p | 
| 46960 | 72 6f 6a 65 63 74 73 29 29 0a 0a 28 64 65 66 75    6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 72 65 6c | rojects))..(defun.projectile-rel | 
| 46980 | 65 76 61 6e 74 2d 6b 6e 6f 77 6e 2d 70 72 6f 6a    65 63 74 73 20 28 29 0a 20 20 22 52 65 74 75 72 | evant-known-projects.()..."Retur | 
| 469a0 | 6e 20 61 20 6c 69 73 74 20 6f 66 20 6b 6e 6f 77    6e 20 70 72 6f 6a 65 63 74 73 2e 22 0a 20 20 28 | n.a.list.of.known.projects."...( | 
| 469c0 | 70 63 61 73 65 20 70 72 6f 6a 65 63 74 69 6c 65    2d 63 75 72 72 65 6e 74 2d 70 72 6f 6a 65 63 74 | pcase.projectile-current-project | 
| 469e0 | 2d 6f 6e 2d 73 77 69 74 63 68 0a 20 20 20 20 28    27 72 65 6d 6f 76 65 20 28 70 72 6f 6a 65 63 74 | -on-switch.....('remove.(project | 
| 46a00 | 69 6c 65 2d 2d 72 65 6d 6f 76 65 2d 63 75 72 72    65 6e 74 2d 70 72 6f 6a 65 63 74 20 70 72 6f 6a | ile--remove-current-project.proj | 
| 46a20 | 65 63 74 69 6c 65 2d 6b 6e 6f 77 6e 2d 70 72 6f    6a 65 63 74 73 29 29 0a 20 20 20 20 28 27 6d 6f | ectile-known-projects)).....('mo | 
| 46a40 | 76 65 2d 74 6f 2d 65 6e 64 20 28 70 72 6f 6a 65    63 74 69 6c 65 2d 2d 6d 6f 76 65 2d 63 75 72 72 | ve-to-end.(projectile--move-curr | 
| 46a60 | 65 6e 74 2d 70 72 6f 6a 65 63 74 2d 74 6f 2d 65    6e 64 20 70 72 6f 6a 65 63 74 69 6c 65 2d 6b 6e | ent-project-to-end.projectile-kn | 
| 46a80 | 6f 77 6e 2d 70 72 6f 6a 65 63 74 73 29 29 0a 20    20 20 20 28 27 6b 65 65 70 20 70 72 6f 6a 65 63 | own-projects)).....('keep.projec | 
| 46aa0 | 74 69 6c 65 2d 6b 6e 6f 77 6e 2d 70 72 6f 6a 65    63 74 73 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 | tile-known-projects)))..(defun.p | 
| 46ac0 | 72 6f 6a 65 63 74 69 6c 65 2d 72 65 6c 65 76 61    6e 74 2d 6f 70 65 6e 2d 70 72 6f 6a 65 63 74 73 | rojectile-relevant-open-projects | 
| 46ae0 | 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20    6c 69 73 74 20 6f 66 20 6f 70 65 6e 20 70 72 6f | .()..."Return.a.list.of.open.pro | 
| 46b00 | 6a 65 63 74 73 2e 22 0a 20 20 28 6c 65 74 20 28    28 6f 70 65 6e 2d 70 72 6f 6a 65 63 74 73 20 28 | jects."...(let.((open-projects.( | 
| 46b20 | 70 72 6f 6a 65 63 74 69 6c 65 2d 6f 70 65 6e 2d    70 72 6f 6a 65 63 74 73 29 29 29 0a 20 20 20 20 | projectile-open-projects)))..... | 
| 46b40 | 28 70 63 61 73 65 20 70 72 6f 6a 65 63 74 69 6c    65 2d 63 75 72 72 65 6e 74 2d 70 72 6f 6a 65 63 | (pcase.projectile-current-projec | 
| 46b60 | 74 2d 6f 6e 2d 73 77 69 74 63 68 0a 20 20 20 20    20 20 28 27 72 65 6d 6f 76 65 20 28 70 72 6f 6a | t-on-switch.......('remove.(proj | 
| 46b80 | 65 63 74 69 6c 65 2d 2d 72 65 6d 6f 76 65 2d 63    75 72 72 65 6e 74 2d 70 72 6f 6a 65 63 74 20 6f | ectile--remove-current-project.o | 
| 46ba0 | 70 65 6e 2d 70 72 6f 6a 65 63 74 73 29 29 0a 20    20 20 20 20 20 28 27 6d 6f 76 65 2d 74 6f 2d 65 | pen-projects)).......('move-to-e | 
| 46bc0 | 6e 64 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 2d    6d 6f 76 65 2d 63 75 72 72 65 6e 74 2d 70 72 6f | nd.(projectile--move-current-pro | 
| 46be0 | 6a 65 63 74 2d 74 6f 2d 65 6e 64 20 6f 70 65 6e    2d 70 72 6f 6a 65 63 74 73 29 29 0a 20 20 20 20 | ject-to-end.open-projects))..... | 
| 46c00 | 20 20 28 27 6b 65 65 70 20 6f 70 65 6e 2d 70 72    6f 6a 65 63 74 73 29 29 29 29 0a 0a 3b 3b 3b 23 | ..('keep.open-projects))))..;;;# | 
| 46c20 | 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75    6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 73 77 69 | ##autoload.(defun.projectile-swi | 
| 46c40 | 74 63 68 2d 70 72 6f 6a 65 63 74 20 28 26 6f 70    74 69 6f 6e 61 6c 20 61 72 67 29 0a 20 20 22 53 | tch-project.(&optional.arg)..."S | 
| 46c60 | 77 69 74 63 68 20 74 6f 20 61 20 70 72 6f 6a 65    63 74 20 77 65 20 68 61 76 65 20 76 69 73 69 74 | witch.to.a.project.we.have.visit | 
| 46c80 | 65 64 20 62 65 66 6f 72 65 2e 0a 49 6e 76 6f 6b    65 73 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 72 | ed.before..Invokes.the.command.r | 
| 46ca0 | 65 66 65 72 65 6e 63 65 64 20 62 79 20 60 70 72    6f 6a 65 63 74 69 6c 65 2d 73 77 69 74 63 68 2d | eferenced.by.`projectile-switch- | 
| 46cc0 | 70 72 6f 6a 65 63 74 2d 61 63 74 69 6f 6e 27 20    6f 6e 20 73 77 69 74 63 68 2e 0a 57 69 74 68 20 | project-action'.on.switch..With. | 
| 46ce0 | 61 20 70 72 65 66 69 78 20 41 52 47 20 69 6e 76    6f 6b 65 73 20 60 70 72 6f 6a 65 63 74 69 6c 65 | a.prefix.ARG.invokes.`projectile | 
| 46d00 | 2d 63 6f 6d 6d 61 6e 64 65 72 27 20 69 6e 73 74    65 61 64 20 6f 66 0a 60 70 72 6f 6a 65 63 74 69 | -commander'.instead.of.`projecti | 
| 46d20 | 6c 65 2d 73 77 69 74 63 68 2d 70 72 6f 6a 65 63    74 2d 61 63 74 69 6f 6e 2e 27 22 0a 20 20 28 69 | le-switch-project-action.'"...(i | 
| 46d40 | 6e 74 65 72 61 63 74 69 76 65 20 22 50 22 29 0a    20 20 28 6c 65 74 20 28 28 70 72 6f 6a 65 63 74 | nteractive."P")...(let.((project | 
| 46d60 | 73 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 72 65    6c 65 76 61 6e 74 2d 6b 6e 6f 77 6e 2d 70 72 6f | s.(projectile-relevant-known-pro | 
| 46d80 | 6a 65 63 74 73 29 29 29 0a 20 20 20 20 28 69 66    20 70 72 6f 6a 65 63 74 73 0a 20 20 20 20 20 20 | jects))).....(if.projects....... | 
| 46da0 | 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 63 6f    6d 70 6c 65 74 69 6e 67 2d 72 65 61 64 0a 20 20 | ..(projectile-completing-read... | 
| 46dc0 | 20 20 20 20 20 20 20 22 53 77 69 74 63 68 20 74    6f 20 70 72 6f 6a 65 63 74 3a 20 22 20 70 72 6f | ......."Switch.to.project:.".pro | 
| 46de0 | 6a 65 63 74 73 0a 20 20 20 20 20 20 20 20 20 3a    61 63 74 69 6f 6e 20 28 6c 61 6d 62 64 61 20 28 | jects..........:action.(lambda.( | 
| 46e00 | 70 72 6f 6a 65 63 74 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f | project)....................(pro | 
| 46e20 | 6a 65 63 74 69 6c 65 2d 73 77 69 74 63 68 2d 70    72 6f 6a 65 63 74 2d 62 79 2d 6e 61 6d 65 20 70 | jectile-switch-project-by-name.p | 
| 46e40 | 72 6f 6a 65 63 74 20 61 72 67 29 29 29 0a 20 20    20 20 20 20 28 75 73 65 72 2d 65 72 72 6f 72 20 | roject.arg))).......(user-error. | 
| 46e60 | 22 54 68 65 72 65 20 61 72 65 20 6e 6f 20 6b 6e    6f 77 6e 20 70 72 6f 6a 65 63 74 73 22 29 29 29 | "There.are.no.known.projects"))) | 
| 46e80 | 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 70 72 6f 6a 65 63 74 | )..;;;###autoload.(defun.project | 
| 46ea0 | 69 6c 65 2d 73 77 69 74 63 68 2d 6f 70 65 6e 2d    70 72 6f 6a 65 63 74 20 28 26 6f 70 74 69 6f 6e | ile-switch-open-project.(&option | 
| 46ec0 | 61 6c 20 61 72 67 29 0a 20 20 22 53 77 69 74 63    68 20 74 6f 20 61 20 70 72 6f 6a 65 63 74 20 77 | al.arg)..."Switch.to.a.project.w | 
| 46ee0 | 65 20 68 61 76 65 20 63 75 72 72 65 6e 74 6c 79    20 6f 70 65 6e 65 64 2e 0a 49 6e 76 6f 6b 65 73 | e.have.currently.opened..Invokes | 
| 46f00 | 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 72 65 66    65 72 65 6e 63 65 64 20 62 79 20 60 70 72 6f 6a | .the.command.referenced.by.`proj | 
| 46f20 | 65 63 74 69 6c 65 2d 73 77 69 74 63 68 2d 70 72    6f 6a 65 63 74 2d 61 63 74 69 6f 6e 27 20 6f 6e | ectile-switch-project-action'.on | 
| 46f40 | 20 73 77 69 74 63 68 2e 0a 57 69 74 68 20 61 20    70 72 65 66 69 78 20 41 52 47 20 69 6e 76 6f 6b | .switch..With.a.prefix.ARG.invok | 
| 46f60 | 65 73 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 63    6f 6d 6d 61 6e 64 65 72 27 20 69 6e 73 74 65 61 | es.`projectile-commander'.instea | 
| 46f80 | 64 20 6f 66 0a 60 70 72 6f 6a 65 63 74 69 6c 65    2d 73 77 69 74 63 68 2d 70 72 6f 6a 65 63 74 2d | d.of.`projectile-switch-project- | 
| 46fa0 | 61 63 74 69 6f 6e 2e 27 22 0a 20 20 28 69 6e 74    65 72 61 63 74 69 76 65 20 22 50 22 29 0a 20 20 | action.'"...(interactive."P")... | 
| 46fc0 | 28 6c 65 74 20 28 28 70 72 6f 6a 65 63 74 73 20    28 70 72 6f 6a 65 63 74 69 6c 65 2d 72 65 6c 65 | (let.((projects.(projectile-rele | 
| 46fe0 | 76 61 6e 74 2d 6f 70 65 6e 2d 70 72 6f 6a 65 63    74 73 29 29 29 0a 20 20 20 20 28 69 66 20 70 72 | vant-open-projects))).....(if.pr | 
| 47000 | 6f 6a 65 63 74 73 0a 20 20 20 20 20 20 20 20 28    70 72 6f 6a 65 63 74 69 6c 65 2d 63 6f 6d 70 6c | ojects.........(projectile-compl | 
| 47020 | 65 74 69 6e 67 2d 72 65 61 64 0a 20 20 20 20 20    20 20 20 20 22 53 77 69 74 63 68 20 74 6f 20 6f | eting-read.........."Switch.to.o | 
| 47040 | 70 65 6e 20 70 72 6f 6a 65 63 74 3a 20 22 20 70    72 6f 6a 65 63 74 73 0a 20 20 20 20 20 20 20 20 | pen.project:.".projects......... | 
| 47060 | 20 3a 61 63 74 69 6f 6e 20 28 6c 61 6d 62 64 61    20 28 70 72 6f 6a 65 63 74 29 0a 20 20 20 20 20 | .:action.(lambda.(project)...... | 
| 47080 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70    72 6f 6a 65 63 74 69 6c 65 2d 73 77 69 74 63 68 | ..............(projectile-switch | 
| 470a0 | 2d 70 72 6f 6a 65 63 74 2d 62 79 2d 6e 61 6d 65    20 70 72 6f 6a 65 63 74 20 61 72 67 29 29 29 0a | -project-by-name.project.arg))). | 
| 470c0 | 20 20 20 20 20 20 28 75 73 65 72 2d 65 72 72 6f    72 20 22 54 68 65 72 65 20 61 72 65 20 6e 6f 20 | ......(user-error."There.are.no. | 
| 470e0 | 6f 70 65 6e 20 70 72 6f 6a 65 63 74 73 22 29 29    29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 | open.projects"))))..(defun.proje | 
| 47100 | 63 74 69 6c 65 2d 73 77 69 74 63 68 2d 70 72 6f    6a 65 63 74 2d 62 79 2d 6e 61 6d 65 20 28 70 72 | ctile-switch-project-by-name.(pr | 
| 47120 | 6f 6a 65 63 74 2d 74 6f 2d 73 77 69 74 63 68 20    26 6f 70 74 69 6f 6e 61 6c 20 61 72 67 29 0a 20 | oject-to-switch.&optional.arg).. | 
| 47140 | 20 22 53 77 69 74 63 68 20 74 6f 20 70 72 6f 6a    65 63 74 20 62 79 20 70 72 6f 6a 65 63 74 20 6e | ."Switch.to.project.by.project.n | 
| 47160 | 61 6d 65 20 50 52 4f 4a 45 43 54 2d 54 4f 2d 53    57 49 54 43 48 2e 0a 49 6e 76 6f 6b 65 73 20 74 | ame.PROJECT-TO-SWITCH..Invokes.t | 
| 47180 | 68 65 20 63 6f 6d 6d 61 6e 64 20 72 65 66 65 72    65 6e 63 65 64 20 62 79 20 60 70 72 6f 6a 65 63 | he.command.referenced.by.`projec | 
| 471a0 | 74 69 6c 65 2d 73 77 69 74 63 68 2d 70 72 6f 6a    65 63 74 2d 61 63 74 69 6f 6e 27 20 6f 6e 20 73 | tile-switch-project-action'.on.s | 
| 471c0 | 77 69 74 63 68 2e 0a 57 69 74 68 20 61 20 70 72    65 66 69 78 20 41 52 47 20 69 6e 76 6f 6b 65 73 | witch..With.a.prefix.ARG.invokes | 
| 471e0 | 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 63 6f 6d    6d 61 6e 64 65 72 27 20 69 6e 73 74 65 61 64 20 | .`projectile-commander'.instead. | 
| 47200 | 6f 66 0a 60 70 72 6f 6a 65 63 74 69 6c 65 2d 73    77 69 74 63 68 2d 70 72 6f 6a 65 63 74 2d 61 63 | of.`projectile-switch-project-ac | 
| 47220 | 74 69 6f 6e 2e 27 22 0a 20 20 3b 3b 20 6c 65 74    27 73 20 6d 61 6b 65 20 73 75 72 65 20 74 68 61 | tion.'"...;;.let's.make.sure.tha | 
| 47240 | 74 20 74 68 65 20 74 61 72 67 65 74 20 64 69 72    65 63 74 6f 72 79 20 65 78 69 73 74 73 20 61 6e | t.the.target.directory.exists.an | 
| 47260 | 64 20 69 73 20 61 63 74 75 61 6c 6c 79 20 61 20    70 72 6f 6a 65 63 74 0a 20 20 3b 3b 20 77 65 20 | d.is.actually.a.project...;;.we. | 
| 47280 | 69 67 6e 6f 72 65 20 72 65 6d 6f 74 65 20 66 6f    6c 64 65 72 73 2c 20 61 73 20 74 68 65 20 63 68 | ignore.remote.folders,.as.the.ch | 
| 472a0 | 65 63 6b 20 62 72 65 61 6b 73 20 66 6f 72 20 54    52 41 4d 50 20 75 6e 6c 65 73 73 20 61 6c 72 65 | eck.breaks.for.TRAMP.unless.alre | 
| 472c0 | 61 64 79 20 63 6f 6e 6e 65 63 74 65 64 0a 20 20    28 75 6e 6c 65 73 73 20 28 6f 72 20 28 66 69 6c | ady.connected...(unless.(or.(fil | 
| 472e0 | 65 2d 72 65 6d 6f 74 65 2d 70 20 70 72 6f 6a 65    63 74 2d 74 6f 2d 73 77 69 74 63 68 29 20 28 70 | e-remote-p.project-to-switch).(p | 
| 47300 | 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63    74 2d 70 20 70 72 6f 6a 65 63 74 2d 74 6f 2d 73 | rojectile-project-p.project-to-s | 
| 47320 | 77 69 74 63 68 29 29 0a 20 20 20 20 28 70 72 6f    6a 65 63 74 69 6c 65 2d 72 65 6d 6f 76 65 2d 6b | witch)).....(projectile-remove-k | 
| 47340 | 6e 6f 77 6e 2d 70 72 6f 6a 65 63 74 20 70 72 6f    6a 65 63 74 2d 74 6f 2d 73 77 69 74 63 68 29 0a | nown-project.project-to-switch). | 
| 47360 | 20 20 20 20 28 65 72 72 6f 72 20 22 44 69 72 65    63 74 6f 72 79 20 25 73 20 69 73 20 6e 6f 74 20 | ....(error."Directory.%s.is.not. | 
| 47380 | 61 20 70 72 6f 6a 65 63 74 22 20 70 72 6f 6a 65    63 74 2d 74 6f 2d 73 77 69 74 63 68 29 29 0a 20 | a.project".project-to-switch)).. | 
| 473a0 | 20 28 6c 65 74 20 28 28 73 77 69 74 63 68 2d 70    72 6f 6a 65 63 74 2d 61 63 74 69 6f 6e 20 28 69 | .(let.((switch-project-action.(i | 
| 473c0 | 66 20 61 72 67 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 | f.arg........................... | 
| 473e0 | 20 20 20 20 20 20 20 20 20 27 70 72 6f 6a 65 63    74 69 6c 65 2d 63 6f 6d 6d 61 6e 64 65 72 0a 20 | .........'projectile-commander.. | 
| 47400 | 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 | ................................ | 
| 47420 | 70 72 6f 6a 65 63 74 69 6c 65 2d 73 77 69 74 63    68 2d 70 72 6f 6a 65 63 74 2d 61 63 74 69 6f 6e | projectile-switch-project-action | 
| 47440 | 29 29 29 0a 20 20 20 20 28 72 75 6e 2d 68 6f 6f    6b 73 20 27 70 72 6f 6a 65 63 74 69 6c 65 2d 62 | ))).....(run-hooks.'projectile-b | 
| 47460 | 65 66 6f 72 65 2d 73 77 69 74 63 68 2d 70 72 6f    6a 65 63 74 2d 68 6f 6f 6b 29 0a 20 20 20 20 28 | efore-switch-project-hook).....( | 
| 47480 | 6c 65 74 2a 20 28 28 64 65 66 61 75 6c 74 2d 64    69 72 65 63 74 6f 72 79 20 70 72 6f 6a 65 63 74 | let*.((default-directory.project | 
| 474a0 | 2d 74 6f 2d 73 77 69 74 63 68 29 0a 20 20 20 20    20 20 20 20 20 20 20 28 73 77 69 74 63 68 65 64 | -to-switch)............(switched | 
| 474c0 | 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20    20 20 20 20 3b 3b 20 75 73 65 20 61 20 74 65 6d | -buffer.............;;.use.a.tem | 
| 474e0 | 70 6f 72 61 72 79 20 62 75 66 66 65 72 20 74 6f    20 6c 6f 61 64 20 50 52 4f 4a 45 43 54 2d 54 4f | porary.buffer.to.load.PROJECT-TO | 
| 47500 | 2d 53 57 49 54 43 48 27 73 20 64 69 72 2d 6c 6f    63 61 6c 73 0a 20 20 20 20 20 20 20 20 20 20 20 | -SWITCH's.dir-locals............ | 
| 47520 | 20 3b 3b 20 62 65 66 6f 72 65 20 63 61 6c 6c 69    6e 67 20 53 57 49 54 43 48 2d 50 52 4f 4a 45 43 | .;;.before.calling.SWITCH-PROJEC | 
| 47540 | 54 2d 41 43 54 49 4f 4e 0a 20 20 20 20 20 20 20    20 20 20 20 20 28 77 69 74 68 2d 74 65 6d 70 2d | T-ACTION.............(with-temp- | 
| 47560 | 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 68 61 63 6b 2d 64 69 72 2d 6c | buffer...............(hack-dir-l | 
| 47580 | 6f 63 61 6c 2d 76 61 72 69 61 62 6c 65 73 2d 6e    6f 6e 2d 66 69 6c 65 2d 62 75 66 66 65 72 29 0a | ocal-variables-non-file-buffer). | 
| 475a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b    20 4e 6f 72 6d 61 6c 6c 79 20 74 68 65 20 70 72 | ..............;;.Normally.the.pr | 
| 475c0 | 6f 6a 65 63 74 20 6e 61 6d 65 20 69 73 20 64 65    74 65 72 6d 69 6e 65 64 20 66 72 6f 6d 20 74 68 | oject.name.is.determined.from.th | 
| 475e0 | 65 20 63 75 72 72 65 6e 74 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 3b 3b 20 62 75 66 66 65 | e.current...............;;.buffe | 
| 47600 | 72 2e 20 48 6f 77 65 76 65 72 2c 20 77 68 65 6e    20 77 65 27 72 65 20 73 77 69 74 63 68 69 6e 67 | r..However,.when.we're.switching | 
| 47620 | 20 70 72 6f 6a 65 63 74 73 2c 20 77 65 20 77 61    6e 74 20 74 6f 0a 20 20 20 20 20 20 20 20 20 20 | .projects,.we.want.to........... | 
| 47640 | 20 20 20 20 3b 3b 20 73 68 6f 77 20 74 68 65 20    6e 61 6d 65 20 6f 66 20 74 68 65 20 70 72 6f 6a | ....;;.show.the.name.of.the.proj | 
| 47660 | 65 63 74 20 62 65 69 6e 67 20 73 77 69 74 63 68    65 64 20 74 6f 2c 20 72 61 74 68 65 72 20 74 68 | ect.being.switched.to,.rather.th | 
| 47680 | 61 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    20 3b 3b 20 74 68 65 20 63 75 72 72 65 6e 74 20 | an...............;;.the.current. | 
| 476a0 | 70 72 6f 6a 65 63 74 2c 20 69 6e 20 74 68 65 20    6d 69 6e 69 62 75 66 66 65 72 2e 20 54 68 69 73 | project,.in.the.minibuffer..This | 
| 476c0 | 20 69 73 20 61 20 73 69 6d 70 6c 65 20 68 61 63    6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .is.a.simple.hack............... | 
| 476e0 | 3b 3b 20 74 6f 20 74 65 6c 6c 20 74 68 65 20 60    70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 | ;;.to.tell.the.`projectile-proje | 
| 47700 | 63 74 2d 6e 61 6d 65 27 20 66 75 6e 63 74 69 6f    6e 20 74 6f 20 69 67 6e 6f 72 65 20 74 68 65 0a | ct-name'.function.to.ignore.the. | 
| 47720 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b    20 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 20 | ..............;;.current.buffer. | 
| 47740 | 61 6e 64 20 74 68 65 20 63 61 63 68 69 6e 67 20    6d 65 63 68 61 6e 69 73 6d 2c 20 61 6e 64 20 6a | and.the.caching.mechanism,.and.j | 
| 47760 | 75 73 74 20 72 65 74 75 72 6e 20 74 68 65 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 | ust.return.the...............;;. | 
| 47780 | 76 61 6c 75 65 20 6f 66 20 74 68 65 20 60 70 72    6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 | value.of.the.`projectile-project | 
| 477a0 | 2d 6e 61 6d 65 27 20 76 61 72 69 61 62 6c 65 2e    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | -name'.variable................( | 
| 477c0 | 6c 65 74 20 28 28 70 72 6f 6a 65 63 74 69 6c 65    2d 70 72 6f 6a 65 63 74 2d 6e 61 6d 65 20 28 66 | let.((projectile-project-name.(f | 
| 477e0 | 75 6e 63 61 6c 6c 20 70 72 6f 6a 65 63 74 69 6c    65 2d 70 72 6f 6a 65 63 74 2d 6e 61 6d 65 2d 66 | uncall.projectile-project-name-f | 
| 47800 | 75 6e 63 74 69 6f 6e 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 | unction......................... | 
| 47820 | 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 70 72 | ..............................pr | 
| 47840 | 6f 6a 65 63 74 2d 74 6f 2d 73 77 69 74 63 68 29    29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | oject-to-switch))).............. | 
| 47860 | 20 20 20 28 66 75 6e 63 61 6c 6c 20 73 77 69 74    63 68 2d 70 72 6f 6a 65 63 74 2d 61 63 74 69 6f | ...(funcall.switch-project-actio | 
| 47880 | 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 | n).................(current-buff | 
| 478a0 | 65 72 29 29 29 29 29 0a 20 20 20 20 20 20 3b 3b    20 49 66 20 73 77 69 74 63 68 2d 70 72 6f 6a 65 | er))))).......;;.If.switch-proje | 
| 478c0 | 63 74 2d 61 63 74 69 6f 6e 20 73 77 69 74 63 68    65 64 20 62 75 66 66 65 72 73 20 74 68 65 6e 20 | ct-action.switched.buffers.then. | 
| 478e0 | 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 65 72    20 77 69 6c 6c 0a 20 20 20 20 20 20 3b 3b 20 68 | with-temp-buffer.will.......;;.h | 
| 47900 | 61 76 65 20 6c 6f 73 74 20 74 68 61 74 20 63 68    61 6e 67 65 2c 20 73 6f 20 73 77 69 74 63 68 20 | ave.lost.that.change,.so.switch. | 
| 47920 | 62 61 63 6b 20 74 6f 20 74 68 65 20 63 6f 72 72    65 63 74 20 62 75 66 66 65 72 2e 0a 20 20 20 20 | back.to.the.correct.buffer...... | 
| 47940 | 20 20 28 77 68 65 6e 20 28 62 75 66 66 65 72 2d    6c 69 76 65 2d 70 20 73 77 69 74 63 68 65 64 2d | ..(when.(buffer-live-p.switched- | 
| 47960 | 62 75 66 66 65 72 29 0a 20 20 20 20 20 20 20 20    28 73 77 69 74 63 68 2d 74 6f 2d 62 75 66 66 65 | buffer).........(switch-to-buffe | 
| 47980 | 72 20 73 77 69 74 63 68 65 64 2d 62 75 66 66 65    72 29 29 29 0a 20 20 20 20 28 72 75 6e 2d 68 6f | r.switched-buffer))).....(run-ho | 
| 479a0 | 6f 6b 73 20 27 70 72 6f 6a 65 63 74 69 6c 65 2d    61 66 74 65 72 2d 73 77 69 74 63 68 2d 70 72 6f | oks.'projectile-after-switch-pro | 
| 479c0 | 6a 65 63 74 2d 68 6f 6f 6b 29 29 29 0a 0a 3b 3b    3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 | ject-hook)))..;;;###autoload.(de | 
| 479e0 | 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 66    69 6e 64 2d 66 69 6c 65 2d 69 6e 2d 64 69 72 65 | fun.projectile-find-file-in-dire | 
| 47a00 | 63 74 6f 72 79 20 28 26 6f 70 74 69 6f 6e 61 6c    20 64 69 72 65 63 74 6f 72 79 29 0a 20 20 22 4a | ctory.(&optional.directory)..."J | 
| 47a20 | 75 6d 70 20 74 6f 20 61 20 66 69 6c 65 20 69 6e    20 61 20 28 6d 61 79 62 65 20 72 65 67 75 6c 61 | ump.to.a.file.in.a.(maybe.regula | 
| 47a40 | 72 29 20 44 49 52 45 43 54 4f 52 59 2e 0a 0a 54    68 69 73 20 63 6f 6d 6d 61 6e 64 20 77 69 6c 6c | r).DIRECTORY...This.command.will | 
| 47a60 | 20 66 69 72 73 74 20 70 72 6f 6d 70 74 20 66 6f    72 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 20 | .first.prompt.for.the.directory. | 
| 47a80 | 74 68 65 20 66 69 6c 65 20 69 73 20 69 6e 2e 22    0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 | the.file.is.in."...(interactive. | 
| 47aa0 | 22 44 46 69 6e 64 20 66 69 6c 65 20 69 6e 20 64    69 72 65 63 74 6f 72 79 3a 20 22 29 0a 20 20 28 | "DFind.file.in.directory:.")...( | 
| 47ac0 | 75 6e 6c 65 73 73 20 28 70 72 6f 6a 65 63 74 69    6c 65 2d 2d 64 69 72 65 63 74 6f 72 79 2d 70 20 | unless.(projectile--directory-p. | 
| 47ae0 | 64 69 72 65 63 74 6f 72 79 29 0a 20 20 20 20 28    75 73 65 72 2d 65 72 72 6f 72 20 22 44 69 72 65 | directory).....(user-error."Dire | 
| 47b00 | 63 74 6f 72 79 20 25 53 20 64 6f 65 73 20 6e 6f    74 20 65 78 69 73 74 22 20 64 69 72 65 63 74 6f | ctory.%S.does.not.exist".directo | 
| 47b20 | 72 79 29 29 0a 20 20 28 6c 65 74 20 28 28 64 65    66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 20 | ry))...(let.((default-directory. | 
| 47b40 | 64 69 72 65 63 74 6f 72 79 29 29 0a 20 20 20 20    28 69 66 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d | directory)).....(if.(projectile- | 
| 47b60 | 70 72 6f 6a 65 63 74 2d 70 29 0a 20 20 20 20 20    20 20 20 3b 3b 20 74 61 72 67 65 74 20 64 69 72 | project-p).........;;.target.dir | 
| 47b80 | 65 63 74 6f 72 79 20 69 73 20 69 6e 20 61 20 70    72 6f 6a 65 63 74 0a 20 20 20 20 20 20 20 20 28 | ectory.is.in.a.project.........( | 
| 47ba0 | 6c 65 74 20 28 28 66 69 6c 65 20 28 70 72 6f 6a    65 63 74 69 6c 65 2d 63 6f 6d 70 6c 65 74 69 6e | let.((file.(projectile-completin | 
| 47bc0 | 67 2d 72 65 61 64 20 22 46 69 6e 64 20 66 69 6c    65 3a 20 22 0a 20 20 20 20 20 20 20 20 20 20 20 | g-read."Find.file:."............ | 
| 47be0 | 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 | ................................ | 
| 47c00 | 20 20 20 20 20 28 70 72 6f 6a 65 63 74 69 6c 65    2d 64 69 72 2d 66 69 6c 65 73 20 64 69 72 65 63 | .....(projectile-dir-files.direc | 
| 47c20 | 74 6f 72 79 29 29 29 29 0a 20 20 20 20 20 20 20    20 20 20 28 66 69 6e 64 2d 66 69 6c 65 20 28 65 | tory))))...........(find-file.(e | 
| 47c40 | 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20    66 69 6c 65 20 64 69 72 65 63 74 6f 72 79 29 29 | xpand-file-name.file.directory)) | 
| 47c60 | 0a 20 20 20 20 20 20 20 20 20 20 28 72 75 6e 2d    68 6f 6f 6b 73 20 27 70 72 6f 6a 65 63 74 69 6c | ...........(run-hooks.'projectil | 
| 47c80 | 65 2d 66 69 6e 64 2d 66 69 6c 65 2d 68 6f 6f 6b    29 29 0a 20 20 20 20 20 20 3b 3b 20 74 61 72 67 | e-find-file-hook)).......;;.targ | 
| 47ca0 | 65 74 20 64 69 72 65 63 74 6f 72 79 20 69 73 20    6e 6f 74 20 69 6e 20 61 20 70 72 6f 6a 65 63 74 | et.directory.is.not.in.a.project | 
| 47cc0 | 0a 20 20 20 20 20 20 28 70 72 6f 6a 65 63 74 69    6c 65 2d 66 69 6e 64 2d 66 69 6c 65 29 29 29 29 | .......(projectile-find-file)))) | 
| 47ce0 | 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74    69 6c 65 2d 61 6c 6c 2d 70 72 6f 6a 65 63 74 2d | ..(defun.projectile-all-project- | 
| 47d00 | 66 69 6c 65 73 20 28 29 0a 20 20 22 47 65 74 20    61 20 6c 69 73 74 20 6f 66 20 61 6c 6c 20 66 69 | files.()..."Get.a.list.of.all.fi | 
| 47d20 | 6c 65 73 20 69 6e 20 61 6c 6c 20 70 72 6f 6a 65    63 74 73 2e 22 0a 20 20 28 63 6c 2d 6d 61 70 63 | les.in.all.projects."...(cl-mapc | 
| 47d40 | 61 6e 0a 20 20 20 28 6c 61 6d 62 64 61 20 28 70    72 6f 6a 65 63 74 29 0a 20 20 20 20 20 28 77 68 | an....(lambda.(project)......(wh | 
| 47d60 | 65 6e 20 28 66 69 6c 65 2d 65 78 69 73 74 73 2d    70 20 70 72 6f 6a 65 63 74 29 0a 20 20 20 20 20 | en.(file-exists-p.project)...... | 
| 47d80 | 20 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64    61 20 28 66 69 6c 65 29 0a 20 20 20 20 20 20 20 | ..(mapcar.(lambda.(file)........ | 
| 47da0 | 20 20 20 20 20 20 20 20 20 20 28 65 78 70 61 6e    64 2d 66 69 6c 65 2d 6e 61 6d 65 20 66 69 6c 65 | ..........(expand-file-name.file | 
| 47dc0 | 20 70 72 6f 6a 65 63 74 29 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 28 70 72 6f 6a 65 | .project))................(proje | 
| 47de0 | 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 66 69    6c 65 73 20 70 72 6f 6a 65 63 74 29 29 29 29 0a | ctile-project-files.project)))). | 
| 47e00 | 20 20 20 70 72 6f 6a 65 63 74 69 6c 65 2d 6b 6e    6f 77 6e 2d 70 72 6f 6a 65 63 74 73 29 29 0a 0a | ...projectile-known-projects)).. | 
| 47e20 | 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28    64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 | ;;;###autoload.(defun.projectile | 
| 47e40 | 2d 66 69 6e 64 2d 66 69 6c 65 2d 69 6e 2d 6b 6e    6f 77 6e 2d 70 72 6f 6a 65 63 74 73 20 28 29 0a | -find-file-in-known-projects.(). | 
| 47e60 | 20 20 22 4a 75 6d 70 20 74 6f 20 61 20 66 69 6c    65 20 69 6e 20 61 6e 79 20 6f 66 20 74 68 65 20 | .."Jump.to.a.file.in.any.of.the. | 
| 47e80 | 6b 6e 6f 77 6e 20 70 72 6f 6a 65 63 74 73 2e 22    0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 | known.projects."...(interactive) | 
| 47ea0 | 0a 20 20 28 66 69 6e 64 2d 66 69 6c 65 20 28 70    72 6f 6a 65 63 74 69 6c 65 2d 63 6f 6d 70 6c 65 | ...(find-file.(projectile-comple | 
| 47ec0 | 74 69 6e 67 2d 72 65 61 64 20 22 46 69 6e 64 20    66 69 6c 65 20 69 6e 20 70 72 6f 6a 65 63 74 73 | ting-read."Find.file.in.projects | 
| 47ee0 | 3a 20 22 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d    61 6c 6c 2d 70 72 6f 6a 65 63 74 2d 66 69 6c 65 | :.".(projectile-all-project-file | 
| 47f00 | 73 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 72    6f 6a 65 63 74 69 6c 65 2d 6b 65 65 70 2d 70 72 | s))))..(defun.projectile-keep-pr | 
| 47f20 | 6f 6a 65 63 74 2d 70 20 28 70 72 6f 6a 65 63 74    29 0a 20 20 22 44 65 74 65 72 6d 69 6e 65 20 77 | oject-p.(project)..."Determine.w | 
| 47f40 | 68 65 74 68 65 72 20 77 65 20 73 68 6f 75 6c 64    20 63 6c 65 61 6e 75 70 20 28 72 65 6d 6f 76 65 | hether.we.should.cleanup.(remove | 
| 47f60 | 29 20 50 52 4f 4a 45 43 54 20 6f 72 20 6e 6f 74    2e 0a 0a 49 74 20 68 61 6e 64 6c 65 73 20 74 68 | ).PROJECT.or.not...It.handles.th | 
| 47f80 | 65 20 63 61 73 65 20 6f 66 20 72 65 6d 6f 74 65    20 70 72 6f 6a 65 63 74 73 20 61 73 20 77 65 6c | e.case.of.remote.projects.as.wel | 
| 47fa0 | 6c 2e 0a 53 65 65 20 60 70 72 6f 6a 65 63 74 69    6c 65 2d 2d 63 6c 65 61 6e 75 70 2d 6b 6e 6f 77 | l..See.`projectile--cleanup-know | 
| 47fc0 | 6e 2d 70 72 6f 6a 65 63 74 73 27 2e 22 0a 20 20    3b 3b 20 54 61 6b 65 6e 20 66 72 6f 6d 20 66 72 | n-projects'."...;;.Taken.from.fr | 
| 47fe0 | 6f 6d 20 60 72 65 63 65 6e 74 66 2d 6b 65 65 70    2d 64 65 66 61 75 6c 74 2d 70 72 65 64 69 63 61 | om.`recentf-keep-default-predica | 
| 48000 | 74 65 27 0a 20 20 28 63 6f 6e 64 0a 20 20 20 28    28 66 69 6c 65 2d 72 65 6d 6f 74 65 2d 70 20 70 | te'...(cond....((file-remote-p.p | 
| 48020 | 72 6f 6a 65 63 74 20 6e 69 6c 20 74 29 20 28 66    69 6c 65 2d 72 65 61 64 61 62 6c 65 2d 70 20 70 | roject.nil.t).(file-readable-p.p | 
| 48040 | 72 6f 6a 65 63 74 29 29 0a 20 20 20 28 28 66 69    6c 65 2d 72 65 6d 6f 74 65 2d 70 20 70 72 6f 6a | roject))....((file-remote-p.proj | 
| 48060 | 65 63 74 29 29 0a 20 20 20 28 28 66 69 6c 65 2d    72 65 61 64 61 62 6c 65 2d 70 20 70 72 6f 6a 65 | ect))....((file-readable-p.proje | 
| 48080 | 63 74 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 70    72 6f 6a 65 63 74 69 6c 65 2d 2d 63 6c 65 61 6e | ct))))..(defun.projectile--clean | 
| 480a0 | 75 70 2d 6b 6e 6f 77 6e 2d 70 72 6f 6a 65 63 74    73 20 28 29 0a 20 20 22 52 65 6d 6f 76 65 20 6b | up-known-projects.()..."Remove.k | 
| 480c0 | 6e 6f 77 6e 20 70 72 6f 6a 65 63 74 73 20 74 68    61 74 20 64 6f 6e 27 74 20 65 78 69 73 74 20 61 | nown.projects.that.don't.exist.a | 
| 480e0 | 6e 79 6d 6f 72 65 2e 0a 52 65 74 75 72 6e 20 61    20 6c 69 73 74 20 6f 66 20 70 72 6f 6a 65 63 74 | nymore..Return.a.list.of.project | 
| 48100 | 73 20 72 65 6d 6f 76 65 64 2e 22 0a 20 20 28 70    72 6f 6a 65 63 74 69 6c 65 2d 6d 65 72 67 65 2d | s.removed."...(projectile-merge- | 
| 48120 | 6b 6e 6f 77 6e 2d 70 72 6f 6a 65 63 74 73 29 0a    20 20 28 6c 65 74 20 28 28 70 72 6f 6a 65 63 74 | known-projects)...(let.((project | 
| 48140 | 73 2d 6b 65 70 74 20 28 63 6c 2d 72 65 6d 6f 76    65 2d 69 66 2d 6e 6f 74 20 23 27 70 72 6f 6a 65 | s-kept.(cl-remove-if-not.#'proje | 
| 48160 | 63 74 69 6c 65 2d 6b 65 65 70 2d 70 72 6f 6a 65    63 74 2d 70 20 70 72 6f 6a 65 63 74 69 6c 65 2d | ctile-keep-project-p.projectile- | 
| 48180 | 6b 6e 6f 77 6e 2d 70 72 6f 6a 65 63 74 73 29 29    0a 20 20 20 20 20 20 20 20 28 70 72 6f 6a 65 63 | known-projects)).........(projec | 
| 481a0 | 74 73 2d 72 65 6d 6f 76 65 64 20 28 63 6c 2d 72    65 6d 6f 76 65 2d 69 66 20 23 27 70 72 6f 6a 65 | ts-removed.(cl-remove-if.#'proje | 
| 481c0 | 63 74 69 6c 65 2d 6b 65 65 70 2d 70 72 6f 6a 65    63 74 2d 70 20 70 72 6f 6a 65 63 74 69 6c 65 2d | ctile-keep-project-p.projectile- | 
| 481e0 | 6b 6e 6f 77 6e 2d 70 72 6f 6a 65 63 74 73 29 29    29 0a 20 20 20 20 28 73 65 74 71 20 70 72 6f 6a | known-projects))).....(setq.proj | 
| 48200 | 65 63 74 69 6c 65 2d 6b 6e 6f 77 6e 2d 70 72 6f    6a 65 63 74 73 20 70 72 6f 6a 65 63 74 73 2d 6b | ectile-known-projects.projects-k | 
| 48220 | 65 70 74 29 0a 20 20 20 20 28 70 72 6f 6a 65 63    74 69 6c 65 2d 6d 65 72 67 65 2d 6b 6e 6f 77 6e | ept).....(projectile-merge-known | 
| 48240 | 2d 70 72 6f 6a 65 63 74 73 29 0a 20 20 20 20 70    72 6f 6a 65 63 74 73 2d 72 65 6d 6f 76 65 64 29 | -projects).....projects-removed) | 
| 48260 | 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 70 72 6f 6a 65 63 74 | )..;;;###autoload.(defun.project | 
| 48280 | 69 6c 65 2d 63 6c 65 61 6e 75 70 2d 6b 6e 6f 77    6e 2d 70 72 6f 6a 65 63 74 73 20 28 29 0a 20 20 | ile-cleanup-known-projects.()... | 
| 482a0 | 22 52 65 6d 6f 76 65 20 6b 6e 6f 77 6e 20 70 72    6f 6a 65 63 74 73 20 74 68 61 74 20 64 6f 6e 27 | "Remove.known.projects.that.don' | 
| 482c0 | 74 20 65 78 69 73 74 20 61 6e 79 6d 6f 72 65 2e    22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 | t.exist.anymore."...(interactive | 
| 482e0 | 29 0a 20 20 28 69 66 2d 6c 65 74 20 28 28 70 72    6f 6a 65 63 74 73 2d 72 65 6d 6f 76 65 64 20 28 | )...(if-let.((projects-removed.( | 
| 48300 | 70 72 6f 6a 65 63 74 69 6c 65 2d 2d 63 6c 65 61    6e 75 70 2d 6b 6e 6f 77 6e 2d 70 72 6f 6a 65 63 | projectile--cleanup-known-projec | 
| 48320 | 74 73 29 29 29 0a 20 20 20 20 20 20 28 6d 65 73    73 61 67 65 20 22 50 72 6f 6a 65 63 74 73 20 72 | ts))).......(message."Projects.r | 
| 48340 | 65 6d 6f 76 65 64 3a 20 25 73 22 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 | emoved:.%s"................(mapc | 
| 48360 | 6f 6e 63 61 74 20 23 27 69 64 65 6e 74 69 74 79    20 70 72 6f 6a 65 63 74 73 2d 72 65 6d 6f 76 65 | oncat.#'identity.projects-remove | 
| 48380 | 64 20 22 2c 20 22 29 29 0a 20 20 20 20 28 6d 65    73 73 61 67 65 20 22 4e 6f 20 70 72 6f 6a 65 63 | d.",.")).....(message."No.projec | 
| 483a0 | 74 73 20 6e 65 65 64 65 64 20 74 6f 20 62 65 20    72 65 6d 6f 76 65 64 2e 22 29 29 29 0a 0a 3b 3b | ts.needed.to.be.removed.")))..;; | 
| 483c0 | 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65    66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 63 | ;###autoload.(defun.projectile-c | 
| 483e0 | 6c 65 61 72 2d 6b 6e 6f 77 6e 2d 70 72 6f 6a 65    63 74 73 20 28 29 0a 20 20 22 43 6c 65 61 72 20 | lear-known-projects.()..."Clear. | 
| 48400 | 62 6f 74 68 20 60 70 72 6f 6a 65 63 74 69 6c 65    2d 6b 6e 6f 77 6e 2d 70 72 6f 6a 65 63 74 73 27 | both.`projectile-known-projects' | 
| 48420 | 20 61 6e 64 20 60 70 72 6f 6a 65 63 74 69 6c 65    2d 6b 6e 6f 77 6e 2d 70 72 6f 6a 65 63 74 73 2d | .and.`projectile-known-projects- | 
| 48440 | 66 69 6c 65 27 2e 22 0a 20 20 28 69 6e 74 65 72    61 63 74 69 76 65 29 0a 20 20 28 73 65 74 71 20 | file'."...(interactive)...(setq. | 
| 48460 | 70 72 6f 6a 65 63 74 69 6c 65 2d 6b 6e 6f 77 6e    2d 70 72 6f 6a 65 63 74 73 20 6e 69 6c 29 0a 20 | projectile-known-projects.nil).. | 
| 48480 | 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 73 61 76    65 2d 6b 6e 6f 77 6e 2d 70 72 6f 6a 65 63 74 73 | .(projectile-save-known-projects | 
| 484a0 | 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 70 72 6f 6a 65 63 | ))..;;;###autoload.(defun.projec | 
| 484c0 | 74 69 6c 65 2d 72 65 73 65 74 2d 6b 6e 6f 77 6e    2d 70 72 6f 6a 65 63 74 73 20 28 29 0a 20 20 22 | tile-reset-known-projects.()..." | 
| 484e0 | 43 6c 65 61 72 20 6b 6e 6f 77 6e 20 70 72 6f 6a    65 63 74 73 20 61 6e 64 20 72 65 64 69 73 63 6f | Clear.known.projects.and.redisco | 
| 48500 | 76 65 72 2e 22 0a 20 20 28 69 6e 74 65 72 61 63    74 69 76 65 29 0a 20 20 28 70 72 6f 6a 65 63 74 | ver."...(interactive)...(project | 
| 48520 | 69 6c 65 2d 63 6c 65 61 72 2d 6b 6e 6f 77 6e 2d    70 72 6f 6a 65 63 74 73 29 0a 20 20 28 70 72 6f | ile-clear-known-projects)...(pro | 
| 48540 | 6a 65 63 74 69 6c 65 2d 64 69 73 63 6f 76 65 72    2d 70 72 6f 6a 65 63 74 73 2d 69 6e 2d 73 65 61 | jectile-discover-projects-in-sea | 
| 48560 | 72 63 68 2d 70 61 74 68 29 29 0a 0a 3b 3b 3b 23    23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 | rch-path))..;;;###autoload.(defu | 
| 48580 | 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 72 65 6d    6f 76 65 2d 6b 6e 6f 77 6e 2d 70 72 6f 6a 65 63 | n.projectile-remove-known-projec | 
| 485a0 | 74 20 28 26 6f 70 74 69 6f 6e 61 6c 20 70 72 6f    6a 65 63 74 29 0a 20 20 22 52 65 6d 6f 76 65 20 | t.(&optional.project)..."Remove. | 
| 485c0 | 50 52 4f 4a 45 43 54 20 66 72 6f 6d 20 74 68 65    20 6c 69 73 74 20 6f 66 20 6b 6e 6f 77 6e 20 70 | PROJECT.from.the.list.of.known.p | 
| 485e0 | 72 6f 6a 65 63 74 73 2e 22 0a 20 20 28 69 6e 74    65 72 61 63 74 69 76 65 20 28 6c 69 73 74 20 28 | rojects."...(interactive.(list.( | 
| 48600 | 70 72 6f 6a 65 63 74 69 6c 65 2d 63 6f 6d 70 6c    65 74 69 6e 67 2d 72 65 61 64 0a 20 20 20 20 20 | projectile-completing-read...... | 
| 48620 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 22 52 65 6d 6f 76 65 20 66 72 6f 6d 20 6b 6e | ................."Remove.from.kn | 
| 48640 | 6f 77 6e 20 70 72 6f 6a 65 63 74 73 3a 20 22 20    70 72 6f 6a 65 63 74 69 6c 65 2d 6b 6e 6f 77 6e | own.projects:.".projectile-known | 
| 48660 | 2d 70 72 6f 6a 65 63 74 73 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | -projects....................... | 
| 48680 | 3a 61 63 74 69 6f 6e 20 27 70 72 6f 6a 65 63 74    69 6c 65 2d 72 65 6d 6f 76 65 2d 6b 6e 6f 77 6e | :action.'projectile-remove-known | 
| 486a0 | 2d 70 72 6f 6a 65 63 74 29 29 29 0a 20 20 28 75    6e 6c 65 73 73 20 28 63 61 6c 6c 65 64 2d 69 6e | -project)))...(unless.(called-in | 
| 486c0 | 74 65 72 61 63 74 69 76 65 6c 79 2d 70 20 27 61    6e 79 29 0a 20 20 20 20 28 73 65 74 71 20 70 72 | teractively-p.'any).....(setq.pr | 
| 486e0 | 6f 6a 65 63 74 69 6c 65 2d 6b 6e 6f 77 6e 2d 70    72 6f 6a 65 63 74 73 0a 20 20 20 20 20 20 20 20 | ojectile-known-projects......... | 
| 48700 | 20 20 28 63 6c 2d 72 65 6d 6f 76 65 2d 69 66 0a    20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 | ..(cl-remove-if............(lamb | 
| 48720 | 64 61 20 28 70 72 6f 6a 29 20 28 73 74 72 69 6e    67 3d 20 70 72 6f 6a 65 63 74 20 70 72 6f 6a 29 | da.(proj).(string=.project.proj) | 
| 48740 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 70 72 6f    6a 65 63 74 69 6c 65 2d 6b 6e 6f 77 6e 2d 70 72 | )............projectile-known-pr | 
| 48760 | 6f 6a 65 63 74 73 29 29 0a 20 20 20 20 28 70 72    6f 6a 65 63 74 69 6c 65 2d 6d 65 72 67 65 2d 6b | ojects)).....(projectile-merge-k | 
| 48780 | 6e 6f 77 6e 2d 70 72 6f 6a 65 63 74 73 29 0a 20    20 20 20 28 77 68 65 6e 20 70 72 6f 6a 65 63 74 | nown-projects).....(when.project | 
| 487a0 | 69 6c 65 2d 76 65 72 62 6f 73 65 0a 20 20 20 20    20 20 28 6d 65 73 73 61 67 65 20 22 50 72 6f 6a | ile-verbose.......(message."Proj | 
| 487c0 | 65 63 74 20 25 73 20 72 65 6d 6f 76 65 64 20 66    72 6f 6d 20 74 68 65 20 6c 69 73 74 20 6f 66 20 | ect.%s.removed.from.the.list.of. | 
| 487e0 | 6b 6e 6f 77 6e 20 70 72 6f 6a 65 63 74 73 2e 22    20 70 72 6f 6a 65 63 74 29 29 29 29 0a 0a 3b 3b | known.projects.".project))))..;; | 
| 48800 | 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65    66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 72 | ;###autoload.(defun.projectile-r | 
| 48820 | 65 6d 6f 76 65 2d 63 75 72 72 65 6e 74 2d 70 72    6f 6a 65 63 74 2d 66 72 6f 6d 2d 6b 6e 6f 77 6e | emove-current-project-from-known | 
| 48840 | 2d 70 72 6f 6a 65 63 74 73 20 28 29 0a 20 20 22    52 65 6d 6f 76 65 20 74 68 65 20 63 75 72 72 65 | -projects.()..."Remove.the.curre | 
| 48860 | 6e 74 20 70 72 6f 6a 65 63 74 20 66 72 6f 6d 20    74 68 65 20 6c 69 73 74 20 6f 66 20 6b 6e 6f 77 | nt.project.from.the.list.of.know | 
| 48880 | 6e 20 70 72 6f 6a 65 63 74 73 2e 22 0a 20 20 28    69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 | n.projects."...(interactive)...( | 
| 488a0 | 70 72 6f 6a 65 63 74 69 6c 65 2d 72 65 6d 6f 76    65 2d 6b 6e 6f 77 6e 2d 70 72 6f 6a 65 63 74 20 | projectile-remove-known-project. | 
| 488c0 | 28 61 62 62 72 65 76 69 61 74 65 2d 66 69 6c 65    2d 6e 61 6d 65 20 28 70 72 6f 6a 65 63 74 69 6c | (abbreviate-file-name.(projectil | 
| 488e0 | 65 2d 61 63 71 75 69 72 65 2d 72 6f 6f 74 29 29    29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 | e-acquire-root))))..(defun.proje | 
| 48900 | 63 74 69 6c 65 2d 69 67 6e 6f 72 65 64 2d 70 72    6f 6a 65 63 74 73 20 28 29 0a 20 20 22 41 20 6c | ctile-ignored-projects.()..."A.l | 
| 48920 | 69 73 74 20 6f 66 20 70 72 6f 6a 65 63 74 73 20    74 68 61 74 20 73 68 6f 75 6c 64 20 6e 6f 74 20 | ist.of.projects.that.should.not. | 
| 48940 | 62 65 20 73 61 76 65 20 69 6e 20 60 70 72 6f 6a    65 63 74 69 6c 65 2d 6b 6e 6f 77 6e 2d 70 72 6f | be.save.in.`projectile-known-pro | 
| 48960 | 6a 65 63 74 73 27 2e 22 0a 20 20 28 6d 61 70 63    61 72 20 23 27 66 69 6c 65 2d 74 72 75 65 6e 61 | jects'."...(mapcar.#'file-truena | 
| 48980 | 6d 65 20 70 72 6f 6a 65 63 74 69 6c 65 2d 69 67    6e 6f 72 65 64 2d 70 72 6f 6a 65 63 74 73 29 29 | me.projectile-ignored-projects)) | 
| 489a0 | 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74    69 6c 65 2d 69 67 6e 6f 72 65 64 2d 70 72 6f 6a | ..(defun.projectile-ignored-proj | 
| 489c0 | 65 63 74 2d 70 20 28 70 72 6f 6a 65 63 74 2d 72    6f 6f 74 29 0a 20 20 22 52 65 74 75 72 6e 20 74 | ect-p.(project-root)..."Return.t | 
| 489e0 | 20 69 66 20 50 52 4f 4a 45 43 54 2d 52 4f 4f 54    20 73 68 6f 75 6c 64 20 6e 6f 74 20 62 65 20 61 | .if.PROJECT-ROOT.should.not.be.a | 
| 48a00 | 64 64 65 64 20 74 6f 20 60 70 72 6f 6a 65 63 74    69 6c 65 2d 6b 6e 6f 77 6e 2d 70 72 6f 6a 65 63 | dded.to.`projectile-known-projec | 
| 48a20 | 74 73 27 2e 22 0a 20 20 28 6f 72 20 28 6d 65 6d    62 65 72 20 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 | ts'."...(or.(member.project-root | 
| 48a40 | 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 69 67 6e    6f 72 65 64 2d 70 72 6f 6a 65 63 74 73 29 29 0a | .(projectile-ignored-projects)). | 
| 48a60 | 20 20 20 20 20 20 28 61 6e 64 20 28 66 75 6e 63    74 69 6f 6e 70 20 70 72 6f 6a 65 63 74 69 6c 65 | ......(and.(functionp.projectile | 
| 48a80 | 2d 69 67 6e 6f 72 65 64 2d 70 72 6f 6a 65 63 74    2d 66 75 6e 63 74 69 6f 6e 29 0a 20 20 20 20 20 | -ignored-project-function)...... | 
| 48aa0 | 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 70    72 6f 6a 65 63 74 69 6c 65 2d 69 67 6e 6f 72 65 | ......(funcall.projectile-ignore | 
| 48ac0 | 64 2d 70 72 6f 6a 65 63 74 2d 66 75 6e 63 74 69    6f 6e 20 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 29 | d-project-function.project-root) | 
| 48ae0 | 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 70 72 6f 6a 65 | )))..;;;###autoload.(defun.proje | 
| 48b00 | 63 74 69 6c 65 2d 61 64 64 2d 6b 6e 6f 77 6e 2d    70 72 6f 6a 65 63 74 20 28 70 72 6f 6a 65 63 74 | ctile-add-known-project.(project | 
| 48b20 | 2d 72 6f 6f 74 29 0a 20 20 22 41 64 64 20 50 52    4f 4a 45 43 54 2d 52 4f 4f 54 20 74 6f 20 74 68 | -root)..."Add.PROJECT-ROOT.to.th | 
| 48b40 | 65 20 6c 69 73 74 20 6f 66 20 6b 6e 6f 77 6e 20    70 72 6f 6a 65 63 74 73 2e 22 0a 20 20 28 69 6e | e.list.of.known.projects."...(in | 
| 48b60 | 74 65 72 61 63 74 69 76 65 20 28 6c 69 73 74 20    28 72 65 61 64 2d 64 69 72 65 63 74 6f 72 79 2d | teractive.(list.(read-directory- | 
| 48b80 | 6e 61 6d 65 20 22 41 64 64 20 74 6f 20 6b 6e 6f    77 6e 20 70 72 6f 6a 65 63 74 73 3a 20 22 29 29 | name."Add.to.known.projects:.")) | 
| 48ba0 | 29 0a 20 20 28 75 6e 6c 65 73 73 20 28 70 72 6f    6a 65 63 74 69 6c 65 2d 69 67 6e 6f 72 65 64 2d | )...(unless.(projectile-ignored- | 
| 48bc0 | 70 72 6f 6a 65 63 74 2d 70 20 70 72 6f 6a 65 63    74 2d 72 6f 6f 74 29 0a 20 20 20 20 28 70 75 73 | project-p.project-root).....(pus | 
| 48be0 | 68 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 61 73 2d    64 69 72 65 63 74 6f 72 79 20 28 61 62 62 72 65 | h.(file-name-as-directory.(abbre | 
| 48c00 | 76 69 61 74 65 2d 66 69 6c 65 2d 6e 61 6d 65 20    70 72 6f 6a 65 63 74 2d 72 6f 6f 74 29 29 20 70 | viate-file-name.project-root)).p | 
| 48c20 | 72 6f 6a 65 63 74 69 6c 65 2d 6b 6e 6f 77 6e 2d    70 72 6f 6a 65 63 74 73 29 0a 20 20 20 20 28 64 | rojectile-known-projects).....(d | 
| 48c40 | 65 6c 65 74 65 2d 64 75 70 73 20 70 72 6f 6a 65    63 74 69 6c 65 2d 6b 6e 6f 77 6e 2d 70 72 6f 6a | elete-dups.projectile-known-proj | 
| 48c60 | 65 63 74 73 29 0a 20 20 20 20 28 70 72 6f 6a 65    63 74 69 6c 65 2d 6d 65 72 67 65 2d 6b 6e 6f 77 | ects).....(projectile-merge-know | 
| 48c80 | 6e 2d 70 72 6f 6a 65 63 74 73 29 29 29 0a 0a 28    64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 | n-projects)))..(defun.projectile | 
| 48ca0 | 2d 6c 6f 61 64 2d 6b 6e 6f 77 6e 2d 70 72 6f 6a    65 63 74 73 20 28 29 0a 20 20 22 4c 6f 61 64 20 | -load-known-projects.()..."Load. | 
| 48cc0 | 73 61 76 65 64 20 70 72 6f 6a 65 63 74 73 20 66    72 6f 6d 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d | saved.projects.from.`projectile- | 
| 48ce0 | 6b 6e 6f 77 6e 2d 70 72 6f 6a 65 63 74 73 2d 66    69 6c 65 27 2e 0a 41 6c 73 6f 20 73 65 74 20 60 | known-projects-file'..Also.set.` | 
| 48d00 | 70 72 6f 6a 65 63 74 69 6c 65 2d 6b 6e 6f 77 6e    2d 70 72 6f 6a 65 63 74 73 27 2e 22 0a 20 20 28 | projectile-known-projects'."...( | 
| 48d20 | 73 65 74 71 20 70 72 6f 6a 65 63 74 69 6c 65 2d    6b 6e 6f 77 6e 2d 70 72 6f 6a 65 63 74 73 0a 20 | setq.projectile-known-projects.. | 
| 48d40 | 20 20 20 20 20 20 20 28 70 72 6f 6a 65 63 74 69    6c 65 2d 75 6e 73 65 72 69 61 6c 69 7a 65 20 70 | .......(projectile-unserialize.p | 
| 48d60 | 72 6f 6a 65 63 74 69 6c 65 2d 6b 6e 6f 77 6e 2d    70 72 6f 6a 65 63 74 73 2d 66 69 6c 65 29 29 0a | rojectile-known-projects-file)). | 
| 48d80 | 20 20 28 73 65 74 71 20 70 72 6f 6a 65 63 74 69    6c 65 2d 6b 6e 6f 77 6e 2d 70 72 6f 6a 65 63 74 | ..(setq.projectile-known-project | 
| 48da0 | 73 2d 6f 6e 2d 66 69 6c 65 0a 20 20 20 20 20 20    20 20 28 61 6e 64 20 28 73 65 71 75 65 6e 63 65 | s-on-file.........(and.(sequence | 
| 48dc0 | 70 20 70 72 6f 6a 65 63 74 69 6c 65 2d 6b 6e 6f    77 6e 2d 70 72 6f 6a 65 63 74 73 29 0a 20 20 20 | p.projectile-known-projects).... | 
| 48de0 | 20 20 20 20 20 20 20 20 20 20 28 63 6f 70 79 2d    73 65 71 75 65 6e 63 65 20 70 72 6f 6a 65 63 74 | ..........(copy-sequence.project | 
| 48e00 | 69 6c 65 2d 6b 6e 6f 77 6e 2d 70 72 6f 6a 65 63    74 73 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 | ile-known-projects))))..(defun.p | 
| 48e20 | 72 6f 6a 65 63 74 69 6c 65 2d 73 61 76 65 2d 6b    6e 6f 77 6e 2d 70 72 6f 6a 65 63 74 73 20 28 29 | rojectile-save-known-projects.() | 
| 48e40 | 0a 20 20 22 53 61 76 65 20 50 52 4f 4a 45 43 54    49 4c 45 2d 4b 4e 4f 57 4e 2d 50 52 4f 4a 45 43 | ..."Save.PROJECTILE-KNOWN-PROJEC | 
| 48e60 | 54 53 20 74 6f 20 50 52 4f 4a 45 43 54 49 4c 45    2d 4b 4e 4f 57 4e 2d 50 52 4f 4a 45 43 54 53 2d | TS.to.PROJECTILE-KNOWN-PROJECTS- | 
| 48e80 | 46 49 4c 45 2e 22 0a 20 20 28 70 72 6f 6a 65 63    74 69 6c 65 2d 73 65 72 69 61 6c 69 7a 65 20 70 | FILE."...(projectile-serialize.p | 
| 48ea0 | 72 6f 6a 65 63 74 69 6c 65 2d 6b 6e 6f 77 6e 2d    70 72 6f 6a 65 63 74 73 0a 20 20 20 20 20 20 20 | rojectile-known-projects........ | 
| 48ec0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 70 72 6f 6a 65 63 74 69 6c 65 2d 6b 6e 6f 77 | .................projectile-know | 
| 48ee0 | 6e 2d 70 72 6f 6a 65 63 74 73 2d 66 69 6c 65 29    0a 20 20 28 73 65 74 71 20 70 72 6f 6a 65 63 74 | n-projects-file)...(setq.project | 
| 48f00 | 69 6c 65 2d 6b 6e 6f 77 6e 2d 70 72 6f 6a 65 63    74 73 2d 6f 6e 2d 66 69 6c 65 0a 20 20 20 20 20 | ile-known-projects-on-file...... | 
| 48f20 | 20 20 20 28 61 6e 64 20 28 73 65 71 75 65 6e 63    65 70 20 70 72 6f 6a 65 63 74 69 6c 65 2d 6b 6e | ...(and.(sequencep.projectile-kn | 
| 48f40 | 6f 77 6e 2d 70 72 6f 6a 65 63 74 73 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 28 63 6f 70 79 | own-projects)..............(copy | 
| 48f60 | 2d 73 65 71 75 65 6e 63 65 20 70 72 6f 6a 65 63    74 69 6c 65 2d 6b 6e 6f 77 6e 2d 70 72 6f 6a 65 | -sequence.projectile-known-proje | 
| 48f80 | 63 74 73 29 29 29 29 0a 0a 28 64 65 66 75 6e 20    70 72 6f 6a 65 63 74 69 6c 65 2d 6d 65 72 67 65 | cts))))..(defun.projectile-merge | 
| 48fa0 | 2d 6b 6e 6f 77 6e 2d 70 72 6f 6a 65 63 74 73 20    28 29 0a 20 20 22 4d 65 72 67 65 20 61 6e 79 20 | -known-projects.()..."Merge.any. | 
| 48fc0 | 63 68 61 6e 67 65 20 66 72 6f 6d 20 60 70 72 6f    6a 65 63 74 69 6c 65 2d 6b 6e 6f 77 6e 2d 70 72 | change.from.`projectile-known-pr | 
| 48fe0 | 6f 6a 65 63 74 73 2d 66 69 6c 65 27 20 61 6e 64    20 73 61 76 65 20 74 6f 20 64 69 73 6b 2e 0a 0a | ojects-file'.and.save.to.disk... | 
| 49000 | 54 68 69 73 20 65 6e 61 62 6c 65 73 20 6d 75 6c    74 69 70 6c 65 20 45 6d 61 63 73 20 70 72 6f 63 | This.enables.multiple.Emacs.proc | 
| 49020 | 65 73 73 65 73 20 74 6f 20 6d 61 6b 65 20 63 68    61 6e 67 65 73 20 77 69 74 68 6f 75 74 0a 6f 76 | esses.to.make.changes.without.ov | 
| 49040 | 65 72 77 72 69 74 69 6e 67 20 65 61 63 68 20 6f    74 68 65 72 27 73 20 63 68 61 6e 67 65 73 2e 22 | erwriting.each.other's.changes." | 
| 49060 | 0a 20 20 28 6c 65 74 2a 20 28 28 6b 6e 6f 77 6e    2d 6e 6f 77 20 70 72 6f 6a 65 63 74 69 6c 65 2d | ...(let*.((known-now.projectile- | 
| 49080 | 6b 6e 6f 77 6e 2d 70 72 6f 6a 65 63 74 73 29 0a    20 20 20 20 20 20 20 20 20 28 6b 6e 6f 77 6e 2d | known-projects)..........(known- | 
| 490a0 | 6f 6e 2d 6c 61 73 74 2d 73 79 6e 63 20 70 72 6f    6a 65 63 74 69 6c 65 2d 6b 6e 6f 77 6e 2d 70 72 | on-last-sync.projectile-known-pr | 
| 490c0 | 6f 6a 65 63 74 73 2d 6f 6e 2d 66 69 6c 65 29 0a    20 20 20 20 20 20 20 20 20 28 6b 6e 6f 77 6e 2d | ojects-on-file)..........(known- | 
| 490e0 | 6f 6e 2d 66 69 6c 65 0a 20 20 20 20 20 20 20 20    20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 75 6e | on-file...........(projectile-un | 
| 49100 | 73 65 72 69 61 6c 69 7a 65 20 70 72 6f 6a 65 63    74 69 6c 65 2d 6b 6e 6f 77 6e 2d 70 72 6f 6a 65 | serialize.projectile-known-proje | 
| 49120 | 63 74 73 2d 66 69 6c 65 29 29 0a 20 20 20 20 20    20 20 20 20 28 72 65 6d 6f 76 65 64 2d 61 66 74 | cts-file))..........(removed-aft | 
| 49140 | 65 72 2d 73 79 6e 63 20 28 70 72 6f 6a 65 63 74    69 6c 65 2d 64 69 66 66 65 72 65 6e 63 65 20 6b | er-sync.(projectile-difference.k | 
| 49160 | 6e 6f 77 6e 2d 6f 6e 2d 6c 61 73 74 2d 73 79 6e    63 20 6b 6e 6f 77 6e 2d 6e 6f 77 29 29 0a 20 20 | nown-on-last-sync.known-now))... | 
| 49180 | 20 20 20 20 20 20 20 28 72 65 6d 6f 76 65 64 2d    69 6e 2d 6f 74 68 65 72 2d 70 72 6f 63 65 73 73 | .......(removed-in-other-process | 
| 491a0 | 0a 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 6a    65 63 74 69 6c 65 2d 64 69 66 66 65 72 65 6e 63 | ...........(projectile-differenc | 
| 491c0 | 65 20 6b 6e 6f 77 6e 2d 6f 6e 2d 6c 61 73 74 2d    73 79 6e 63 20 6b 6e 6f 77 6e 2d 6f 6e 2d 66 69 | e.known-on-last-sync.known-on-fi | 
| 491e0 | 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 72    65 73 75 6c 74 20 28 64 65 6c 65 74 65 2d 64 75 | le))..........(result.(delete-du | 
| 49200 | 70 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 | ps...................(projectile | 
| 49220 | 2d 64 69 66 66 65 72 65 6e 63 65 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | -difference....................( | 
| 49240 | 61 70 70 65 6e 64 20 6b 6e 6f 77 6e 2d 6e 6f 77    20 6b 6e 6f 77 6e 2d 6f 6e 2d 66 69 6c 65 29 0a | append.known-now.known-on-file). | 
| 49260 | 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 72 65 6d 6f 76 | ...................(append.remov | 
| 49280 | 65 64 2d 61 66 74 65 72 2d 73 79 6e 63 20 72 65    6d 6f 76 65 64 2d 69 6e 2d 6f 74 68 65 72 2d 70 | ed-after-sync.removed-in-other-p | 
| 492a0 | 72 6f 63 65 73 73 29 29 29 29 29 0a 20 20 20 20    28 73 65 74 71 20 70 72 6f 6a 65 63 74 69 6c 65 | rocess))))).....(setq.projectile | 
| 492c0 | 2d 6b 6e 6f 77 6e 2d 70 72 6f 6a 65 63 74 73 20    72 65 73 75 6c 74 29 0a 20 20 20 20 28 70 72 6f | -known-projects.result).....(pro | 
| 492e0 | 6a 65 63 74 69 6c 65 2d 73 61 76 65 2d 6b 6e 6f    77 6e 2d 70 72 6f 6a 65 63 74 73 29 29 29 0a 0a | jectile-save-known-projects))).. | 
| 49300 | 0c 0a 3b 3b 3b 20 49 42 75 66 66 65 72 20 69 6e    74 65 67 72 61 74 69 6f 6e 0a 28 64 65 66 69 6e | ..;;;.IBuffer.integration.(defin | 
| 49320 | 65 2d 69 62 75 66 66 65 72 2d 66 69 6c 74 65 72    20 70 72 6f 6a 65 63 74 69 6c 65 2d 66 69 6c 65 | e-ibuffer-filter.projectile-file | 
| 49340 | 73 0a 20 20 20 20 22 53 68 6f 77 20 49 62 75 66    66 65 72 20 77 69 74 68 20 61 6c 6c 20 62 75 66 | s....."Show.Ibuffer.with.all.buf | 
| 49360 | 66 65 72 73 20 69 6e 20 74 68 65 20 63 75 72 72    65 6e 74 20 70 72 6f 6a 65 63 74 2e 22 0a 20 20 | fers.in.the.current.project."... | 
| 49380 | 28 3a 72 65 61 64 65 72 20 28 72 65 61 64 2d 64    69 72 65 63 74 6f 72 79 2d 6e 61 6d 65 20 22 50 | (:reader.(read-directory-name."P | 
| 493a0 | 72 6f 6a 65 63 74 20 72 6f 6f 74 3a 20 22 20 28    70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 | roject.root:.".(projectile-proje | 
| 493c0 | 63 74 2d 72 6f 6f 74 29 29 0a 20 20 20 20 20 20    20 20 20 20 20 3a 64 65 73 63 72 69 70 74 69 6f | ct-root))............:descriptio | 
| 493e0 | 6e 20 6e 69 6c 29 0a 20 20 28 77 69 74 68 2d 63    75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 62 75 | n.nil)...(with-current-buffer.bu | 
| 49400 | 66 0a 20 20 20 20 28 6c 65 74 20 28 28 64 69 72    65 63 74 6f 72 79 20 28 66 69 6c 65 2d 6e 61 6d | f.....(let.((directory.(file-nam | 
| 49420 | 65 2d 61 73 2d 64 69 72 65 63 74 6f 72 79 20 28    65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 | e-as-directory.(expand-file-name | 
| 49440 | 20 71 75 61 6c 69 66 69 65 72 29 29 29 29 0a 20    20 20 20 20 20 28 61 6e 64 20 28 70 72 6f 6a 65 | .qualifier)))).......(and.(proje | 
| 49460 | 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 62 75    66 66 65 72 2d 70 20 62 75 66 20 64 69 72 65 63 | ctile-project-buffer-p.buf.direc | 
| 49480 | 74 6f 72 79 29 0a 20 20 20 20 20 20 20 20 20 20    20 28 65 71 75 61 6c 20 64 69 72 65 63 74 6f 72 | tory)............(equal.director | 
| 494a0 | 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d | y...................(projectile- | 
| 494c0 | 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 29 29 29 29    29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 | project-root))))))..(defun.proje | 
| 494e0 | 63 74 69 6c 65 2d 69 62 75 66 66 65 72 2d 62 79    2d 70 72 6f 6a 65 63 74 20 28 70 72 6f 6a 65 63 | ctile-ibuffer-by-project.(projec | 
| 49500 | 74 2d 72 6f 6f 74 29 0a 20 20 22 4f 70 65 6e 20    61 6e 20 49 42 75 66 66 65 72 20 77 69 6e 64 6f | t-root)..."Open.an.IBuffer.windo | 
| 49520 | 77 20 73 68 6f 77 69 6e 67 20 61 6c 6c 20 62 75    66 66 65 72 73 20 69 6e 20 50 52 4f 4a 45 43 54 | w.showing.all.buffers.in.PROJECT | 
| 49540 | 2d 52 4f 4f 54 2e 22 0a 20 20 28 6c 65 74 20 28    28 70 72 6f 6a 65 63 74 2d 6e 61 6d 65 20 28 66 | -ROOT."...(let.((project-name.(f | 
| 49560 | 75 6e 63 61 6c 6c 20 70 72 6f 6a 65 63 74 69 6c    65 2d 70 72 6f 6a 65 63 74 2d 6e 61 6d 65 2d 66 | uncall.projectile-project-name-f | 
| 49580 | 75 6e 63 74 69 6f 6e 20 70 72 6f 6a 65 63 74 2d    72 6f 6f 74 29 29 29 0a 20 20 20 20 28 69 62 75 | unction.project-root))).....(ibu | 
| 495a0 | 66 66 65 72 20 6e 69 6c 20 28 66 6f 72 6d 61 74    20 22 2a 25 73 20 42 75 66 66 65 72 73 2a 22 20 | ffer.nil.(format."*%s.Buffers*". | 
| 495c0 | 70 72 6f 6a 65 63 74 2d 6e 61 6d 65 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 | project-name)..............(list | 
| 495e0 | 20 28 63 6f 6e 73 20 27 70 72 6f 6a 65 63 74 69    6c 65 2d 66 69 6c 65 73 20 70 72 6f 6a 65 63 74 | .(cons.'projectile-files.project | 
| 49600 | 2d 72 6f 6f 74 29 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 75 | -root)))))..;;;###autoload.(defu | 
| 49620 | 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 69 62 75    66 66 65 72 20 28 70 72 6f 6d 70 74 2d 66 6f 72 | n.projectile-ibuffer.(prompt-for | 
| 49640 | 2d 70 72 6f 6a 65 63 74 29 0a 20 20 22 4f 70 65    6e 20 61 6e 20 49 42 75 66 66 65 72 20 77 69 6e | -project)..."Open.an.IBuffer.win | 
| 49660 | 64 6f 77 20 73 68 6f 77 69 6e 67 20 61 6c 6c 20    62 75 66 66 65 72 73 20 69 6e 20 74 68 65 20 63 | dow.showing.all.buffers.in.the.c | 
| 49680 | 75 72 72 65 6e 74 20 70 72 6f 6a 65 63 74 2e 0a    0a 4c 65 74 20 75 73 65 72 20 63 68 6f 6f 73 65 | urrent.project...Let.user.choose | 
| 496a0 | 20 61 6e 6f 74 68 65 72 20 70 72 6f 6a 65 63 74    20 77 68 65 6e 20 50 52 4f 4d 50 54 2d 46 4f 52 | .another.project.when.PROMPT-FOR | 
| 496c0 | 2d 50 52 4f 4a 45 43 54 20 69 73 20 73 75 70 70    6c 69 65 64 2e 22 0a 20 20 28 69 6e 74 65 72 61 | -PROJECT.is.supplied."...(intera | 
| 496e0 | 63 74 69 76 65 20 22 50 22 29 0a 20 20 28 6c 65    74 20 28 28 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 | ctive."P")...(let.((project-root | 
| 49700 | 20 28 69 66 20 70 72 6f 6d 70 74 2d 66 6f 72 2d    70 72 6f 6a 65 63 74 0a 20 20 20 20 20 20 20 20 | .(if.prompt-for-project......... | 
| 49720 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 63 6f | ..................(projectile-co | 
| 49740 | 6d 70 6c 65 74 69 6e 67 2d 72 65 61 64 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | mpleting-read................... | 
| 49760 | 20 20 20 20 20 20 20 20 20 22 50 72 6f 6a 65 63    74 20 6e 61 6d 65 3a 20 22 0a 20 20 20 20 20 20 | ........."Project.name:."....... | 
| 49780 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 | .....................(projectile | 
| 497a0 | 2d 72 65 6c 65 76 61 6e 74 2d 6b 6e 6f 77 6e 2d    70 72 6f 6a 65 63 74 73 29 29 0a 20 20 20 20 20 | -relevant-known-projects))...... | 
| 497c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 61 | ...................(projectile-a | 
| 497e0 | 63 71 75 69 72 65 2d 72 6f 6f 74 29 29 29 29 0a    20 20 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d | cquire-root)))).....(projectile- | 
| 49800 | 69 62 75 66 66 65 72 2d 62 79 2d 70 72 6f 6a 65    63 74 20 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 29 | ibuffer-by-project.project-root) | 
| 49820 | 29 29 0a 0a 0c 0a 3b 3b 3b 3b 20 70 72 6f 6a 65    63 74 69 6c 65 2d 63 6f 6d 6d 61 6e 64 65 72 0a | ))....;;;;.projectile-commander. | 
| 49840 | 0a 28 64 65 66 63 6f 6e 73 74 20 70 72 6f 6a 65    63 74 69 6c 65 2d 63 6f 6d 6d 61 6e 64 65 72 2d | .(defconst.projectile-commander- | 
| 49860 | 68 65 6c 70 2d 62 75 66 66 65 72 20 22 2a 50 72    6f 6a 65 63 74 69 6c 65 20 43 6f 6d 6d 61 6e 64 | help-buffer."*Projectile.Command | 
| 49880 | 65 72 20 48 65 6c 70 2a 22 29 0a 0a 28 64 65 66    76 61 72 20 70 72 6f 6a 65 63 74 69 6c 65 2d 63 | er.Help*")..(defvar.projectile-c | 
| 498a0 | 6f 6d 6d 61 6e 64 65 72 2d 6d 65 74 68 6f 64 73    20 6e 69 6c 0a 20 20 22 4c 69 73 74 20 6f 66 20 | ommander-methods.nil..."List.of. | 
| 498c0 | 66 69 6c 65 2d 73 65 6c 65 63 74 69 6f 6e 20 6d    65 74 68 6f 64 73 20 66 6f 72 20 74 68 65 20 60 | file-selection.methods.for.the.` | 
| 498e0 | 70 72 6f 6a 65 63 74 69 6c 65 2d 63 6f 6d 6d 61    6e 64 65 72 27 20 63 6f 6d 6d 61 6e 64 2e 0a 45 | projectile-commander'.command..E | 
| 49900 | 61 63 68 20 65 6c 65 6d 65 6e 74 20 69 73 20 61    20 6c 69 73 74 20 28 4b 45 59 20 44 45 53 43 52 | ach.element.is.a.list.(KEY.DESCR | 
| 49920 | 49 50 54 49 4f 4e 20 46 55 4e 43 54 49 4f 4e 29    2e 0a 44 45 53 43 52 49 50 54 49 4f 4e 20 69 73 | IPTION.FUNCTION)..DESCRIPTION.is | 
| 49940 | 20 61 20 6f 6e 65 2d 6c 69 6e 65 20 64 65 73 63    72 69 70 74 69 6f 6e 20 6f 66 20 77 68 61 74 20 | .a.one-line.description.of.what. | 
| 49960 | 74 68 65 20 6b 65 79 20 73 65 6c 65 63 74 73 2e    22 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f | the.key.selects.")..;;;###autolo | 
| 49980 | 61 64 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63    74 69 6c 65 2d 63 6f 6d 6d 61 6e 64 65 72 20 28 | ad.(defun.projectile-commander.( | 
| 499a0 | 29 0a 20 20 22 45 78 65 63 75 74 65 20 61 20 50    72 6f 6a 65 63 74 69 6c 65 20 63 6f 6d 6d 61 6e | )..."Execute.a.Projectile.comman | 
| 499c0 | 64 20 77 69 74 68 20 61 20 73 69 6e 67 6c 65 20    6c 65 74 74 65 72 2e 0a 54 68 65 20 75 73 65 72 | d.with.a.single.letter..The.user | 
| 499e0 | 20 69 73 20 70 72 6f 6d 70 74 65 64 20 66 6f 72    20 61 20 73 69 6e 67 6c 65 20 63 68 61 72 61 63 | .is.prompted.for.a.single.charac | 
| 49a00 | 74 65 72 20 69 6e 64 69 63 61 74 69 6e 67 20 74    68 65 20 61 63 74 69 6f 6e 20 74 6f 20 69 6e 76 | ter.indicating.the.action.to.inv | 
| 49a20 | 6f 6b 65 2e 0a 54 68 65 20 60 3f 27 20 63 68 61    72 61 63 74 65 72 20 64 65 73 63 72 69 62 65 73 | oke..The.`?'.character.describes | 
| 49a40 | 20 74 68 65 6e 0a 61 76 61 69 6c 61 62 6c 65 20    61 63 74 69 6f 6e 73 2e 0a 0a 53 65 65 20 60 64 | .then.available.actions...See.`d | 
| 49a60 | 65 66 2d 70 72 6f 6a 65 63 74 69 6c 65 2d 63 6f    6d 6d 61 6e 64 65 72 2d 6d 65 74 68 6f 64 27 20 | ef-projectile-commander-method'. | 
| 49a80 | 66 6f 72 20 64 65 66 69 6e 69 6e 67 20 6e 65 77    20 6d 65 74 68 6f 64 73 2e 22 0a 20 20 28 69 6e | for.defining.new.methods."...(in | 
| 49aa0 | 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6c 65    74 2a 20 28 28 63 68 6f 69 63 65 73 20 28 6d 61 | teractive)...(let*.((choices.(ma | 
| 49ac0 | 70 63 61 72 20 23 27 63 61 72 20 70 72 6f 6a 65    63 74 69 6c 65 2d 63 6f 6d 6d 61 6e 64 65 72 2d | pcar.#'car.projectile-commander- | 
| 49ae0 | 6d 65 74 68 6f 64 73 29 29 0a 20 20 20 20 20 20    20 20 20 28 70 72 6f 6d 70 74 20 28 63 6f 6e 63 | methods))..........(prompt.(conc | 
| 49b00 | 61 74 20 22 53 65 6c 65 63 74 20 50 72 6f 6a 65    63 74 69 6c 65 20 63 6f 6d 6d 61 6e 64 20 5b 22 | at."Select.Projectile.command.[" | 
| 49b20 | 20 63 68 6f 69 63 65 73 20 22 5d 3a 20 22 29 29    0a 20 20 20 20 20 20 20 20 20 28 63 68 20 28 72 | .choices."]:."))..........(ch.(r | 
| 49b40 | 65 61 64 2d 63 68 61 72 2d 63 68 6f 69 63 65 20    70 72 6f 6d 70 74 20 63 68 6f 69 63 65 73 29 29 | ead-char-choice.prompt.choices)) | 
| 49b60 | 0a 20 20 20 20 20 20 20 20 20 28 66 6e 20 28 6e    74 68 20 32 20 28 61 73 73 71 20 63 68 20 70 72 | ..........(fn.(nth.2.(assq.ch.pr | 
| 49b80 | 6f 6a 65 63 74 69 6c 65 2d 63 6f 6d 6d 61 6e 64    65 72 2d 6d 65 74 68 6f 64 73 29 29 29 29 0a 20 | ojectile-commander-methods)))).. | 
| 49ba0 | 20 20 20 28 66 75 6e 63 61 6c 6c 20 66 6e 29 29    29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 64 65 66 | ...(funcall.fn)))..(defmacro.def | 
| 49bc0 | 2d 70 72 6f 6a 65 63 74 69 6c 65 2d 63 6f 6d 6d    61 6e 64 65 72 2d 6d 65 74 68 6f 64 20 28 6b 65 | -projectile-commander-method.(ke | 
| 49be0 | 79 20 64 65 73 63 72 69 70 74 69 6f 6e 20 26 72    65 73 74 20 62 6f 64 79 29 0a 20 20 22 44 65 66 | y.description.&rest.body)..."Def | 
| 49c00 | 69 6e 65 20 61 20 6e 65 77 20 60 70 72 6f 6a 65    63 74 69 6c 65 2d 63 6f 6d 6d 61 6e 64 65 72 27 | ine.a.new.`projectile-commander' | 
| 49c20 | 20 6d 65 74 68 6f 64 2e 0a 0a 4b 45 59 20 69 73    20 74 68 65 20 6b 65 79 20 74 68 65 20 75 73 65 | .method...KEY.is.the.key.the.use | 
| 49c40 | 72 20 77 69 6c 6c 20 65 6e 74 65 72 20 74 6f 20    63 68 6f 6f 73 65 20 74 68 69 73 20 6d 65 74 68 | r.will.enter.to.choose.this.meth | 
| 49c60 | 6f 64 2e 0a 0a 44 45 53 43 52 49 50 54 49 4f 4e    20 69 73 20 61 20 6f 6e 65 2d 6c 69 6e 65 20 73 | od...DESCRIPTION.is.a.one-line.s | 
| 49c80 | 65 6e 74 65 6e 63 65 20 64 65 73 63 72 69 62 69    6e 67 20 68 6f 77 20 74 68 65 20 6d 65 74 68 6f | entence.describing.how.the.metho | 
| 49ca0 | 64 2e 0a 0a 42 4f 44 59 20 69 73 20 61 20 73 65    72 69 65 73 20 6f 66 20 66 6f 72 6d 73 20 77 68 | d...BODY.is.a.series.of.forms.wh | 
| 49cc0 | 69 63 68 20 61 72 65 20 65 76 61 6c 75 61 74 65    64 20 77 68 65 6e 20 74 68 65 20 66 69 6e 64 0a | ich.are.evaluated.when.the.find. | 
| 49ce0 | 69 73 20 63 68 6f 73 65 6e 2e 22 0a 20 20 28 6c    65 74 20 28 28 6d 65 74 68 6f 64 20 60 28 6c 61 | is.chosen."...(let.((method.`(la | 
| 49d00 | 6d 62 64 61 20 28 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 2c 40 62 6f 64 | mbda.()....................,@bod | 
| 49d20 | 79 29 29 29 0a 20 20 20 20 60 28 73 65 74 71 20    70 72 6f 6a 65 63 74 69 6c 65 2d 63 6f 6d 6d 61 | y))).....`(setq.projectile-comma | 
| 49d40 | 6e 64 65 72 2d 6d 65 74 68 6f 64 73 0a 20 20 20    20 20 20 20 20 20 20 20 28 63 6c 2d 73 6f 72 74 | nder-methods............(cl-sort | 
| 49d60 | 20 28 63 6f 70 79 2d 73 65 71 75 65 6e 63 65 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .(copy-sequence................. | 
| 49d80 | 20 20 20 20 20 28 63 6f 6e 73 20 28 6c 69 73 74    20 2c 6b 65 79 20 2c 64 65 73 63 72 69 70 74 69 | .....(cons.(list.,key.,descripti | 
| 49da0 | 6f 6e 20 2c 6d 65 74 68 6f 64 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | on.,method)..................... | 
| 49dc0 | 20 20 20 20 20 20 20 28 61 73 73 71 2d 64 65 6c    65 74 65 2d 61 6c 6c 20 2c 6b 65 79 20 70 72 6f | .......(assq-delete-all.,key.pro | 
| 49de0 | 6a 65 63 74 69 6c 65 2d 63 6f 6d 6d 61 6e 64 65    72 2d 6d 65 74 68 6f 64 73 29 29 29 0a 20 20 20 | jectile-commander-methods))).... | 
| 49e00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 6c 61 6d 62 64 61 20 28 61 20 62 29 20 28 | .................(lambda.(a.b).( | 
| 49e20 | 3c 20 28 63 61 72 20 61 29 20 28 63 61 72 20 62    29 29 29 29 29 29 29 0a 0a 28 64 65 66 2d 70 72 | <.(car.a).(car.b)))))))..(def-pr | 
| 49e40 | 6f 6a 65 63 74 69 6c 65 2d 63 6f 6d 6d 61 6e 64    65 72 2d 6d 65 74 68 6f 64 20 3f 3f 20 22 43 6f | ojectile-commander-method.??."Co | 
| 49e60 | 6d 6d 61 6e 64 65 72 20 68 65 6c 70 20 62 75 66    66 65 72 2e 22 0a 20 20 28 69 67 6e 6f 72 65 2d | mmander.help.buffer."...(ignore- | 
| 49e80 | 65 72 72 6f 72 73 20 28 6b 69 6c 6c 2d 62 75 66    66 65 72 20 70 72 6f 6a 65 63 74 69 6c 65 2d 63 | errors.(kill-buffer.projectile-c | 
| 49ea0 | 6f 6d 6d 61 6e 64 65 72 2d 68 65 6c 70 2d 62 75    66 66 65 72 29 29 0a 20 20 28 77 69 74 68 2d 63 | ommander-help-buffer))...(with-c | 
| 49ec0 | 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28 67    65 74 2d 62 75 66 66 65 72 2d 63 72 65 61 74 65 | urrent-buffer.(get-buffer-create | 
| 49ee0 | 20 70 72 6f 6a 65 63 74 69 6c 65 2d 63 6f 6d 6d    61 6e 64 65 72 2d 68 65 6c 70 2d 62 75 66 66 65 | .projectile-commander-help-buffe | 
| 49f00 | 72 29 0a 20 20 20 20 28 69 6e 73 65 72 74 20 22    50 72 6f 6a 65 63 74 69 6c 65 20 43 6f 6d 6d 61 | r).....(insert."Projectile.Comma | 
| 49f20 | 6e 64 65 72 20 4d 65 74 68 6f 64 73 3a 5c 6e 5c    6e 22 29 0a 20 20 20 20 28 64 6f 6c 69 73 74 20 | nder.Methods:\n\n").....(dolist. | 
| 49f40 | 28 6d 65 74 20 70 72 6f 6a 65 63 74 69 6c 65 2d    63 6f 6d 6d 61 6e 64 65 72 2d 6d 65 74 68 6f 64 | (met.projectile-commander-method | 
| 49f60 | 73 29 0a 20 20 20 20 20 20 28 69 6e 73 65 72 74    20 28 66 6f 72 6d 61 74 20 22 25 63 3a 5c 74 25 | s).......(insert.(format."%c:\t% | 
| 49f80 | 73 5c 6e 22 20 28 63 61 72 20 6d 65 74 29 20 28    63 61 64 72 20 6d 65 74 29 29 29 29 0a 20 20 20 | s\n".(car.met).(cadr.met)))).... | 
| 49fa0 | 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69    6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 28 68 65 | .(goto-char.(point-min)).....(he | 
| 49fc0 | 6c 70 2d 6d 6f 64 65 29 0a 20 20 20 20 28 64 69    73 70 6c 61 79 2d 62 75 66 66 65 72 20 28 63 75 | lp-mode).....(display-buffer.(cu | 
| 49fe0 | 72 72 65 6e 74 2d 62 75 66 66 65 72 29 20 74 29    29 0a 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d | rrent-buffer).t))...(projectile- | 
| 4a000 | 63 6f 6d 6d 61 6e 64 65 72 29 29 0a 0a 28 64 65    66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 63 | commander))..(defun.projectile-c | 
| 4a020 | 6f 6d 6d 61 6e 64 65 72 2d 62 69 6e 64 69 6e 67    73 20 28 29 0a 20 20 22 53 65 74 75 70 20 74 68 | ommander-bindings.()..."Setup.th | 
| 4a040 | 65 20 6b 65 79 62 69 6e 64 69 6e 67 73 20 66 6f    72 20 74 68 65 20 50 72 6f 6a 65 63 74 69 6c 65 | e.keybindings.for.the.Projectile | 
| 4a060 | 20 43 6f 6d 6d 61 6e 64 65 72 2e 22 0a 20 20 28    64 65 66 2d 70 72 6f 6a 65 63 74 69 6c 65 2d 63 | .Commander."...(def-projectile-c | 
| 4a080 | 6f 6d 6d 61 6e 64 65 72 2d 6d 65 74 68 6f 64 20    3f 66 0a 20 20 20 20 22 46 69 6e 64 20 66 69 6c | ommander-method.?f....."Find.fil | 
| 4a0a0 | 65 20 69 6e 20 70 72 6f 6a 65 63 74 2e 22 0a 20    20 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 66 | e.in.project.".....(projectile-f | 
| 4a0c0 | 69 6e 64 2d 66 69 6c 65 29 29 0a 0a 20 20 28 64    65 66 2d 70 72 6f 6a 65 63 74 69 6c 65 2d 63 6f | ind-file))....(def-projectile-co | 
| 4a0e0 | 6d 6d 61 6e 64 65 72 2d 6d 65 74 68 6f 64 20 3f    54 0a 20 20 20 20 22 46 69 6e 64 20 74 65 73 74 | mmander-method.?T....."Find.test | 
| 4a100 | 20 66 69 6c 65 20 69 6e 20 70 72 6f 6a 65 63 74    2e 22 0a 20 20 20 20 28 70 72 6f 6a 65 63 74 69 | .file.in.project.".....(projecti | 
| 4a120 | 6c 65 2d 66 69 6e 64 2d 74 65 73 74 2d 66 69 6c    65 29 29 0a 0a 20 20 28 64 65 66 2d 70 72 6f 6a | le-find-test-file))....(def-proj | 
| 4a140 | 65 63 74 69 6c 65 2d 63 6f 6d 6d 61 6e 64 65 72    2d 6d 65 74 68 6f 64 20 3f 62 0a 20 20 20 20 22 | ectile-commander-method.?b....." | 
| 4a160 | 53 77 69 74 63 68 20 74 6f 20 70 72 6f 6a 65 63    74 20 62 75 66 66 65 72 2e 22 0a 20 20 20 20 28 | Switch.to.project.buffer.".....( | 
| 4a180 | 70 72 6f 6a 65 63 74 69 6c 65 2d 73 77 69 74 63    68 2d 74 6f 2d 62 75 66 66 65 72 29 29 0a 0a 20 | projectile-switch-to-buffer))... | 
| 4a1a0 | 20 28 64 65 66 2d 70 72 6f 6a 65 63 74 69 6c 65    2d 63 6f 6d 6d 61 6e 64 65 72 2d 6d 65 74 68 6f | .(def-projectile-commander-metho | 
| 4a1c0 | 64 20 3f 64 0a 20 20 20 20 22 46 69 6e 64 20 64    69 72 65 63 74 6f 72 79 20 69 6e 20 70 72 6f 6a | d.?d....."Find.directory.in.proj | 
| 4a1e0 | 65 63 74 2e 22 0a 20 20 20 20 28 70 72 6f 6a 65    63 74 69 6c 65 2d 66 69 6e 64 2d 64 69 72 29 29 | ect.".....(projectile-find-dir)) | 
| 4a200 | 0a 0a 20 20 28 64 65 66 2d 70 72 6f 6a 65 63 74    69 6c 65 2d 63 6f 6d 6d 61 6e 64 65 72 2d 6d 65 | ....(def-projectile-commander-me | 
| 4a220 | 74 68 6f 64 20 3f 44 0a 20 20 20 20 22 4f 70 65    6e 20 70 72 6f 6a 65 63 74 20 72 6f 6f 74 20 69 | thod.?D....."Open.project.root.i | 
| 4a240 | 6e 20 64 69 72 65 64 2e 22 0a 20 20 20 20 28 70    72 6f 6a 65 63 74 69 6c 65 2d 64 69 72 65 64 29 | n.dired.".....(projectile-dired) | 
| 4a260 | 29 0a 0a 20 20 28 64 65 66 2d 70 72 6f 6a 65 63    74 69 6c 65 2d 63 6f 6d 6d 61 6e 64 65 72 2d 6d | )....(def-projectile-commander-m | 
| 4a280 | 65 74 68 6f 64 20 3f 76 0a 20 20 20 20 22 4f 70    65 6e 20 70 72 6f 6a 65 63 74 20 72 6f 6f 74 20 | ethod.?v....."Open.project.root. | 
| 4a2a0 | 69 6e 20 76 63 2d 64 69 72 20 6f 72 20 6d 61 67    69 74 2e 22 0a 20 20 20 20 28 70 72 6f 6a 65 63 | in.vc-dir.or.magit.".....(projec | 
| 4a2c0 | 74 69 6c 65 2d 76 63 29 29 0a 0a 20 20 28 64 65    66 2d 70 72 6f 6a 65 63 74 69 6c 65 2d 63 6f 6d | tile-vc))....(def-projectile-com | 
| 4a2e0 | 6d 61 6e 64 65 72 2d 6d 65 74 68 6f 64 20 3f 56    0a 20 20 20 20 22 42 72 6f 77 73 65 20 64 69 72 | mander-method.?V....."Browse.dir | 
| 4a300 | 74 79 20 70 72 6f 6a 65 63 74 73 22 0a 20 20 20    20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 62 72 6f | ty.projects".....(projectile-bro | 
| 4a320 | 77 73 65 2d 64 69 72 74 79 2d 70 72 6f 6a 65 63    74 73 29 29 0a 0a 20 20 28 64 65 66 2d 70 72 6f | wse-dirty-projects))....(def-pro | 
| 4a340 | 6a 65 63 74 69 6c 65 2d 63 6f 6d 6d 61 6e 64 65    72 2d 6d 65 74 68 6f 64 20 3f 72 0a 20 20 20 20 | jectile-commander-method.?r..... | 
| 4a360 | 22 52 65 70 6c 61 63 65 20 61 20 73 74 72 69 6e    67 20 69 6e 20 74 68 65 20 70 72 6f 6a 65 63 74 | "Replace.a.string.in.the.project | 
| 4a380 | 2e 22 0a 20 20 20 20 28 70 72 6f 6a 65 63 74 69    6c 65 2d 72 65 70 6c 61 63 65 29 29 0a 0a 20 20 | .".....(projectile-replace)).... | 
| 4a3a0 | 28 64 65 66 2d 70 72 6f 6a 65 63 74 69 6c 65 2d    63 6f 6d 6d 61 6e 64 65 72 2d 6d 65 74 68 6f 64 | (def-projectile-commander-method | 
| 4a3c0 | 20 3f 52 0a 20 20 20 20 22 52 65 67 65 6e 65 72    61 74 65 20 74 68 65 20 70 72 6f 6a 65 63 74 27 | .?R....."Regenerate.the.project' | 
| 4a3e0 | 73 20 5b 65 7c 67 5d 74 61 67 73 2e 22 0a 20 20    20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 72 65 | s.[e|g]tags.".....(projectile-re | 
| 4a400 | 67 65 6e 65 72 61 74 65 2d 74 61 67 73 29 29 0a    0a 20 20 28 64 65 66 2d 70 72 6f 6a 65 63 74 69 | generate-tags))....(def-projecti | 
| 4a420 | 6c 65 2d 63 6f 6d 6d 61 6e 64 65 72 2d 6d 65 74    68 6f 64 20 3f 67 0a 20 20 20 20 22 52 75 6e 20 | le-commander-method.?g....."Run. | 
| 4a440 | 67 72 65 70 20 6f 6e 20 70 72 6f 6a 65 63 74 2e    22 0a 20 20 20 20 28 70 72 6f 6a 65 63 74 69 6c | grep.on.project.".....(projectil | 
| 4a460 | 65 2d 67 72 65 70 29 29 0a 0a 20 20 28 64 65 66    2d 70 72 6f 6a 65 63 74 69 6c 65 2d 63 6f 6d 6d | e-grep))....(def-projectile-comm | 
| 4a480 | 61 6e 64 65 72 2d 6d 65 74 68 6f 64 20 3f 70 0a    20 20 20 20 22 52 75 6e 20 72 69 70 67 72 65 70 | ander-method.?p....."Run.ripgrep | 
| 4a4a0 | 20 6f 6e 20 70 72 6f 6a 65 63 74 2e 22 0a 20 20    20 20 28 63 61 6c 6c 2d 69 6e 74 65 72 61 63 74 | .on.project.".....(call-interact | 
| 4a4c0 | 69 76 65 6c 79 20 23 27 70 72 6f 6a 65 63 74 69    6c 65 2d 72 69 70 67 72 65 70 29 29 0a 0a 20 20 | ively.#'projectile-ripgrep)).... | 
| 4a4e0 | 28 64 65 66 2d 70 72 6f 6a 65 63 74 69 6c 65 2d    63 6f 6d 6d 61 6e 64 65 72 2d 6d 65 74 68 6f 64 | (def-projectile-commander-method | 
| 4a500 | 20 3f 61 0a 20 20 20 20 22 52 75 6e 20 61 67 20    6f 6e 20 70 72 6f 6a 65 63 74 2e 22 0a 20 20 20 | .?a....."Run.ag.on.project.".... | 
| 4a520 | 20 28 63 61 6c 6c 2d 69 6e 74 65 72 61 63 74 69    76 65 6c 79 20 23 27 70 72 6f 6a 65 63 74 69 6c | .(call-interactively.#'projectil | 
| 4a540 | 65 2d 61 67 29 29 0a 0a 20 20 28 64 65 66 2d 70    72 6f 6a 65 63 74 69 6c 65 2d 63 6f 6d 6d 61 6e | e-ag))....(def-projectile-comman | 
| 4a560 | 64 65 72 2d 6d 65 74 68 6f 64 20 3f 73 0a 20 20    20 20 22 53 77 69 74 63 68 20 70 72 6f 6a 65 63 | der-method.?s....."Switch.projec | 
| 4a580 | 74 2e 22 0a 20 20 20 20 28 70 72 6f 6a 65 63 74    69 6c 65 2d 73 77 69 74 63 68 2d 70 72 6f 6a 65 | t.".....(projectile-switch-proje | 
| 4a5a0 | 63 74 29 29 0a 0a 20 20 28 64 65 66 2d 70 72 6f    6a 65 63 74 69 6c 65 2d 63 6f 6d 6d 61 6e 64 65 | ct))....(def-projectile-commande | 
| 4a5c0 | 72 2d 6d 65 74 68 6f 64 20 3f 6f 0a 20 20 20 20    22 52 75 6e 20 6d 75 6c 74 69 2d 6f 63 63 75 72 | r-method.?o....."Run.multi-occur | 
| 4a5e0 | 20 6f 6e 20 70 72 6f 6a 65 63 74 20 62 75 66 66    65 72 73 2e 22 0a 20 20 20 20 28 70 72 6f 6a 65 | .on.project.buffers.".....(proje | 
| 4a600 | 63 74 69 6c 65 2d 6d 75 6c 74 69 2d 6f 63 63 75    72 29 29 0a 0a 20 20 28 64 65 66 2d 70 72 6f 6a | ctile-multi-occur))....(def-proj | 
| 4a620 | 65 63 74 69 6c 65 2d 63 6f 6d 6d 61 6e 64 65 72    2d 6d 65 74 68 6f 64 20 3f 6a 0a 20 20 20 20 22 | ectile-commander-method.?j....." | 
| 4a640 | 46 69 6e 64 20 74 61 67 20 69 6e 20 70 72 6f 6a    65 63 74 2e 22 0a 20 20 20 20 28 70 72 6f 6a 65 | Find.tag.in.project.".....(proje | 
| 4a660 | 63 74 69 6c 65 2d 66 69 6e 64 2d 74 61 67 29 29    0a 0a 20 20 28 64 65 66 2d 70 72 6f 6a 65 63 74 | ctile-find-tag))....(def-project | 
| 4a680 | 69 6c 65 2d 63 6f 6d 6d 61 6e 64 65 72 2d 6d 65    74 68 6f 64 20 3f 6b 0a 20 20 20 20 22 4b 69 6c | ile-commander-method.?k....."Kil | 
| 4a6a0 | 6c 20 61 6c 6c 20 70 72 6f 6a 65 63 74 20 62 75    66 66 65 72 73 2e 22 0a 20 20 20 20 28 70 72 6f | l.all.project.buffers.".....(pro | 
| 4a6c0 | 6a 65 63 74 69 6c 65 2d 6b 69 6c 6c 2d 62 75 66    66 65 72 73 29 29 0a 0a 20 20 28 64 65 66 2d 70 | jectile-kill-buffers))....(def-p | 
| 4a6e0 | 72 6f 6a 65 63 74 69 6c 65 2d 63 6f 6d 6d 61 6e    64 65 72 2d 6d 65 74 68 6f 64 20 3f 65 0a 20 20 | rojectile-commander-method.?e... | 
| 4a700 | 20 20 22 46 69 6e 64 20 72 65 63 65 6e 74 6c 79    20 76 69 73 69 74 65 64 20 66 69 6c 65 20 69 6e | .."Find.recently.visited.file.in | 
| 4a720 | 20 70 72 6f 6a 65 63 74 2e 22 0a 20 20 20 20 28    70 72 6f 6a 65 63 74 69 6c 65 2d 72 65 63 65 6e | .project.".....(projectile-recen | 
| 4a740 | 74 66 29 29 29 0a 0a 0c 0a 3b 3b 3b 20 44 69 72    74 79 20 28 6d 6f 64 69 66 69 65 64 29 20 70 72 | tf)))....;;;.Dirty.(modified).pr | 
| 4a760 | 6f 6a 65 63 74 20 63 68 65 63 6b 20 72 65 6c 61    74 65 64 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74 | oject.check.related.functionalit | 
| 4a780 | 79 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74    69 6c 65 2d 63 68 65 63 6b 2d 76 63 73 2d 73 74 | y.(defun.projectile-check-vcs-st | 
| 4a7a0 | 61 74 75 73 20 28 26 6f 70 74 69 6f 6e 61 6c 20    70 72 6f 6a 65 63 74 2d 70 61 74 68 29 0a 20 20 | atus.(&optional.project-path)... | 
| 4a7c0 | 22 43 68 65 63 6b 20 74 68 65 20 73 74 61 74 75    73 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 | "Check.the.status.of.the.current | 
| 4a7e0 | 20 70 72 6f 6a 65 63 74 2e 0a 49 66 20 50 52 4f    4a 45 43 54 2d 50 41 54 48 20 69 73 20 61 20 70 | .project..If.PROJECT-PATH.is.a.p | 
| 4a800 | 72 6f 6a 65 63 74 2c 20 63 68 65 63 6b 20 74 68    69 73 20 6f 6e 65 20 69 6e 73 74 65 61 64 2e 22 | roject,.check.this.one.instead." | 
| 4a820 | 0a 20 20 28 6c 65 74 20 28 28 70 72 6f 6a 65 63    74 2d 70 61 74 68 20 28 6f 72 20 70 72 6f 6a 65 | ...(let.((project-path.(or.proje | 
| 4a840 | 63 74 2d 70 61 74 68 20 28 70 72 6f 6a 65 63 74    69 6c 65 2d 61 63 71 75 69 72 65 2d 72 6f 6f 74 | ct-path.(projectile-acquire-root | 
| 4a860 | 29 29 29 0a 20 20 20 20 20 20 20 20 28 70 72 6f    6a 65 63 74 2d 73 74 61 74 75 73 20 6e 69 6c 29 | ))).........(project-status.nil) | 
| 4a880 | 29 0a 20 20 20 20 28 73 61 76 65 2d 65 78 63 75    72 73 69 6f 6e 0a 20 20 20 20 20 20 28 76 63 2d | ).....(save-excursion.......(vc- | 
| 4a8a0 | 64 69 72 20 70 72 6f 6a 65 63 74 2d 70 61 74 68    29 0a 20 20 20 20 20 20 3b 3b 20 77 61 69 74 20 | dir.project-path).......;;.wait. | 
| 4a8c0 | 75 6e 74 69 6c 20 76 63 2d 64 69 72 20 69 73 20    64 6f 6e 65 0a 20 20 20 20 20 20 28 77 68 69 6c | until.vc-dir.is.done.......(whil | 
| 4a8e0 | 65 20 28 76 63 2d 64 69 72 2d 62 75 73 79 29 20    28 73 6c 65 65 70 2d 66 6f 72 20 30 20 31 30 30 | e.(vc-dir-busy).(sleep-for.0.100 | 
| 4a900 | 29 29 0a 20 20 20 20 20 20 3b 3b 20 63 68 65 63    6b 20 66 6f 72 20 73 74 61 74 75 73 0a 20 20 20 | )).......;;.check.for.status.... | 
| 4a920 | 20 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 69    6f 6e 0a 20 20 20 20 20 20 20 20 28 73 61 76 65 | ...(save-excursion.........(save | 
| 4a940 | 2d 6d 61 74 63 68 2d 64 61 74 61 0a 20 20 20 20    20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 63 | -match-data...........(dolist.(c | 
| 4a960 | 68 65 63 6b 20 70 72 6f 6a 65 63 74 69 6c 65 2d    76 63 73 2d 64 69 72 74 79 2d 73 74 61 74 65 29 | heck.projectile-vcs-dirty-state) | 
| 4a980 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 67 6f    74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d | .............(goto-char.(point-m | 
| 4a9a0 | 69 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 28 77 68 65 6e 20 28 73 65 61 72 63 68 2d 66 | in)).............(when.(search-f | 
| 4a9c0 | 6f 72 77 61 72 64 20 63 68 65 63 6b 20 6e 69 6c    20 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | orward.check.nil.t)............. | 
| 4a9e0 | 20 20 28 73 65 74 71 20 70 72 6f 6a 65 63 74 2d    73 74 61 74 75 73 20 28 63 6f 6e 73 20 63 68 65 | ..(setq.project-status.(cons.che | 
| 4aa00 | 63 6b 20 70 72 6f 6a 65 63 74 2d 73 74 61 74 75    73 29 29 29 29 29 29 0a 20 20 20 20 20 20 28 6b | ck.project-status)))))).......(k | 
| 4aa20 | 69 6c 6c 2d 62 75 66 66 65 72 29 0a 20 20 20 20    20 20 70 72 6f 6a 65 63 74 2d 73 74 61 74 75 73 | ill-buffer).......project-status | 
| 4aa40 | 29 29 29 0a 0a 28 64 65 66 76 61 72 20 70 72 6f    6a 65 63 74 69 6c 65 2d 63 61 63 68 65 64 2d 64 | )))..(defvar.projectile-cached-d | 
| 4aa60 | 69 72 74 79 2d 70 72 6f 6a 65 63 74 73 2d 73 74    61 74 75 73 20 6e 69 6c 0a 20 20 22 43 61 63 68 | irty-projects-status.nil..."Cach | 
| 4aa80 | 65 20 6f 66 20 74 68 65 20 6c 61 73 74 20 64 69    72 74 79 20 70 72 6f 6a 65 63 74 73 20 63 68 65 | e.of.the.last.dirty.projects.che | 
| 4aaa0 | 63 6b 2e 22 29 0a 0a 28 64 65 66 75 6e 20 70 72    6f 6a 65 63 74 69 6c 65 2d 63 68 65 63 6b 2d 76 | ck.")..(defun.projectile-check-v | 
| 4aac0 | 63 73 2d 73 74 61 74 75 73 2d 6f 66 2d 6b 6e 6f    77 6e 2d 70 72 6f 6a 65 63 74 73 20 28 29 0a 20 | cs-status-of-known-projects.().. | 
| 4aae0 | 20 22 52 65 74 75 72 6e 20 74 68 65 20 6c 69 73    74 20 6f 66 20 64 69 72 74 79 20 70 72 6f 6a 65 | ."Return.the.list.of.dirty.proje | 
| 4ab00 | 63 74 73 2e 0a 54 68 65 20 6c 69 73 74 20 69 73    20 63 6f 6d 70 6f 73 65 64 20 6f 66 20 73 75 62 | cts..The.list.is.composed.of.sub | 
| 4ab20 | 6c 69 73 74 73 7e 3a 20 28 70 72 6f 6a 65 63 74    2d 70 61 74 68 2c 20 70 72 6f 6a 65 63 74 2d 73 | lists~:.(project-path,.project-s | 
| 4ab40 | 74 61 74 75 73 29 2e 0a 52 61 69 73 65 20 61 6e    20 65 72 72 6f 72 20 69 66 20 74 68 65 69 72 20 | tatus)..Raise.an.error.if.their. | 
| 4ab60 | 69 73 20 6e 6f 20 64 69 72 74 79 20 70 72 6f 6a    65 63 74 2e 22 0a 20 20 28 73 61 76 65 2d 77 69 | is.no.dirty.project."...(save-wi | 
| 4ab80 | 6e 64 6f 77 2d 65 78 63 75 72 73 69 6f 6e 0a 20    20 20 20 28 6d 65 73 73 61 67 65 20 22 43 68 65 | ndow-excursion.....(message."Che | 
| 4aba0 | 63 6b 69 6e 67 20 66 6f 72 20 6d 6f 64 69 66 69    63 61 74 69 6f 6e 73 20 69 6e 20 6b 6e 6f 77 6e | cking.for.modifications.in.known | 
| 4abc0 | 20 70 72 6f 6a 65 63 74 73 2e 2e 2e 22 29 0a 20    20 20 20 28 6c 65 74 20 28 28 70 72 6f 6a 65 63 | .projects...").....(let.((projec | 
| 4abe0 | 74 73 20 70 72 6f 6a 65 63 74 69 6c 65 2d 6b 6e    6f 77 6e 2d 70 72 6f 6a 65 63 74 73 29 0a 20 20 | ts.projectile-known-projects)... | 
| 4ac00 | 20 20 20 20 20 20 20 20 28 73 74 61 74 75 73 20    28 29 29 29 0a 20 20 20 20 20 20 28 64 6f 6c 69 | ........(status.())).......(doli | 
| 4ac20 | 73 74 20 28 70 72 6f 6a 65 63 74 20 70 72 6f 6a    65 63 74 73 29 0a 20 20 20 20 20 20 20 20 28 77 | st.(project.projects).........(w | 
| 4ac40 | 68 65 6e 20 28 61 6e 64 20 28 70 72 6f 6a 65 63    74 69 6c 65 2d 6b 65 65 70 2d 70 72 6f 6a 65 63 | hen.(and.(projectile-keep-projec | 
| 4ac60 | 74 2d 70 20 70 72 6f 6a 65 63 74 29 20 28 6e 6f    74 20 28 73 74 72 69 6e 67 3d 20 27 6e 6f 6e 65 | t-p.project).(not.(string=.'none | 
| 4ac80 | 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f    6a 65 63 74 2d 76 63 73 20 70 72 6f 6a 65 63 74 | .(projectile-project-vcs.project | 
| 4aca0 | 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28    6c 65 74 20 28 28 74 6d 70 2d 73 74 61 74 75 73 | ))))...........(let.((tmp-status | 
| 4acc0 | 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 63 68 65    63 6b 2d 76 63 73 2d 73 74 61 74 75 73 20 70 72 | .(projectile-check-vcs-status.pr | 
| 4ace0 | 6f 6a 65 63 74 29 29 29 0a 20 20 20 20 20 20 20    20 20 20 20 20 28 77 68 65 6e 20 74 6d 70 2d 73 | oject))).............(when.tmp-s | 
| 4ad00 | 74 61 74 75 73 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 73 65 74 71 20 73 74 61 74 75 73 | tatus...............(setq.status | 
| 4ad20 | 20 28 63 6f 6e 73 20 28 6c 69 73 74 20 70 72 6f    6a 65 63 74 20 74 6d 70 2d 73 74 61 74 75 73 29 | .(cons.(list.project.tmp-status) | 
| 4ad40 | 20 73 74 61 74 75 73 29 29 29 29 29 29 0a 20 20    20 20 20 20 28 77 68 65 6e 20 28 3d 20 28 6c 65 | .status)))))).......(when.(=.(le | 
| 4ad60 | 6e 67 74 68 20 73 74 61 74 75 73 29 20 30 29 0a    20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 | ngth.status).0).........(message | 
| 4ad80 | 20 22 4e 6f 20 64 69 72 74 79 20 70 72 6f 6a 65    63 74 73 20 68 61 76 65 20 62 65 65 6e 20 66 6f | ."No.dirty.projects.have.been.fo | 
| 4ada0 | 75 6e 64 22 29 29 0a 20 20 20 20 20 20 28 73 65    74 71 20 70 72 6f 6a 65 63 74 69 6c 65 2d 63 61 | und")).......(setq.projectile-ca | 
| 4adc0 | 63 68 65 64 2d 64 69 72 74 79 2d 70 72 6f 6a 65    63 74 73 2d 73 74 61 74 75 73 20 73 74 61 74 75 | ched-dirty-projects-status.statu | 
| 4ade0 | 73 29 0a 20 20 20 20 20 20 73 74 61 74 75 73 29    29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f | s).......status)))..;;;###autolo | 
| 4ae00 | 61 64 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63    74 69 6c 65 2d 62 72 6f 77 73 65 2d 64 69 72 74 | ad.(defun.projectile-browse-dirt | 
| 4ae20 | 79 2d 70 72 6f 6a 65 63 74 73 20 28 26 6f 70 74    69 6f 6e 61 6c 20 63 61 63 68 65 64 29 0a 20 20 | y-projects.(&optional.cached)... | 
| 4ae40 | 22 42 72 6f 77 73 65 20 64 69 72 74 79 20 76 65    72 73 69 6f 6e 20 63 6f 6e 74 72 6f 6c 6c 65 64 | "Browse.dirty.version.controlled | 
| 4ae60 | 20 70 72 6f 6a 65 63 74 73 2e 0a 0a 57 69 74 68    20 61 20 70 72 65 66 69 78 20 61 72 67 75 6d 65 | .projects...With.a.prefix.argume | 
| 4ae80 | 6e 74 2c 20 6f 72 20 69 66 20 43 41 43 48 45 44    20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 72 79 | nt,.or.if.CACHED.is.non-nil,.try | 
| 4aea0 | 20 74 6f 20 75 73 65 20 74 68 65 20 63 61 63 68    65 64 0a 64 69 72 74 79 20 70 72 6f 6a 65 63 74 | .to.use.the.cached.dirty.project | 
| 4aec0 | 20 6c 69 73 74 2e 22 0a 20 20 28 69 6e 74 65 72    61 63 74 69 76 65 20 22 50 22 29 0a 20 20 28 6c | .list."...(interactive."P")...(l | 
| 4aee0 | 65 74 20 28 28 73 74 61 74 75 73 20 28 69 66 20    28 61 6e 64 20 63 61 63 68 65 64 20 70 72 6f 6a | et.((status.(if.(and.cached.proj | 
| 4af00 | 65 63 74 69 6c 65 2d 63 61 63 68 65 64 2d 64 69    72 74 79 2d 70 72 6f 6a 65 63 74 73 2d 73 74 61 | ectile-cached-dirty-projects-sta | 
| 4af20 | 74 75 73 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 70 72 6f 6a 65 63 74 | tus).....................project | 
| 4af40 | 69 6c 65 2d 63 61 63 68 65 64 2d 64 69 72 74 79    2d 70 72 6f 6a 65 63 74 73 2d 73 74 61 74 75 73 | ile-cached-dirty-projects-status | 
| 4af60 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 63 | ...................(projectile-c | 
| 4af80 | 68 65 63 6b 2d 76 63 73 2d 73 74 61 74 75 73 2d    6f 66 2d 6b 6e 6f 77 6e 2d 70 72 6f 6a 65 63 74 | heck-vcs-status-of-known-project | 
| 4afa0 | 73 29 29 29 0a 20 20 20 20 20 20 20 20 28 6d 6f    64 2d 70 72 6f 6a 20 6e 69 6c 29 29 0a 20 20 20 | s))).........(mod-proj.nil)).... | 
| 4afc0 | 20 28 77 68 69 6c 65 20 28 6e 6f 74 20 28 3d 20    28 6c 65 6e 67 74 68 20 73 74 61 74 75 73 29 20 | .(while.(not.(=.(length.status). | 
| 4afe0 | 30 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20    6d 6f 64 2d 70 72 6f 6a 20 28 63 6f 6e 73 20 28 | 0)).......(setq.mod-proj.(cons.( | 
| 4b000 | 63 61 72 20 28 70 6f 70 20 73 74 61 74 75 73 29    29 20 6d 6f 64 2d 70 72 6f 6a 29 29 29 0a 20 20 | car.(pop.status)).mod-proj)))... | 
| 4b020 | 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 63 6f    6d 70 6c 65 74 69 6e 67 2d 72 65 61 64 20 22 53 | ..(projectile-completing-read."S | 
| 4b040 | 65 6c 65 63 74 20 70 72 6f 6a 65 63 74 3a 20 22    20 6d 6f 64 2d 70 72 6f 6a 0a 20 20 20 20 20 20 | elect.project:.".mod-proj....... | 
| 4b060 | 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 3a 61 63 74 69 6f | ..........................:actio | 
| 4b080 | 6e 20 27 70 72 6f 6a 65 63 74 69 6c 65 2d 76 63    29 29 29 0a 0a 0c 0a 3b 3b 3b 20 46 69 6e 64 20 | n.'projectile-vc)))....;;;.Find. | 
| 4b0a0 | 6e 65 78 74 2f 70 72 65 76 69 6f 75 73 20 70 72    6f 6a 65 63 74 20 62 75 66 66 65 72 0a 28 64 65 | next/previous.project.buffer.(de | 
| 4b0c0 | 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 2d    72 65 70 65 61 74 2d 75 6e 74 69 6c 2d 70 72 6f | fun.projectile--repeat-until-pro | 
| 4b0e0 | 6a 65 63 74 2d 62 75 66 66 65 72 20 28 6f 72 69    67 2d 66 75 6e 20 26 72 65 73 74 20 61 72 67 73 | ject-buffer.(orig-fun.&rest.args | 
| 4b100 | 29 0a 20 20 22 52 65 70 65 61 74 20 4f 52 49 47    2d 46 55 4e 20 77 69 74 68 20 41 52 47 53 20 75 | )..."Repeat.ORIG-FUN.with.ARGS.u | 
| 4b120 | 6e 74 69 6c 20 74 68 65 20 63 75 72 72 65 6e 74    20 62 75 66 66 65 72 20 69 73 20 61 20 70 72 6f | ntil.the.current.buffer.is.a.pro | 
| 4b140 | 6a 65 63 74 20 62 75 66 66 65 72 2e 22 0a 20 20    28 69 66 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d | ject.buffer."...(if.(projectile- | 
| 4b160 | 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 29 0a 20 20    20 20 20 20 28 6c 65 74 2a 20 28 28 6f 74 68 65 | project-root).......(let*.((othe | 
| 4b180 | 72 2d 70 72 6f 6a 65 63 74 2d 62 75 66 66 65 72    73 20 28 6d 61 6b 65 2d 68 61 73 68 2d 74 61 62 | r-project-buffers.(make-hash-tab | 
| 4b1a0 | 6c 65 20 3a 74 65 73 74 20 27 65 71 29 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f | le.:test.'eq))..............(pro | 
| 4b1c0 | 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d    62 75 66 66 65 72 73 20 28 70 72 6f 6a 65 63 74 | jectile-project-buffers.(project | 
| 4b1e0 | 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 62 75 66 66    65 72 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 | ile-project-buffers))........... | 
| 4b200 | 20 20 20 28 6d 61 78 2d 69 74 65 72 61 74 69 6f    6e 73 20 28 6c 65 6e 67 74 68 20 28 62 75 66 66 | ...(max-iterations.(length.(buff | 
| 4b220 | 65 72 2d 6c 69 73 74 29 29 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 28 63 6f 75 6e 74 65 72 | er-list)))..............(counter | 
| 4b240 | 20 30 29 29 0a 20 20 20 20 20 20 20 20 28 64 6f    6c 69 73 74 20 28 62 75 66 66 65 72 20 70 72 6f | .0)).........(dolist.(buffer.pro | 
| 4b260 | 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d    62 75 66 66 65 72 73 29 0a 20 20 20 20 20 20 20 | jectile-project-buffers)........ | 
| 4b280 | 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 20 62    75 66 66 65 72 20 28 63 75 72 72 65 6e 74 2d 62 | ...(unless.(eq.buffer.(current-b | 
| 4b2a0 | 75 66 66 65 72 29 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 28 70 75 74 68 61 73 68 20 62 75 66 | uffer)).............(puthash.buf | 
| 4b2c0 | 66 65 72 20 74 20 6f 74 68 65 72 2d 70 72 6f 6a    65 63 74 2d 62 75 66 66 65 72 73 29 29 29 0a 20 | fer.t.other-project-buffers))).. | 
| 4b2e0 | 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 63 64    72 2d 73 61 66 65 20 70 72 6f 6a 65 63 74 69 6c | .......(when.(cdr-safe.projectil | 
| 4b300 | 65 2d 70 72 6f 6a 65 63 74 2d 62 75 66 66 65 72    73 29 0a 20 20 20 20 20 20 20 20 20 20 28 77 68 | e-project-buffers)...........(wh | 
| 4b320 | 69 6c 65 20 28 61 6e 64 20 28 3c 20 63 6f 75 6e    74 65 72 20 6d 61 78 2d 69 74 65 72 61 74 69 6f | ile.(and.(<.counter.max-iteratio | 
| 4b340 | 6e 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 | ns).......................(not.( | 
| 4b360 | 67 65 74 68 61 73 68 20 28 63 75 72 72 65 6e 74    2d 62 75 66 66 65 72 29 20 6f 74 68 65 72 2d 70 | gethash.(current-buffer).other-p | 
| 4b380 | 72 6f 6a 65 63 74 2d 62 75 66 66 65 72 73 29 29    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 61 | roject-buffers))).............(a | 
| 4b3a0 | 70 70 6c 79 20 6f 72 69 67 2d 66 75 6e 20 61 72    67 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | pply.orig-fun.args)............. | 
| 4b3c0 | 28 63 6c 2d 69 6e 63 66 20 63 6f 75 6e 74 65 72    29 29 29 29 0a 20 20 20 20 28 61 70 70 6c 79 20 | (cl-incf.counter)))).....(apply. | 
| 4b3e0 | 6f 72 69 67 2d 66 75 6e 20 61 72 67 73 29 29 29    0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 | orig-fun.args)))..(defun.project | 
| 4b400 | 69 6c 65 2d 6e 65 78 74 2d 70 72 6f 6a 65 63 74    2d 62 75 66 66 65 72 20 28 29 0a 20 20 22 49 6e | ile-next-project-buffer.()..."In | 
| 4b420 | 20 73 65 6c 65 63 74 65 64 20 77 69 6e 64 6f 77    20 73 77 69 74 63 68 20 74 6f 20 74 68 65 20 6e | .selected.window.switch.to.the.n | 
| 4b440 | 65 78 74 20 70 72 6f 6a 65 63 74 20 62 75 66 66    65 72 2e 0a 0a 49 66 20 74 68 65 20 63 75 72 72 | ext.project.buffer...If.the.curr | 
| 4b460 | 65 6e 74 20 62 75 66 66 65 72 20 64 6f 65 73 20    6e 6f 74 20 62 65 6c 6f 6e 67 20 74 6f 20 61 20 | ent.buffer.does.not.belong.to.a. | 
| 4b480 | 70 72 6f 6a 65 63 74 2c 20 63 61 6c 6c 20 60 6e    65 78 74 2d 62 75 66 66 65 72 27 2e 22 0a 20 20 | project,.call.`next-buffer'."... | 
| 4b4a0 | 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20    28 70 72 6f 6a 65 63 74 69 6c 65 2d 2d 72 65 70 | (interactive)...(projectile--rep | 
| 4b4c0 | 65 61 74 2d 75 6e 74 69 6c 2d 70 72 6f 6a 65 63    74 2d 62 75 66 66 65 72 20 23 27 6e 65 78 74 2d | eat-until-project-buffer.#'next- | 
| 4b4e0 | 62 75 66 66 65 72 29 29 0a 0a 28 64 65 66 75 6e    20 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 65 76 | buffer))..(defun.projectile-prev | 
| 4b500 | 69 6f 75 73 2d 70 72 6f 6a 65 63 74 2d 62 75 66    66 65 72 20 28 29 0a 20 20 22 49 6e 20 73 65 6c | ious-project-buffer.()..."In.sel | 
| 4b520 | 65 63 74 65 64 20 77 69 6e 64 6f 77 20 73 77 69    74 63 68 20 74 6f 20 74 68 65 20 70 72 65 76 69 | ected.window.switch.to.the.previ | 
| 4b540 | 6f 75 73 20 70 72 6f 6a 65 63 74 20 62 75 66 66    65 72 2e 0a 0a 49 66 20 74 68 65 20 63 75 72 72 | ous.project.buffer...If.the.curr | 
| 4b560 | 65 6e 74 20 62 75 66 66 65 72 20 64 6f 65 73 20    6e 6f 74 20 62 65 6c 6f 6e 67 20 74 6f 20 61 20 | ent.buffer.does.not.belong.to.a. | 
| 4b580 | 70 72 6f 6a 65 63 74 2c 20 63 61 6c 6c 20 60 70    72 65 76 69 6f 75 73 2d 62 75 66 66 65 72 27 2e | project,.call.`previous-buffer'. | 
| 4b5a0 | 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65    29 0a 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d | "...(interactive)...(projectile- | 
| 4b5c0 | 2d 72 65 70 65 61 74 2d 75 6e 74 69 6c 2d 70 72    6f 6a 65 63 74 2d 62 75 66 66 65 72 20 23 27 70 | -repeat-until-project-buffer.#'p | 
| 4b5e0 | 72 65 76 69 6f 75 73 2d 62 75 66 66 65 72 29 29    0a 0a 0c 0a 3b 3b 3b 20 45 64 69 74 69 6e 67 20 | revious-buffer))....;;;.Editing. | 
| 4b600 | 61 20 70 72 6f 6a 65 63 74 27 73 20 2e 64 69 72    2d 6c 6f 63 61 6c 73 0a 28 64 65 66 75 6e 20 70 | a.project's..dir-locals.(defun.p | 
| 4b620 | 72 6f 6a 65 63 74 69 6c 65 2d 72 65 61 64 2d 76    61 72 69 61 62 6c 65 20 28 29 0a 20 20 22 50 72 | rojectile-read-variable.()..."Pr | 
| 4b640 | 6f 6d 70 74 20 66 6f 72 20 61 20 76 61 72 69 61    62 6c 65 20 61 6e 64 20 72 65 74 75 72 6e 20 69 | ompt.for.a.variable.and.return.i | 
| 4b660 | 74 73 20 6e 61 6d 65 2e 22 0a 20 20 28 63 6f 6d    70 6c 65 74 69 6e 67 2d 72 65 61 64 20 22 56 61 | ts.name."...(completing-read."Va | 
| 4b680 | 72 69 61 62 6c 65 3a 20 22 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 6f 62 61 | riable:."....................oba | 
| 4b6a0 | 72 72 61 79 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 | rray....................(lambda. | 
| 4b6c0 | 28 76 29 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 62 | (v)......................(and.(b | 
| 4b6e0 | 6f 75 6e 64 70 20 76 29 20 28 6e 6f 74 20 28 6b    65 79 77 6f 72 64 70 20 76 29 29 29 29 0a 20 20 | oundp.v).(not.(keywordp.v))))... | 
| 4b700 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 74 29 29 0a 0a 28 64 65 66 69 6e 65 2d 73 6b | .................t))..(define-sk | 
| 4b720 | 65 6c 65 74 6f 6e 20 70 72 6f 6a 65 63 74 69 6c    65 2d 73 6b 65 6c 2d 76 61 72 69 61 62 6c 65 2d | eleton.projectile-skel-variable- | 
| 4b740 | 63 6f 6e 73 0a 20 20 22 49 6e 73 65 72 74 20 61    20 76 61 72 69 61 62 6c 65 2d 6e 61 6d 65 20 61 | cons..."Insert.a.variable-name.a | 
| 4b760 | 6e 64 20 61 20 76 61 6c 75 65 20 69 6e 20 61 20    63 6f 6e 73 2d 63 65 6c 6c 2e 22 0a 20 20 22 56 | nd.a.value.in.a.cons-cell."..."V | 
| 4b780 | 61 6c 75 65 3a 20 22 0a 20 20 22 28 22 0a 20 20    28 70 72 6f 6a 65 63 74 69 6c 65 2d 72 65 61 64 | alue:."..."("...(projectile-read | 
| 4b7a0 | 2d 76 61 72 69 61 62 6c 65 29 0a 20 20 22 20 2e    20 22 0a 20 20 73 74 72 0a 20 20 22 29 22 29 0a | -variable)..."..."...str...")"). | 
| 4b7c0 | 0a 28 64 65 66 69 6e 65 2d 73 6b 65 6c 65 74 6f    6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 73 6b 65 | .(define-skeleton.projectile-ske | 
| 4b7e0 | 6c 2d 64 69 72 2d 6c 6f 63 61 6c 73 0a 20 20 22    49 6e 73 65 72 74 20 61 20 2e 64 69 72 2d 6c 6f | l-dir-locals..."Insert.a..dir-lo | 
| 4b800 | 63 61 6c 73 2e 65 6c 20 74 65 6d 70 6c 61 74 65    2e 22 0a 20 20 6e 69 6c 0a 20 20 22 28 28 6e 69 | cals.el.template."...nil..."((ni | 
| 4b820 | 6c 20 2e 20 28 22 0a 20 20 28 22 22 20 27 28 70    72 6f 6a 65 63 74 69 6c 65 2d 73 6b 65 6c 2d 76 | l...("...("".'(projectile-skel-v | 
| 4b840 | 61 72 69 61 62 6c 65 2d 63 6f 6e 73 29 20 5c 6e    29 0a 20 20 72 65 73 75 6d 65 3a 0a 20 20 22 29 | ariable-cons).\n)...resume:...") | 
| 4b860 | 29 29 22 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 70 72 6f 6a | ))")..;;;###autoload.(defun.proj | 
| 4b880 | 65 63 74 69 6c 65 2d 65 64 69 74 2d 64 69 72 2d    6c 6f 63 61 6c 73 20 28 29 0a 20 20 22 45 64 69 | ectile-edit-dir-locals.()..."Edi | 
| 4b8a0 | 74 20 6f 72 20 63 72 65 61 74 65 20 61 20 2e 64    69 72 2d 6c 6f 63 61 6c 73 2e 65 6c 20 66 69 6c | t.or.create.a..dir-locals.el.fil | 
| 4b8c0 | 65 20 6f 66 20 74 68 65 20 70 72 6f 6a 65 63 74    2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 | e.of.the.project."...(interactiv | 
| 4b8e0 | 65 29 0a 20 20 28 6c 65 74 20 28 28 66 69 6c 65    20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 | e)...(let.((file.(expand-file-na | 
| 4b900 | 6d 65 20 22 2e 64 69 72 2d 6c 6f 63 61 6c 73 2e    65 6c 22 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d | me.".dir-locals.el".(projectile- | 
| 4b920 | 61 63 71 75 69 72 65 2d 72 6f 6f 74 29 29 29 29    0a 20 20 20 20 28 66 69 6e 64 2d 66 69 6c 65 20 | acquire-root)))).....(find-file. | 
| 4b940 | 66 69 6c 65 29 0a 20 20 20 20 28 77 68 65 6e 20    28 6e 6f 74 20 28 66 69 6c 65 2d 65 78 69 73 74 | file).....(when.(not.(file-exist | 
| 4b960 | 73 2d 70 20 66 69 6c 65 29 29 0a 20 20 20 20 20    20 28 75 6e 77 69 6e 64 2d 70 72 6f 74 65 63 74 | s-p.file)).......(unwind-protect | 
| 4b980 | 0a 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 6a    65 63 74 69 6c 65 2d 73 6b 65 6c 2d 64 69 72 2d | ...........(projectile-skel-dir- | 
| 4b9a0 | 6c 6f 63 61 6c 73 29 0a 20 20 20 20 20 20 20 20    28 73 61 76 65 2d 62 75 66 66 65 72 29 29 29 29 | locals).........(save-buffer)))) | 
| 4b9c0 | 29 0a 0a 0c 0a 3b 3b 3b 20 50 72 6f 6a 65 63 74    69 6c 65 20 4d 69 6e 6f 72 20 6d 6f 64 65 0a 28 | )....;;;.Projectile.Minor.mode.( | 
| 4b9e0 | 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d    76 61 72 69 61 62 6c 65 2d 61 6c 69 61 73 20 27 | define-obsolete-variable-alias.' | 
| 4ba00 | 70 72 6f 6a 65 63 74 69 6c 65 2d 6d 6f 64 65 2d    6c 69 6e 65 2d 6c 69 67 68 74 65 72 20 27 70 72 | projectile-mode-line-lighter.'pr | 
| 4ba20 | 6f 6a 65 63 74 69 6c 65 2d 6d 6f 64 65 2d 6c 69    6e 65 2d 70 72 65 66 69 78 20 22 30 2e 31 32 2e | ojectile-mode-line-prefix."0.12. | 
| 4ba40 | 30 22 29 0a 28 64 65 66 63 75 73 74 6f 6d 20 70    72 6f 6a 65 63 74 69 6c 65 2d 6d 6f 64 65 2d 6c | 0").(defcustom.projectile-mode-l | 
| 4ba60 | 69 6e 65 2d 70 72 65 66 69 78 0a 20 20 22 20 50    72 6f 6a 65 63 74 69 6c 65 22 0a 20 20 22 4d 6f | ine-prefix...".Projectile"..."Mo | 
| 4ba80 | 64 65 20 6c 69 6e 65 20 6c 69 67 68 74 65 72 20    70 72 65 66 69 78 20 66 6f 72 20 50 72 6f 6a 65 | de.line.lighter.prefix.for.Proje | 
| 4baa0 | 63 74 69 6c 65 2e 0a 49 74 27 73 20 75 73 65 64    20 62 79 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d | ctile..It's.used.by.`projectile- | 
| 4bac0 | 64 65 66 61 75 6c 74 2d 6d 6f 64 65 2d 6c 69 6e    65 27 0a 77 68 65 6e 20 75 73 69 6e 67 20 64 79 | default-mode-line'.when.using.dy | 
| 4bae0 | 6e 61 6d 69 63 20 6d 6f 64 65 20 6c 69 6e 65 20    6c 69 67 68 74 65 72 20 61 6e 64 20 69 73 20 74 | namic.mode.line.lighter.and.is.t | 
| 4bb00 | 68 65 20 6f 6e 6c 79 0a 74 68 69 6e 67 20 73 68    6f 77 6e 20 69 6e 20 74 68 65 20 6d 6f 64 65 20 | he.only.thing.shown.in.the.mode. | 
| 4bb20 | 6c 69 6e 65 20 6f 74 68 65 72 77 69 73 65 2e 22    0a 20 20 3a 67 72 6f 75 70 20 27 70 72 6f 6a 65 | line.otherwise."...:group.'proje | 
| 4bb40 | 63 74 69 6c 65 0a 20 20 3a 74 79 70 65 20 27 73    74 72 69 6e 67 0a 20 20 3a 70 61 63 6b 61 67 65 | ctile...:type.'string...:package | 
| 4bb60 | 2d 76 65 72 73 69 6f 6e 20 27 28 70 72 6f 6a 65    63 74 69 6c 65 20 2e 20 22 30 2e 31 32 2e 30 22 | -version.'(projectile..."0.12.0" | 
| 4bb80 | 29 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 70    72 6f 6a 65 63 74 69 6c 65 2d 73 68 6f 77 2d 6d | ))..(defcustom.projectile-show-m | 
| 4bba0 | 65 6e 75 20 74 0a 20 20 22 43 6f 6e 74 72 6f 6c    73 20 77 68 65 74 68 65 72 20 74 6f 20 64 69 73 | enu.t..."Controls.whether.to.dis | 
| 4bbc0 | 70 6c 61 79 20 50 72 6f 6a 65 63 74 69 6c 65 27    73 20 6d 65 6e 75 2e 22 0a 20 20 3a 67 72 6f 75 | play.Projectile's.menu."...:grou | 
| 4bbe0 | 70 20 27 70 72 6f 6a 65 63 74 69 6c 65 0a 20 20    3a 74 79 70 65 20 27 62 6f 6f 6c 65 61 6e 0a 20 | p.'projectile...:type.'boolean.. | 
| 4bc00 | 20 3a 70 61 63 6b 61 67 65 2d 76 65 72 73 69 6f    6e 20 27 28 70 72 6f 6a 65 63 74 69 6c 65 20 2e | .:package-version.'(projectile.. | 
| 4bc20 | 20 22 32 2e 36 2e 30 22 29 29 0a 0a 28 64 65 66    76 61 72 2d 6c 6f 63 61 6c 20 70 72 6f 6a 65 63 | ."2.6.0"))..(defvar-local.projec | 
| 4bc40 | 74 69 6c 65 2d 2d 6d 6f 64 65 2d 6c 69 6e 65 20    70 72 6f 6a 65 63 74 69 6c 65 2d 6d 6f 64 65 2d | tile--mode-line.projectile-mode- | 
| 4bc60 | 6c 69 6e 65 2d 70 72 65 66 69 78 29 0a 0a 28 64    65 66 75 6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d | line-prefix)..(defun.projectile- | 
| 4bc80 | 64 65 66 61 75 6c 74 2d 6d 6f 64 65 2d 6c 69 6e    65 20 28 29 0a 20 20 22 52 65 70 6f 72 74 20 70 | default-mode-line.()..."Report.p | 
| 4bca0 | 72 6f 6a 65 63 74 20 6e 61 6d 65 20 61 6e 64 20    74 79 70 65 20 69 6e 20 74 68 65 20 6d 6f 64 65 | roject.name.and.type.in.the.mode | 
| 4bcc0 | 6c 69 6e 65 2e 22 0a 20 20 28 6c 65 74 20 28 28    70 72 6f 6a 65 63 74 2d 6e 61 6d 65 20 28 70 72 | line."...(let.((project-name.(pr | 
| 4bce0 | 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74    2d 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 | ojectile-project-name))......... | 
| 4bd00 | 28 70 72 6f 6a 65 63 74 2d 74 79 70 65 20 28 70    72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 | (project-type.(projectile-projec | 
| 4bd20 | 74 2d 74 79 70 65 29 29 29 0a 20 20 20 20 28 66    6f 72 6d 61 74 20 22 25 73 5b 25 73 25 73 5d 22 | t-type))).....(format."%s[%s%s]" | 
| 4bd40 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 72 6f    6a 65 63 74 69 6c 65 2d 6d 6f 64 65 2d 6c 69 6e | .............projectile-mode-lin | 
| 4bd60 | 65 2d 70 72 65 66 69 78 0a 20 20 20 20 20 20 20    20 20 20 20 20 28 6f 72 20 70 72 6f 6a 65 63 74 | e-prefix.............(or.project | 
| 4bd80 | 2d 6e 61 6d 65 20 22 2d 22 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 28 69 66 20 70 72 6f 6a 65 | -name."-").............(if.proje | 
| 4bda0 | 63 74 2d 74 79 70 65 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 | ct-type.................(format. | 
| 4bdc0 | 22 3a 25 73 22 20 70 72 6f 6a 65 63 74 2d 74 79    70 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ":%s".project-type)............. | 
| 4bde0 | 20 20 22 22 29 29 29 29 0a 0a 28 64 65 66 75 6e    20 70 72 6f 6a 65 63 74 69 6c 65 2d 75 70 64 61 | ..""))))..(defun.projectile-upda | 
| 4be00 | 74 65 2d 6d 6f 64 65 2d 6c 69 6e 65 20 28 29 0a    20 20 22 55 70 64 61 74 65 20 74 68 65 20 50 72 | te-mode-line.()..."Update.the.Pr | 
| 4be20 | 6f 6a 65 63 74 69 6c 65 20 6d 6f 64 65 2d 6c 69    6e 65 2e 22 0a 20 20 28 6c 65 74 20 28 28 6d 6f | ojectile.mode-line."...(let.((mo | 
| 4be40 | 64 65 2d 6c 69 6e 65 20 28 66 75 6e 63 61 6c 6c    20 70 72 6f 6a 65 63 74 69 6c 65 2d 6d 6f 64 65 | de-line.(funcall.projectile-mode | 
| 4be60 | 2d 6c 69 6e 65 2d 66 75 6e 63 74 69 6f 6e 29 29    29 0a 20 20 20 20 28 73 65 74 71 20 70 72 6f 6a | -line-function))).....(setq.proj | 
| 4be80 | 65 63 74 69 6c 65 2d 2d 6d 6f 64 65 2d 6c 69 6e    65 20 6d 6f 64 65 2d 6c 69 6e 65 29 29 0a 20 20 | ectile--mode-line.mode-line))... | 
| 4bea0 | 28 66 6f 72 63 65 2d 6d 6f 64 65 2d 6c 69 6e 65    2d 75 70 64 61 74 65 29 29 0a 0a 28 64 65 66 76 | (force-mode-line-update))..(defv | 
| 4bec0 | 61 72 20 70 72 6f 6a 65 63 74 69 6c 65 2d 63 6f    6d 6d 61 6e 64 2d 6d 61 70 0a 20 20 28 6c 65 74 | ar.projectile-command-map...(let | 
| 4bee0 | 20 28 28 6d 61 70 20 28 6d 61 6b 65 2d 73 70 61    72 73 65 2d 6b 65 79 6d 61 70 29 29 29 0a 20 20 | .((map.(make-sparse-keymap)))... | 
| 4bf00 | 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61    70 20 28 6b 62 64 20 22 34 20 61 22 29 20 23 27 | ..(define-key.map.(kbd."4.a").#' | 
| 4bf20 | 70 72 6f 6a 65 63 74 69 6c 65 2d 66 69 6e 64 2d    6f 74 68 65 72 2d 66 69 6c 65 2d 6f 74 68 65 72 | projectile-find-other-file-other | 
| 4bf40 | 2d 77 69 6e 64 6f 77 29 0a 20 20 20 20 28 64 65    66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 28 6b 62 | -window).....(define-key.map.(kb | 
| 4bf60 | 64 20 22 34 20 62 22 29 20 23 27 70 72 6f 6a 65    63 74 69 6c 65 2d 73 77 69 74 63 68 2d 74 6f 2d | d."4.b").#'projectile-switch-to- | 
| 4bf80 | 62 75 66 66 65 72 2d 6f 74 68 65 72 2d 77 69 6e    64 6f 77 29 0a 20 20 20 20 28 64 65 66 69 6e 65 | buffer-other-window).....(define | 
| 4bfa0 | 2d 6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22 34    20 43 2d 6f 22 29 20 23 27 70 72 6f 6a 65 63 74 | -key.map.(kbd."4.C-o").#'project | 
| 4bfc0 | 69 6c 65 2d 64 69 73 70 6c 61 79 2d 62 75 66 66    65 72 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d | ile-display-buffer).....(define- | 
| 4bfe0 | 6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22 34 20    64 22 29 20 23 27 70 72 6f 6a 65 63 74 69 6c 65 | key.map.(kbd."4.d").#'projectile | 
| 4c000 | 2d 66 69 6e 64 2d 64 69 72 2d 6f 74 68 65 72 2d    77 69 6e 64 6f 77 29 0a 20 20 20 20 28 64 65 66 | -find-dir-other-window).....(def | 
| 4c020 | 69 6e 65 2d 6b 65 79 20 6d 61 70 20 28 6b 62 64    20 22 34 20 44 22 29 20 23 27 70 72 6f 6a 65 63 | ine-key.map.(kbd."4.D").#'projec | 
| 4c040 | 74 69 6c 65 2d 64 69 72 65 64 2d 6f 74 68 65 72    2d 77 69 6e 64 6f 77 29 0a 20 20 20 20 28 64 65 | tile-dired-other-window).....(de | 
| 4c060 | 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 28 6b 62    64 20 22 34 20 66 22 29 20 23 27 70 72 6f 6a 65 | fine-key.map.(kbd."4.f").#'proje | 
| 4c080 | 63 74 69 6c 65 2d 66 69 6e 64 2d 66 69 6c 65 2d    6f 74 68 65 72 2d 77 69 6e 64 6f 77 29 0a 20 20 | ctile-find-file-other-window)... | 
| 4c0a0 | 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61    70 20 28 6b 62 64 20 22 34 20 67 22 29 20 23 27 | ..(define-key.map.(kbd."4.g").#' | 
| 4c0c0 | 70 72 6f 6a 65 63 74 69 6c 65 2d 66 69 6e 64 2d    66 69 6c 65 2d 64 77 69 6d 2d 6f 74 68 65 72 2d | projectile-find-file-dwim-other- | 
| 4c0e0 | 77 69 6e 64 6f 77 29 0a 20 20 20 20 28 64 65 66    69 6e 65 2d 6b 65 79 20 6d 61 70 20 28 6b 62 64 | window).....(define-key.map.(kbd | 
| 4c100 | 20 22 34 20 74 22 29 20 23 27 70 72 6f 6a 65 63    74 69 6c 65 2d 66 69 6e 64 2d 69 6d 70 6c 65 6d | ."4.t").#'projectile-find-implem | 
| 4c120 | 65 6e 74 61 74 69 6f 6e 2d 6f 72 2d 74 65 73 74    2d 6f 74 68 65 72 2d 77 69 6e 64 6f 77 29 0a 20 | entation-or-test-other-window).. | 
| 4c140 | 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d    61 70 20 28 6b 62 64 20 22 35 20 61 22 29 20 23 | ...(define-key.map.(kbd."5.a").# | 
| 4c160 | 27 70 72 6f 6a 65 63 74 69 6c 65 2d 66 69 6e 64    2d 6f 74 68 65 72 2d 66 69 6c 65 2d 6f 74 68 65 | 'projectile-find-other-file-othe | 
| 4c180 | 72 2d 66 72 61 6d 65 29 0a 20 20 20 20 28 64 65    66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 28 6b 62 | r-frame).....(define-key.map.(kb | 
| 4c1a0 | 64 20 22 35 20 62 22 29 20 23 27 70 72 6f 6a 65    63 74 69 6c 65 2d 73 77 69 74 63 68 2d 74 6f 2d | d."5.b").#'projectile-switch-to- | 
| 4c1c0 | 62 75 66 66 65 72 2d 6f 74 68 65 72 2d 66 72 61    6d 65 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d | buffer-other-frame).....(define- | 
| 4c1e0 | 6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22 35 20    64 22 29 20 23 27 70 72 6f 6a 65 63 74 69 6c 65 | key.map.(kbd."5.d").#'projectile | 
| 4c200 | 2d 66 69 6e 64 2d 64 69 72 2d 6f 74 68 65 72 2d    66 72 61 6d 65 29 0a 20 20 20 20 28 64 65 66 69 | -find-dir-other-frame).....(defi | 
| 4c220 | 6e 65 2d 6b 65 79 20 6d 61 70 20 28 6b 62 64 20    22 35 20 44 22 29 20 23 27 70 72 6f 6a 65 63 74 | ne-key.map.(kbd."5.D").#'project | 
| 4c240 | 69 6c 65 2d 64 69 72 65 64 2d 6f 74 68 65 72 2d    66 72 61 6d 65 29 0a 20 20 20 20 28 64 65 66 69 | ile-dired-other-frame).....(defi | 
| 4c260 | 6e 65 2d 6b 65 79 20 6d 61 70 20 28 6b 62 64 20    22 35 20 66 22 29 20 23 27 70 72 6f 6a 65 63 74 | ne-key.map.(kbd."5.f").#'project | 
| 4c280 | 69 6c 65 2d 66 69 6e 64 2d 66 69 6c 65 2d 6f 74    68 65 72 2d 66 72 61 6d 65 29 0a 20 20 20 20 28 | ile-find-file-other-frame).....( | 
| 4c2a0 | 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 28    6b 62 64 20 22 35 20 67 22 29 20 23 27 70 72 6f | define-key.map.(kbd."5.g").#'pro | 
| 4c2c0 | 6a 65 63 74 69 6c 65 2d 66 69 6e 64 2d 66 69 6c    65 2d 64 77 69 6d 2d 6f 74 68 65 72 2d 66 72 61 | jectile-find-file-dwim-other-fra | 
| 4c2e0 | 6d 65 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d    6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22 35 20 | me).....(define-key.map.(kbd."5. | 
| 4c300 | 74 22 29 20 23 27 70 72 6f 6a 65 63 74 69 6c 65    2d 66 69 6e 64 2d 69 6d 70 6c 65 6d 65 6e 74 61 | t").#'projectile-find-implementa | 
| 4c320 | 74 69 6f 6e 2d 6f 72 2d 74 65 73 74 2d 6f 74 68    65 72 2d 66 72 61 6d 65 29 0a 20 20 20 20 28 64 | tion-or-test-other-frame).....(d | 
| 4c340 | 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 28 6b    62 64 20 22 21 22 29 20 23 27 70 72 6f 6a 65 63 | efine-key.map.(kbd."!").#'projec | 
| 4c360 | 74 69 6c 65 2d 72 75 6e 2d 73 68 65 6c 6c 2d 63    6f 6d 6d 61 6e 64 2d 69 6e 2d 72 6f 6f 74 29 0a | tile-run-shell-command-in-root). | 
| 4c380 | 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20    6d 61 70 20 28 6b 62 64 20 22 26 22 29 20 23 27 | ....(define-key.map.(kbd."&").#' | 
| 4c3a0 | 70 72 6f 6a 65 63 74 69 6c 65 2d 72 75 6e 2d 61    73 79 6e 63 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 | projectile-run-async-shell-comma | 
| 4c3c0 | 6e 64 2d 69 6e 2d 72 6f 6f 74 29 0a 20 20 20 20    28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 | nd-in-root).....(define-key.map. | 
| 4c3e0 | 28 6b 62 64 20 22 3f 22 29 20 23 27 70 72 6f 6a    65 63 74 69 6c 65 2d 66 69 6e 64 2d 72 65 66 65 | (kbd."?").#'projectile-find-refe | 
| 4c400 | 72 65 6e 63 65 73 29 0a 20 20 20 20 28 64 65 66    69 6e 65 2d 6b 65 79 20 6d 61 70 20 28 6b 62 64 | rences).....(define-key.map.(kbd | 
| 4c420 | 20 22 61 22 29 20 23 27 70 72 6f 6a 65 63 74 69    6c 65 2d 66 69 6e 64 2d 6f 74 68 65 72 2d 66 69 | ."a").#'projectile-find-other-fi | 
| 4c440 | 6c 65 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d    6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22 62 22 | le).....(define-key.map.(kbd."b" | 
| 4c460 | 29 20 23 27 70 72 6f 6a 65 63 74 69 6c 65 2d 73    77 69 74 63 68 2d 74 6f 2d 62 75 66 66 65 72 29 | ).#'projectile-switch-to-buffer) | 
| 4c480 | 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79    20 6d 61 70 20 28 6b 62 64 20 22 64 22 29 20 23 | .....(define-key.map.(kbd."d").# | 
| 4c4a0 | 27 70 72 6f 6a 65 63 74 69 6c 65 2d 66 69 6e 64    2d 64 69 72 29 0a 20 20 20 20 28 64 65 66 69 6e | 'projectile-find-dir).....(defin | 
| 4c4c0 | 65 2d 6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22    44 22 29 20 23 27 70 72 6f 6a 65 63 74 69 6c 65 | e-key.map.(kbd."D").#'projectile | 
| 4c4e0 | 2d 64 69 72 65 64 29 0a 20 20 20 20 28 64 65 66    69 6e 65 2d 6b 65 79 20 6d 61 70 20 28 6b 62 64 | -dired).....(define-key.map.(kbd | 
| 4c500 | 20 22 65 22 29 20 23 27 70 72 6f 6a 65 63 74 69    6c 65 2d 72 65 63 65 6e 74 66 29 0a 20 20 20 20 | ."e").#'projectile-recentf)..... | 
| 4c520 | 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20    28 6b 62 64 20 22 45 22 29 20 23 27 70 72 6f 6a | (define-key.map.(kbd."E").#'proj | 
| 4c540 | 65 63 74 69 6c 65 2d 65 64 69 74 2d 64 69 72 2d    6c 6f 63 61 6c 73 29 0a 20 20 20 20 28 64 65 66 | ectile-edit-dir-locals).....(def | 
| 4c560 | 69 6e 65 2d 6b 65 79 20 6d 61 70 20 28 6b 62 64    20 22 66 22 29 20 23 27 70 72 6f 6a 65 63 74 69 | ine-key.map.(kbd."f").#'projecti | 
| 4c580 | 6c 65 2d 66 69 6e 64 2d 66 69 6c 65 29 0a 20 20    20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 | le-find-file).....(define-key.ma | 
| 4c5a0 | 70 20 28 6b 62 64 20 22 67 22 29 20 23 27 70 72    6f 6a 65 63 74 69 6c 65 2d 66 69 6e 64 2d 66 69 | p.(kbd."g").#'projectile-find-fi | 
| 4c5c0 | 6c 65 2d 64 77 69 6d 29 0a 20 20 20 20 28 64 65    66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 28 6b 62 | le-dwim).....(define-key.map.(kb | 
| 4c5e0 | 64 20 22 46 22 29 20 23 27 70 72 6f 6a 65 63 74    69 6c 65 2d 66 69 6e 64 2d 66 69 6c 65 2d 69 6e | d."F").#'projectile-find-file-in | 
| 4c600 | 2d 6b 6e 6f 77 6e 2d 70 72 6f 6a 65 63 74 73 29    0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 | -known-projects).....(define-key | 
| 4c620 | 20 6d 61 70 20 28 6b 62 64 20 22 69 22 29 20 23    27 70 72 6f 6a 65 63 74 69 6c 65 2d 69 6e 76 61 | .map.(kbd."i").#'projectile-inva | 
| 4c640 | 6c 69 64 61 74 65 2d 63 61 63 68 65 29 0a 20 20    20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 | lidate-cache).....(define-key.ma | 
| 4c660 | 70 20 28 6b 62 64 20 22 49 22 29 20 23 27 70 72    6f 6a 65 63 74 69 6c 65 2d 69 62 75 66 66 65 72 | p.(kbd."I").#'projectile-ibuffer | 
| 4c680 | 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65    79 20 6d 61 70 20 28 6b 62 64 20 22 6a 22 29 20 | ).....(define-key.map.(kbd."j"). | 
| 4c6a0 | 23 27 70 72 6f 6a 65 63 74 69 6c 65 2d 66 69 6e    64 2d 74 61 67 29 0a 20 20 20 20 28 64 65 66 69 | #'projectile-find-tag).....(defi | 
| 4c6c0 | 6e 65 2d 6b 65 79 20 6d 61 70 20 28 6b 62 64 20    22 6b 22 29 20 23 27 70 72 6f 6a 65 63 74 69 6c | ne-key.map.(kbd."k").#'projectil | 
| 4c6e0 | 65 2d 6b 69 6c 6c 2d 62 75 66 66 65 72 73 29 0a    20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 | e-kill-buffers).....(define-key. | 
| 4c700 | 6d 61 70 20 28 6b 62 64 20 22 6c 22 29 20 23 27    70 72 6f 6a 65 63 74 69 6c 65 2d 66 69 6e 64 2d | map.(kbd."l").#'projectile-find- | 
| 4c720 | 66 69 6c 65 2d 69 6e 2d 64 69 72 65 63 74 6f 72    79 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b | file-in-directory).....(define-k | 
| 4c740 | 65 79 20 6d 61 70 20 28 6b 62 64 20 22 6d 22 29    20 23 27 70 72 6f 6a 65 63 74 69 6c 65 2d 63 6f | ey.map.(kbd."m").#'projectile-co | 
| 4c760 | 6d 6d 61 6e 64 65 72 29 0a 20 20 20 20 28 64 65    66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 28 6b 62 | mmander).....(define-key.map.(kb | 
| 4c780 | 64 20 22 6f 22 29 20 23 27 70 72 6f 6a 65 63 74    69 6c 65 2d 6d 75 6c 74 69 2d 6f 63 63 75 72 29 | d."o").#'projectile-multi-occur) | 
| 4c7a0 | 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79    20 6d 61 70 20 28 6b 62 64 20 22 70 22 29 20 23 | .....(define-key.map.(kbd."p").# | 
| 4c7c0 | 27 70 72 6f 6a 65 63 74 69 6c 65 2d 73 77 69 74    63 68 2d 70 72 6f 6a 65 63 74 29 0a 20 20 20 20 | 'projectile-switch-project)..... | 
| 4c7e0 | 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20    28 6b 62 64 20 22 71 22 29 20 23 27 70 72 6f 6a | (define-key.map.(kbd."q").#'proj | 
| 4c800 | 65 63 74 69 6c 65 2d 73 77 69 74 63 68 2d 6f 70    65 6e 2d 70 72 6f 6a 65 63 74 29 0a 20 20 20 20 | ectile-switch-open-project)..... | 
| 4c820 | 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20    28 6b 62 64 20 22 72 22 29 20 23 27 70 72 6f 6a | (define-key.map.(kbd."r").#'proj | 
| 4c840 | 65 63 74 69 6c 65 2d 72 65 70 6c 61 63 65 29 0a    20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 | ectile-replace).....(define-key. | 
| 4c860 | 6d 61 70 20 28 6b 62 64 20 22 52 22 29 20 23 27    70 72 6f 6a 65 63 74 69 6c 65 2d 72 65 67 65 6e | map.(kbd."R").#'projectile-regen | 
| 4c880 | 65 72 61 74 65 2d 74 61 67 73 29 0a 20 20 20 20    28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 | erate-tags).....(define-key.map. | 
| 4c8a0 | 28 6b 62 64 20 22 73 20 67 22 29 20 23 27 70 72    6f 6a 65 63 74 69 6c 65 2d 67 72 65 70 29 0a 20 | (kbd."s.g").#'projectile-grep).. | 
| 4c8c0 | 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d    61 70 20 28 6b 62 64 20 22 73 20 72 22 29 20 23 | ...(define-key.map.(kbd."s.r").# | 
| 4c8e0 | 27 70 72 6f 6a 65 63 74 69 6c 65 2d 72 69 70 67    72 65 70 29 0a 20 20 20 20 28 64 65 66 69 6e 65 | 'projectile-ripgrep).....(define | 
| 4c900 | 2d 6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22 73    20 73 22 29 20 23 27 70 72 6f 6a 65 63 74 69 6c | -key.map.(kbd."s.s").#'projectil | 
| 4c920 | 65 2d 61 67 29 0a 20 20 20 20 28 64 65 66 69 6e    65 2d 6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22 | e-ag).....(define-key.map.(kbd." | 
| 4c940 | 73 20 78 22 29 20 23 27 70 72 6f 6a 65 63 74 69    6c 65 2d 66 69 6e 64 2d 72 65 66 65 72 65 6e 63 | s.x").#'projectile-find-referenc | 
| 4c960 | 65 73 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d    6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22 53 22 | es).....(define-key.map.(kbd."S" | 
| 4c980 | 29 20 23 27 70 72 6f 6a 65 63 74 69 6c 65 2d 73    61 76 65 2d 70 72 6f 6a 65 63 74 2d 62 75 66 66 | ).#'projectile-save-project-buff | 
| 4c9a0 | 65 72 73 29 0a 20 20 20 20 28 64 65 66 69 6e 65    2d 6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22 74 | ers).....(define-key.map.(kbd."t | 
| 4c9c0 | 22 29 20 23 27 70 72 6f 6a 65 63 74 69 6c 65 2d    74 6f 67 67 6c 65 2d 62 65 74 77 65 65 6e 2d 69 | ").#'projectile-toggle-between-i | 
| 4c9e0 | 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2d 61 6e    64 2d 74 65 73 74 29 0a 20 20 20 20 28 64 65 66 | mplementation-and-test).....(def | 
| 4ca00 | 69 6e 65 2d 6b 65 79 20 6d 61 70 20 28 6b 62 64    20 22 54 22 29 20 23 27 70 72 6f 6a 65 63 74 69 | ine-key.map.(kbd."T").#'projecti | 
| 4ca20 | 6c 65 2d 66 69 6e 64 2d 74 65 73 74 2d 66 69 6c    65 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b | le-find-test-file).....(define-k | 
| 4ca40 | 65 79 20 6d 61 70 20 28 6b 62 64 20 22 76 22 29    20 23 27 70 72 6f 6a 65 63 74 69 6c 65 2d 76 63 | ey.map.(kbd."v").#'projectile-vc | 
| 4ca60 | 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65    79 20 6d 61 70 20 28 6b 62 64 20 22 56 22 29 20 | ).....(define-key.map.(kbd."V"). | 
| 4ca80 | 23 27 70 72 6f 6a 65 63 74 69 6c 65 2d 62 72 6f    77 73 65 2d 64 69 72 74 79 2d 70 72 6f 6a 65 63 | #'projectile-browse-dirty-projec | 
| 4caa0 | 74 73 29 0a 20 20 20 20 3b 3b 20 70 72 6f 6a 65    63 74 20 6c 69 66 65 63 79 63 6c 65 20 65 78 74 | ts).....;;.project.lifecycle.ext | 
| 4cac0 | 65 72 6e 61 6c 20 63 6f 6d 6d 61 6e 64 73 0a 20    20 20 20 3b 3b 20 54 4f 44 4f 3a 20 42 75 6e 64 | ernal.commands.....;;.TODO:.Bund | 
| 4cae0 | 6c 65 20 74 68 6f 73 65 20 75 6e 64 65 72 20 73    6f 6d 65 20 70 72 65 66 69 78 20 6b 65 79 0a 20 | le.those.under.some.prefix.key.. | 
| 4cb00 | 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d    61 70 20 28 6b 62 64 20 22 43 22 29 20 23 27 70 | ...(define-key.map.(kbd."C").#'p | 
| 4cb20 | 72 6f 6a 65 63 74 69 6c 65 2d 63 6f 6e 66 69 67    75 72 65 2d 70 72 6f 6a 65 63 74 29 0a 20 20 20 | rojectile-configure-project).... | 
| 4cb40 | 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70    20 28 6b 62 64 20 22 63 22 29 20 23 27 70 72 6f | .(define-key.map.(kbd."c").#'pro | 
| 4cb60 | 6a 65 63 74 69 6c 65 2d 63 6f 6d 70 69 6c 65 2d    70 72 6f 6a 65 63 74 29 0a 20 20 20 20 28 64 65 | jectile-compile-project).....(de | 
| 4cb80 | 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 28 6b 62    64 20 22 4b 22 29 20 23 27 70 72 6f 6a 65 63 74 | fine-key.map.(kbd."K").#'project | 
| 4cba0 | 69 6c 65 2d 70 61 63 6b 61 67 65 2d 70 72 6f 6a    65 63 74 29 0a 20 20 20 20 28 64 65 66 69 6e 65 | ile-package-project).....(define | 
| 4cbc0 | 2d 6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22 4c    22 29 20 23 27 70 72 6f 6a 65 63 74 69 6c 65 2d | -key.map.(kbd."L").#'projectile- | 
| 4cbe0 | 69 6e 73 74 61 6c 6c 2d 70 72 6f 6a 65 63 74 29    0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 | install-project).....(define-key | 
| 4cc00 | 20 6d 61 70 20 28 6b 62 64 20 22 50 22 29 20 23    27 70 72 6f 6a 65 63 74 69 6c 65 2d 74 65 73 74 | .map.(kbd."P").#'projectile-test | 
| 4cc20 | 2d 70 72 6f 6a 65 63 74 29 0a 20 20 20 20 28 64    65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 28 6b | -project).....(define-key.map.(k | 
| 4cc40 | 62 64 20 22 75 22 29 20 23 27 70 72 6f 6a 65 63    74 69 6c 65 2d 72 75 6e 2d 70 72 6f 6a 65 63 74 | bd."u").#'projectile-run-project | 
| 4cc60 | 29 0a 20 20 20 20 3b 3b 20 69 6e 74 65 67 72 61    74 69 6f 6e 20 77 69 74 68 20 75 74 69 6c 69 74 | ).....;;.integration.with.utilit | 
| 4cc80 | 69 65 73 0a 20 20 20 20 28 64 65 66 69 6e 65 2d    6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22 78 20 | ies.....(define-key.map.(kbd."x. | 
| 4cca0 | 65 22 29 20 23 27 70 72 6f 6a 65 63 74 69 6c 65    2d 72 75 6e 2d 65 73 68 65 6c 6c 29 0a 20 20 20 | e").#'projectile-run-eshell).... | 
| 4ccc0 | 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70    20 28 6b 62 64 20 22 78 20 69 22 29 20 23 27 70 | .(define-key.map.(kbd."x.i").#'p | 
| 4cce0 | 72 6f 6a 65 63 74 69 6c 65 2d 72 75 6e 2d 69 65    6c 6d 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d | rojectile-run-ielm).....(define- | 
| 4cd00 | 6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22 78 20    74 22 29 20 23 27 70 72 6f 6a 65 63 74 69 6c 65 | key.map.(kbd."x.t").#'projectile | 
| 4cd20 | 2d 72 75 6e 2d 74 65 72 6d 29 0a 20 20 20 20 28    64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 28 | -run-term).....(define-key.map.( | 
| 4cd40 | 6b 62 64 20 22 78 20 73 22 29 20 23 27 70 72 6f    6a 65 63 74 69 6c 65 2d 72 75 6e 2d 73 68 65 6c | kbd."x.s").#'projectile-run-shel | 
| 4cd60 | 6c 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b    65 79 20 6d 61 70 20 28 6b 62 64 20 22 78 20 67 | l).....(define-key.map.(kbd."x.g | 
| 4cd80 | 22 29 20 23 27 70 72 6f 6a 65 63 74 69 6c 65 2d    72 75 6e 2d 67 64 62 29 0a 20 20 20 20 28 64 65 | ").#'projectile-run-gdb).....(de | 
| 4cda0 | 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 28 6b 62    64 20 22 78 20 76 22 29 20 23 27 70 72 6f 6a 65 | fine-key.map.(kbd."x.v").#'proje | 
| 4cdc0 | 63 74 69 6c 65 2d 72 75 6e 2d 76 74 65 72 6d 29    0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 | ctile-run-vterm).....(define-key | 
| 4cde0 | 20 6d 61 70 20 28 6b 62 64 20 22 78 20 34 20 76    22 29 20 23 27 70 72 6f 6a 65 63 74 69 6c 65 2d | .map.(kbd."x.4.v").#'projectile- | 
| 4ce00 | 72 75 6e 2d 76 74 65 72 6d 2d 6f 74 68 65 72 2d    77 69 6e 64 6f 77 29 0a 20 20 20 20 3b 3b 20 6d | run-vterm-other-window).....;;.m | 
| 4ce20 | 69 73 63 0a 20 20 20 20 28 64 65 66 69 6e 65 2d    6b 65 79 20 6d 61 70 20 28 6b 62 64 20 22 7a 22 | isc.....(define-key.map.(kbd."z" | 
| 4ce40 | 29 20 23 27 70 72 6f 6a 65 63 74 69 6c 65 2d 63    61 63 68 65 2d 63 75 72 72 65 6e 74 2d 66 69 6c | ).#'projectile-cache-current-fil | 
| 4ce60 | 65 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b    65 79 20 6d 61 70 20 28 6b 62 64 20 22 3c 6c 65 | e).....(define-key.map.(kbd."<le | 
| 4ce80 | 66 74 3e 22 29 20 23 27 70 72 6f 6a 65 63 74 69    6c 65 2d 70 72 65 76 69 6f 75 73 2d 70 72 6f 6a | ft>").#'projectile-previous-proj | 
| 4cea0 | 65 63 74 2d 62 75 66 66 65 72 29 0a 20 20 20 20    28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 | ect-buffer).....(define-key.map. | 
| 4cec0 | 28 6b 62 64 20 22 3c 72 69 67 68 74 3e 22 29 20    23 27 70 72 6f 6a 65 63 74 69 6c 65 2d 6e 65 78 | (kbd."<right>").#'projectile-nex | 
| 4cee0 | 74 2d 70 72 6f 6a 65 63 74 2d 62 75 66 66 65 72    29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 | t-project-buffer).....(define-ke | 
| 4cf00 | 79 20 6d 61 70 20 28 6b 62 64 20 22 45 53 43 22    29 20 23 27 70 72 6f 6a 65 63 74 69 6c 65 2d 70 | y.map.(kbd."ESC").#'projectile-p | 
| 4cf20 | 72 6f 6a 65 63 74 2d 62 75 66 66 65 72 73 2d 6f    74 68 65 72 2d 62 75 66 66 65 72 29 0a 20 20 20 | roject-buffers-other-buffer).... | 
| 4cf40 | 20 6d 61 70 29 0a 20 20 22 4b 65 79 6d 61 70 20    66 6f 72 20 50 72 6f 6a 65 63 74 69 6c 65 20 63 | .map)..."Keymap.for.Projectile.c | 
| 4cf60 | 6f 6d 6d 61 6e 64 73 20 61 66 74 65 72 20 60 70    72 6f 6a 65 63 74 69 6c 65 2d 6b 65 79 6d 61 70 | ommands.after.`projectile-keymap | 
| 4cf80 | 2d 70 72 65 66 69 78 27 2e 22 29 0a 28 66 73 65    74 20 27 70 72 6f 6a 65 63 74 69 6c 65 2d 63 6f | -prefix'.").(fset.'projectile-co | 
| 4cfa0 | 6d 6d 61 6e 64 2d 6d 61 70 20 70 72 6f 6a 65 63    74 69 6c 65 2d 63 6f 6d 6d 61 6e 64 2d 6d 61 70 | mmand-map.projectile-command-map | 
| 4cfc0 | 29 0a 0a 28 64 65 66 76 61 72 20 70 72 6f 6a 65    63 74 69 6c 65 2d 6d 6f 64 65 2d 6d 61 70 0a 20 | )..(defvar.projectile-mode-map.. | 
| 4cfe0 | 20 28 6c 65 74 20 28 28 6d 61 70 20 28 6d 61 6b    65 2d 73 70 61 72 73 65 2d 6b 65 79 6d 61 70 29 | .(let.((map.(make-sparse-keymap) | 
| 4d000 | 29 29 0a 20 20 20 20 28 77 68 65 6e 20 70 72 6f    6a 65 63 74 69 6c 65 2d 6b 65 79 6d 61 70 2d 70 | )).....(when.projectile-keymap-p | 
| 4d020 | 72 65 66 69 78 0a 20 20 20 20 20 20 28 64 65 66    69 6e 65 2d 6b 65 79 20 6d 61 70 20 70 72 6f 6a | refix.......(define-key.map.proj | 
| 4d040 | 65 63 74 69 6c 65 2d 6b 65 79 6d 61 70 2d 70 72    65 66 69 78 20 27 70 72 6f 6a 65 63 74 69 6c 65 | ectile-keymap-prefix.'projectile | 
| 4d060 | 2d 63 6f 6d 6d 61 6e 64 2d 6d 61 70 29 29 0a 20    20 20 20 28 65 61 73 79 2d 6d 65 6e 75 2d 64 65 | -command-map)).....(easy-menu-de | 
| 4d080 | 66 69 6e 65 20 70 72 6f 6a 65 63 74 69 6c 65 2d    6d 6f 64 65 2d 6d 65 6e 75 20 6d 61 70 0a 20 20 | fine.projectile-mode-menu.map... | 
| 4d0a0 | 20 20 20 20 22 4d 65 6e 75 20 66 6f 72 20 50 72    6f 6a 65 63 74 69 6c 65 22 0a 20 20 20 20 20 20 | ...."Menu.for.Projectile"....... | 
| 4d0c0 | 27 28 22 50 72 6f 6a 65 63 74 69 6c 65 22 20 3a    76 69 73 69 62 6c 65 20 70 72 6f 6a 65 63 74 69 | '("Projectile".:visible.projecti | 
| 4d0e0 | 6c 65 2d 73 68 6f 77 2d 6d 65 6e 75 0a 20 20 20    20 20 20 20 20 28 22 46 69 6e 64 2e 2e 2e 22 0a | le-show-menu.........("Find...". | 
| 4d100 | 20 20 20 20 20 20 20 20 20 5b 22 46 69 6e 64 20    66 69 6c 65 22 20 70 72 6f 6a 65 63 74 69 6c 65 | .........["Find.file".projectile | 
| 4d120 | 2d 66 69 6e 64 2d 66 69 6c 65 5d 0a 20 20 20 20    20 20 20 20 20 5b 22 46 69 6e 64 20 66 69 6c 65 | -find-file]..........["Find.file | 
| 4d140 | 20 69 6e 20 6b 6e 6f 77 6e 20 70 72 6f 6a 65 63    74 73 22 20 70 72 6f 6a 65 63 74 69 6c 65 2d 66 | .in.known.projects".projectile-f | 
| 4d160 | 69 6e 64 2d 66 69 6c 65 2d 69 6e 2d 6b 6e 6f 77    6e 2d 70 72 6f 6a 65 63 74 73 5d 0a 20 20 20 20 | ind-file-in-known-projects]..... | 
| 4d180 | 20 20 20 20 20 5b 22 46 69 6e 64 20 74 65 73 74    20 66 69 6c 65 22 20 70 72 6f 6a 65 63 74 69 6c | .....["Find.test.file".projectil | 
| 4d1a0 | 65 2d 66 69 6e 64 2d 74 65 73 74 2d 66 69 6c 65    5d 0a 20 20 20 20 20 20 20 20 20 5b 22 46 69 6e | e-find-test-file]..........["Fin | 
| 4d1c0 | 64 20 64 69 72 65 63 74 6f 72 79 22 20 70 72 6f    6a 65 63 74 69 6c 65 2d 66 69 6e 64 2d 64 69 72 | d.directory".projectile-find-dir | 
| 4d1e0 | 5d 0a 20 20 20 20 20 20 20 20 20 5b 22 46 69 6e    64 20 66 69 6c 65 20 69 6e 20 64 69 72 65 63 74 | ]..........["Find.file.in.direct | 
| 4d200 | 6f 72 79 22 20 70 72 6f 6a 65 63 74 69 6c 65 2d    66 69 6e 64 2d 66 69 6c 65 2d 69 6e 2d 64 69 72 | ory".projectile-find-file-in-dir | 
| 4d220 | 65 63 74 6f 72 79 5d 0a 20 20 20 20 20 20 20 20    20 5b 22 46 69 6e 64 20 6f 74 68 65 72 20 66 69 | ectory]..........["Find.other.fi | 
| 4d240 | 6c 65 22 20 70 72 6f 6a 65 63 74 69 6c 65 2d 66    69 6e 64 2d 6f 74 68 65 72 2d 66 69 6c 65 5d 0a | le".projectile-find-other-file]. | 
| 4d260 | 20 20 20 20 20 20 20 20 20 5b 22 4a 75 6d 70 20    62 65 74 77 65 65 6e 20 69 6d 70 6c 65 6d 65 6e | .........["Jump.between.implemen | 
| 4d280 | 74 61 74 69 6f 6e 20 66 69 6c 65 20 61 6e 64 20    74 65 73 74 20 66 69 6c 65 22 20 70 72 6f 6a 65 | tation.file.and.test.file".proje | 
| 4d2a0 | 63 74 69 6c 65 2d 74 6f 67 67 6c 65 2d 62 65 74    77 65 65 6e 2d 69 6d 70 6c 65 6d 65 6e 74 61 74 | ctile-toggle-between-implementat | 
| 4d2c0 | 69 6f 6e 2d 61 6e 64 2d 74 65 73 74 5d 29 0a 20    20 20 20 20 20 20 20 28 22 42 75 66 66 65 72 73 | ion-and-test]).........("Buffers | 
| 4d2e0 | 22 0a 20 20 20 20 20 20 20 20 20 5b 22 53 77 69    74 63 68 20 74 6f 20 62 75 66 66 65 72 22 20 70 | "..........["Switch.to.buffer".p | 
| 4d300 | 72 6f 6a 65 63 74 69 6c 65 2d 73 77 69 74 63 68    2d 74 6f 2d 62 75 66 66 65 72 5d 0a 20 20 20 20 | rojectile-switch-to-buffer]..... | 
| 4d320 | 20 20 20 20 20 5b 22 4b 69 6c 6c 20 70 72 6f 6a    65 63 74 20 62 75 66 66 65 72 73 22 20 70 72 6f | .....["Kill.project.buffers".pro | 
| 4d340 | 6a 65 63 74 69 6c 65 2d 6b 69 6c 6c 2d 62 75 66    66 65 72 73 5d 0a 20 20 20 20 20 20 20 20 20 5b | jectile-kill-buffers]..........[ | 
| 4d360 | 22 53 61 76 65 20 70 72 6f 6a 65 63 74 20 62 75    66 66 65 72 73 22 20 70 72 6f 6a 65 63 74 69 6c | "Save.project.buffers".projectil | 
| 4d380 | 65 2d 73 61 76 65 2d 70 72 6f 6a 65 63 74 2d 62    75 66 66 65 72 73 5d 0a 20 20 20 20 20 20 20 20 | e-save-project-buffers]......... | 
| 4d3a0 | 20 5b 22 52 65 63 65 6e 74 20 66 69 6c 65 73 22    20 70 72 6f 6a 65 63 74 69 6c 65 2d 72 65 63 65 | .["Recent.files".projectile-rece | 
| 4d3c0 | 6e 74 66 5d 0a 20 20 20 20 20 20 20 20 20 5b 22    50 72 65 76 69 6f 75 73 20 62 75 66 66 65 72 22 | ntf]..........["Previous.buffer" | 
| 4d3e0 | 20 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 65 76    69 6f 75 73 2d 70 72 6f 6a 65 63 74 2d 62 75 66 | .projectile-previous-project-buf | 
| 4d400 | 66 65 72 5d 0a 20 20 20 20 20 20 20 20 20 5b 22    4e 65 78 74 20 62 75 66 66 65 72 22 20 70 72 6f | fer]..........["Next.buffer".pro | 
| 4d420 | 6a 65 63 74 69 6c 65 2d 6e 65 78 74 2d 70 72 6f    6a 65 63 74 2d 62 75 66 66 65 72 5d 29 0a 20 20 | jectile-next-project-buffer])... | 
| 4d440 | 20 20 20 20 20 20 28 22 50 72 6f 6a 65 63 74 73    22 0a 20 20 20 20 20 20 20 20 20 5b 22 53 77 69 | ......("Projects"..........["Swi | 
| 4d460 | 74 63 68 20 74 6f 20 70 72 6f 6a 65 63 74 22 20    70 72 6f 6a 65 63 74 69 6c 65 2d 73 77 69 74 63 | tch.to.project".projectile-switc | 
| 4d480 | 68 2d 70 72 6f 6a 65 63 74 5d 0a 20 20 20 20 20    20 20 20 20 5b 22 53 77 69 74 63 68 20 74 6f 20 | h-project]..........["Switch.to. | 
| 4d4a0 | 6f 70 65 6e 20 70 72 6f 6a 65 63 74 22 20 70 72    6f 6a 65 63 74 69 6c 65 2d 73 77 69 74 63 68 2d | open.project".projectile-switch- | 
| 4d4c0 | 6f 70 65 6e 2d 70 72 6f 6a 65 63 74 5d 0a 20 20    20 20 20 20 20 20 20 22 2d 2d 22 0a 20 20 20 20 | open-project].........."--"..... | 
| 4d4e0 | 20 20 20 20 20 5b 22 44 69 73 63 6f 76 65 72 20    70 72 6f 6a 65 63 74 73 20 69 6e 20 64 69 72 65 | .....["Discover.projects.in.dire | 
| 4d500 | 63 74 6f 72 79 22 20 70 72 6f 6a 65 63 74 69 6c    65 2d 64 69 73 63 6f 76 65 72 2d 70 72 6f 6a 65 | ctory".projectile-discover-proje | 
| 4d520 | 63 74 73 2d 69 6e 2d 64 69 72 65 63 74 6f 72 79    5d 0a 20 20 20 20 20 20 20 20 20 5b 22 44 69 73 | cts-in-directory]..........["Dis | 
| 4d540 | 63 6f 76 65 72 20 70 72 6f 6a 65 63 74 73 20 69    6e 20 73 65 61 72 63 68 20 70 61 74 68 22 20 70 | cover.projects.in.search.path".p | 
| 4d560 | 72 6f 6a 65 63 74 69 6c 65 2d 64 69 73 63 6f 76    65 72 2d 70 72 6f 6a 65 63 74 73 2d 69 6e 2d 73 | rojectile-discover-projects-in-s | 
| 4d580 | 65 61 72 63 68 2d 70 61 74 68 5d 0a 20 20 20 20    20 20 20 20 20 5b 22 43 6c 65 61 72 20 6b 6e 6f | earch-path]..........["Clear.kno | 
| 4d5a0 | 77 6e 20 70 72 6f 6a 65 63 74 73 22 20 70 72 6f    6a 65 63 74 69 6c 65 2d 63 6c 65 61 72 2d 6b 6e | wn.projects".projectile-clear-kn | 
| 4d5c0 | 6f 77 6e 2d 70 72 6f 6a 65 63 74 73 5d 0a 20 20    20 20 20 20 20 20 20 5b 22 52 65 73 65 74 20 6b | own-projects]..........["Reset.k | 
| 4d5e0 | 6e 6f 77 6e 20 70 72 6f 6a 65 63 74 73 22 20 70    72 6f 6a 65 63 74 69 6c 65 2d 72 65 73 65 74 2d | nown.projects".projectile-reset- | 
| 4d600 | 6b 6e 6f 77 6e 2d 70 72 6f 6a 65 63 74 73 5d 0a    20 20 20 20 20 20 20 20 20 22 2d 2d 22 0a 20 20 | known-projects].........."--"... | 
| 4d620 | 20 20 20 20 20 20 20 5b 22 4f 70 65 6e 20 70 72    6f 6a 65 63 74 20 69 6e 20 64 69 72 65 64 22 20 | .......["Open.project.in.dired". | 
| 4d640 | 70 72 6f 6a 65 63 74 69 6c 65 2d 64 69 72 65 64    5d 0a 20 20 20 20 20 20 20 20 20 22 2d 2d 22 0a | projectile-dired].........."--". | 
| 4d660 | 20 20 20 20 20 20 20 20 20 5b 22 42 72 6f 77 73    65 20 64 69 72 74 79 20 70 72 6f 6a 65 63 74 73 | .........["Browse.dirty.projects | 
| 4d680 | 22 20 70 72 6f 6a 65 63 74 69 6c 65 2d 62 72 6f    77 73 65 2d 64 69 72 74 79 2d 70 72 6f 6a 65 63 | ".projectile-browse-dirty-projec | 
| 4d6a0 | 74 73 5d 0a 20 20 20 20 20 20 20 20 20 22 2d 2d    22 0a 20 20 20 20 20 20 20 20 20 5b 22 43 61 63 | ts].........."--"..........["Cac | 
| 4d6c0 | 68 65 20 63 75 72 72 65 6e 74 20 66 69 6c 65 22    20 70 72 6f 6a 65 63 74 69 6c 65 2d 63 61 63 68 | he.current.file".projectile-cach | 
| 4d6e0 | 65 2d 63 75 72 72 65 6e 74 2d 66 69 6c 65 5d 0a    20 20 20 20 20 20 20 20 20 5b 22 49 6e 76 61 6c | e-current-file]..........["Inval | 
| 4d700 | 69 64 61 74 65 20 63 61 63 68 65 22 20 70 72 6f    6a 65 63 74 69 6c 65 2d 69 6e 76 61 6c 69 64 61 | idate.cache".projectile-invalida | 
| 4d720 | 74 65 2d 63 61 63 68 65 5d 0a 20 20 20 20 20 20    20 20 20 5b 22 52 65 67 65 6e 65 72 61 74 65 20 | te-cache]..........["Regenerate. | 
| 4d740 | 5b 65 7c 67 5d 74 61 67 73 22 20 70 72 6f 6a 65    63 74 69 6c 65 2d 72 65 67 65 6e 65 72 61 74 65 | [e|g]tags".projectile-regenerate | 
| 4d760 | 2d 74 61 67 73 5d 0a 20 20 20 20 20 20 20 20 20    22 2d 2d 22 0a 20 20 20 20 20 20 20 20 20 5b 22 | -tags].........."--"..........[" | 
| 4d780 | 54 6f 67 67 6c 65 20 70 72 6f 6a 65 63 74 20 77    69 64 65 20 72 65 61 64 2d 6f 6e 6c 79 22 20 70 | Toggle.project.wide.read-only".p | 
| 4d7a0 | 72 6f 6a 65 63 74 69 6c 65 2d 74 6f 67 67 6c 65    2d 70 72 6f 6a 65 63 74 2d 72 65 61 64 2d 6f 6e | rojectile-toggle-project-read-on | 
| 4d7c0 | 6c 79 5d 0a 20 20 20 20 20 20 20 20 20 5b 22 45    64 69 74 20 2e 64 69 72 2d 6c 6f 63 61 6c 73 2e | ly]..........["Edit..dir-locals. | 
| 4d7e0 | 65 6c 22 20 70 72 6f 6a 65 63 74 69 6c 65 2d 65    64 69 74 2d 64 69 72 2d 6c 6f 63 61 6c 73 5d 0a | el".projectile-edit-dir-locals]. | 
| 4d800 | 20 20 20 20 20 20 20 20 20 5b 22 50 72 6f 6a 65    63 74 20 69 6e 66 6f 22 20 70 72 6f 6a 65 63 74 | .........["Project.info".project | 
| 4d820 | 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 69 6e 66 6f    5d 29 0a 20 20 20 20 20 20 20 20 28 22 53 65 61 | ile-project-info]).........("Sea | 
| 4d840 | 72 63 68 22 0a 20 20 20 20 20 20 20 20 20 5b 22    53 65 61 72 63 68 20 77 69 74 68 20 67 72 65 70 | rch"..........["Search.with.grep | 
| 4d860 | 22 20 70 72 6f 6a 65 63 74 69 6c 65 2d 67 72 65    70 5d 0a 20 20 20 20 20 20 20 20 20 5b 22 53 65 | ".projectile-grep]..........["Se | 
| 4d880 | 61 72 63 68 20 77 69 74 68 20 61 67 22 20 70 72    6f 6a 65 63 74 69 6c 65 2d 61 67 5d 0a 20 20 20 | arch.with.ag".projectile-ag].... | 
| 4d8a0 | 20 20 20 20 20 20 5b 22 53 65 61 72 63 68 20 77    69 74 68 20 72 69 70 67 72 65 70 22 20 70 72 6f | ......["Search.with.ripgrep".pro | 
| 4d8c0 | 6a 65 63 74 69 6c 65 2d 72 69 70 67 72 65 70 5d    0a 20 20 20 20 20 20 20 20 20 5b 22 52 65 70 6c | jectile-ripgrep]..........["Repl | 
| 4d8e0 | 61 63 65 20 69 6e 20 70 72 6f 6a 65 63 74 22 20    70 72 6f 6a 65 63 74 69 6c 65 2d 72 65 70 6c 61 | ace.in.project".projectile-repla | 
| 4d900 | 63 65 5d 0a 20 20 20 20 20 20 20 20 20 5b 22 4d    75 6c 74 69 2d 6f 63 63 75 72 20 69 6e 20 70 72 | ce]..........["Multi-occur.in.pr | 
| 4d920 | 6f 6a 65 63 74 22 20 70 72 6f 6a 65 63 74 69 6c    65 2d 6d 75 6c 74 69 2d 6f 63 63 75 72 5d 0a 20 | oject".projectile-multi-occur].. | 
| 4d940 | 20 20 20 20 20 20 20 20 5b 22 46 69 6e 64 20 72    65 66 65 72 65 6e 63 65 73 20 69 6e 20 70 72 6f | ........["Find.references.in.pro | 
| 4d960 | 6a 65 63 74 22 20 70 72 6f 6a 65 63 74 69 6c 65    2d 66 69 6e 64 2d 72 65 66 65 72 65 6e 63 65 73 | ject".projectile-find-references | 
| 4d980 | 5d 29 0a 20 20 20 20 20 20 20 20 28 22 52 75 6e    2e 2e 2e 22 0a 20 20 20 20 20 20 20 20 20 5b 22 | ]).........("Run..."..........[" | 
| 4d9a0 | 52 75 6e 20 73 68 65 6c 6c 22 20 70 72 6f 6a 65    63 74 69 6c 65 2d 72 75 6e 2d 73 68 65 6c 6c 5d | Run.shell".projectile-run-shell] | 
| 4d9c0 | 0a 20 20 20 20 20 20 20 20 20 5b 22 52 75 6e 20    65 73 68 65 6c 6c 22 20 70 72 6f 6a 65 63 74 69 | ..........["Run.eshell".projecti | 
| 4d9e0 | 6c 65 2d 72 75 6e 2d 65 73 68 65 6c 6c 5d 0a 20    20 20 20 20 20 20 20 20 5b 22 52 75 6e 20 69 65 | le-run-eshell]..........["Run.ie | 
| 4da00 | 6c 6d 22 20 70 72 6f 6a 65 63 74 69 6c 65 2d 72    75 6e 2d 69 65 6c 6d 5d 0a 20 20 20 20 20 20 20 | lm".projectile-run-ielm]........ | 
| 4da20 | 20 20 5b 22 52 75 6e 20 74 65 72 6d 22 20 70 72    6f 6a 65 63 74 69 6c 65 2d 72 75 6e 2d 74 65 72 | ..["Run.term".projectile-run-ter | 
| 4da40 | 6d 5d 0a 20 20 20 20 20 20 20 20 20 5b 22 52 75    6e 20 76 74 65 72 6d 22 20 70 72 6f 6a 65 63 74 | m]..........["Run.vterm".project | 
| 4da60 | 69 6c 65 2d 72 75 6e 2d 76 74 65 72 6d 5d 0a 20    20 20 20 20 20 20 20 20 22 2d 2d 22 0a 20 20 20 | ile-run-vterm].........."--".... | 
| 4da80 | 20 20 20 20 20 20 5b 22 52 75 6e 20 47 44 42 22    20 70 72 6f 6a 65 63 74 69 6c 65 2d 72 75 6e 2d | ......["Run.GDB".projectile-run- | 
| 4daa0 | 67 64 62 5d 29 0a 20 20 20 20 20 20 20 20 28 22    42 75 69 6c 64 22 0a 20 20 20 20 20 20 20 20 20 | gdb]).........("Build".......... | 
| 4dac0 | 5b 22 43 6f 6e 66 69 67 75 72 65 20 70 72 6f 6a    65 63 74 22 20 70 72 6f 6a 65 63 74 69 6c 65 2d | ["Configure.project".projectile- | 
| 4dae0 | 63 6f 6e 66 69 67 75 72 65 2d 70 72 6f 6a 65 63    74 5d 0a 20 20 20 20 20 20 20 20 20 5b 22 43 6f | configure-project]..........["Co | 
| 4db00 | 6d 70 69 6c 65 20 70 72 6f 6a 65 63 74 22 20 70    72 6f 6a 65 63 74 69 6c 65 2d 63 6f 6d 70 69 6c | mpile.project".projectile-compil | 
| 4db20 | 65 2d 70 72 6f 6a 65 63 74 5d 0a 20 20 20 20 20    20 20 20 20 5b 22 54 65 73 74 20 70 72 6f 6a 65 | e-project]..........["Test.proje | 
| 4db40 | 63 74 22 20 70 72 6f 6a 65 63 74 69 6c 65 2d 74    65 73 74 2d 70 72 6f 6a 65 63 74 5d 0a 20 20 20 | ct".projectile-test-project].... | 
| 4db60 | 20 20 20 20 20 20 5b 22 49 6e 73 74 61 6c 6c 20    70 72 6f 6a 65 63 74 22 20 70 72 6f 6a 65 63 74 | ......["Install.project".project | 
| 4db80 | 69 6c 65 2d 69 6e 73 74 61 6c 6c 2d 70 72 6f 6a    65 63 74 5d 0a 20 20 20 20 20 20 20 20 20 5b 22 | ile-install-project]..........[" | 
| 4dba0 | 50 61 63 6b 61 67 65 20 70 72 6f 6a 65 63 74 22    20 70 72 6f 6a 65 63 74 69 6c 65 2d 70 61 63 6b | Package.project".projectile-pack | 
| 4dbc0 | 61 67 65 2d 70 72 6f 6a 65 63 74 5d 0a 20 20 20    20 20 20 20 20 20 5b 22 52 75 6e 20 70 72 6f 6a | age-project]..........["Run.proj | 
| 4dbe0 | 65 63 74 22 20 70 72 6f 6a 65 63 74 69 6c 65 2d    72 75 6e 2d 70 72 6f 6a 65 63 74 5d 0a 20 20 20 | ect".projectile-run-project].... | 
| 4dc00 | 20 20 20 20 20 20 22 2d 2d 22 0a 20 20 20 20 20    20 20 20 20 5b 22 52 65 70 65 61 74 20 6c 61 73 | ......"--"..........["Repeat.las | 
| 4dc20 | 74 20 62 75 69 6c 64 20 63 6f 6d 6d 61 6e 64 22    20 70 72 6f 6a 65 63 74 69 6c 65 2d 72 65 70 65 | t.build.command".projectile-repe | 
| 4dc40 | 61 74 2d 6c 61 73 74 2d 63 6f 6d 6d 61 6e 64 5d    29 0a 20 20 20 20 20 20 20 20 22 2d 2d 22 0a 20 | at-last-command])........."--".. | 
| 4dc60 | 20 20 20 20 20 20 20 5b 22 41 62 6f 75 74 22 20    70 72 6f 6a 65 63 74 69 6c 65 2d 76 65 72 73 69 | .......["About".projectile-versi | 
| 4dc80 | 6f 6e 5d 29 29 0a 20 20 20 20 6d 61 70 29 0a 20    20 22 4b 65 79 6d 61 70 20 66 6f 72 20 50 72 6f | on])).....map)..."Keymap.for.Pro | 
| 4dca0 | 6a 65 63 74 69 6c 65 20 6d 6f 64 65 2e 22 29 0a    0a 28 64 65 66 75 6e 20 70 72 6f 6a 65 63 74 69 | jectile.mode.")..(defun.projecti | 
| 4dcc0 | 6c 65 2d 66 69 6e 64 2d 66 69 6c 65 2d 68 6f 6f    6b 2d 66 75 6e 63 74 69 6f 6e 20 28 29 0a 20 20 | le-find-file-hook-function.()... | 
| 4dce0 | 22 43 61 6c 6c 65 64 20 62 79 20 60 66 69 6e 64    2d 66 69 6c 65 2d 68 6f 6f 6b 27 20 77 68 65 6e | "Called.by.`find-file-hook'.when | 
| 4dd00 | 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 6d 6f 64    65 27 20 69 73 20 6f 6e 2e 0a 0a 54 68 65 20 66 | .`projectile-mode'.is.on...The.f | 
| 4dd20 | 75 6e 63 74 69 6f 6e 20 64 6f 65 73 20 70 72 65    74 74 79 20 6d 75 63 68 20 6e 6f 74 68 69 6e 67 | unction.does.pretty.much.nothing | 
| 4dd40 | 20 77 68 65 6e 20 74 72 69 67 67 65 72 65 64 20    6f 6e 20 72 65 6d 6f 74 65 20 66 69 6c 65 73 0a | .when.triggered.on.remote.files. | 
| 4dd60 | 61 73 20 61 6c 6c 20 74 68 65 20 6f 70 65 72 61    74 69 6f 6e 73 20 69 74 20 6e 6f 72 6d 61 6c 6c | as.all.the.operations.it.normall | 
| 4dd80 | 79 20 70 65 72 66 6f 72 6d 73 20 61 72 65 20 65    78 74 72 65 6d 65 6c 79 20 73 6c 6f 77 20 6f 76 | y.performs.are.extremely.slow.ov | 
| 4dda0 | 65 72 0a 74 72 61 6d 70 2e 22 0a 20 20 28 70 72    6f 6a 65 63 74 69 6c 65 2d 6d 61 79 62 65 2d 6c | er.tramp."...(projectile-maybe-l | 
| 4ddc0 | 69 6d 69 74 2d 70 72 6f 6a 65 63 74 2d 66 69 6c    65 2d 62 75 66 66 65 72 73 29 0a 20 20 28 75 6e | imit-project-file-buffers)...(un | 
| 4dde0 | 6c 65 73 73 20 28 66 69 6c 65 2d 72 65 6d 6f 74    65 2d 70 20 64 65 66 61 75 6c 74 2d 64 69 72 65 | less.(file-remote-p.default-dire | 
| 4de00 | 63 74 6f 72 79 29 0a 20 20 20 20 28 77 68 65 6e    20 70 72 6f 6a 65 63 74 69 6c 65 2d 64 79 6e 61 | ctory).....(when.projectile-dyna | 
| 4de20 | 6d 69 63 2d 6d 6f 64 65 2d 6c 69 6e 65 0a 20 20    20 20 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d | mic-mode-line.......(projectile- | 
| 4de40 | 75 70 64 61 74 65 2d 6d 6f 64 65 2d 6c 69 6e 65    29 29 0a 20 20 20 20 28 77 68 65 6e 20 70 72 6f | update-mode-line)).....(when.pro | 
| 4de60 | 6a 65 63 74 69 6c 65 2d 61 75 74 6f 2d 75 70 64    61 74 65 2d 63 61 63 68 65 0a 20 20 20 20 20 20 | jectile-auto-update-cache....... | 
| 4de80 | 28 70 72 6f 6a 65 63 74 69 6c 65 2d 63 61 63 68    65 2d 66 69 6c 65 73 2d 66 69 6e 64 2d 66 69 6c | (projectile-cache-files-find-fil | 
| 4dea0 | 65 2d 68 6f 6f 6b 29 29 0a 20 20 20 20 28 70 72    6f 6a 65 63 74 69 6c 65 2d 74 72 61 63 6b 2d 6b | e-hook)).....(projectile-track-k | 
| 4dec0 | 6e 6f 77 6e 2d 70 72 6f 6a 65 63 74 73 2d 66 69    6e 64 2d 66 69 6c 65 2d 68 6f 6f 6b 29 0a 20 20 | nown-projects-find-file-hook)... | 
| 4dee0 | 20 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 76 69    73 69 74 2d 70 72 6f 6a 65 63 74 2d 74 61 67 73 | ..(projectile-visit-project-tags | 
| 4df00 | 2d 74 61 62 6c 65 29 29 29 0a 0a 28 64 65 66 75    6e 20 70 72 6f 6a 65 63 74 69 6c 65 2d 6d 61 79 | -table)))..(defun.projectile-may | 
| 4df20 | 62 65 2d 6c 69 6d 69 74 2d 70 72 6f 6a 65 63 74    2d 66 69 6c 65 2d 62 75 66 66 65 72 73 20 28 29 | be-limit-project-file-buffers.() | 
| 4df40 | 0a 20 20 22 4c 69 6d 69 74 20 74 68 65 20 6f 70    65 6e 65 64 20 66 69 6c 65 20 62 75 66 66 65 72 | ..."Limit.the.opened.file.buffer | 
| 4df60 | 73 20 66 6f 72 20 61 20 70 72 6f 6a 65 63 74 2e    0a 0a 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 73 | s.for.a.project...The.function.s | 
| 4df80 | 69 6d 70 6c 79 20 6b 69 6c 6c 73 20 74 68 65 20    6c 61 73 74 20 62 75 66 66 65 72 2c 20 61 73 20 | imply.kills.the.last.buffer,.as. | 
| 4dfa0 | 69 74 27 73 20 6e 6f 72 6d 61 6c 6c 79 20 63 61    6c 6c 65 64 0a 77 68 65 6e 20 6f 70 65 6e 69 6e | it's.normally.called.when.openin | 
| 4dfc0 | 67 20 6e 65 77 20 66 69 6c 65 73 2e 22 0a 20 20    28 77 68 65 6e 20 70 72 6f 6a 65 63 74 69 6c 65 | g.new.files."...(when.projectile | 
| 4dfe0 | 2d 6d 61 78 2d 66 69 6c 65 2d 62 75 66 66 65 72    2d 63 6f 75 6e 74 0a 20 20 20 20 28 6c 65 74 20 | -max-file-buffer-count.....(let. | 
| 4e000 | 28 28 70 72 6f 6a 65 63 74 2d 62 75 66 66 65 72    73 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 | ((project-buffers.(projectile-pr | 
| 4e020 | 6f 6a 65 63 74 2d 62 75 66 66 65 72 2d 66 69 6c    65 73 29 29 29 0a 20 20 20 20 20 20 28 77 68 65 | oject-buffer-files))).......(whe | 
| 4e040 | 6e 20 28 3e 20 28 6c 65 6e 67 74 68 20 70 72 6f    6a 65 63 74 2d 62 75 66 66 65 72 73 29 20 70 72 | n.(>.(length.project-buffers).pr | 
| 4e060 | 6f 6a 65 63 74 69 6c 65 2d 6d 61 78 2d 66 69 6c    65 2d 62 75 66 66 65 72 2d 63 6f 75 6e 74 29 0a | ojectile-max-file-buffer-count). | 
| 4e080 | 20 20 20 20 20 20 20 20 28 6b 69 6c 6c 2d 62 75    66 66 65 72 20 28 63 61 72 20 28 6c 61 73 74 20 | ........(kill-buffer.(car.(last. | 
| 4e0a0 | 70 72 6f 6a 65 63 74 2d 62 75 66 66 65 72 73 29    29 29 29 29 29 29 0a 0a 3b 3b 3b 3b 20 70 72 6f | project-buffers)))))))..;;;;.pro | 
| 4e0c0 | 6a 65 63 74 2e 65 6c 20 69 6e 74 65 67 72 61 74    69 6f 6e 0a 3b 3b 0a 3b 3b 20 50 72 6f 6a 65 63 | ject.el.integration.;;.;;.Projec | 
| 4e0e0 | 74 69 6c 65 20 77 69 6c 6c 20 62 65 63 6f 6d 65    20 74 68 65 20 64 65 66 61 75 6c 74 20 70 72 6f | tile.will.become.the.default.pro | 
| 4e100 | 76 69 64 65 72 20 66 6f 72 0a 3b 3b 20 70 72 6f    6a 65 63 74 2e 65 6c 20 70 72 6f 6a 65 63 74 20 | vider.for.;;.project.el.project. | 
| 4e120 | 61 6e 64 20 70 72 6f 6a 65 63 74 20 66 69 6c 65    73 20 6c 6f 6f 6b 75 70 20 77 68 65 6e 0a 3b 3b | and.project.files.lookup.when.;; | 
| 4e140 | 20 70 72 6f 6a 65 63 74 69 6c 65 2d 6d 6f 64 65    20 69 73 20 65 6e 61 62 6c 65 64 2e 0a 3b 3b 0a | .projectile-mode.is.enabled..;;. | 
| 4e160 | 3b 3b 20 54 68 65 20 69 6e 74 65 67 72 61 74 69    6f 6e 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 6d | ;;.The.integration.can.also.be.m | 
| 4e180 | 61 6e 75 61 6c 6c 79 20 65 6e 61 62 6c 65 64 20    6c 69 6b 65 20 74 68 69 73 3a 0a 3b 3b 0a 3b 3b | anually.enabled.like.this:.;;.;; | 
| 4e1a0 | 20 28 61 64 64 2d 68 6f 6f 6b 20 27 70 72 6f 6a    65 63 74 2d 66 69 6e 64 2d 66 75 6e 63 74 69 6f | .(add-hook.'project-find-functio | 
| 4e1c0 | 6e 73 20 23 27 70 72 6f 6a 65 63 74 2d 70 72 6f    6a 65 63 74 69 6c 65 29 0a 3b 3b 0a 3b 3b 20 53 | ns.#'project-projectile).;;.;;.S | 
| 4e1e0 | 65 65 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75    62 2e 63 6f 6d 2f 62 62 61 74 73 6f 76 2f 70 72 | ee.https://github.com/bbatsov/pr | 
| 4e200 | 6f 6a 65 63 74 69 6c 65 2f 69 73 73 75 65 73 2f    31 35 39 31 20 66 6f 72 0a 3b 3b 20 6d 6f 72 65 | ojectile/issues/1591.for.;;.more | 
| 4e220 | 20 64 65 74 61 69 6c 73 2e 0a 0a 3b 3b 20 69 74    27 73 20 73 61 66 65 20 74 6f 20 72 65 71 75 69 | .details...;;.it's.safe.to.requi | 
| 4e240 | 72 65 20 74 68 69 73 20 64 69 72 65 63 74 6c 79    2c 20 61 73 20 69 74 20 77 61 73 20 61 64 64 65 | re.this.directly,.as.it.was.adde | 
| 4e260 | 64 20 69 6e 20 45 6d 61 63 73 20 32 35 2e 31 0a    28 72 65 71 75 69 72 65 20 27 70 72 6f 6a 65 63 | d.in.Emacs.25.1.(require.'projec | 
| 4e280 | 74 29 0a 0a 28 63 6c 2d 64 65 66 6d 65 74 68 6f    64 20 70 72 6f 6a 65 63 74 2d 72 6f 6f 74 20 28 | t)..(cl-defmethod.project-root.( | 
| 4e2a0 | 28 70 72 6f 6a 65 63 74 20 28 68 65 61 64 20 70    72 6f 6a 65 63 74 69 6c 65 29 29 29 0a 20 20 28 | (project.(head.projectile)))...( | 
| 4e2c0 | 63 64 72 20 70 72 6f 6a 65 63 74 29 29 0a 0a 28    63 6c 2d 64 65 66 6d 65 74 68 6f 64 20 70 72 6f | cdr.project))..(cl-defmethod.pro | 
| 4e2e0 | 6a 65 63 74 2d 66 69 6c 65 73 20 28 28 70 72 6f    6a 65 63 74 20 28 68 65 61 64 20 70 72 6f 6a 65 | ject-files.((project.(head.proje | 
| 4e300 | 63 74 69 6c 65 29 29 20 26 6f 70 74 69 6f 6e 61    6c 20 5f 64 69 72 73 29 0a 20 20 28 6c 65 74 20 | ctile)).&optional._dirs)...(let. | 
| 4e320 | 28 28 72 6f 6f 74 20 28 70 72 6f 6a 65 63 74 2d    72 6f 6f 74 20 70 72 6f 6a 65 63 74 29 29 29 0a | ((root.(project-root.project))). | 
| 4e340 | 20 20 20 20 3b 3b 20 4d 61 6b 65 20 70 61 74 68    73 20 61 62 73 6f 6c 75 74 65 20 61 6e 64 20 69 | ....;;.Make.paths.absolute.and.i | 
| 4e360 | 67 6e 6f 72 65 20 74 68 65 20 6f 70 74 69 6f 6e    61 6c 20 64 69 72 73 20 61 72 67 75 6d 65 6e 74 | gnore.the.optional.dirs.argument | 
| 4e380 | 2c 0a 20 20 20 20 3b 3b 20 73 65 65 20 68 74 74    70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f | ,.....;;.see.https://github.com/ | 
| 4e3a0 | 62 62 61 74 73 6f 76 2f 70 72 6f 6a 65 63 74 69    6c 65 2f 69 73 73 75 65 73 2f 31 35 39 31 23 69 | bbatsov/projectile/issues/1591#i | 
| 4e3c0 | 73 73 75 65 63 6f 6d 6d 65 6e 74 2d 38 39 36 34    32 33 39 36 35 0a 20 20 20 20 3b 3b 20 54 68 61 | ssuecomment-896423965.....;;.Tha | 
| 4e3e0 | 74 27 73 20 6e 65 65 64 65 64 20 62 65 63 61 75    73 65 20 50 72 6f 6a 65 63 74 69 6c 65 20 75 73 | t's.needed.because.Projectile.us | 
| 4e400 | 65 73 20 72 65 6c 61 74 69 76 65 20 70 61 74 68    73 20 66 6f 72 20 70 72 6f 6a 65 63 74 20 66 69 | es.relative.paths.for.project.fi | 
| 4e420 | 6c 65 73 0a 20 20 20 20 3b 3b 20 61 6e 64 20 70    72 6f 6a 65 63 74 2e 65 6c 20 65 78 70 65 63 74 | les.....;;.and.project.el.expect | 
| 4e440 | 73 20 74 68 65 6d 20 74 6f 20 62 65 20 61 62 73    6f 6c 75 74 65 2e 0a 20 20 20 20 3b 3b 20 46 49 | s.them.to.be.absolute......;;.FI | 
| 4e460 | 58 4d 45 3a 20 54 68 61 74 27 73 20 70 72 6f 62    61 62 6c 79 20 67 6f 69 6e 67 20 74 6f 20 62 65 | XME:.That's.probably.going.to.be | 
| 4e480 | 20 76 65 72 79 20 73 6c 6f 77 20 69 6e 20 6c 61    72 67 65 20 70 72 6f 6a 65 63 74 73 2e 0a 20 20 | .very.slow.in.large.projects.... | 
| 4e4a0 | 20 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64    61 20 28 66 29 0a 20 20 20 20 20 20 20 20 20 20 | ..(mapcar.(lambda.(f)........... | 
| 4e4c0 | 20 20 20 20 28 63 6f 6e 63 61 74 20 72 6f 6f 74    20 66 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 | ....(concat.root.f))............ | 
| 4e4e0 | 20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f    6a 65 63 74 2d 66 69 6c 65 73 20 72 6f 6f 74 29 | .(projectile-project-files.root) | 
| 4e500 | 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 6f 6a    65 63 74 2d 70 72 6f 6a 65 63 74 69 6c 65 20 28 | )))..(defun.project-projectile.( | 
| 4e520 | 64 69 72 29 0a 20 20 22 52 65 74 75 72 6e 20 50    72 6f 6a 65 63 74 69 6c 65 20 70 72 6f 6a 65 63 | dir)..."Return.Projectile.projec | 
| 4e540 | 74 20 6f 66 20 66 6f 72 6d 20 28 27 70 72 6f 6a    65 63 74 69 6c 65 20 2e 20 72 6f 6f 74 2d 64 69 | t.of.form.('projectile...root-di | 
| 4e560 | 72 29 20 66 6f 72 20 44 49 52 2e 22 0a 20 20 28    6c 65 74 20 28 28 72 6f 6f 74 20 28 70 72 6f 6a | r).for.DIR."...(let.((root.(proj | 
| 4e580 | 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d 72    6f 6f 74 20 64 69 72 29 29 29 0a 20 20 20 20 28 | ectile-project-root.dir))).....( | 
| 4e5a0 | 77 68 65 6e 20 72 6f 6f 74 0a 20 20 20 20 20 20    28 63 6f 6e 73 20 27 70 72 6f 6a 65 63 74 69 6c | when.root.......(cons.'projectil | 
| 4e5c0 | 65 20 72 6f 6f 74 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 | e.root))))..;;;###autoload.(defi | 
| 4e5e0 | 6e 65 2d 6d 69 6e 6f 72 2d 6d 6f 64 65 20 70 72    6f 6a 65 63 74 69 6c 65 2d 6d 6f 64 65 0a 20 20 | ne-minor-mode.projectile-mode... | 
| 4e600 | 22 4d 69 6e 6f 72 20 6d 6f 64 65 20 74 6f 20 61    73 73 69 73 74 20 70 72 6f 6a 65 63 74 20 6d 61 | "Minor.mode.to.assist.project.ma | 
| 4e620 | 6e 61 67 65 6d 65 6e 74 20 61 6e 64 20 6e 61 76    69 67 61 74 69 6f 6e 2e 0a 0a 57 68 65 6e 20 63 | nagement.and.navigation...When.c | 
| 4e640 | 61 6c 6c 65 64 20 69 6e 74 65 72 61 63 74 69 76    65 6c 79 2c 20 74 6f 67 67 6c 65 20 60 70 72 6f | alled.interactively,.toggle.`pro | 
| 4e660 | 6a 65 63 74 69 6c 65 2d 6d 6f 64 65 27 2e 20 20    57 69 74 68 20 70 72 65 66 69 78 0a 41 52 47 2c | jectile-mode'...With.prefix.ARG, | 
| 4e680 | 20 65 6e 61 62 6c 65 20 60 70 72 6f 6a 65 63 74    69 6c 65 2d 6d 6f 64 65 27 20 69 66 20 41 52 47 | .enable.`projectile-mode'.if.ARG | 
| 4e6a0 | 20 69 73 20 70 6f 73 69 74 69 76 65 2c 20 6f 74    68 65 72 77 69 73 65 20 64 69 73 61 62 6c 65 0a | .is.positive,.otherwise.disable. | 
| 4e6c0 | 69 74 2e 0a 0a 57 68 65 6e 20 63 61 6c 6c 65 64    20 66 72 6f 6d 20 4c 69 73 70 2c 20 65 6e 61 62 | it...When.called.from.Lisp,.enab | 
| 4e6e0 | 6c 65 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 6d    6f 64 65 27 20 69 66 20 41 52 47 20 69 73 20 6f | le.`projectile-mode'.if.ARG.is.o | 
| 4e700 | 6d 69 74 74 65 64 2c 0a 6e 69 6c 20 6f 72 20 70    6f 73 69 74 69 76 65 2e 20 20 49 66 20 41 52 47 | mitted,.nil.or.positive...If.ARG | 
| 4e720 | 20 69 73 20 60 74 6f 67 67 6c 65 27 2c 20 74 6f    67 67 6c 65 20 60 70 72 6f 6a 65 63 74 69 6c 65 | .is.`toggle',.toggle.`projectile | 
| 4e740 | 2d 6d 6f 64 65 27 2e 0a 4f 74 68 65 72 77 69 73    65 20 62 65 68 61 76 65 20 61 73 20 69 66 20 63 | -mode'..Otherwise.behave.as.if.c | 
| 4e760 | 61 6c 6c 65 64 20 69 6e 74 65 72 61 63 74 69 76    65 6c 79 2e 0a 0a 5c 5c 7b 70 72 6f 6a 65 63 74 | alled.interactively...\\{project | 
| 4e780 | 69 6c 65 2d 6d 6f 64 65 2d 6d 61 70 7d 22 0a 20    20 3a 6c 69 67 68 74 65 72 20 70 72 6f 6a 65 63 | ile-mode-map}"...:lighter.projec | 
| 4e7a0 | 74 69 6c 65 2d 2d 6d 6f 64 65 2d 6c 69 6e 65 0a    20 20 3a 6b 65 79 6d 61 70 20 70 72 6f 6a 65 63 | tile--mode-line...:keymap.projec | 
| 4e7c0 | 74 69 6c 65 2d 6d 6f 64 65 2d 6d 61 70 0a 20 20    3a 67 72 6f 75 70 20 27 70 72 6f 6a 65 63 74 69 | tile-mode-map...:group.'projecti | 
| 4e7e0 | 6c 65 0a 20 20 3a 72 65 71 75 69 72 65 20 27 70    72 6f 6a 65 63 74 69 6c 65 0a 20 20 3a 67 6c 6f | le...:require.'projectile...:glo | 
| 4e800 | 62 61 6c 20 74 0a 20 20 28 63 6f 6e 64 0a 20 20    20 28 70 72 6f 6a 65 63 74 69 6c 65 2d 6d 6f 64 | bal.t...(cond....(projectile-mod | 
| 4e820 | 65 0a 20 20 20 20 3b 3b 20 73 65 74 75 70 20 74    68 65 20 63 6f 6d 6d 61 6e 64 65 72 20 62 69 6e | e.....;;.setup.the.commander.bin | 
| 4e840 | 64 69 6e 67 73 0a 20 20 20 20 28 70 72 6f 6a 65    63 74 69 6c 65 2d 63 6f 6d 6d 61 6e 64 65 72 2d | dings.....(projectile-commander- | 
| 4e860 | 62 69 6e 64 69 6e 67 73 29 0a 20 20 20 20 3b 3b    20 69 6e 69 74 69 61 6c 69 7a 65 20 74 68 65 20 | bindings).....;;.initialize.the. | 
| 4e880 | 70 72 6f 6a 65 63 74 73 20 63 61 63 68 65 20 69    66 20 6e 65 65 64 65 64 0a 20 20 20 20 28 75 6e | projects.cache.if.needed.....(un | 
| 4e8a0 | 6c 65 73 73 20 70 72 6f 6a 65 63 74 69 6c 65 2d    70 72 6f 6a 65 63 74 73 2d 63 61 63 68 65 0a 20 | less.projectile-projects-cache.. | 
| 4e8c0 | 20 20 20 20 20 28 73 65 74 71 20 70 72 6f 6a 65    63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 73 2d 63 | .....(setq.projectile-projects-c | 
| 4e8e0 | 61 63 68 65 0a 20 20 20 20 20 20 20 20 20 20 20    20 28 6f 72 20 28 70 72 6f 6a 65 63 74 69 6c 65 | ache.............(or.(projectile | 
| 4e900 | 2d 75 6e 73 65 72 69 61 6c 69 7a 65 20 70 72 6f    6a 65 63 74 69 6c 65 2d 63 61 63 68 65 2d 66 69 | -unserialize.projectile-cache-fi | 
| 4e920 | 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 6d 61 6b 65 2d 68 61 73 68 2d 74 | le).................(make-hash-t | 
| 4e940 | 61 62 6c 65 20 3a 74 65 73 74 20 27 65 71 75 61    6c 29 29 29 29 0a 20 20 20 20 28 75 6e 6c 65 73 | able.:test.'equal)))).....(unles | 
| 4e960 | 73 20 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f    6a 65 63 74 73 2d 63 61 63 68 65 2d 74 69 6d 65 | s.projectile-projects-cache-time | 
| 4e980 | 0a 20 20 20 20 20 20 28 73 65 74 71 20 70 72 6f    6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 73 | .......(setq.projectile-projects | 
| 4e9a0 | 2d 63 61 63 68 65 2d 74 69 6d 65 0a 20 20 20 20    20 20 20 20 20 20 20 20 28 6d 61 6b 65 2d 68 61 | -cache-time.............(make-ha | 
| 4e9c0 | 73 68 2d 74 61 62 6c 65 20 3a 74 65 73 74 20 27    65 71 75 61 6c 29 29 29 0a 20 20 20 20 3b 3b 20 | sh-table.:test.'equal))).....;;. | 
| 4e9e0 | 6c 6f 61 64 20 74 68 65 20 6b 6e 6f 77 6e 20 70    72 6f 6a 65 63 74 73 0a 20 20 20 20 28 70 72 6f | load.the.known.projects.....(pro | 
| 4ea00 | 6a 65 63 74 69 6c 65 2d 6c 6f 61 64 2d 6b 6e 6f    77 6e 2d 70 72 6f 6a 65 63 74 73 29 0a 20 20 20 | jectile-load-known-projects).... | 
| 4ea20 | 20 3b 3b 20 75 70 64 61 74 65 20 74 68 65 20 6c    69 73 74 20 6f 66 20 6b 6e 6f 77 6e 20 70 72 6f | .;;.update.the.list.of.known.pro | 
| 4ea40 | 6a 65 63 74 73 0a 20 20 20 20 28 70 72 6f 6a 65    63 74 69 6c 65 2d 2d 63 6c 65 61 6e 75 70 2d 6b | jects.....(projectile--cleanup-k | 
| 4ea60 | 6e 6f 77 6e 2d 70 72 6f 6a 65 63 74 73 29 0a 20    20 20 20 28 77 68 65 6e 20 70 72 6f 6a 65 63 74 | nown-projects).....(when.project | 
| 4ea80 | 69 6c 65 2d 61 75 74 6f 2d 64 69 73 63 6f 76 65    72 0a 20 20 20 20 20 20 28 70 72 6f 6a 65 63 74 | ile-auto-discover.......(project | 
| 4eaa0 | 69 6c 65 2d 64 69 73 63 6f 76 65 72 2d 70 72 6f    6a 65 63 74 73 2d 69 6e 2d 73 65 61 72 63 68 2d | ile-discover-projects-in-search- | 
| 4eac0 | 70 61 74 68 29 29 0a 20 20 20 20 28 61 64 64 2d    68 6f 6f 6b 20 27 70 72 6f 6a 65 63 74 2d 66 69 | path)).....(add-hook.'project-fi | 
| 4eae0 | 6e 64 2d 66 75 6e 63 74 69 6f 6e 73 20 23 27 70    72 6f 6a 65 63 74 2d 70 72 6f 6a 65 63 74 69 6c | nd-functions.#'project-projectil | 
| 4eb00 | 65 29 0a 20 20 20 20 28 61 64 64 2d 68 6f 6f 6b    20 27 66 69 6e 64 2d 66 69 6c 65 2d 68 6f 6f 6b | e).....(add-hook.'find-file-hook | 
| 4eb20 | 20 27 70 72 6f 6a 65 63 74 69 6c 65 2d 66 69 6e    64 2d 66 69 6c 65 2d 68 6f 6f 6b 2d 66 75 6e 63 | .'projectile-find-file-hook-func | 
| 4eb40 | 74 69 6f 6e 29 0a 20 20 20 20 28 61 64 64 2d 68    6f 6f 6b 20 27 70 72 6f 6a 65 63 74 69 6c 65 2d | tion).....(add-hook.'projectile- | 
| 4eb60 | 66 69 6e 64 2d 64 69 72 2d 68 6f 6f 6b 20 23 27    70 72 6f 6a 65 63 74 69 6c 65 2d 74 72 61 63 6b | find-dir-hook.#'projectile-track | 
| 4eb80 | 2d 6b 6e 6f 77 6e 2d 70 72 6f 6a 65 63 74 73 2d    66 69 6e 64 2d 66 69 6c 65 2d 68 6f 6f 6b 20 74 | -known-projects-find-file-hook.t | 
| 4eba0 | 29 0a 20 20 20 20 28 61 64 64 2d 68 6f 6f 6b 20    27 64 69 72 65 64 2d 62 65 66 6f 72 65 2d 72 65 | ).....(add-hook.'dired-before-re | 
| 4ebc0 | 61 64 69 6e 2d 68 6f 6f 6b 20 23 27 70 72 6f 6a    65 63 74 69 6c 65 2d 74 72 61 63 6b 2d 6b 6e 6f | adin-hook.#'projectile-track-kno | 
| 4ebe0 | 77 6e 2d 70 72 6f 6a 65 63 74 73 2d 66 69 6e 64    2d 66 69 6c 65 2d 68 6f 6f 6b 20 74 20 74 29 0a | wn-projects-find-file-hook.t.t). | 
| 4ec00 | 20 20 20 20 28 61 64 76 69 63 65 2d 61 64 64 20    27 63 6f 6d 70 69 6c 61 74 69 6f 6e 2d 66 69 6e | ....(advice-add.'compilation-fin | 
| 4ec20 | 64 2d 66 69 6c 65 20 3a 61 72 6f 75 6e 64 20 23    27 63 6f 6d 70 69 6c 61 74 69 6f 6e 2d 66 69 6e | d-file.:around.#'compilation-fin | 
| 4ec40 | 64 2d 66 69 6c 65 2d 70 72 6f 6a 65 63 74 69 6c    65 2d 66 69 6e 64 2d 63 6f 6d 70 69 6c 61 74 69 | d-file-projectile-find-compilati | 
| 4ec60 | 6f 6e 2d 62 75 66 66 65 72 29 0a 20 20 20 20 28    61 64 76 69 63 65 2d 61 64 64 20 27 64 65 6c 65 | on-buffer).....(advice-add.'dele | 
| 4ec80 | 74 65 2d 66 69 6c 65 20 3a 62 65 66 6f 72 65 20    23 27 64 65 6c 65 74 65 2d 66 69 6c 65 2d 70 72 | te-file.:before.#'delete-file-pr | 
| 4eca0 | 6f 6a 65 63 74 69 6c 65 2d 72 65 6d 6f 76 65 2d    66 72 6f 6d 2d 63 61 63 68 65 29 29 0a 20 20 20 | ojectile-remove-from-cache)).... | 
| 4ecc0 | 28 74 0a 20 20 20 20 28 72 65 6d 6f 76 65 2d 68    6f 6f 6b 20 27 70 72 6f 6a 65 63 74 2d 66 69 6e | (t.....(remove-hook.'project-fin | 
| 4ece0 | 64 2d 66 75 6e 63 74 69 6f 6e 73 20 23 27 70 72    6f 6a 65 63 74 2d 70 72 6f 6a 65 63 74 69 6c 65 | d-functions.#'project-projectile | 
| 4ed00 | 29 0a 20 20 20 20 28 72 65 6d 6f 76 65 2d 68 6f    6f 6b 20 27 66 69 6e 64 2d 66 69 6c 65 2d 68 6f | ).....(remove-hook.'find-file-ho | 
| 4ed20 | 6f 6b 20 23 27 70 72 6f 6a 65 63 74 69 6c 65 2d    66 69 6e 64 2d 66 69 6c 65 2d 68 6f 6f 6b 2d 66 | ok.#'projectile-find-file-hook-f | 
| 4ed40 | 75 6e 63 74 69 6f 6e 29 0a 20 20 20 20 28 72 65    6d 6f 76 65 2d 68 6f 6f 6b 20 27 64 69 72 65 64 | unction).....(remove-hook.'dired | 
| 4ed60 | 2d 62 65 66 6f 72 65 2d 72 65 61 64 69 6e 2d 68    6f 6f 6b 20 23 27 70 72 6f 6a 65 63 74 69 6c 65 | -before-readin-hook.#'projectile | 
| 4ed80 | 2d 74 72 61 63 6b 2d 6b 6e 6f 77 6e 2d 70 72 6f    6a 65 63 74 73 2d 66 69 6e 64 2d 66 69 6c 65 2d | -track-known-projects-find-file- | 
| 4eda0 | 68 6f 6f 6b 20 74 29 0a 20 20 20 20 28 61 64 76    69 63 65 2d 72 65 6d 6f 76 65 20 27 63 6f 6d 70 | hook.t).....(advice-remove.'comp | 
| 4edc0 | 69 6c 61 74 69 6f 6e 2d 66 69 6e 64 2d 66 69 6c    65 20 23 27 63 6f 6d 70 69 6c 61 74 69 6f 6e 2d | ilation-find-file.#'compilation- | 
| 4ede0 | 66 69 6e 64 2d 66 69 6c 65 2d 70 72 6f 6a 65 63    74 69 6c 65 2d 66 69 6e 64 2d 63 6f 6d 70 69 6c | find-file-projectile-find-compil | 
| 4ee00 | 61 74 69 6f 6e 2d 62 75 66 66 65 72 29 0a 20 20    20 20 28 61 64 76 69 63 65 2d 72 65 6d 6f 76 65 | ation-buffer).....(advice-remove | 
| 4ee20 | 20 27 64 65 6c 65 74 65 2d 66 69 6c 65 20 23 27    64 65 6c 65 74 65 2d 66 69 6c 65 2d 70 72 6f 6a | .'delete-file.#'delete-file-proj | 
| 4ee40 | 65 63 74 69 6c 65 2d 72 65 6d 6f 76 65 2d 66 72    6f 6d 2d 63 61 63 68 65 29 29 29 29 0a 0a 3b 3b | ectile-remove-from-cache))))..;; | 
| 4ee60 | 3b 20 73 61 76 65 68 69 73 74 2d 6d 6f 64 65 20    2d 20 57 68 65 6e 20 60 73 61 76 65 68 69 73 74 | ;.savehist-mode.-.When.`savehist | 
| 4ee80 | 2d 6d 6f 64 65 27 20 69 73 20 74 2c 20 70 72 6f    6a 65 63 74 69 6c 65 2d 70 72 6f 6a 65 63 74 2d | -mode'.is.t,.projectile-project- | 
| 4eea0 | 63 6f 6d 6d 61 6e 64 2d 68 69 73 74 6f 72 79 20    77 69 6c 6c 20 62 65 20 73 61 76 65 64 2e 0a 3b | command-history.will.be.saved..; | 
| 4eec0 | 3b 20 53 65 65 20 68 74 74 70 73 3a 2f 2f 67 69    74 68 75 62 2e 63 6f 6d 2f 62 62 61 74 73 6f 76 | ;.See.https://github.com/bbatsov | 
| 4eee0 | 2f 70 72 6f 6a 65 63 74 69 6c 65 2f 69 73 73 75    65 73 2f 31 36 33 37 20 66 6f 72 20 6d 6f 72 65 | /projectile/issues/1637.for.more | 
| 4ef00 | 20 64 65 74 61 69 6c 73 0a 28 69 66 20 28 62 6f    75 6e 64 2d 61 6e 64 2d 74 72 75 65 2d 70 20 73 | .details.(if.(bound-and-true-p.s | 
| 4ef20 | 61 76 65 68 69 73 74 2d 6c 6f 61 64 65 64 29 0a    20 20 20 20 28 61 64 64 2d 74 6f 2d 6c 69 73 74 | avehist-loaded).....(add-to-list | 
| 4ef40 | 20 27 73 61 76 65 68 69 73 74 2d 61 64 64 69 74    69 6f 6e 61 6c 2d 76 61 72 69 61 62 6c 65 73 20 | .'savehist-additional-variables. | 
| 4ef60 | 27 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72 6f 6a    65 63 74 2d 63 6f 6d 6d 61 6e 64 2d 68 69 73 74 | 'projectile-project-command-hist | 
| 4ef80 | 6f 72 79 29 0a 20 20 28 64 65 66 76 61 72 20 73    61 76 65 68 69 73 74 2d 61 64 64 69 74 69 6f 6e | ory)...(defvar.savehist-addition | 
| 4efa0 | 61 6c 2d 76 61 72 69 61 62 6c 65 73 20 6e 69 6c    29 0a 20 20 28 61 64 64 2d 68 6f 6f 6b 20 27 73 | al-variables.nil)...(add-hook.'s | 
| 4efc0 | 61 76 65 68 69 73 74 2d 6d 6f 64 65 2d 68 6f 6f    6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6c | avehist-mode-hook.............(l | 
| 4efe0 | 61 6d 62 64 61 28 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 61 64 64 2d 74 6f 2d 6c 69 | ambda()...............(add-to-li | 
| 4f000 | 73 74 20 27 73 61 76 65 68 69 73 74 2d 61 64 64    69 74 69 6f 6e 61 6c 2d 76 61 72 69 61 62 6c 65 | st.'savehist-additional-variable | 
| 4f020 | 73 20 27 70 72 6f 6a 65 63 74 69 6c 65 2d 70 72    6f 6a 65 63 74 2d 63 6f 6d 6d 61 6e 64 2d 68 69 | s.'projectile-project-command-hi | 
| 4f040 | 73 74 6f 72 79 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 | story))))..;;;###autoload.(defin | 
| 4f060 | 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 70 72 6f 6a 65 | e-obsolete-function-alias.'proje | 
| 4f080 | 63 74 69 6c 65 2d 67 6c 6f 62 61 6c 2d 6d 6f 64    65 20 27 70 72 6f 6a 65 63 74 69 6c 65 2d 6d 6f | ctile-global-mode.'projectile-mo | 
| 4f0a0 | 64 65 20 22 31 2e 30 22 29 0a 0a 28 70 72 6f 76    69 64 65 20 27 70 72 6f 6a 65 63 74 69 6c 65 29 | de."1.0")..(provide.'projectile) | 
| 4f0c0 | 0a 0a 3b 3b 3b 20 70 72 6f 6a 65 63 74 69 6c 65    2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 | ..;;;.projectile.el.ends.here... | 
| 4f0e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 4f100 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 4f120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 4f140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 4f160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 4f180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 4f1a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 4f1c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 4f1e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 4f200 | 70 72 6f 6a 65 63 74 69 6c 65 2d 32 2e 38 2e 30    2f 2e 64 69 72 2d 6c 6f 63 61 6c 73 2e 65 6c 00 | projectile-2.8.0/.dir-locals.el. | 
| 4f220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 4f240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 4f260 | 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 | 
| 4f280 | 30 30 30 31 34 32 31 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 34 37 34 37 00 20 30 00 00 00 | 0001421.00000000000.014747..0... | 
| 4f2a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 4f2c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 4f2e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 4f300 | 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................... | 
| 4f320 | 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................... | 
| 4f340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 4f360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 4f380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 4f3a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 4f3c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 4f3e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 4f400 | 3b 3b 3b 20 44 69 72 65 63 74 6f 72 79 20 4c 6f    63 61 6c 20 56 61 72 69 61 62 6c 65 73 0a 3b 3b | ;;;.Directory.Local.Variables.;; | 
| 4f420 | 3b 20 46 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72    6d 61 74 69 6f 6e 20 73 65 65 20 28 69 6e 66 6f | ;.For.more.information.see.(info | 
| 4f440 | 20 22 28 65 6d 61 63 73 29 20 44 69 72 65 63 74    6f 72 79 20 56 61 72 69 61 62 6c 65 73 22 29 0a | ."(emacs).Directory.Variables"). | 
| 4f460 | 0a 28 28 65 6d 61 63 73 2d 6c 69 73 70 2d 6d 6f    64 65 20 2e 20 28 28 62 75 67 2d 72 65 66 65 72 | .((emacs-lisp-mode...((bug-refer | 
| 4f480 | 65 6e 63 65 2d 75 72 6c 2d 66 6f 72 6d 61 74 20    2e 20 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 | ence-url-format..."https://githu | 
| 4f4a0 | 62 2e 63 6f 6d 2f 62 62 61 74 73 6f 76 2f 70 72    6f 6a 65 63 74 69 6c 65 2f 69 73 73 75 65 73 2f | b.com/bbatsov/projectile/issues/ | 
| 4f4c0 | 25 73 22 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 75 67 2d 72 | %s")......................(bug-r | 
| 4f4e0 | 65 66 65 72 65 6e 63 65 2d 62 75 67 2d 72 65 67    65 78 70 20 2e 20 22 23 5c 5c 28 3f 32 3a 5b 5b | eference-bug-regexp..."#\\(?2:[[ | 
| 4f500 | 3a 64 69 67 69 74 3a 5d 5d 2b 5c 5c 29 22 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | :digit:]]+\\)")................. | 
| 4f520 | 20 20 20 20 20 28 69 6e 64 65 6e 74 2d 74 61 62    73 2d 6d 6f 64 65 20 2e 20 6e 69 6c 29 0a 20 20 | .....(indent-tabs-mode...nil)... | 
| 4f540 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 66 69 6c 6c 2d 63 6f 6c 75 6d 6e 20 | ...................(fill-column. | 
| 4f560 | 2e 20 38 30 29 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 28 73 65 6e 74 | ..80)......................(sent | 
| 4f580 | 65 6e 63 65 2d 65 6e 64 2d 64 6f 75 62 6c 65 2d    73 70 61 63 65 20 2e 20 74 29 0a 20 20 20 20 20 | ence-end-double-space...t)...... | 
| 4f5a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 65 6d 61 63 73 2d 6c 69 73 70 2d 64 6f 63 73 | ................(emacs-lisp-docs | 
| 4f5c0 | 74 72 69 6e 67 2d 66 69 6c 6c 2d 63 6f 6c 75 6d    6e 20 2e 20 37 35 29 0a 20 20 20 20 20 20 20 20 | tring-fill-column...75)......... | 
| 4f5e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 68    65 63 6b 64 6f 63 2d 73 79 6d 62 6f 6c 2d 77 6f | .............(checkdoc-symbol-wo | 
| 4f600 | 72 64 73 20 2e 20 28 22 74 6f 70 2d 6c 65 76 65    6c 22 20 22 6d 61 6a 6f 72 2d 6d 6f 64 65 22 20 | rds...("top-level"."major-mode". | 
| 4f620 | 22 6d 61 63 72 6f 65 78 70 61 6e 64 2d 61 6c 6c    22 20 22 70 72 69 6e 74 2d 6c 65 76 65 6c 22 20 | "macroexpand-all"."print-level". | 
| 4f640 | 22 70 72 69 6e 74 2d 6c 65 6e 67 74 68 22 29 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | "print-length"))................ | 
| 4f660 | 20 20 20 20 20 20 28 63 68 65 63 6b 64 6f 63 2d    70 61 63 6b 61 67 65 2d 6b 65 79 77 6f 72 64 73 | ......(checkdoc-package-keywords | 
| 4f680 | 2d 66 6c 61 67 20 2e 20 6e 69 6c 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | -flag...nil).................... | 
| 4f6a0 | 20 20 28 63 68 65 63 6b 64 6f 63 2d 61 72 67 75    6d 65 6e 74 73 2d 69 6e 2d 6f 72 64 65 72 2d 66 | ..(checkdoc-arguments-in-order-f | 
| 4f6c0 | 6c 61 67 20 2e 20 6e 69 6c 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | lag...nil)...................... | 
| 4f6e0 | 28 63 68 65 63 6b 64 6f 63 2d 76 65 72 62 2d 63    68 65 63 6b 2d 65 78 70 65 72 69 6d 65 6e 74 61 | (checkdoc-verb-check-experimenta | 
| 4f700 | 6c 2d 66 6c 61 67 20 2e 20 6e 69 6c 29 29 29 29    0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | l-flag...nil))))................ | 
| 4f720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 4f740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 4f760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 4f780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 4f7a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 4f7c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 4f7e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 4f800 | 70 72 6f 6a 65 63 74 69 6c 65 2d 32 2e 38 2e 30    2f 70 72 6f 6a 65 63 74 69 6c 65 2d 70 6b 67 2e | projectile-2.8.0/projectile-pkg. | 
| 4f820 | 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 00 00 00 00 00 00 | el.............................. | 
| 4f840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 4f860 | 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 | 
| 4f880 | 30 30 30 30 36 35 35 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 35 35 36 37 00 20 30 00 00 00 | 0000655.00000000000.015567..0... | 
| 4f8a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 4f8c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 4f8e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 4f900 | 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................... | 
| 4f920 | 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................... | 
| 4f940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 4f960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 4f980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 4f9a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 4f9c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 4f9e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 4fa00 | 3b 3b 20 47 65 6e 65 72 61 74 65 64 20 70 61 63    6b 61 67 65 20 64 65 73 63 72 69 70 74 69 6f 6e | ;;.Generated.package.description | 
| 4fa20 | 20 66 72 6f 6d 20 70 72 6f 6a 65 63 74 69 6c 65    2e 65 6c 20 20 2d 2a 2d 20 6e 6f 2d 62 79 74 65 | .from.projectile.el..-*-.no-byte | 
| 4fa40 | 2d 63 6f 6d 70 69 6c 65 3a 20 74 20 2d 2a 2d 0a    28 64 65 66 69 6e 65 2d 70 61 63 6b 61 67 65 20 | -compile:.t.-*-.(define-package. | 
| 4fa60 | 22 70 72 6f 6a 65 63 74 69 6c 65 22 20 22 32 2e    38 2e 30 22 20 22 4d 61 6e 61 67 65 20 61 6e 64 | "projectile"."2.8.0"."Manage.and | 
| 4fa80 | 20 6e 61 76 69 67 61 74 65 20 70 72 6f 6a 65 63    74 73 20 69 6e 20 45 6d 61 63 73 20 65 61 73 69 | .navigate.projects.in.Emacs.easi | 
| 4faa0 | 6c 79 22 20 27 28 28 65 6d 61 63 73 20 22 32 35    2e 31 22 29 29 20 3a 63 6f 6d 6d 69 74 20 22 65 | ly".'((emacs."25.1")).:commit."e | 
| 4fac0 | 36 38 38 39 64 37 66 34 62 63 30 64 32 63 34 38    63 65 61 63 35 36 64 66 65 36 66 34 61 33 64 37 | 6889d7f4bc0d2c48ceac56dfe6f4a3d7 | 
| 4fae0 | 34 32 61 33 62 36 39 22 20 3a 61 75 74 68 6f 72    73 20 27 28 28 22 42 6f 7a 68 69 64 61 72 20 42 | 42a3b69".:authors.'(("Bozhidar.B | 
| 4fb00 | 61 74 73 6f 76 22 20 2e 20 22 62 6f 7a 68 69 64    61 72 40 62 61 74 73 6f 76 2e 64 65 76 22 29 29 | atsov"..."bozhidar@batsov.dev")) | 
| 4fb20 | 20 3a 6d 61 69 6e 74 61 69 6e 65 72 20 27 28 22    42 6f 7a 68 69 64 61 72 20 42 61 74 73 6f 76 22 | .:maintainer.'("Bozhidar.Batsov" | 
| 4fb40 | 20 2e 20 22 62 6f 7a 68 69 64 61 72 40 62 61 74    73 6f 76 2e 64 65 76 22 29 20 3a 6b 65 79 77 6f | ..."bozhidar@batsov.dev").:keywo | 
| 4fb60 | 72 64 73 20 27 28 22 70 72 6f 6a 65 63 74 22 20    22 63 6f 6e 76 65 6e 69 65 6e 63 65 22 29 20 3a | rds.'("project"."convenience").: | 
| 4fb80 | 75 72 6c 20 22 68 74 74 70 73 3a 2f 2f 67 69 74    68 75 62 2e 63 6f 6d 2f 62 62 61 74 73 6f 76 2f | url."https://github.com/bbatsov/ | 
| 4fba0 | 70 72 6f 6a 65 63 74 69 6c 65 22 29 0a 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | projectile").................... | 
| 4fbc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 4fbe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 4fc00 | 70 72 6f 6a 65 63 74 69 6c 65 2d 32 2e 38 2e 30    2f 52 45 41 44 4d 45 2e 6d 64 00 00 00 00 00 00 | projectile-2.8.0/README.md...... | 
| 4fc20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 4fc40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 4fc60 | 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 | 
| 4fc80 | 30 30 31 36 30 33 33 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 33 36 30 32 00 20 30 00 00 00 | 0016033.00000000000.013602..0... | 
| 4fca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 4fcc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 4fce0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 4fd00 | 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................... | 
| 4fd20 | 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................... | 
| 4fd40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 4fd60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 4fd80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 4fda0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 4fdc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 4fde0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 4fe00 | 23 20 50 72 6f 6a 65 63 74 69 6c 65 0a 0a 5b 21    5b 42 75 69 6c 64 20 53 74 61 74 75 73 5d 28 68 | #.Projectile..[](ht | 
| 4fe60 | 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d    2f 62 62 61 74 73 6f 76 2f 70 72 6f 6a 65 63 74 | tps://github.com/bbatsov/project | 
| 4fe80 | 69 6c 65 2f 61 63 74 69 6f 6e 73 3f 71 75 65 72    79 3d 77 6f 72 6b 66 6c 6f 77 25 33 41 43 49 29 | ile/actions?query=workflow%3ACI) | 
| 4fea0 | 0a 5b 21 5b 4d 45 4c 50 41 5d 28 68 74 74 70 3a    2f 2f 6d 65 6c 70 61 2e 6f 72 67 2f 70 61 63 6b | .[](http | 
| 4fee0 | 3a 2f 2f 6d 65 6c 70 61 2e 6f 72 67 2f 23 2f 70    72 6f 6a 65 63 74 69 6c 65 29 0a 5b 21 5b 4d 45 | ://melpa.org/#/projectile).[](http://stable.melpa.org/#/pr | 
| 4ff60 | 6f 6a 65 63 74 69 6c 65 29 0a 5b 21 5b 4e 6f 6e    47 4e 55 20 45 4c 50 41 5d 28 68 74 74 70 73 3a | ojectile).[](https://elpa.nongnu.or | 
| 4ffc0 | 67 2f 6e 6f 6e 67 6e 75 2f 70 72 6f 6a 65 63 74    69 6c 65 2e 68 74 6d 6c 29 0a 5b 21 5b 4c 69 63 | g/nongnu/projectile.html).[![Lic | 
| 4ffe0 | 65 6e 73 65 20 47 50 4c 20 33 5d 5b 62 61 64 67    65 2d 6c 69 63 65 6e 73 65 5d 5d 28 68 74 74 70 | ense.GPL.3][badge-license]](http | 
| 50000 | 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c    69 63 65 6e 73 65 73 2f 67 70 6c 2d 33 2e 30 2e | ://www.gnu.org/licenses/gpl-3.0. | 
| 50020 | 74 78 74 29 0a 5b 21 5b 44 69 73 63 6f 72 64 5d    28 68 74 74 70 73 3a 2f 2f 69 6d 67 2e 73 68 69 | txt).[](https | 
| 50080 | 3a 2f 2f 64 69 73 63 6f 72 64 2e 67 67 2f 33 43    66 32 51 70 79 72 79 35 29 0a 0a 23 23 20 53 79 | ://discord.gg/3Cf2Qpyry5)..##.Sy | 
| 500a0 | 6e 6f 70 73 69 73 0a 0a 2a 2a 50 72 6f 6a 65 63    74 69 6c 65 2a 2a 20 69 73 20 61 20 70 72 6f 6a | nopsis..**Projectile**.is.a.proj | 
| 500c0 | 65 63 74 20 69 6e 74 65 72 61 63 74 69 6f 6e 20    6c 69 62 72 61 72 79 20 66 6f 72 20 45 6d 61 63 | ect.interaction.library.for.Emac | 
| 500e0 | 73 2e 20 49 74 73 20 67 6f 61 6c 20 69 73 20 74    6f 0a 70 72 6f 76 69 64 65 20 61 20 6e 69 63 65 | s..Its.goal.is.to.provide.a.nice | 
| 50100 | 20 73 65 74 20 6f 66 20 66 65 61 74 75 72 65 73    20 6f 70 65 72 61 74 69 6e 67 20 6f 6e 20 61 20 | .set.of.features.operating.on.a. | 
| 50120 | 70 72 6f 6a 65 63 74 20 6c 65 76 65 6c 20 77 69    74 68 6f 75 74 0a 69 6e 74 72 6f 64 75 63 69 6e | project.level.without.introducin | 
| 50140 | 67 20 65 78 74 65 72 6e 61 6c 20 64 65 70 65 6e    64 65 6e 63 69 65 73 20 28 77 68 65 6e 20 66 65 | g.external.dependencies.(when.fe | 
| 50160 | 61 73 69 62 6c 65 29 2e 20 46 6f 72 20 69 6e 73    74 61 6e 63 65 20 2d 0a 66 69 6e 64 69 6e 67 20 | asible)..For.instance.-.finding. | 
| 50180 | 70 72 6f 6a 65 63 74 20 66 69 6c 65 73 20 68 61    73 20 61 20 70 6f 72 74 61 62 6c 65 20 69 6d 70 | project.files.has.a.portable.imp | 
| 501a0 | 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 77 72 69 74    74 65 6e 20 69 6e 20 70 75 72 65 0a 45 6d 61 63 | lementation.written.in.pure.Emac | 
| 501c0 | 73 20 4c 69 73 70 20 77 69 74 68 6f 75 74 20 74    68 65 20 75 73 65 20 6f 66 20 47 4e 55 20 60 66 | s.Lisp.without.the.use.of.GNU.`f | 
| 501e0 | 69 6e 64 60 20 28 62 75 74 20 66 6f 72 20 70 65    72 66 6f 72 6d 61 6e 63 65 20 73 61 6b 65 20 61 | ind`.(but.for.performance.sake.a | 
| 50200 | 6e 0a 69 6e 64 65 78 69 6e 67 20 6d 65 63 68 61    6e 69 73 6d 20 62 61 63 6b 65 64 20 62 79 20 65 | n.indexing.mechanism.backed.by.e | 
| 50220 | 78 74 65 72 6e 61 6c 20 63 6f 6d 6d 61 6e 64 73    20 65 78 69 73 74 73 20 61 73 20 77 65 6c 6c 29 | xternal.commands.exists.as.well) | 
| 50240 | 2e 0a 0a 50 72 6f 6a 65 63 74 69 6c 65 20 74 72    69 65 73 20 74 6f 20 62 65 20 70 72 61 63 74 69 | ...Projectile.tries.to.be.practi | 
| 50260 | 63 61 6c 20 2d 20 70 6f 72 74 61 62 69 6c 69 74    79 20 69 73 20 67 72 65 61 74 2c 20 62 75 74 20 | cal.-.portability.is.great,.but. | 
| 50280 | 69 66 20 73 6f 6d 65 0a 65 78 74 65 72 6e 61 6c    20 74 6f 6f 6c 73 20 63 6f 75 6c 64 20 73 70 65 | if.some.external.tools.could.spe | 
| 502a0 | 65 64 20 75 70 20 73 6f 6d 65 20 74 61 73 6b 20    73 75 62 73 74 61 6e 74 69 61 6c 6c 79 20 61 6e | ed.up.some.task.substantially.an | 
| 502c0 | 64 20 74 68 65 20 74 6f 6f 6c 73 0a 61 72 65 20    61 76 61 69 6c 61 62 6c 65 2c 20 50 72 6f 6a 65 | d.the.tools.are.available,.Proje | 
| 502e0 | 63 74 69 6c 65 20 77 69 6c 6c 20 6c 65 76 65 72    61 67 65 20 74 68 65 6d 2e 0a 0a 54 68 69 73 20 | ctile.will.leverage.them...This. | 
| 50300 | 6c 69 62 72 61 72 79 20 70 72 6f 76 69 64 65 73    20 65 61 73 79 20 70 72 6f 6a 65 63 74 20 6d 61 | library.provides.easy.project.ma | 
| 50320 | 6e 61 67 65 6d 65 6e 74 20 61 6e 64 20 6e 61 76    69 67 61 74 69 6f 6e 2e 20 54 68 65 20 63 6f 6e | nagement.and.navigation..The.con | 
| 50340 | 63 65 70 74 20 6f 66 20 61 0a 70 72 6f 6a 65 63    74 20 69 73 20 70 72 65 74 74 79 20 62 61 73 69 | cept.of.a.project.is.pretty.basi | 
| 50360 | 63 20 2d 20 6a 75 73 74 20 61 20 66 6f 6c 64 65    72 20 63 6f 6e 74 61 69 6e 69 6e 67 20 73 6f 6d | c.-.just.a.folder.containing.som | 
| 50380 | 65 20 73 70 65 63 69 61 6c 20 66 69 6c 65 20 28    65 2e 67 2e 20 61 20 56 43 53 0a 6d 61 72 6b 65 | e.special.file.(e.g..a.VCS.marke | 
| 503a0 | 72 20 6f 72 20 61 20 70 72 6f 6a 65 63 74 20 64    65 73 63 72 69 70 74 6f 72 20 66 69 6c 65 20 6c | r.or.a.project.descriptor.file.l | 
| 503c0 | 69 6b 65 20 60 70 6f 6d 2e 78 6d 6c 60 20 6f 72    20 60 47 65 6d 66 69 6c 65 60 29 2e 20 50 72 6f | ike.`pom.xml`.or.`Gemfile`)..Pro | 
| 503e0 | 6a 65 63 74 69 6c 65 0a 77 69 6c 6c 20 61 75 74    6f 2d 64 65 74 65 63 74 20 70 72 65 74 74 79 20 | jectile.will.auto-detect.pretty. | 
| 50400 | 6d 75 63 68 20 65 76 65 72 79 20 70 6f 70 75 6c    61 72 20 70 72 6f 6a 65 63 74 20 74 79 70 65 20 | much.every.popular.project.type. | 
| 50420 | 6f 75 74 20 6f 66 20 74 68 65 20 62 6f 78 0a 61    6e 64 20 79 6f 75 20 63 61 6e 20 65 61 73 69 6c | out.of.the.box.and.you.can.easil | 
| 50440 | 79 20 65 78 74 65 6e 64 20 69 74 20 77 69 74 68    20 61 64 64 69 74 69 6f 6e 61 6c 20 70 72 6f 6a | y.extend.it.with.additional.proj | 
| 50460 | 65 63 74 20 74 79 70 65 73 2e 0a 0a 48 65 72 65    20 61 72 65 20 73 6f 6d 65 20 6f 66 20 50 72 6f | ect.types...Here.are.some.of.Pro | 
| 50480 | 6a 65 63 74 69 6c 65 27 73 20 66 65 61 74 75 72    65 73 3a 0a 0a 2a 20 6a 75 6d 70 20 74 6f 20 61 | jectile's.features:..*.jump.to.a | 
| 504a0 | 20 66 69 6c 65 20 69 6e 20 70 72 6f 6a 65 63 74    0a 2a 20 6a 75 6d 70 20 74 6f 20 61 20 70 72 6f | .file.in.project.*.jump.to.a.pro | 
| 504c0 | 6a 65 63 74 20 62 75 66 66 65 72 0a 2a 20 6a 75    6d 70 20 74 6f 20 61 20 74 65 73 74 20 69 6e 20 | ject.buffer.*.jump.to.a.test.in. | 
| 504e0 | 70 72 6f 6a 65 63 74 0a 2a 20 74 6f 67 67 6c 65    20 62 65 74 77 65 65 6e 20 66 69 6c 65 73 20 77 | project.*.toggle.between.files.w | 
| 50500 | 69 74 68 20 73 61 6d 65 20 6e 61 6d 65 73 20 62    75 74 20 64 69 66 66 65 72 65 6e 74 20 65 78 74 | ith.same.names.but.different.ext | 
| 50520 | 65 6e 73 69 6f 6e 73 20 28 65 2e 67 2e 20 60 2e    68 60 20 3c 2d 3e 20 60 2e 63 2f 2e 63 70 70 60 | ensions.(e.g..`.h`.<->.`.c/.cpp` | 
| 50540 | 2c 20 60 47 65 6d 66 69 6c 65 60 20 3c 2d 3e 20    60 47 65 6d 66 69 6c 65 2e 6c 6f 63 6b 60 29 0a | ,.`Gemfile`.<->.`Gemfile.lock`). | 
| 50560 | 2a 20 74 6f 67 67 6c 65 20 62 65 74 77 65 65 6e    20 63 6f 64 65 20 61 6e 64 20 69 74 73 20 74 65 | *.toggle.between.code.and.its.te | 
| 50580 | 73 74 20 28 65 2e 67 2e 20 60 6d 61 69 6e 2e 73    65 72 76 69 63 65 2e 6a 73 60 20 3c 2d 3e 20 60 | st.(e.g..`main.service.js`.<->.` | 
| 505a0 | 6d 61 69 6e 2e 73 65 72 76 69 63 65 2e 73 70 65    63 2e 6a 73 60 29 0a 2a 20 6a 75 6d 70 20 74 6f | main.service.spec.js`).*.jump.to | 
| 505c0 | 20 72 65 63 65 6e 74 6c 79 20 76 69 73 69 74 65    64 20 66 69 6c 65 73 20 69 6e 20 74 68 65 20 70 | .recently.visited.files.in.the.p | 
| 505e0 | 72 6f 6a 65 63 74 0a 2a 20 73 77 69 74 63 68 20    62 65 74 77 65 65 6e 20 70 72 6f 6a 65 63 74 73 | roject.*.switch.between.projects | 
| 50600 | 20 79 6f 75 20 68 61 76 65 20 77 6f 72 6b 65 64    20 6f 6e 0a 2a 20 6b 69 6c 6c 20 28 63 6c 6f 73 | .you.have.worked.on.*.kill.(clos | 
| 50620 | 65 29 20 61 6c 6c 20 70 72 6f 6a 65 63 74 20 62    75 66 66 65 72 73 0a 2a 20 67 72 65 70 20 28 73 | e).all.project.buffers.*.grep.(s | 
| 50640 | 65 61 72 63 68 29 20 69 6e 20 70 72 6f 6a 65 63    74 0a 2a 20 72 65 70 6c 61 63 65 20 69 6e 20 70 | earch).in.project.*.replace.in.p | 
| 50660 | 72 6f 6a 65 63 74 0a 2a 20 66 69 6e 64 20 72 65    66 65 72 65 6e 63 65 73 20 69 6e 20 70 72 6f 6a | roject.*.find.references.in.proj | 
| 50680 | 65 63 74 20 28 75 73 69 6e 67 20 60 78 72 65 66    60 20 69 6e 74 65 72 6e 61 6c 6c 79 29 0a 2a 20 | ect.(using.`xref`.internally).*. | 
| 506a0 | 72 75 6e 20 73 68 65 6c 6c 20 63 6f 6d 6d 61 6e    64 73 20 69 6e 20 61 20 70 72 6f 6a 65 63 74 20 | run.shell.commands.in.a.project. | 
| 506c0 | 28 65 2e 67 2e 20 60 6d 61 6b 65 60 2c 20 60 6c    65 69 6e 60 29 0a 2a 20 73 75 70 70 6f 72 74 20 | (e.g..`make`,.`lein`).*.support. | 
| 506e0 | 66 6f 72 20 6d 75 6c 74 69 70 6c 65 20 6d 69 6e    69 62 75 66 66 65 72 20 63 6f 6d 70 6c 65 74 69 | for.multiple.minibuffer.completi | 
| 50700 | 6f 6e 2f 73 65 6c 65 63 74 69 6f 6e 20 6c 69 62    72 61 72 69 65 73 20 28 60 69 64 6f 60 2c 20 60 | on/selection.libraries.(`ido`,.` | 
| 50720 | 69 76 79 60 2c 20 60 68 65 6c 6d 60 20 61 6e 64    20 74 68 65 20 64 65 66 61 75 6c 74 20 63 6f 6d | ivy`,.`helm`.and.the.default.com | 
| 50740 | 70 6c 65 74 69 6f 6e 20 73 79 73 74 65 6d 29 0a    2a 20 61 75 74 6f 6d 61 74 69 63 20 70 72 6f 6a | pletion.system).*.automatic.proj | 
| 50760 | 65 63 74 20 64 69 73 63 6f 76 65 72 79 20 28 73    65 65 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 70 | ect.discovery.(see.`projectile-p | 
| 50780 | 72 6f 6a 65 63 74 2d 73 65 61 72 63 68 2d 70 61    74 68 60 29 0a 2a 20 69 6e 74 65 67 72 61 74 69 | roject-search-path`).*.integrati | 
| 507a0 | 6f 6e 20 77 69 74 68 20 74 68 65 20 62 75 69 6c    74 2d 69 6e 20 60 70 72 6f 6a 65 63 74 2e 65 6c | on.with.the.built-in.`project.el | 
| 507c0 | 60 20 6c 69 62 72 61 72 79 0a 0a 54 68 65 72 65    27 73 20 61 6c 73 6f 20 61 20 72 69 63 68 20 65 | `.library..There's.also.a.rich.e | 
| 507e0 | 63 6f 73 79 73 74 65 6d 20 6f 66 20 74 68 69 72    64 2d 70 61 72 74 79 20 5b 50 72 6f 6a 65 63 74 | cosystem.of.third-party.[Project | 
| 50800 | 69 6c 65 20 65 78 74 65 6e 73 69 6f 6e 73 5d 28    68 74 74 70 73 3a 2f 2f 6d 65 6c 70 61 2e 6f 72 | ile.extensions](https://melpa.or | 
| 50820 | 67 2f 23 2f 3f 71 3d 70 72 6f 6a 65 63 74 69 6c    65 29 20 74 68 61 74 20 61 64 64 20 65 76 65 6e | g/#/?q=projectile).that.add.even | 
| 50840 | 20 6d 6f 72 65 20 66 65 61 74 75 72 65 73 2e 0a    0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | .more.features...--------------- | 
| 50860 | 0a 5b 21 5b 50 61 74 72 65 6f 6e 5d 28 68 74 74    70 73 3a 2f 2f 69 6d 67 2e 73 68 69 65 6c 64 73 | .[](https://www.patreon.com/bb | 
| 508c0 | 61 74 73 6f 76 29 0a 5b 21 5b 50 61 79 70 61 6c    5d 28 68 74 74 70 73 3a 2f 2f 77 77 77 2e 70 61 | atsov).[](https://www.payp | 
| 50920 | 61 6c 2e 63 6f 6d 2f 63 67 69 2d 62 69 6e 2f 77    65 62 73 63 72 3f 63 6d 64 3d 5f 73 2d 78 63 6c | al.com/cgi-bin/webscr?cmd=_s-xcl | 
| 50940 | 69 63 6b 26 68 6f 73 74 65 64 5f 62 75 74 74 6f    6e 5f 69 64 3d 47 52 51 4b 4e 42 4d 36 50 38 56 | ick&hosted_button_id=GRQKNBM6P8V | 
| 50960 | 52 51 29 0a 0a 49 27 76 65 20 62 65 65 6e 20 64    65 76 65 6c 6f 70 69 6e 67 20 50 72 6f 6a 65 63 | RQ)..I've.been.developing.Projec | 
| 50980 | 74 69 6c 65 20 66 6f 72 20 6f 76 65 72 20 61 20    64 65 63 61 64 65 20 6e 6f 77 20 28 73 69 6e 63 | tile.for.over.a.decade.now.(sinc | 
| 509a0 | 65 20 32 30 31 31 29 2e 20 57 68 69 6c 65 20 69    74 27 73 20 61 20 66 75 6e 0a 70 72 6f 6a 65 63 | e.2011)..While.it's.a.fun.projec | 
| 509c0 | 74 20 74 6f 20 77 6f 72 6b 20 6f 6e 2c 20 69 74    20 73 74 69 6c 6c 20 72 65 71 75 69 72 65 73 20 | t.to.work.on,.it.still.requires. | 
| 509e0 | 61 20 6c 6f 74 20 6f 66 20 74 69 6d 65 20 61 6e    64 20 65 6e 65 72 67 79 20 74 6f 0a 6d 61 69 6e | a.lot.of.time.and.energy.to.main | 
| 50a00 | 74 61 69 6e 2e 0a 0a 59 6f 75 20 63 61 6e 20 73    75 70 70 6f 72 74 20 6d 79 20 77 6f 72 6b 20 6f | tain...You.can.support.my.work.o | 
| 50a20 | 6e 20 50 72 6f 6a 65 63 74 69 6c 65 20 76 69 61    0a 20 5b 50 61 79 50 61 6c 5d 28 68 74 74 70 73 | n.Projectile.via..[PayPal](https | 
| 50a40 | 3a 2f 2f 77 77 77 2e 70 61 79 70 61 6c 2e 6d 65    2f 62 62 61 74 73 6f 76 29 2c 0a 20 5b 50 61 74 | ://www.paypal.me/bbatsov),..[Pat | 
| 50a60 | 72 65 6f 6e 5d 28 68 74 74 70 73 3a 2f 2f 77 77    77 2e 70 61 74 72 65 6f 6e 2e 63 6f 6d 2f 62 62 | reon](https://www.patreon.com/bb | 
| 50a80 | 61 74 73 6f 76 29 20 61 6e 64 0a 20 5b 47 69 74    48 75 62 20 53 70 6f 6e 73 6f 72 73 5d 28 68 74 | atsov).and..[GitHub.Sponsors](ht | 
| 50aa0 | 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d    2f 73 70 6f 6e 73 6f 72 73 2f 62 62 61 74 73 6f | tps://github.com/sponsors/bbatso | 
| 50ac0 | 76 29 2e 0a 0a 23 23 20 50 72 6f 6a 65 63 74 69    6c 65 20 69 6e 20 41 63 74 69 6f 6e 0a 0a 48 65 | v)...##.Projectile.in.Action..He | 
| 50ae0 | 72 65 27 73 20 61 20 67 6c 69 6d 70 73 65 20 6f    66 20 50 72 6f 6a 65 63 74 69 6c 65 20 69 6e 20 | re's.a.glimpse.of.Projectile.in. | 
| 50b00 | 61 63 74 69 6f 6e 20 28 75 73 69 6e 67 20 60 69    76 79 60 29 3a 0a 0a 21 5b 50 72 6f 6a 65 63 74 | action.(using.`ivy`):....I | 
| 50b60 | 6e 20 74 68 69 73 20 73 68 6f 72 74 20 64 65 6d    6f 20 79 6f 75 20 63 61 6e 20 73 65 65 3a 0a 0a | n.this.short.demo.you.can.see:.. | 
| 50b80 | 2a 20 66 69 6e 64 69 6e 67 20 66 69 6c 65 73 20    69 6e 20 61 20 70 72 6f 6a 65 63 74 0a 2a 20 73 | *.finding.files.in.a.project.*.s | 
| 50ba0 | 77 69 74 63 68 69 6e 67 20 62 65 74 77 65 65 6e    20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 | witching.between.implementation. | 
| 50bc0 | 61 6e 64 20 74 65 73 74 0a 2a 20 73 77 69 74 63    68 69 6e 67 20 62 65 74 77 65 65 6e 20 70 72 6f | and.test.*.switching.between.pro | 
| 50be0 | 6a 65 63 74 73 0a 0a 23 23 20 51 75 69 63 6b 73    74 61 72 74 0a 0a 54 68 65 20 69 6e 73 74 72 75 | jects..##.Quickstart..The.instru | 
| 50c00 | 63 74 69 6f 6e 73 20 74 68 61 74 20 66 6f 6c 6c    6f 77 20 61 72 65 20 6d 65 61 6e 74 20 74 6f 20 | ctions.that.follow.are.meant.to. | 
| 50c20 | 67 65 74 20 79 6f 75 20 66 72 6f 6d 20 7a 65 72    6f 20 74 6f 20 61 20 72 75 6e 6e 69 6e 67 20 50 | get.you.from.zero.to.a.running.P | 
| 50c40 | 72 6f 6a 65 63 74 69 6c 65 20 73 65 74 75 70 0a    69 6e 20 61 20 6d 69 6e 75 74 65 2e 20 20 56 69 | rojectile.setup.in.a.minute...Vi | 
| 50c60 | 73 69 74 20 74 68 65 0a 5b 6f 6e 6c 69 6e 65 20    64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 5d 28 68 | sit.the.[online.documentation](h | 
| 50c80 | 74 74 70 73 3a 2f 2f 64 6f 63 73 2e 70 72 6f 6a    65 63 74 69 6c 65 2e 6d 78 29 20 66 6f 72 20 28 | ttps://docs.projectile.mx).for.( | 
| 50ca0 | 77 61 79 29 20 6d 6f 72 65 0a 64 65 74 61 69 6c    73 2e 0a 0a 23 23 23 20 49 6e 73 74 61 6c 6c 61 | way).more.details...###.Installa | 
| 50cc0 | 74 69 6f 6e 0a 0a 60 70 61 63 6b 61 67 65 2e 65    6c 60 20 69 73 20 74 68 65 20 62 75 69 6c 74 2d | tion..`package.el`.is.the.built- | 
| 50ce0 | 69 6e 20 70 61 63 6b 61 67 65 20 6d 61 6e 61 67    65 72 20 69 6e 20 45 6d 61 63 73 2e 0a 0a 50 72 | in.package.manager.in.Emacs...Pr | 
| 50d00 | 6f 6a 65 63 74 69 6c 65 20 69 73 20 61 76 61 69    6c 61 62 6c 65 20 6f 6e 20 61 6c 6c 20 6d 61 6a | ojectile.is.available.on.all.maj | 
| 50d20 | 6f 72 20 60 70 61 63 6b 61 67 65 2e 65 6c 60 20    63 6f 6d 6d 75 6e 69 74 79 0a 6d 61 69 6e 74 61 | or.`package.el`.community.mainta | 
| 50d40 | 69 6e 65 64 20 72 65 70 6f 73 20 2d 20 5b 4e 6f    6e 47 4e 55 20 45 4c 50 41 5d 28 68 74 74 70 73 | ined.repos.-.[NonGNU.ELPA](https | 
| 50d60 | 3a 2f 2f 65 6c 70 61 2e 6e 6f 6e 67 6e 75 2e 6f    72 67 29 2c 0a 5b 4d 45 4c 50 41 20 53 74 61 62 | ://elpa.nongnu.org),.[MELPA.Stab | 
| 50d80 | 6c 65 5d 28 68 74 74 70 3a 2f 2f 73 74 61 62 6c    65 2e 6d 65 6c 70 61 2e 6f 72 67 29 0a 61 6e 64 | le](http://stable.melpa.org).and | 
| 50da0 | 20 5b 4d 45 4c 50 41 5d 28 68 74 74 70 3a 2f 2f    6d 65 6c 70 61 2e 6f 72 67 29 2e 0a 0a 59 6f 75 | .[MELPA](http://melpa.org)...You | 
| 50dc0 | 20 63 61 6e 20 69 6e 73 74 61 6c 6c 20 50 72 6f    6a 65 63 74 69 6c 65 20 77 69 74 68 20 74 68 65 | .can.install.Projectile.with.the | 
| 50de0 | 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6d 6d 61    6e 64 3a 0a 0a 3c 6b 62 64 3e 4d 2d 78 3c 2f 6b | .following.command:..<kbd>M-x</k | 
| 50e00 | 62 64 3e 20 60 70 61 63 6b 61 67 65 2d 69 6e 73    74 61 6c 6c 60 20 3c 6b 62 64 3e 5b 52 45 54 5d | bd>.`package-install`.<kbd>[RET] | 
| 50e20 | 3c 2f 6b 62 64 3e 20 60 70 72 6f 6a 65 63 74 69    6c 65 60 20 3c 6b 62 64 3e 5b 52 45 54 5d 3c 2f | </kbd>.`projectile`.<kbd>[RET]</ | 
| 50e40 | 6b 62 64 3e 0a 0a 41 6c 74 65 72 6e 61 74 69 76    65 6c 79 2c 20 75 73 65 72 73 20 6f 66 20 44 65 | kbd>..Alternatively,.users.of.De | 
| 50e60 | 62 69 61 6e 20 39 20 6f 72 20 6c 61 74 65 72 20    6f 72 20 55 62 75 6e 74 75 20 31 36 2e 30 34 20 | bian.9.or.later.or.Ubuntu.16.04. | 
| 50e80 | 6f 72 20 6c 61 74 65 72 20 6d 61 79 0a 73 69 6d    70 6c 79 20 60 61 70 74 2d 67 65 74 20 69 6e 73 | or.later.may.simply.`apt-get.ins | 
| 50ea0 | 74 61 6c 6c 20 65 6c 70 61 2d 70 72 6f 6a 65 63    74 69 6c 65 60 2e 0a 0a 46 69 6e 61 6c 6c 79 20 | tall.elpa-projectile`...Finally. | 
| 50ec0 | 61 64 64 20 74 68 69 73 20 74 6f 20 79 6f 75 72    20 45 6d 61 63 73 20 63 6f 6e 66 69 67 3a 0a 0a | add.this.to.your.Emacs.config:.. | 
| 50ee0 | 60 60 60 65 6c 69 73 70 0a 28 70 72 6f 6a 65 63    74 69 6c 65 2d 6d 6f 64 65 20 2b 31 29 0a 3b 3b | ```elisp.(projectile-mode.+1).;; | 
| 50f00 | 20 52 65 63 6f 6d 6d 65 6e 64 65 64 20 6b 65 79    6d 61 70 20 70 72 65 66 69 78 20 6f 6e 20 6d 61 | .Recommended.keymap.prefix.on.ma | 
| 50f20 | 63 4f 53 0a 28 64 65 66 69 6e 65 2d 6b 65 79 20    70 72 6f 6a 65 63 74 69 6c 65 2d 6d 6f 64 65 2d | cOS.(define-key.projectile-mode- | 
| 50f40 | 6d 61 70 20 28 6b 62 64 20 22 73 2d 70 22 29 20    27 70 72 6f 6a 65 63 74 69 6c 65 2d 63 6f 6d 6d | map.(kbd."s-p").'projectile-comm | 
| 50f60 | 61 6e 64 2d 6d 61 70 29 0a 3b 3b 20 52 65 63 6f    6d 6d 65 6e 64 65 64 20 6b 65 79 6d 61 70 20 70 | and-map).;;.Recommended.keymap.p | 
| 50f80 | 72 65 66 69 78 20 6f 6e 20 57 69 6e 64 6f 77 73    2f 4c 69 6e 75 78 0a 28 64 65 66 69 6e 65 2d 6b | refix.on.Windows/Linux.(define-k | 
| 50fa0 | 65 79 20 70 72 6f 6a 65 63 74 69 6c 65 2d 6d 6f    64 65 2d 6d 61 70 20 28 6b 62 64 20 22 43 2d 63 | ey.projectile-mode-map.(kbd."C-c | 
| 50fc0 | 20 70 22 29 20 27 70 72 6f 6a 65 63 74 69 6c 65    2d 63 6f 6d 6d 61 6e 64 2d 6d 61 70 29 0a 60 60 | .p").'projectile-command-map).`` | 
| 50fe0 | 60 0a 0a 54 68 6f 73 65 20 6b 65 79 6d 61 70 20    70 72 65 66 69 78 65 73 20 61 72 65 20 6a 75 73 | `..Those.keymap.prefixes.are.jus | 
| 51000 | 74 20 61 20 73 75 67 67 65 73 74 69 6f 6e 2e 20    46 65 65 6c 20 66 72 65 65 20 74 6f 20 70 75 74 | t.a.suggestion..Feel.free.to.put | 
| 51020 | 20 74 68 65 72 65 20 77 68 61 74 65 76 65 72 20    77 6f 72 6b 73 20 62 65 73 74 20 66 6f 72 20 79 | .there.whatever.works.best.for.y | 
| 51040 | 6f 75 2e 0a 0a 23 23 23 20 42 61 73 69 63 20 55    73 61 67 65 0a 0a 45 6e 61 62 6c 65 20 60 70 72 | ou...###.Basic.Usage..Enable.`pr | 
| 51060 | 6f 6a 65 63 74 69 6c 65 2d 6d 6f 64 65 60 2c 20    6f 70 65 6e 20 61 20 66 69 6c 65 20 69 6e 20 6f | ojectile-mode`,.open.a.file.in.o | 
| 51080 | 6e 65 20 6f 66 20 79 6f 75 72 20 70 72 6f 6a 65    63 74 73 20 61 6e 64 20 74 79 70 65 20 61 20 63 | ne.of.your.projects.and.type.a.c | 
| 510a0 | 6f 6d 6d 61 6e 64 20 73 75 63 68 20 61 73 20 3c    6b 62 64 3e 43 2d 63 20 70 20 66 3c 2f 6b 62 64 | ommand.such.as.<kbd>C-c.p.f</kbd | 
| 510c0 | 3e 2e 0a 0a 53 65 65 20 74 68 65 20 5b 6f 6e 6c    69 6e 65 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f | >...See.the.[online.documentatio | 
| 510e0 | 6e 5d 28 68 74 74 70 73 3a 2f 2f 64 6f 63 73 2e    70 72 6f 6a 65 63 74 69 6c 65 2e 6d 78 29 20 66 | n](https://docs.projectile.mx).f | 
| 51100 | 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e    0a 0a 54 6f 20 67 65 74 20 74 68 65 20 6d 6f 73 | or.more.details...To.get.the.mos | 
| 51120 | 74 20 6f 66 20 50 72 6f 6a 65 63 74 69 6c 65 20    79 6f 75 20 61 6c 73 6f 20 6e 65 65 64 20 74 6f | t.of.Projectile.you.also.need.to | 
| 51140 | 20 65 6e 61 62 6c 65 20 28 61 6e 64 20 70 6f 74    65 6e 74 69 61 6c 6c 79 20 69 6e 73 74 61 6c 6c | .enable.(and.potentially.install | 
| 51160 | 29 20 73 6f 6d 65 20 6d 69 6e 69 62 75 66 66 65    72 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 66 72 61 | ).some.minibuffer.completion.fra | 
| 51180 | 6d 65 77 6f 72 6b 20 28 65 2e 67 2e 20 60 69 64    6f 60 2c 20 60 69 76 79 60 20 6f 72 20 60 73 65 | mework.(e.g..`ido`,.`ivy`.or.`se | 
| 511a0 | 6c 65 63 74 72 75 6d 60 29 2e 20 53 65 65 20 5b    74 68 69 73 20 73 65 63 74 69 6f 6e 5d 28 68 74 | lectrum`)..See.[this.section](ht | 
| 511c0 | 74 70 73 3a 2f 2f 64 6f 63 73 2e 70 72 6f 6a 65    63 74 69 6c 65 2e 6d 78 2f 70 72 6f 6a 65 63 74 | tps://docs.projectile.mx/project | 
| 511e0 | 69 6c 65 2f 63 6f 6e 66 69 67 75 72 61 74 69 6f    6e 2e 68 74 6d 6c 23 63 6f 6d 70 6c 65 74 69 6f | ile/configuration.html#completio | 
| 51200 | 6e 2d 6f 70 74 69 6f 6e 73 29 20 6f 66 20 74 68    65 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 | n-options).of.the.documentation. | 
| 51220 | 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73    2e 0a 0a 2a 2a 4e 6f 74 65 3a 2a 2a 20 48 69 73 | for.more.details...**Note:**.His | 
| 51240 | 74 6f 72 69 63 61 6c 6c 79 20 60 70 72 6f 6a 65    63 74 69 6c 65 2d 63 6f 6d 70 6c 65 74 69 6f 6e | torically.`projectile-completion | 
| 51260 | 2d 73 79 73 74 65 6d 60 20 64 65 66 61 75 6c 74    65 64 20 74 6f 20 60 69 64 6f 60 2c 20 62 75 74 | -system`.defaulted.to.`ido`,.but | 
| 51280 | 20 74 68 69 73 20 77 61 73 20 63 68 61 6e 67 65    64 20 69 6e 20 76 65 72 73 69 6f 6e 20 32 2e 33 | .this.was.changed.in.version.2.3 | 
| 512a0 | 2e 20 59 6f 75 20 6d 61 79 20 6e 65 65 64 20 74    6f 20 65 6e 61 62 6c 65 20 60 69 64 6f 2d 6d 6f | ..You.may.need.to.enable.`ido-mo | 
| 512c0 | 64 65 60 20 69 6e 20 79 6f 75 72 20 45 6d 61 63    73 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 | de`.in.your.Emacs.configuration. | 
| 512e0 | 69 66 20 75 70 64 61 74 69 6e 67 20 66 72 6f 6d    20 61 6e 20 6f 6c 64 65 72 20 76 65 72 73 69 6f | if.updating.from.an.older.versio | 
| 51300 | 6e 20 6f 66 20 50 72 6f 6a 65 63 74 69 6c 65 2e    0a 0a 23 23 20 43 61 76 65 61 74 73 0a 0a 2a 20 | n.of.Projectile...##.Caveats..*. | 
| 51320 | 53 6f 6d 65 20 6f 70 65 72 61 74 69 6f 6e 73 20    6c 69 6b 65 20 73 65 61 72 63 68 20 28 67 72 65 | Some.operations.like.search.(gre | 
| 51340 | 70 29 20 64 65 70 65 6e 64 20 28 70 72 65 73 65    6e 74 6c 79 29 20 6f 6e 20 65 78 74 65 72 6e 61 | p).depend.(presently).on.externa | 
| 51360 | 6c 0a 20 20 75 74 69 6c 69 74 69 65 73 20 73 75    63 68 20 61 73 20 60 66 69 6e 64 60 20 6f 72 20 | l...utilities.such.as.`find`.or. | 
| 51380 | 60 66 64 60 20 28 76 65 72 73 69 6f 6e 20 38 2e    33 2e 30 2b 29 2e 0a 20 20 2a 20 66 6f 72 20 6f | `fd`.(version.8.3.0+)....*.for.o | 
| 513a0 | 6c 64 65 72 20 60 66 64 60 20 76 65 72 73 69 6f    6e 20 61 64 64 20 60 28 73 65 74 71 20 70 72 6f | lder.`fd`.version.add.`(setq.pro | 
| 513c0 | 6a 65 63 74 69 6c 65 2d 67 65 6e 65 72 69 63 2d    63 6f 6d 6d 61 6e 64 20 22 66 64 20 2e 20 2d 30 | jectile-generic-command."fd...-0 | 
| 513e0 | 20 2d 2d 74 79 70 65 20 66 20 2d 2d 63 6f 6c 6f    72 3d 6e 65 76 65 72 22 29 60 20 74 6f 20 79 6f | .--type.f.--color=never")`.to.yo | 
| 51400 | 75 72 20 69 6e 69 74 2d 66 69 6c 65 0a 2a 20 43    6f 6d 6d 61 6e 64 73 20 64 65 70 65 6e 64 69 6e | ur.init-file.*.Commands.dependin | 
| 51420 | 67 20 6f 6e 20 65 78 74 65 72 6e 61 6c 20 75 74    69 6c 69 74 69 65 73 20 6d 69 67 68 74 20 6d 69 | g.on.external.utilities.might.mi | 
| 51440 | 73 62 65 68 61 76 65 20 6f 6e 20 74 68 65 20 60    66 69 73 68 60 20 73 68 65 6c 6c 2e 0a 2a 20 55 | sbehave.on.the.`fish`.shell..*.U | 
| 51460 | 73 69 6e 67 20 50 72 6f 6a 65 63 74 69 6c 65 20    6f 76 65 72 20 54 52 41 4d 50 20 6d 69 67 68 74 | sing.Projectile.over.TRAMP.might | 
| 51480 | 20 62 65 20 73 6c 6f 77 20 69 6e 20 63 65 72 74    61 69 6e 20 63 61 73 65 73 2e 0a 2a 20 53 6f 6d | .be.slow.in.certain.cases..*.Som | 
| 514a0 | 65 20 63 6f 6d 6d 61 6e 64 73 20 6d 69 67 68 74    20 6d 69 73 62 65 68 61 76 65 20 6f 6e 20 63 6f | e.commands.might.misbehave.on.co | 
| 514c0 | 6d 70 6c 65 78 20 70 72 6f 6a 65 63 74 20 73 65    74 75 70 73 20 28 65 2e 67 2e 20 61 20 67 69 74 | mplex.project.setups.(e.g..a.git | 
| 514e0 | 20 70 72 6f 6a 65 63 74 20 77 69 74 68 20 73 75    62 6d 6f 64 75 6c 65 73 29 2e 0a 2a 20 50 72 6f | .project.with.submodules)..*.Pro | 
| 51500 | 6a 65 63 74 69 6c 65 20 77 61 73 20 6d 6f 73 74    6c 79 20 74 65 73 74 65 64 20 6f 6e 20 55 6e 69 | jectile.was.mostly.tested.on.Uni | 
| 51520 | 78 20 4f 53 2d 65 73 20 28 65 2e 67 2e 20 47 4e    55 2f 4c 69 6e 75 78 20 61 6e 64 20 6d 61 63 4f | x.OS-es.(e.g..GNU/Linux.and.macO | 
| 51540 | 53 29 2c 20 73 6f 20 73 6f 6d 65 20 66 75 6e 63    74 69 6f 6e 61 6c 69 74 79 20 6d 69 67 68 74 20 | S),.so.some.functionality.might. | 
| 51560 | 6e 6f 74 20 77 6f 72 6b 20 77 65 6c 6c 20 6f 6e    20 57 69 6e 64 6f 77 73 2e 0a 2a 20 49 6e 20 47 | not.work.well.on.Windows..*.In.G | 
| 51580 | 69 74 20 72 65 70 6f 73 69 74 6f 72 69 65 73 2c    20 64 65 6c 65 74 65 64 20 66 69 6c 65 73 20 61 | it.repositories,.deleted.files.a | 
| 515a0 | 72 65 20 73 74 69 6c 6c 20 73 68 6f 77 6e 20 69    6e 20 60 70 72 6f 6a 65 63 74 69 6c 65 2d 66 69 | re.still.shown.in.`projectile-fi | 
| 515c0 | 6e 64 2d 66 69 6c 65 60 20 75 6e 74 69 6c 20 74    68 65 69 72 20 64 65 6c 65 74 69 6f 6e 73 20 61 | nd-file`.until.their.deletions.a | 
| 515e0 | 72 65 20 73 74 61 67 65 64 2c 20 64 75 65 20 74    6f 20 61 20 6c 69 6d 69 74 61 74 69 6f 6e 20 6f | re.staged,.due.to.a.limitation.o | 
| 51600 | 66 20 60 67 69 74 20 6c 73 2d 66 69 6c 65 73 60    2e 20 49 66 20 79 6f 75 20 69 6e 73 74 61 6c 6c | f.`git.ls-files`..If.you.install | 
| 51620 | 20 5b 66 64 5d 28 68 74 74 70 73 3a 2f 2f 67 69    74 68 75 62 2e 63 6f 6d 2f 73 68 61 72 6b 64 70 | .[fd](https://github.com/sharkdp | 
| 51640 | 2f 66 64 29 20 74 68 65 6e 20 69 74 20 69 73 20    61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 75 73 | /fd).then.it.is.automatically.us | 
| 51660 | 65 64 20 69 6e 73 74 65 61 64 2c 20 61 6e 64 20    64 6f 65 73 20 6e 6f 74 20 68 61 76 65 20 74 68 | ed.instead,.and.does.not.have.th | 
| 51680 | 69 73 20 70 72 6f 62 6c 65 6d 2e 20 28 59 6f 75    20 63 61 6e 20 69 6e 68 69 62 69 74 20 74 68 65 | is.problem..(You.can.inhibit.the | 
| 516a0 | 20 75 73 65 20 6f 66 20 60 66 64 60 20 62 79 20    73 65 74 74 69 6e 67 20 60 70 72 6f 6a 65 63 74 | .use.of.`fd`.by.setting.`project | 
| 516c0 | 69 6c 65 2d 67 69 74 2d 75 73 65 2d 66 64 60 20    74 6f 20 6e 69 6c 2e 29 0a 0a 23 23 20 4b 6e 6f | ile-git-use-fd`.to.nil.)..##.Kno | 
| 516e0 | 77 6e 20 69 73 73 75 65 73 0a 0a 43 68 65 63 6b    20 6f 75 74 20 74 68 65 20 70 72 6f 6a 65 63 74 | wn.issues..Check.out.the.project | 
| 51700 | 27 73 0a 5b 69 73 73 75 65 20 6c 69 73 74 5d 28    68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 | 's.[issue.list](https://github.c | 
| 51720 | 6f 6d 2f 62 62 61 74 73 6f 76 2f 70 72 6f 6a 65    63 74 69 6c 65 2f 69 73 73 75 65 73 3f 73 6f 72 | om/bbatsov/projectile/issues?sor | 
| 51740 | 74 3d 63 72 65 61 74 65 64 26 64 69 72 65 63 74    69 6f 6e 3d 64 65 73 63 26 73 74 61 74 65 3d 6f | t=created&direction=desc&state=o | 
| 51760 | 70 65 6e 29 0a 61 20 6c 69 73 74 20 6f 66 20 75    6e 72 65 73 6f 6c 76 65 64 20 69 73 73 75 65 73 | pen).a.list.of.unresolved.issues | 
| 51780 | 2e 20 42 79 20 74 68 65 20 77 61 79 20 2d 20 66    65 65 6c 20 66 72 65 65 20 74 6f 20 66 69 78 20 | ..By.the.way.-.feel.free.to.fix. | 
| 517a0 | 61 6e 79 20 6f 66 20 74 68 65 6d 0a 61 6e 64 20    73 65 6e 64 20 6d 65 20 61 20 70 75 6c 6c 20 72 | any.of.them.and.send.me.a.pull.r | 
| 517c0 | 65 71 75 65 73 74 2e 20 3a 2d 29 0a 0a 23 23 20    43 6f 6e 74 72 69 62 75 74 6f 72 73 0a 0a 48 65 | equest..:-)..##.Contributors..He | 
| 517e0 | 72 65 27 73 20 61 20 5b 6c 69 73 74 5d 28 68 74    74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d | re's.a.[list](https://github.com | 
| 51800 | 2f 62 62 61 74 73 6f 76 2f 70 72 6f 6a 65 63 74    69 6c 65 2f 63 6f 6e 74 72 69 62 75 74 6f 72 73 | /bbatsov/projectile/contributors | 
| 51820 | 29 20 6f 66 20 61 6c 6c 20 74 68 65 20 70 65 6f    70 6c 65 20 77 68 6f 20 68 61 76 65 20 63 6f 6e | ).of.all.the.people.who.have.con | 
| 51840 | 74 72 69 62 75 74 65 64 20 74 6f 20 74 68 65 0a    64 65 76 65 6c 6f 70 6d 65 6e 74 20 6f 66 20 50 | tributed.to.the.development.of.P | 
| 51860 | 72 6f 6a 65 63 74 69 6c 65 20 28 61 2e 6b 2e 61    2e 20 50 72 6f 6a 65 63 74 69 6c 65 27 73 20 48 | rojectile.(a.k.a..Projectile's.H | 
| 51880 | 61 6c 6c 20 6f 66 20 46 61 6d 65 29 2e 0a 0a 4a    6f 69 6e 69 6e 67 20 74 68 69 73 20 65 73 74 65 | all.of.Fame)...Joining.this.este | 
| 518a0 | 65 6d 65 64 20 67 72 6f 75 70 20 6f 66 20 70 65    6f 70 6c 65 20 69 73 20 6f 6e 6c 79 20 61 20 63 | emed.group.of.people.is.only.a.c | 
| 518c0 | 6f 6d 6d 69 74 20 61 77 61 79 21 0a 0a 23 23 20    43 68 61 6e 67 65 6c 6f 67 0a 0a 41 20 66 61 69 | ommit.away!..##.Changelog..A.fai | 
| 518e0 | 72 6c 79 20 65 78 74 65 6e 73 69 76 65 20 63 68    61 6e 67 65 6c 6f 67 20 69 73 20 61 76 61 69 6c | rly.extensive.changelog.is.avail | 
| 51900 | 61 62 6c 65 20 5b 68 65 72 65 5d 28 43 48 41 4e    47 45 4c 4f 47 2e 6d 64 29 2e 0a 0a 5b 62 61 64 | able.[here](CHANGELOG.md)...[bad | 
| 51920 | 67 65 2d 6c 69 63 65 6e 73 65 5d 3a 20 68 74 74    70 73 3a 2f 2f 69 6d 67 2e 73 68 69 65 6c 64 73 | ge-license]:.https://img.shields | 
| 51940 | 2e 69 6f 2f 62 61 64 67 65 2f 6c 69 63 65 6e 73    65 2d 47 50 4c 5f 33 2d 67 72 65 65 6e 2e 73 76 | .io/badge/license-GPL_3-green.sv | 
| 51960 | 67 0a 0a 23 23 20 4c 69 63 65 6e 73 65 0a 0a 43    6f 70 79 72 69 67 68 74 20 c2 a9 20 32 30 31 31 | g..##.License..Copyright....2011 | 
| 51980 | 2d 32 30 32 33 20 42 6f 7a 68 69 64 61 72 20 42    61 74 73 6f 76 20 61 6e 64 0a 5b 63 6f 6e 74 72 | -2023.Bozhidar.Batsov.and.[contr | 
| 519a0 | 69 62 75 74 6f 72 73 5d 28 68 74 74 70 73 3a 2f    2f 67 69 74 68 75 62 2e 63 6f 6d 2f 62 62 61 74 | ibutors](https://github.com/bbat | 
| 519c0 | 73 6f 76 2f 70 72 6f 6a 65 63 74 69 6c 65 2f 63    6f 6e 74 72 69 62 75 74 6f 72 73 29 2e 0a 0a 44 | sov/projectile/contributors)...D | 
| 519e0 | 69 73 74 72 69 62 75 74 65 64 20 75 6e 64 65 72    20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c | istributed.under.the.GNU.General | 
| 51a00 | 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 2c    20 76 65 72 73 69 6f 6e 20 33 0a 00 00 00 00 00 | .Public.License,.version.3...... | 
| 51a20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 51a40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 51a60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 51a80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 51aa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 51ac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 51ae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 51b00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 51b20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 51b40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 51b60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 51b80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 51ba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 51bc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 51be0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 51c00 | 70 72 6f 6a 65 63 74 69 6c 65 2d 32 2e 38 2e 30    2f 43 4f 4e 54 52 49 42 55 54 49 4e 47 2e 6d 64 | projectile-2.8.0/CONTRIBUTING.md | 
| 51c20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 51c40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 51c60 | 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 | 
| 51c80 | 30 30 30 33 31 36 36 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 34 35 35 37 00 20 30 00 00 00 | 0003166.00000000000.014557..0... | 
| 51ca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 51cc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 51ce0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 51d00 | 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................... | 
| 51d20 | 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................... | 
| 51d40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 51d60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 51d80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 51da0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 51dc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 51de0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 51e00 | 23 20 43 6f 6e 74 72 69 62 75 74 69 6e 67 0a 0a    49 66 20 79 6f 75 20 64 69 73 63 6f 76 65 72 20 | #.Contributing..If.you.discover. | 
| 51e20 | 69 73 73 75 65 73 2c 20 68 61 76 65 20 69 64 65    61 73 20 66 6f 72 20 69 6d 70 72 6f 76 65 6d 65 | issues,.have.ideas.for.improveme | 
| 51e40 | 6e 74 73 20 6f 72 20 6e 65 77 20 66 65 61 74 75    72 65 73 2c 20 70 6c 65 61 73 65 0a 72 65 70 6f | nts.or.new.features,.please.repo | 
| 51e60 | 72 74 20 74 68 65 6d 20 74 6f 20 74 68 65 20 5b    69 73 73 75 65 20 74 72 61 63 6b 65 72 5d 5b 31 | rt.them.to.the.[issue.tracker][1 | 
| 51e80 | 5d 20 6f 66 20 74 68 65 20 72 65 70 6f 73 69 74    6f 72 79 20 6f 72 20 73 75 62 6d 69 74 20 61 20 | ].of.the.repository.or.submit.a. | 
| 51ea0 | 70 75 6c 6c 0a 72 65 71 75 65 73 74 2e 20 50 6c    65 61 73 65 2c 20 74 72 79 20 74 6f 20 66 6f 6c | pull.request..Please,.try.to.fol | 
| 51ec0 | 6c 6f 77 20 74 68 65 73 65 20 67 75 69 64 65 6c    69 6e 65 73 20 77 68 65 6e 20 79 6f 75 20 64 6f | low.these.guidelines.when.you.do | 
| 51ee0 | 20 73 6f 2e 0a 0a 23 23 20 49 73 73 75 65 20 72    65 70 6f 72 74 69 6e 67 0a 0a 2a 20 43 68 65 63 | .so...##.Issue.reporting..*.Chec | 
| 51f00 | 6b 20 74 68 61 74 20 74 68 65 20 69 73 73 75 65    20 68 61 73 20 6e 6f 74 20 61 6c 72 65 61 64 79 | k.that.the.issue.has.not.already | 
| 51f20 | 20 62 65 65 6e 20 72 65 70 6f 72 74 65 64 2e 0a    2a 20 43 68 65 63 6b 20 74 68 61 74 20 74 68 65 | .been.reported..*.Check.that.the | 
| 51f40 | 20 69 73 73 75 65 20 68 61 73 20 6e 6f 74 20 61    6c 72 65 61 64 79 20 62 65 65 6e 20 66 69 78 65 | .issue.has.not.already.been.fixe | 
| 51f60 | 64 20 69 6e 20 74 68 65 20 6c 61 74 65 73 74 20    63 6f 64 65 0a 20 20 28 61 2e 6b 2e 61 2e 20 60 | d.in.the.latest.code...(a.k.a..` | 
| 51f80 | 6d 61 73 74 65 72 60 29 2e 0a 2a 20 42 65 20 63    6c 65 61 72 2c 20 63 6f 6e 63 69 73 65 20 61 6e | master`)..*.Be.clear,.concise.an | 
| 51fa0 | 64 20 70 72 65 63 69 73 65 20 69 6e 20 79 6f 75    72 20 64 65 73 63 72 69 70 74 69 6f 6e 20 6f 66 | d.precise.in.your.description.of | 
| 51fc0 | 20 74 68 65 20 70 72 6f 62 6c 65 6d 2e 0a 2a 20    4f 70 65 6e 20 61 6e 20 69 73 73 75 65 20 77 69 | .the.problem..*.Open.an.issue.wi | 
| 51fe0 | 74 68 20 61 20 64 65 73 63 72 69 70 74 69 76 65    20 74 69 74 6c 65 20 61 6e 64 20 61 20 73 75 6d | th.a.descriptive.title.and.a.sum | 
| 52000 | 6d 61 72 79 20 69 6e 20 67 72 61 6d 6d 61 74 69    63 61 6c 6c 79 20 63 6f 72 72 65 63 74 2c 0a 20 | mary.in.grammatically.correct,.. | 
| 52020 | 20 63 6f 6d 70 6c 65 74 65 20 73 65 6e 74 65 6e    63 65 73 2e 0a 2a 20 49 6e 63 6c 75 64 65 20 61 | .complete.sentences..*.Include.a | 
| 52040 | 6e 79 20 72 65 6c 65 76 61 6e 74 20 63 6f 64 65    20 74 6f 20 74 68 65 20 69 73 73 75 65 20 73 75 | ny.relevant.code.to.the.issue.su | 
| 52060 | 6d 6d 61 72 79 2e 0a 2a 20 49 66 20 79 6f 75 27    72 65 20 72 65 70 6f 72 74 69 6e 67 20 70 65 72 | mmary..*.If.you're.reporting.per | 
| 52080 | 66 6f 72 6d 61 6e 63 65 20 69 73 73 75 65 73 20    69 74 27 64 20 62 65 20 6e 69 63 65 20 69 66 20 | formance.issues.it'd.be.nice.if. | 
| 520a0 | 79 6f 75 20 61 64 64 65 64 20 73 6f 6d 65 20 70    72 6f 66 69 6c 69 6e 67 20 64 61 74 61 20 28 45 | you.added.some.profiling.data.(E | 
| 520c0 | 6d 61 63 73 20 68 61 73 20 61 20 62 75 69 6c 74    2d 69 6e 20 70 72 6f 66 69 6c 65 72 29 2e 0a 0a | macs.has.a.built-in.profiler)... | 
| 520e0 | 23 23 20 50 75 6c 6c 20 72 65 71 75 65 73 74 73    0a 0a 2a 20 52 65 61 64 20 5b 68 6f 77 20 74 6f | ##.Pull.requests..*.Read.[how.to | 
| 52100 | 20 70 72 6f 70 65 72 6c 79 20 63 6f 6e 74 72 69    62 75 74 65 20 74 6f 20 6f 70 65 6e 20 73 6f 75 | .properly.contribute.to.open.sou | 
| 52120 | 72 63 65 20 70 72 6f 6a 65 63 74 73 20 6f 6e 20    47 69 74 68 75 62 5d 5b 32 5d 2e 0a 2a 20 55 73 | rce.projects.on.Github][2]..*.Us | 
| 52140 | 65 20 61 20 74 6f 70 69 63 20 62 72 61 6e 63 68    20 74 6f 20 65 61 73 69 6c 79 20 61 6d 65 6e 64 | e.a.topic.branch.to.easily.amend | 
| 52160 | 20 61 20 70 75 6c 6c 20 72 65 71 75 65 73 74 20    6c 61 74 65 72 2c 20 69 66 20 6e 65 63 65 73 73 | .a.pull.request.later,.if.necess | 
| 52180 | 61 72 79 2e 0a 2a 20 57 72 69 74 65 20 5b 67 6f    6f 64 20 63 6f 6d 6d 69 74 20 6d 65 73 73 61 67 | ary..*.Write.[good.commit.messag | 
| 521a0 | 65 73 5d 5b 33 5d 2e 0a 2a 20 4d 65 6e 74 69 6f    6e 20 72 65 6c 61 74 65 64 20 74 69 63 6b 65 74 | es][3]..*.Mention.related.ticket | 
| 521c0 | 73 20 69 6e 20 74 68 65 20 63 6f 6d 6d 69 74 20    6d 65 73 73 61 67 65 73 20 28 65 2e 67 2e 20 60 | s.in.the.commit.messages.(e.g..` | 
| 521e0 | 5b 46 69 78 20 23 4e 5d 20 41 64 64 20 6d 69 73    73 69 6e 67 20 61 75 74 6f 6c 6f 61 64 20 63 6f | [Fix.#N].Add.missing.autoload.co | 
| 52200 | 6f 6b 69 65 73 60 29 0a 2a 20 55 70 64 61 74 65    20 74 68 65 20 5b 63 68 61 6e 67 65 6c 6f 67 5d | okies`).*.Update.the.[changelog] | 
| 52220 | 5b 35 5d 2e 0a 2a 20 55 73 65 20 74 68 65 20 73    61 6d 65 20 63 6f 64 69 6e 67 20 63 6f 6e 76 65 | [5]..*.Use.the.same.coding.conve | 
| 52240 | 6e 74 69 6f 6e 73 20 61 73 20 74 68 65 20 72 65    73 74 20 6f 66 20 74 68 65 20 70 72 6f 6a 65 63 | ntions.as.the.rest.of.the.projec | 
| 52260 | 74 2e 0a 2a 20 56 65 72 69 66 79 20 79 6f 75 72    20 45 6d 61 63 73 20 4c 69 73 70 20 63 6f 64 65 | t..*.Verify.your.Emacs.Lisp.code | 
| 52280 | 20 77 69 74 68 20 60 63 68 65 63 6b 64 6f 63 60    20 28 3c 6b 62 64 3e 43 2d 63 20 3f 20 64 3c 2f | .with.`checkdoc`.(<kbd>C-c.?.d</ | 
| 522a0 | 6b 62 64 3e 29 2e 0a 2a 20 4f 70 65 6e 20 61 20    5b 70 75 6c 6c 20 72 65 71 75 65 73 74 5d 5b 34 | kbd>)..*.Open.a.[pull.request][4 | 
| 522c0 | 5d 20 74 68 61 74 20 72 65 6c 61 74 65 73 20 74    6f 20 2a 6f 6e 6c 79 2a 20 6f 6e 65 20 73 75 62 | ].that.relates.to.*only*.one.sub | 
| 522e0 | 6a 65 63 74 20 77 69 74 68 20 61 20 63 6c 65 61    72 20 74 69 74 6c 65 0a 20 20 61 6e 64 20 64 65 | ject.with.a.clear.title...and.de | 
| 52300 | 73 63 72 69 70 74 69 6f 6e 20 69 6e 20 67 72 61    6d 6d 61 74 69 63 61 6c 6c 79 20 63 6f 72 72 65 | scription.in.grammatically.corre | 
| 52320 | 63 74 2c 20 63 6f 6d 70 6c 65 74 65 20 73 65 6e    74 65 6e 63 65 73 2e 0a 0a 5b 31 5d 3a 20 68 74 | ct,.complete.sentences...[1]:.ht | 
| 52340 | 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d    2f 62 62 61 74 73 6f 76 2f 70 72 6f 6a 65 63 74 | tps://github.com/bbatsov/project | 
| 52360 | 69 6c 65 2f 69 73 73 75 65 73 0a 5b 32 5d 3a 20    68 74 74 70 3a 2f 2f 67 75 6e 2e 69 6f 2f 62 6c | ile/issues.[2]:.http://gun.io/bl | 
| 52380 | 6f 67 2f 68 6f 77 2d 74 6f 2d 67 69 74 68 75 62    2d 66 6f 72 6b 2d 62 72 61 6e 63 68 2d 61 6e 64 | og/how-to-github-fork-branch-and | 
| 523a0 | 2d 70 75 6c 6c 2d 72 65 71 75 65 73 74 0a 5b 33    5d 3a 20 68 74 74 70 3a 2f 2f 74 62 61 67 67 65 | -pull-request.[3]:.http://tbagge | 
| 523c0 | 72 79 2e 63 6f 6d 2f 32 30 30 38 2f 30 34 2f 31    39 2f 61 2d 6e 6f 74 65 2d 61 62 6f 75 74 2d 67 | ry.com/2008/04/19/a-note-about-g | 
| 523e0 | 69 74 2d 63 6f 6d 6d 69 74 2d 6d 65 73 73 61 67    65 73 2e 68 74 6d 6c 0a 5b 34 5d 3a 20 68 74 74 | it-commit-messages.html.[4]:.htt | 
| 52400 | 70 73 3a 2f 2f 68 65 6c 70 2e 67 69 74 68 75 62    2e 63 6f 6d 2f 61 72 74 69 63 6c 65 73 2f 75 73 | ps://help.github.com/articles/us | 
| 52420 | 69 6e 67 2d 70 75 6c 6c 2d 72 65 71 75 65 73 74    73 0a 5b 35 5d 3a 20 68 74 74 70 73 3a 2f 2f 67 | ing-pull-requests.[5]:.https://g | 
| 52440 | 69 74 68 75 62 2e 63 6f 6d 2f 62 62 61 74 73 6f    76 2f 70 72 6f 6a 65 63 74 69 6c 65 2f 62 6c 6f | ithub.com/bbatsov/projectile/blo | 
| 52460 | 62 2f 6d 61 73 74 65 72 2f 43 48 41 4e 47 45 4c    4f 47 2e 6d 64 0a 00 00 00 00 00 00 00 00 00 00 | b/master/CHANGELOG.md........... | 
| 52480 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 524a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 524c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 524e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 525a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 525c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 525e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52600 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 526a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 526c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 526e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 527a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 527c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 527e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52800 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52820 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52860 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 528a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 528c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 528e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52900 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 529a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 529c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 529e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52a00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52a20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52a40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52a60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52a80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52aa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52ac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52ae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52b00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52b20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52b40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52b60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52b80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52ba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52bc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52be0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52c00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52c20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52c40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52c60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52c80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52ca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52cc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52ce0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52d00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52d20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52d40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52d60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52d80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52da0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52dc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52de0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52e00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52e20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52e40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52e60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52e80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52ea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52ec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52ee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52f00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52f20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52f40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52f60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52f80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52fa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52fc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 52fe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53000 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53080 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 530a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 530c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 530e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53100 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 531a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 531c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 531e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53200 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53260 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53280 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 532a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 532c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 532e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 533a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 533c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 533e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53400 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53420 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53440 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53460 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53480 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 534a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 534c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 534e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 535a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 535c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 535e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53600 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 536a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 536c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 536e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 537a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 537c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 537e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53800 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53820 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53860 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 538a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 538c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 538e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53900 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 539a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 539c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 539e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53a00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53a20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53a40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53a60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53a80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53aa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53ac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53ae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53b00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53b20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53b40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53b60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53b80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53ba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53bc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53be0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53c00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53c20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53c40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53c60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53c80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53ca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53cc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53ce0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53d00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53d20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53d40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53d60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53d80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53da0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53dc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53de0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53e00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53e20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53e40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53e60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53e80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53ea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53ec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53ee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53f00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53f20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53f40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53f60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53f80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53fa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53fc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 53fe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54000 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54080 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 540a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 540c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 540e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54100 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 541a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 541c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 541e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54200 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54260 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54280 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 542a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 542c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 542e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 543a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 543c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 543e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54400 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54420 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54440 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54460 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54480 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 544a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 544c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 544e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 545a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 545c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 545e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54600 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 546a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 546c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 546e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 547a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 547c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 547e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54800 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54820 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54860 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 548a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 548c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 548e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54900 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 549a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 549c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 549e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54a00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54a20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54a40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54a60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54a80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54aa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54ac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54ae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54b00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54b20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54b40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54b60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54b80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54ba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54bc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54be0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54c00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54c20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54c40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54c60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54c80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54ca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54cc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54ce0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54d00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54d20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54d40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54d60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54d80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54da0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54dc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54de0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54e00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54e20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54e40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54e60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54e80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54ea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54ec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54ee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54f00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54f20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54f40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54f60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54f80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54fa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54fc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ | 
| 54fe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |