summaryrefslogtreecommitdiff
path: root/localrepo/projectile-2.8.0.tar
blob: 005099cabed399ad87d78d8c56be289008e25254 (plain)
ofshex dumpascii
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..[![Build.Status](h
4fe20 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
4fe40 74 69 6c 65 2f 77 6f 72 6b 66 6c 6f 77 73 2f 43 49 2f 62 61 64 67 65 2e 73 76 67 29 5d 28 68 74 tile/workflows/CI/badge.svg)](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 .[![MELPA](http://melpa.org/pack
4fec0 61 67 65 73 2f 70 72 6f 6a 65 63 74 69 6c 65 2d 62 61 64 67 65 2e 73 76 67 29 5d 28 68 74 74 70 ages/projectile-badge.svg)](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).[![ME
4ff00 4c 50 41 20 53 74 61 62 6c 65 5d 28 68 74 74 70 3a 2f 2f 73 74 61 62 6c 65 2e 6d 65 6c 70 61 2e LPA.Stable](http://stable.melpa.
4ff20 6f 72 67 2f 70 61 63 6b 61 67 65 73 2f 70 72 6f 6a 65 63 74 69 6c 65 2d 62 61 64 67 65 2e 73 76 org/packages/projectile-badge.sv
4ff40 67 29 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 2f 23 2f 70 72 g)](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).[![NonGNU.ELPA](https:
4ff80 2f 2f 65 6c 70 61 2e 6e 6f 6e 67 6e 75 2e 6f 72 67 2f 6e 6f 6e 67 6e 75 2f 70 72 6f 6a 65 63 74 //elpa.nongnu.org/nongnu/project
4ffa0 69 6c 65 2e 73 76 67 29 5d 28 68 74 74 70 73 3a 2f 2f 65 6c 70 61 2e 6e 6f 6e 67 6e 75 2e 6f 72 ile.svg)](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).[![Discord](https://img.shi
50040 65 6c 64 73 2e 69 6f 2f 62 61 64 67 65 2f 63 68 61 74 2d 6f 6e 25 32 30 64 69 73 63 6f 72 64 2d elds.io/badge/chat-on%20discord-
50060 37 32 38 39 64 61 2e 73 76 67 3f 73 61 6e 69 74 69 7a 65 3d 74 72 75 65 29 5d 28 68 74 74 70 73 7289da.svg?sanitize=true)](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 .[![Patreon](https://img.shields
50880 2e 69 6f 2f 62 61 64 67 65 2f 70 61 74 72 65 6f 6e 2d 64 6f 6e 61 74 65 2d 6f 72 61 6e 67 65 2e .io/badge/patreon-donate-orange.
508a0 73 76 67 29 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 svg)](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).[![Paypal](https://www.pa
508e0 79 70 61 6c 6f 62 6a 65 63 74 73 2e 63 6f 6d 2f 65 6e 5f 55 53 2f 69 2f 62 74 6e 2f 62 74 6e 5f ypalobjects.com/en_US/i/btn/btn_
50900 64 6f 6e 61 74 65 5f 53 4d 2e 67 69 66 29 5d 28 68 74 74 70 73 3a 2f 2f 77 77 77 2e 70 61 79 70 donate_SM.gif)](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`):..![Project
50b20 69 6c 65 20 44 65 6d 6f 5d 28 64 6f 63 2f 6d 6f 64 75 6c 65 73 2f 52 4f 4f 54 2f 61 73 73 65 74 ile.Demo](doc/modules/ROOT/asset
50b40 73 2f 69 6d 61 67 65 73 2f 70 72 6f 6a 65 63 74 69 6c 65 2d 64 65 6d 6f 2e 67 69 66 29 0a 0a 49 s/images/projectile-demo.gif)..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 ................................